PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK
  • Error codes
  • Extracted file
  • Extraction and password
  • Stored path
  • Extraction from a multi-part archive on diskettes
  • Progress Bar
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Extracts and decompresses a list of files found in an archive to a physical location.
Versions 18 and later
Windows This function now supports the 7z format.
New in version 18
Windows This function now supports the 7z format.
Windows This function now supports the 7z format.
Versions 21 and later
Windows This function now supports the TAR and TGZ (TAR.GZ) formats.
New in version 21
Windows This function now supports the TAR and TGZ (TAR.GZ) formats.
Windows This function now supports the TAR and TGZ (TAR.GZ) formats.
Example
Reports and Queries
// Open an archive
ResOpenArchive = zipOpen("Archive", "C:\Archives\Archive.zip")
IF ResOpenArchive = 0 THEN
...
 // Extract a file to its initial location
 ResExtractFile = zipExtractFileList("Archive", "\Temp\File.doc" + ...
CR + "\Temp\File2.doc", zipDrive)
...
END
 
Reports and Queries
Archive is zipArchive
// Open an archive
ResOpenArchive = zipOpen(Archive, "C:\Archives\Archive.zip")
IF ResOpenArchive = 0 THEN
...
 // Extract a file to its initial location
 ResExtractFile = zipExtractFileList(Archive, "\Temp\File.doc" + ...
CR + "\Temp\File2.doc", zipDrive)
...
END
Syntax
<Result> = zipExtractFileList(<Archive> , <List of paths> [, <Destination> [, <Options> [, <WLanguage procedure> [, <Progress bar management>]]]])
<Result>: Integer
  • 0 if the files have been extracted,
  • An error code (value greater than 0) otherwise. For more details on these error codes, see the Remarks.
<Archive>: Character string (with quotes) or zipArchive variable
Name of archive to use.
This name can correspond to:
<List of paths>: Character string (with quotes)
List of stored paths of files that will be extracted from the archive. The different paths are separated by CR characters (Carriage Return).
Performs an exact-match search on each path of files found in the archive.
<Destination>: Optional character string or constant
Destination path of extracted files:
  • Optional character string: The files are extracted into the specified path to which is added the tree structure of the file (the disk is not stored). The specified path is created if it does not exist.
  • Optional constant:
    zipNoneExtraction into the current directory without restoring the tree structure of the files (if it was stored).
    zipDriveExtraction:
    • to the initial location of the files if it was stored and if the drive exists.
    • while restoring the tree structure of the files on the current drive if the drive or the stored directory does not exist.
    • in the current directory if only the name and extension of the files have been stored.

    Archives in 7z format: This constant and zipDirectory will have the same effect.
    zipDirectory
    (Default value)
    Extraction into the current directory without restoring the tree structure of the files (if it was stored).
<Options>: Optional constant
Configure the extraction (if <Destinations> corresponds to a character string):
zipOverwriteDuring the extraction, the existing read-only files are automatically overwritten by the extracted files.
<WLanguage procedure>: Optional procedure name
Versions 19 and later
Name of the WLanguage procedure that will be called if an error occurs when extracting files. This procedure has the following format:
PROCEDURE ProcedureName (<Error Code>, <File Name>)
where:
  • <Error code> is an integer corresponding to the code of the error that occurred when extracting the file.
  • <File name> is a character string that contains the path of the file processed by zipExtractFileList.
The procedure can return one of the following constants:
zipCancelCancels the extraction of files from the archive.
zipIgnoreIgnores the file in error.
zipRetryRetries the file extraction.
New in version 19
Name of the WLanguage procedure that will be called if an error occurs when extracting files. This procedure has the following format:
PROCEDURE ProcedureName (<Error Code>, <File Name>)
where:
  • <Error code> is an integer corresponding to the code of the error that occurred when extracting the file.
  • <File name> is a character string that contains the path of the file processed by zipExtractFileList.
The procedure can return one of the following constants:
zipCancelCancels the extraction of files from the archive.
zipIgnoreIgnores the file in error.
zipRetryRetries the file extraction.
Name of the WLanguage procedure that will be called if an error occurs when extracting files. This procedure has the following format:
PROCEDURE ProcedureName (<Error Code>, <File Name>)
where:
  • <Error code> is an integer corresponding to the code of the error that occurred when extracting the file.
  • <File name> is a character string that contains the path of the file processed by zipExtractFileList.
