PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Error codes
  • Extracted file
  • Extraction and password
  • Subscript of files in the archive
  • 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 a file from an archive and automatically decompresses it to a physical location or in memory.
Versions 15 and later
Android This function is now available for the Android applications.
New in version 15
Android This function is now available for the Android applications.
Android This function is now available for the Android applications.
Versions 17 and later
iPhone/iPad This function is now available for the iPhone/iPad applications.
New in version 17
iPhone/iPad This function is now available for the iPhone/iPad applications.
iPhone/iPad This function is now available for the iPhone/iPad applications.
Versions 18 and later
Android Widget This function is now available in Android Widget mode.
WINDEVWEBDEV - Server codeWindows This function now supports the 7z format.
New in version 18
Android Widget This function is now available in Android Widget mode.
WINDEVWEBDEV - Server codeWindows This function now supports the 7z format.
Android Widget This function is now available in Android Widget mode.
WINDEVWEBDEV - Server codeWindows This function now supports the 7z format.
Versions 19 and later
Universal Windows 10 App This function is now available in Windows Store apps mode.
New in version 19
Universal Windows 10 App This function is now available in Windows Store apps mode.
Universal Windows 10 App This function is now available in Windows Store apps mode.
Versions 21 and later
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
WINDEVWEBDEV - Server codeWindowsLinuxiPhone/iPadUniversal Windows 10 App This function now supports the TAR and TGZ (TAR.GZ) formats.
New in version 21
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
WINDEVWEBDEV - Server codeWindowsLinuxiPhone/iPadUniversal Windows 10 App This function now supports the TAR and TGZ (TAR.GZ) formats.
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
WINDEVWEBDEV - Server codeWindowsLinuxiPhone/iPadUniversal Windows 10 App This function now supports the TAR and TGZ (TAR.GZ) formats.
WINDEVWEBDEV - Server codeReports and QueriesJavaAjaxUser code (UMC)
// Open an archive
ResOpenArchive = zipOpen("Archive", "C:\Archives\Archive.zip")
IF ResOpenArchive = 0 THEN
...
 // Extract a file to its initial location
 ResExtractFile = zipExtractFile("Archive", "File.doc", zipDrive)
...
END
Windows Mobile
// Open an archive
ResOpenArchive = zipOpen("Archive", "\Archives\Archive.zip")
IF ResOpenArchive = 0 THEN
...
// Extract a file to its initial location
ResExtractFile = zipExtractFile("Archive", "File.txt", zipDrive)
...
END
Syntax

Extracting a file identified by its subscript Hide the details

<Result> = zipExtractFile(<Archive> , <File Subscript> [, <File Destination> [, <Management of Progress Bar>]])
<Result>: Integer or buffer
  • 0 if the file was extracted,
  • An error code (value greater than 0) otherwise. See the Notes for more details.
When extracting "in memory", corresponds to the buffer containing the extracted file.
<Archive>: Character string (with quotes) or zipArchive variable
Name of archive to use.
This name can correspond to:
<File Subscript>: Integer
Subscript of file to extract from the archive. This subscript is returned by zipFindFile.
<File Destination>: Optional character string or constant
Destination path of extracted file:
  • Optional character string: The file is extracted into the specified path to which is added the stored tree structure of file (the drive is not stored). The specified path is created if it does not exist.
    Universal Windows 10 App The destination path of extracted file must correspond to the working directory of application (returned by fDataDir) or to one of its sub-directories.
  • Optional constant:
    zipNoneExtraction into the current directory without 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.
    LinuxiPhone/iPad This constant is not available. The directories have no root.
    AndroidAndroid Widget Java This constant and zipDirectory will have the same effect.
    Archives in 7z format: This constant and zipDirectory will have the same effect.
    zipInMemoryExtracts the file in memory. The file content is directly returned by the function. It can be assigned to a Buffer variable for example.
    This feature is available for the ZIP and WDZ archives only.
    zipDirectory
    (Default value)
    Extraction into the current directory while restoring the tree structure of file (if it was stored).

    Windows Mobile These constants cannot be used because the notion of current directory is not supported by the Pocket PC.
    Universal Windows 10 App These constants cannot be used.
