![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Iterate Over ZIP Entries Using EntryAt This example demonstrates how to use the The This is useful for:
Suppose the ZIP archive contains: The example loops through all ZIP entries and prints information about each entry. Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkZip.pb" IncludeFile "CkZipEntry.pb" Procedure ChilkatExample() success.i = 0 success = 0 ; Open an existing ZIP archive. zip.i = CkZip::ckCreate() If zip.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkZip::ckOpenZip(zip,"example.zip") If success = 0 Debug CkZip::ckLastErrorText(zip) CkZip::ckDispose(zip) ProcedureReturn EndIf ; Get the total number of entries in the ZIP archive. numEntries.i = CkZip::ckNumEntries(zip) Debug "Number of ZIP entries = " + Str(numEntries) ; Create a ZipEntry object that will be reused ; for each entry retrieved by EntryAt. entry.i = CkZipEntry::ckCreate() If entry.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Iterate over all ZIP entries. i.i = 0 While i < numEntries ; Retrieve the entry at index i. success = CkZip::ckEntryAt(zip,i,entry) If success = 0 Debug CkZip::ckLastErrorText(zip) CkZip::ckDispose(zip) CkZipEntry::ckDispose(entry) ProcedureReturn EndIf Debug "Entry " + Str(i) Debug " FileName: " + CkZipEntry::ckFileName(entry) Debug " Uncompressed Length: " + Str(CkZipEntry::ckUncompressedLength(entry)) Debug " Compressed Length: " + Str(CkZipEntry::ckCompressedLength(entry)) Debug "" i = i + 1 Wend ; Sample output: ; ; Entry 0 ; FileName: docs/readme.txt ; Uncompressed Length: 1204 ; Compressed Length: 512 ; ; Entry 1 ; FileName: images/logo.png ; Uncompressed Length: 84211 ; Compressed Length: 84102 ; CkZip::ckCloseZip(zip) Debug "Done." CkZip::ckDispose(zip) CkZipEntry::ckDispose(entry) ProcedureReturn EndProcedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.