The procedure can return one of the following constants:
zipCancelCancels the extraction of files from the archive.
zipIgnoreIgnores the file in error.
zipRetryRetries the file extraction.
<Progress bar management>: Optional character string (with or without quotes)
Versions 21 and later
Mode for managing the progress bar. This parameter can correspond to:
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure name> (<Current file>, <Global progress percentage>,
    <File progress percentage >)

    where:
    • <Current file> corresponds to the name of the file currently processed.
    • <Global progress percentage> corresponds to the progress percentage of the extraction of files from the archive.
    • <File progress percentage> corresponds to the progress percentage of the file being extracted from the archive.
If you are using an archive:
  • in TAR or TGZ (TAR.GZ) format, the progress bar is refreshed at the end of the extraction of each file.
  • in CAB and RAR format, the progress bar is refreshed at the end of the extraction of each file.
  • in 7z format, only <Global progress percentage> is specified. <File progress percentage> will have the same value.
New in version 21
Mode for managing the progress bar. This parameter can correspond to:
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure name> (<Current file>, <Global progress percentage>,
    <File progress percentage >)

    where:
    • <Current file> corresponds to the name of the file currently processed.
    • <Global progress percentage> corresponds to the progress percentage of the extraction of files from the archive.
    • <File progress percentage> corresponds to the progress percentage of the file being extracted from the archive.
If you are using an archive:
  • in TAR or TGZ (TAR.GZ) format, the progress bar is refreshed at the end of the extraction of each file.
  • in CAB and RAR format, the progress bar is refreshed at the end of the extraction of each file.
  • in 7z format, only <Global progress percentage> is specified. <File progress percentage> will have the same value.
Mode for managing the progress bar. This parameter can correspond to:
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure name> (<Current file>, <Global progress percentage>,
    <File progress percentage >)

    where:
    • <Current file> corresponds to the name of the file currently processed.
    • <Global progress percentage> corresponds to the progress percentage of the extraction of files from the archive.
    • <File progress percentage> corresponds to the progress percentage of the file being extracted from the archive.
If you are using an archive:
  • in TAR or TGZ (TAR.GZ) format, the progress bar is refreshed at the end of the extraction of each file.
  • in CAB and RAR format, the progress bar is refreshed at the end of the extraction of each file.
  • in 7z format, only <Global progress percentage> is specified. <File progress percentage> will have the same value.
Remarks

Error codes

The following error codes are returned:
  • 1: The path passed in parameter does not exist.
  • 2: Access denied: the user has no sufficient rights.
  • 3: The archive is corrupted.
  • 4: The path does not exist in the archive.
  • 6: The files of the sub-archives are not arranged in order (when extracting from a multi-part archive).
  • 21: The specified password is not correct.
The message corresponding to the error code is returned by zipMsgError.
Remarks:

    Extracted file

    The extracted files are not deleted from the archive. To delete one file or all the files from the archive, use zipDeleteFile or zipDeleteAll.
    Reports and Queries

    Extraction and password

    If the file is not encrypted and if zipPassword was used:
    • Archive in WDZ format: The file is still extracted.
    • Archive in ZIP format: An error occurs.

    Stored path

    The table below presents the paths stored in the archive according to:
    • the access path to the file,
    • the stored path section.
    The current directory is: "C:\Temp".
    zipAddFileFile locationzipNonezipDirectoryzipDrive
    zipAddFile("Archi",
    "File.txt")
    C:\Temp\File.txtFile.txtFile.txtFile.txt
    zipAddFile("Archi",
    "Data\File.txt")
    C:\Temp\Data\File.txtFile.txtData\File.txtData\File.txt
    zipAddFile("Archi",
    "D:\Data\File.txt")
    D:\Data\File.txtFile.txtData\File.txtD:\Data\File.txt


    Remark: If the zipDrive constant is used:
    • the WDZ format stores the full path of the file (including the drive letter).
    • the ZIP format does not store the drive letter.
    • the 7z format stores the directories only.
    Reports and Queries

    Extraction from a multi-part archive on diskettes

    If the files to extract are found on different diskettes, the corresponding diskette is automatically requested.
    Reports and Queries

    Progress Bar

    In Windows, to view the progress of file extraction and decompression, an event must be branched on CompressGauge (1174). When this message is received, the _EVE.wParam variable contains the percentage of file already decompressed.
    Versions 21 and later
    From version 21, <Progress bar management> can also be used to manage the file addition progress.
    New in version 21
    From version 21, <Progress bar management> can also be used to manage the file addition progress.
    From version 21, <Progress bar management> can also be used to manage the file addition progress.
    Component : wd250zip.dll
    Minimum version required
    • Version 14
    This page is also available for…
    Comments
    Click [Add] to post a comment