<Management of Progress Bar>: Optional character string (with or without quotes)
Versions 21 and later
Mode for managing the progress bar. This parameter can correspond to:
  • WINDEViPhone/iPadWindows MobileUniversal Windows 10 App the name of a Progress Bar control found in a window. The progress bar will display the progress of file extraction.
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure Name> (<Current File>, <Percentage of Progress>)

    where:
    • <Current File> corresponds to the name of the file currently processed.
    • <Percentage of Progress> corresponds to the percentage of progress regarding the extraction of current file from the archive.
Caution: The progress bar is refreshed at the end of file extraction for the following types of archives:
  • TAR or TGZ (TAR.GZ),
  • RAR,
  • CAB.
New in version 21
Mode for managing the progress bar. This parameter can correspond to:
  • WINDEViPhone/iPadWindows MobileUniversal Windows 10 App the name of a Progress Bar control found in a window. The progress bar will display the progress of file extraction.
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure Name> (<Current File>, <Percentage of Progress>)

    where:
    • <Current File> corresponds to the name of the file currently processed.
    • <Percentage of Progress> corresponds to the percentage of progress regarding the extraction of current file from the archive.
Caution: The progress bar is refreshed at the end of file extraction for the following types of archives:
  • TAR or TGZ (TAR.GZ),
  • RAR,
  • CAB.
Mode for managing the progress bar. This parameter can correspond to:
  • WINDEViPhone/iPadWindows MobileUniversal Windows 10 App the name of a Progress Bar control found in a window. The progress bar will display the progress of file extraction.
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure Name> (<Current File>, <Percentage of Progress>)

    where:
    • <Current File> corresponds to the name of the file currently processed.
    • <Percentage of Progress> corresponds to the percentage of progress regarding the extraction of current file from the archive.
Caution: The progress bar is refreshed at the end of file extraction for the following types of archives:
  • TAR or TGZ (TAR.GZ),
  • RAR,
  • CAB.

Extracting a file identified by its path Hide the details

<Result> = zipExtractFile(<Archive> , <File Path> [, <File Destination> [, <Management of Progress Bar>]])
<Result>: Integer or buffer
  • 0 if the file was extracted,
  • An error code (value greater than 0) otherwise. See the Notes for more details.
When extracting "in memory", corresponds to the buffer containing the extracted file.
<Archive>: Character string (with quotes) or zipArchive variable
Name of archive to use.
This name can correspond to:
<File Path>: Character string (with quotes)
Stored path of file to extract from the archive. Performs an exact-match search on the path of file in the archive.
<File Destination>: Optional character string or constant
Destination path of extracted file:
  • Optional character string: The file is extracted into the specified path to which is added the stored tree structure of file (the drive is not stored). The specified path is created if it does not exist.
    Universal Windows 10 App The destination path of extracted file must correspond to the working directory of application (returned by fDataDir) or to one of its sub-directories.
  • Optional constant:
    zipNoneExtraction into the current directory without 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.
    LinuxiPhone/iPad This constant is not available. The directories have no root.
    AndroidAndroid Widget Java This constant and zipDirectory will have the same effect.
    Archives in 7z format: This constant and zipDirectory will have the same effect.
    zipInMemoryExtracts the file in memory. The file content is directly returned by the function. It can be assigned to a Buffer variable for example.
    This feature is available for the ZIP and WDZ archives only.
    zipDirectory
    (Default value)
    Extraction into the current directory while restoring the tree structure of file (if it was stored).

    Windows Mobile These constants cannot be used because the notion of current directory is not supported by the Pocket PC.
    Universal Windows 10 App These constants cannot be used.
<Management of Progress Bar>: Optional character string (with or without quotes)
Versions 21 and later
Mode for managing the progress bar. This parameter can correspond to:
  • WINDEViPhone/iPadWindows MobileUniversal Windows 10 App the name of a Progress Bar control found in a window. The progress bar will display the progress of file extraction.
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure Name> (<Current File>, <Percentage of Progress>)

    where:
    • <Current File> corresponds to the name of the file currently processed.
    • <Percentage of Progress> corresponds to the percentage of progress regarding the extraction of current file from the archive.
Caution: The progress bar is refreshed at the end of file extraction for the following types of archives:
  • TAR or TGZ (TAR.GZ),
  • RAR,
  • CAB.
