Sample code for 30+ languages & platforms
Xbase++

Zip

See more Zip Examples

Zip a directory tree.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oZip
LOCAL cZipPath
LOCAL nRecurse

nSuccess := 0

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oZip := CreateObject("Chilkat.Zip")

cZipPath := "c:/temp/myFiles.zip"

//  Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
oZip:NewZip(cZipPath)

//  Append references to files to be zipped.
nRecurse := 1
nSuccess := oZip:AppendFiles("c:/temp/files_to_zip/*", nRecurse)
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    RETURN
ENDIF

//  Write the .zip and close the zip file (and clears the zip object).
nSuccess := oZip:WriteZipAndClose()
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    RETURN
ENDIF

? "Successfully created " + cZipPath

//  If the following files existed under c:/temp/files_to_zip

//  c:/temp/files_to_zip/aaa/pigs.json
//  c:/temp/files_to_zip/bbb/base64Cert.txt
//  c:/temp/files_to_zip/bbb/sub1/brasil_cert.pem
//  c:/temp/files_to_zip/bbb/sub2/penguins.gif
//  c:/temp/files_to_zip/bbb/sub2/starfish.jpg
//  c:/temp/files_to_zip/hamlet.xml
//  c:/temp/files_to_zip/hello.pdf

//  then the zip we created would contain:

//  aaa/pigs.json
//  bbb/base64Cert.txt
//  bbb/sub1/brasil_cert.pem
//  bbb/sub2/penguins.gif
//  bbb/sub2/starfish.jpg
//  hamlet.xml
//  hello.pdf

oZip:destroy()