Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v11.0.0+

List Files in Zip using EntryAt / GetNext

See more Zip Examples

Demonstrates how to iterate over the files and directories in a zip archive using EntryAt/GetNext.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oZip
LOCAL oEntry
LOCAL nHasMoreEntries

nSuccess := 0

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

oZip := CreateObject("Chilkat.Zip")

nSuccess := oZip:OpenZip("qa_data/zips/xml_files.zip")
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    RETURN
ENDIF

oEntry := CreateObject("Chilkat.ZipEntry")
nHasMoreEntries := oZip:EntryAt(0, oEntry)
DO WHILE (nHasMoreEntries == 1)
    IF (oEntry:IsDirectory == 0)
        ? oEntry:FileName
    ELSE
        ? "(directory) " + oEntry:FileName
    ENDIF

    nHasMoreEntries := oEntry:GetNext()
ENDDO

//  Sample output showing both file and directory entries:

//  a1.xml
//  b1.xml
//  c1.xml
//  (directory) dir1/
//  dir1/a2.xml
//  dir1/c2.xml
//  (directory) dir2/
//  (directory) dir2/dir3/
//  dir2/dir3/c3.xml

oZip:destroy()
oEntry:destroy()