New in version 21
Mode for managing the progress bar. This parameter can correspond to:
  • WINDEViPhone/iPadWindows MobileUniversal Windows 10 App the name of a Progress Bar control found in a window. The progress bar will display the progress of file extraction.
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure Name> (<Current File>, <Percentage of Progress>)

    where:
    • <Current File> corresponds to the name of the file currently processed.
    • <Percentage of Progress> corresponds to the percentage of progress regarding the extraction of current file from the archive.
Caution: The progress bar is refreshed at the end of file extraction for the following types of archives:
  • TAR or TGZ (TAR.GZ),
  • RAR,
  • CAB.
Mode for managing the progress bar. This parameter can correspond to:
  • WINDEViPhone/iPadWindows MobileUniversal Windows 10 App the name of a Progress Bar control found in a window. The progress bar will display the progress of file extraction.
  • the name of a WLanguage procedure. This procedure has the following format:
    <Procedure Name> (<Current File>, <Percentage of Progress>)

    where:
    • <Current File> corresponds to the name of the file currently processed.
    • <Percentage of Progress> corresponds to the percentage of progress regarding the extraction of current file from the archive.
Caution: The progress bar is refreshed at the end of file extraction for the following types of archives:
  • TAR or TGZ (TAR.GZ),
  • RAR,
  • CAB.
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.
LinuxAndroidAndroid Widget iPhone/iPadWindows MobileUniversal Windows 10 AppJava Reminder: Only the archives in ZIP format are available.
Reminder:
  • LinuxiPhone/iPadUniversal Windows 10 App Only the archives in ZIP, TAR and TGZ (TAR.GZ) format are available.
  • AndroidAndroid Widget Windows MobileJava Only the archives in ZIP format are available.

Extracted file

The extracted file is not deleted from the archive. To delete one file or all the files from the archive, use zipDeleteFile or zipDeleteAll.
WINDEVWEBDEV - Server codeReports and QueriesiPhone/iPadWindows MobileUniversal Windows 10 AppAjaxUser code (UMC)

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.

Subscript of files in the archive

When a file is added into an archive, a subscript is automatically assigned to the file. This subscript corresponds to the order in which the files are included in the archive. To select a file found in the archive, you can use:
  • the subscript of the element (the subscript of an element is returned by zipFindFile).
  • the stored path of element.

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
Note: 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.
AndroidAndroid Widget Java The zipDrive constant is equivalent to the zipDirectory constant.
Universal Windows 10 App The directory and the disk are not stored in the archive path. Only the file name and extension are stored.
Windows Mobile The table below presents the paths stored in the archive according to:
  • the access path to the file,
  • the stored path section.
zipAddFileFile locationzipNonezipDirectory
zipAddFile("Archi",...
"\File.txt")
\File.txtFile.txtFile.txt
zipAddFile("Archi",...
"\Temp\File.txt")
\Temp\File.txtFile.txtTemp\File.txt
WINDEVWEBDEV - Server codeReports and QueriesAjaxUser code (UMC)

Extraction from a multi-part archive on diskettes

If the files to extract are found on different diskettes, the corresponding diskette is automatically requested. To extract several files from a multi-part archive, we advise you to extract the files according to the order of their subscript in the archive. Therefore, the different diskettes will be requested in ascending order.
WINDEVReports and QueriesWindows MobileUser code (UMC)

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, <Management of Progress Bar> can also be used to manage the progress of file addition.
New in version 21
From version 21, <Management of Progress Bar> can also be used to manage the progress of file addition.
From version 21, <Management of Progress Bar> can also be used to manage the progress of file addition.
Components
WINDEVWEBDEV - Server codeReports and Queries wd230zip.dll
Windows Mobile wp230zip.dll
Java wd230java.jar
Linux wd230zip.so
Android wd230android.jar
Minimum required version
  • Version 9
This page is also available for…
Comments
Descompactar Arquivo
n_abrir_zip is int = zipOpen("nomezip1","e:\aleva\zip\zz.zip")
IF n_abrir_zip = 0 THEN
n_extrai_arquivo is int = zipExtractFile("nomezip1",1,"E:\aleva\zip\")
END

//Blog com video
// http://windevdesenvolvimento.blogspot.com.br/2016/01/windev21-curso-210-descompactar-arquivo.html
De matos AMARILDO
Jan. 05 2016