Sample code for 30+ languages & platforms
PureBasic

Zip

See more Zip Examples

Zip a directory tree.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkZip.pb"

Procedure ChilkatExample()

    success.i = 0

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

    zip.i = CkZip::ckCreate()
    If zip.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    zipPath.s = "c:/temp/myFiles.zip"

    ; Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
    CkZip::ckNewZip(zip,zipPath)

    ; Append references to files to be zipped.
    recurse.i = 1
    success = CkZip::ckAppendFiles(zip,"c:/temp/files_to_zip/*",recurse)
    If success = 0
        Debug CkZip::ckLastErrorText(zip)
        CkZip::ckDispose(zip)
        ProcedureReturn
    EndIf

    ; Write the .zip and close the zip file (and clears the zip object).
    success = CkZip::ckWriteZipAndClose(zip)
    If success = 0
        Debug CkZip::ckLastErrorText(zip)
        CkZip::ckDispose(zip)
        ProcedureReturn
    EndIf

    Debug "Successfully created " + zipPath

    ; 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


    CkZip::ckDispose(zip)


    ProcedureReturn
EndProcedure