|
- Use condition
- Compression level of ZIP or 7z archives
- Error codes
- Adding a file that is already found in the archive
- Index of files in the archive
- Path kept (archives in WDZ or ZIP format)
<zipArchive variable>.AddFile (Function) In french: <Variable zipArchive>.AjouteFichier Adds a file (of any type) into an archive in CAB, ZIP, WDZ and 7z, TAR or TGZ (TAR.GZ) format and compresses it. This function cannot be used on the RAR archives.
MyArchive is zipArchive ResCreate is int ResAddFile is int // Create the archive ResCreate = MyArchive.Create("C:\Temp\Archive.zip") IF ResCreate = 0 THEN // Add a file into an archive ResAddFile = MyArchive.AddFile(... "C:\MyDirectory\MyFiles\File.pdf", zipDrive) END // Display an error message if the file was not added IF ResAddFile <> 0 THEN Error(zipMsgError(ResAddFile)) END
Syntax
Adding a file while specifying the path section to keep Hide the details
<Result> = <Archive>.AddFile(<File path> [, <Path section to keep> [, <Progress>]])
<Result>: Integer - 0 if the addition was performed,
- an error code (value greater than 0) otherwise. For more details on these error codes, see the remarks.
<Archive>: zipArchive variable Name of a variable of type zipArchive corresponding to the archive in which the file must be added. <File path>: Character string Path of the file to be added to the archive (260 characters maximum, 90 maximum for TAR or TGZ (TAR.GZ) archives). This path can be a full path or a path relative to the current directory. Wildcard characters (*,?) are not allowed in the file name. This file must not exceed 4 GB. Otherwise, an error occurs. <Path section to keep>: Optional constant Indicates the section of the file path that will be kept in the archive: | | zipDirectory (Default value) | Keeps the different directories of the file path as well as the file name and extension. For example: \Directory\Files\FileName.pdf | zipDrive | Keeps the full and absolute file path (name of disk, name of directories, file name and file extension). For example: C:\Directory\Files\FileName.pdf For the ZIP format: This constant has no effect. For the 7z format: This constant and zipDirectory will have the same effect | zipNone | Keeps the file name and extension. For example: FileName.pdf |
If you are using an archive in .CAB format, only the zipNone constant is taken into account. Indeed, the .CAB format cannot be used to save the paths inside the archive.
<Progress>: Control name or procedure name Progress bar management mode. This parameter can correspond to: If you are using an archive in TAR or TGZ (TAR.GZ) format, the progress bar is updated at the end of file addition only.
Adding a file while specifying the path to ignore Hide the details
<Result> = <Archive>.AddFile(<File path> [, <Path section to ignore> [, <Progress>]])
<Result>: Integer - 0 if the addition was performed,
- an error code (value greater than 0) otherwise. For more details on these error codes, see the Remarks.
<Archive>: zipArchive variable Name of a variable of type zipArchive corresponding to the archive in which the file must be added. <File path>: Character string Path of the file to be added to the archive (260 characters maximum, 90 maximum for TAR or TGZ (TAR.GZ) archives). This path can be a full path or a path relative to the current directory. Wildcard characters (*,?) are not allowed in the file name. This file must not exceed 4 GB. Otherwise, an error occurs. <Path section to ignore>: Optional character string Indicates the section of file path that must not be stored in the archive. For example, in WINDEV, if the full path of the file added into the archive is: "C:\My Documents\Work\Report.doc" and if <Path section to ignore> is set to "C:\My Documents\", only the "Work\Report.doc" section will be kept. <Progress>: Control name or procedure name Progress bar management mode. This parameter can correspond to: If you are using an archive in TAR or TGZ (TAR.GZ) format, the progress bar is updated at the end of file addition only.
Adding a file found in a buffer (WDZ and ZIP format only) Hide the details
<Result> = <Archive>.AddFile(<File to add> , <Buffer management> , <Path to keep> [, <Progress>])
<Result>: Integer - 0 if the addition was performed,
- an error code (value greater than 0) otherwise. For more details on these error codes, see the Remarks.
<Archive>: zipArchive variable Name of a variable of type zipArchive corresponding to the archive in which the file must be added. <File to add>: Buffer Buffer that corresponds to the file content that will be added into the archive. <Buffer management>: Constant Mode for managing the buffer: | | zipInMemory | Saves the content of the buffer (i.e. the file) in the archive. |
<Path to keep>: Character string File path or file name associated with the buffer that will be kept in the archive. <Progress>: Control name or procedure name Progress bar management mode. This parameter can correspond to: If you are using an archive in TAR or TGZ (TAR.GZ) format, the progress bar is updated at the end of file addition only.
Adding a file by using a zipArchivedFile variable Hide the details
<Result> = <Archive>.AddFile(<File> [, <Progress>])
<Result>: Integer - 0 if the addition was performed,
- an error code (value greater than 0) otherwise. For more details on these error codes, see the Remarks.
<Archive>: zipArchive variable Name of a variable of type zipArchive corresponding to the archive in which the file must be added. <File>: zipArchivedFile variable Name of the zipArchivedFile variable containing information about the file to add (including its content). The file does not necessarily have to exist on the disk: only the information in this parameter is taken into account. <Progress>: Control name or procedure name Progress bar management mode. This parameter can correspond to: If you are using an archive in TAR or TGZ (TAR.GZ) format, the progress bar is updated at the end of file addition only. Remarks Use condition Adding files into an archive can be performed if: - The archive exists (archives are created using <zipArchive variable>.Create).
- The archive is accessible in read/write.
- The archive is a single-part archive.
- The size of the file is less than 4 GB.
Caution: - Archives in CAB format: The files must be added immediately after the archive creation. This format cannot be used to add files into an existing archive.
- Archives in 7z format: The archive is entirely compressed whenever <zipArchive variable>.AddFile is called. This function is recommended when adding a single file. If several files must be added into the archive, use <zipArchive variable>.AddFileList or <zipArchive variable>.AddDirectory.
The maximum number of files that can be included: - in a WDZ file: 232-1.
- in a ZIP file: 65535.
- in a CAB file: 65535.
Reminder: Compression level of ZIP or 7z archives The files added into an archive in ZIP or 7z format are compressed by default. The compression level of files added into an archive can be modified by zipCompressionLevel. Error codes The following error codes are returned: - 1: The path passed as parameter does not exist.
- 2: Access denied: the user has no sufficient rights or the file is currently used. If the file to insert is an HFSQL data file, it must be closed by the following code:
HClose(NomFichier) Multitask() // Attend la fermeture effective du fichier
- 3: The archive is corrupted.
- 4: The path does not exist in the archive.
- 5: Unable to write into the archive.
- 7: The file is already found in the archive.
- 8: An archive cannot be added to itself. For example, "MyArchive" cannot be added to "MyArchive".
The message corresponding to the error code is returned by zipMsgError. Adding a file that is already found in the archive An error occurs when adding a file that is already found in the archive. A file is identified according to the path saved in the archive. Therefore, two files with the same name and with the same relative path cannot be added into an archive. For example, the zipNone constant cannot be used to add two files with the same name found in different directories. Index of files in the archive When a file is added into an archive, an index is automatically assigned to the file. This index corresponds to the order in which the files are included in the archive. To select a file in the archive, you can use: - the element subscript (remark: the index of an element is returned by SearchFile).
- or the path of the element saved in the archive.
Path kept (archives in WDZ or ZIP format) The array below shows the paths kept in the archive according to: - the access path to the file,
- the path section to keep.
This page is also available for…
|
|
|
|
|
|
|