PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkZip.pb"
IncludeFile "CkZipEntry.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
success = CkZip::ckOpenZip(zip,"qa_data/zips/xml_files.zip")
If success = 0
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
entry.i = CkZipEntry::ckCreate()
If entry.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
hasMoreEntries.i = CkZip::ckEntryAt(zip,0,entry)
While (hasMoreEntries = 1)
If CkZipEntry::ckIsDirectory(entry) = 0
Debug CkZipEntry::ckFileName(entry)
Else
Debug "(directory) " + CkZipEntry::ckFileName(entry)
EndIf
hasMoreEntries = CkZipEntry::ckGetNext(entry)
Wend
; 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
CkZip::ckDispose(zip)
CkZipEntry::ckDispose(entry)
ProcedureReturn
EndProcedure