ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Archive functions
  • Error codes
  • Extracted file
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Extracts all files from an archive and decompresses them.
The archive handled can be in CAB, RAR, ZIP, WDZ, 7z, gzip, TAR or TGZ (TAR.GZ) format.
New in version 2025
WINDEVWEBDEV - Server codeWindowsLinuxiPhone/iPad The gzip format (.gz extension) is now supported.
Example
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)Ajax
Archive is zipArchive
 
// Open an archive
ResOpenArchive = Archive.Open("C:\Archives\Archive.zip")
 
IF ResOpenArchive = 0 THEN
...
// Extract all files from the archive
ResExtractAll = Archive.ExtractAll(zipDrive)
...
END
Syntax
<Result> = <Archive>.Extractall([<Destination of files> [, <Options> [, <WLanguage procedure> [, <Progress>]]]])
<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>: zipArchive variable
Name of a variable of type zipArchive corresponding to the archive to use.
<Destination of files>: Optional character string or constant
Destination path of extracted files:
  • Optional character string: files are extracted to the specified path plus the memorized tree structure for each file (the disk is not preserved). The specified path is created if it does not exist.
  • Optional constant:
    zipDirectoryExtraction into the current directory while restoring the tree structure of file (if it was stored).
    zipDriveExtraction:
    • to the initial file location if it was stored and if the drive exists.
    • while restoring the tree structure of the file on the current drive if the drive or the stored directory does not exist.
    • into the current directory if only the file name and extension have been stored.
    Remark: If the constant zipDisk is used, the WDZ format memorizes the complete path of the file (including the drive letter), whereas the ZIP format memorizes only the drive letter..

    LinuxiPhone/iPadIOS WidgetMac Catalyst This constant is not available. The directories have no root.

    AndroidAndroid Widget This constant and zipDirectory will have the same effect

    Archives in format 7z: This constant will have the same effect as the constant zipDirectory.
    zipOverwriteDuring the extraction, the existing read-only files are automatically overwritten by the extracted files. This constant can be combined with the zipDrive and zipDirectory constants.
    AndroidAndroid Widget This constant is not available.
<Options>: Optional constant
Configure the extraction (if <Destination of files> corresponds to a character string):
zipOverwriteDuring the extraction, the existing read-only files are automatically overwritten by the extracted files.
AndroidAndroid Widget This constant is not available.
<WLanguage procedure>: Optional procedure name
Name of the WLanguage procedure that will be called if an error occurs when extracting files.
WARNING: This parameter can only be used if the <Archive> parameter corresponds to a variable of type zipArchive.
This procedure has the following format:
PROCEDURE <Procedure name>(<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 <zipArchive variable>.ExtractAll.
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.

WEBDEV - Server code This procedure must be a server procedure.
AndroidAndroid Widget This parameter is not allowed.
<Progress>: Control name or procedure name
Progress bar management mode. This parameter can correspond to:
  • WINDEViPhone/iPadMac Catalyst the name of a Progress Bar control found in a window. The progress bar will display the progress regarding the extraction of all the files used.
  • the name of a WLanguage procedure. This procedure has the following format:
    PROCEDURE <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 handle an:
  • in gzip, TAR or TGZ (TAR.GZ)format, the ProgressBar is updated only at the end of 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 <Overall progress percentage> is specified. <File progress percentage> will have the same value.
WEBDEV - Server code The procedure must be a server procedure.
Remarks

Error codes

The following error codes are returned:
  • 1: The path passed in parameter does not exist.
  • 2: Access denied: user does not have sufficient rights.
  • 3: The archive is corrupt.
  • 4: The path does not exist in the archive.
  • 6: Sub-archive files are not in order (case of extraction from a multi-part archive).
The message corresponding to the error code is returned by zipMsgError.
Reminder:
  • LinuxiPhone/iPadIOS WidgetMac Catalyst Only archives in ZIP, TAR, gzip and TGZ (TAR.GZ) formats are available.
  • AndroidAndroid Widget Only ZIP archives are available.
  • RAR is supported up to and including version 5.

Extracted file

The extracted files are not deleted from the archive. To delete one file or all the files from the archive, use <zipArchive variable>.DeleteFile or <zipArchive variable>.DeleteAll.
Component: wd300zip.dll
Minimum version required
  • Version 24
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/26/2024

Send a report | Local help