DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoZip
Variant vEntry
Handle hoEntry
Boolean iHasMoreEntries
String sTemp1
Boolean bTemp1
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatZip)) To hoZip
If (Not(IsComObjectCreated(hoZip))) Begin
Send CreateComObject of hoZip
End
Get ComOpenZip Of hoZip "qa_data/zips/xml_files.zip" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoZip To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatZipEntry)) To hoEntry
If (Not(IsComObjectCreated(hoEntry))) Begin
Send CreateComObject of hoEntry
End
Get pvComObject of hoEntry to vEntry
Get ComEntryAt Of hoZip 0 vEntry To iHasMoreEntries
While (iHasMoreEntries = True)
Get ComIsDirectory Of hoEntry To bTemp1
If (bTemp1 = False) Begin
Get ComFileName Of hoEntry To sTemp1
Showln sTemp1
End
Else Begin
Get ComFileName Of hoEntry To sTemp1
Showln "(directory) " sTemp1
End
Get ComGetNext Of hoEntry To iHasMoreEntries
Loop
// 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
End_Procedure