Help / WLanguage / WLanguage functions / Standard functions / Archive management functions
  • Properties specific to zipArchive variables
  • Functions that use zipArchive variables:
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
The zipArchive type is used to handle an archive file corresponding to one of the following formats: ZIP, CAB, RAR, WDZ, 7z, TAR or TGZ (TAR.GZ). The characteristics of this file can be defined and changed using different WLanguage properties.
Remark: For more details on the declaration of this type of variable and the use of WLanguage properties, see Declaring a variable.
New in version 28
Universal Windows 10 App This type of variable is now available in Universal Windows 10 App mode.
// Create a backup archive for the "My Documents" directory
MyArchive is zipArchive
// Protect the archive by a password
MyArchive.Password = "secret"
// Create the archive
zipCreate(MyArchive, "s:\Backups\" + DateToString(DateSys(), "YYYY-MM-DD") + ".zip")
// Add the files
zipAddDirectory(MyArchive, SysDir(srMyDocuments))
// Close the archive

Properties specific to zipArchive variables

The following properties can be used to handle a zipArchive variable:
NameType usedEffect
ArchiveFormatInteger constantFormat of the archive file:
  • zipFormatCAB: File in CAB format
  • zipFormatRAR: File in RAR format
  • zipFormatWDZ: File in WDZ format
  • zipFormatZIP: File in ZIP format
  • zipFormat7Z: File in 7z format
  • zipFormatTAR: File in TAR format
  • zipFormatTARGZ: File in TGZ (TAR.GZ) format.
CompressedSize8-byte integerTotal compressed size of the files found in the archive.
This property is read-only.
CompressionLevelIntegerCompression level that must be used to add files into the archive.
For more details, see zipCompressionLevel.
FileArray of zipArchivedFileArray of files found in the archive.
NbFileIntegerNumber of files found in the archive.
This property is read-only.
NbPartIntegerNumber of parts in a multi-volume archive.
For a single-volume archive, this property is equal to 1.
This property is read-only.
PasswordCharacter stringPassword that will be used to add files into the archive or to extract files from the archive.
For more details, see zipPassword.
This property is available in write mode.
7z format: No password can be used.
TAR and TGZ (TAR.GZ) format: No password can be used.
Size8-byte integerTotal size of the files in the archive (decompressed size).
This property is read-only.

Functions that use zipArchive variables:

zipAddDirectoryAdds all the files found in a directory and in its subdirectories into an archive and compresses them.
zipAddFileAdds a file (of any type) into an archive in CAB, ZIP, WDZ and 7z, TAR or TGZ (TAR.GZ) format and compresses it.
zipAddFileListAdds a list of files (of any type) into an archive in ZIP, CAB, WDZ or 7z format and compresses it.
zipChangePathModifies the stored path of a file in an archive (in ZIP, WDZ or 7z format).
zipCloseCloses an archive.
zipCompressionLevelChanges the compression level used when creating an archive in ZIP format or in 7z format.
zipCreateCreates an archive.
zipCreateExeCreates a self-extracting archive as a 32-bit executable (.EXE).
zipCurrentFileReturns the name of the archived file currently handled by the functions for adding and extracting files.
zipDeleteAllDeletes all files from an archive.
zipDeleteFileDeletes a file from an archive.
zipDeleteFileListDeletes a list of files from an archive.
zipExistUsed to find out whether an archive exists.
zipExtractAllExtracts all files from an archive and decompresses them.
zipExtractFileExtracts a file from an archive and automatically decompresses it to a physical location or in memory.
zipExtractFileListExtracts and decompresses a list of files found in an archive to a physical location.
zipExtractPathReturns the path of a file found in the archive.
zipFileSizeReturns the size of one of the files found in the archive (in CAB, RAR, WDZ, ZIP, 7z, TAR or TGZ (TAR.GZ) format):
  • the compressed size of the file.
  • the size of file before compression.
zipFindFileFinds a file in an archive (in CAB, ZIP, RAR, WDZ or 7z format).
zipInfoFileReturns the characteristics of a file found an archive:
  • The name of the file and its stored path.
  • The initial size of the file.
  • The compressed size of file.
  • The date and time of file creation.
  • The date and time of file modification.
  • The date and time of file access.
  • The file attributes.
  • The file encryption mode.
zipIsMultiReturns the type of archive: single-part archive or multi-part archive.
zipListFileReturns the list of files found in an archive.
zipMergeMerges the different sub-archives found in a multi-part archive to create a single-part archive.
zipNbFileReturns the number of files found in an archive (in CAB, RAR, ZIP, WDZ or 7z format).
zipNbPartReturns the number of sub-archives (parts) found in an archive in CAB, RAR, ZIP, WDZ, 7z, TAR or TGZ (TAR.GZ) format.
zipNbPartNeededReturns the number of parts of a given size required to split a single-part archive.
zipOpenOpens an existing archive.
zipOpenCABOpens an existing archive in CAB format.
zipOpenRAROpens an existing archive in RAR format.
zipPasswordDefines the password used to add files into the specified archive and to extract files from the specified archive (RAR, ZIP and WDZ format).
zipSizeReturns the size of archive (in ZIP, RAR, CAB, WDZ or 7z format):
  • the size of all compressed files found in the archive.
  • the size of all files found in the archive before compression.
zipSplitSplits an archive into several sub-archives of a given size.
Minimum version required
  • Version 15
This page is also available for…
Function: Buffer to Serialize Array String, after Zip file with crypt
PROCEDURE SerializaCompactaArquivo(Token, bufArquivoBinario)

bufArquivoBinario = Crypt(bufArquivoBinario,Token,cryptAnsi,encodeBASE64)

NomeArquivoTxt is string = "Buffer"+DateSys()+TimeSys() + ".txt"
NomeArquivoZip is string = "Buffer"+DateSys()+TimeSys() + "zip"



NumZipErr is int

NumZipErr = zipCreate("Pacote", NomeArquivoZip)

IF NumZipErr <> 0 THEN

NumZipErr = zipAddFile("Pacote", NomeArquivoTxt, zipNone)

IF NumZipErr <> 0 THEN
Error(zipMsgError(NumZipErr) + "On the file " + zipCurrentFile("Pacote"))

zipCompressionLevel("Pacote", 9)

ok is boolean

IF fFileExist(NomeArquivoZip) THEN
ok = True
bufArquivoBinario = fLoadBuffer(NomeArquivoZip)
bufArquivoBinario = Crypt(bufArquivoBinario,Token,cryptAnsi,encodeBASE64)
ok = False
bufArquivoBinario = ""

07 Jun. 2017

Last update: 01/26/2023

Send a report | Local help