![]() |
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) Find ZIP Entries Matching a Wildcard Pattern Using EntryMatchingSee more Zip Examples This example demonstrates how to use the The wildcard character This method is useful for:
Suppose the ZIP archive contains: Notice that the ZIP archive contains an explicit directory entry named When searching with the pattern The example searches for:
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 entry.i = CkZipEntry::ckCreate() If entry.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; ------------------------------------------------------------ ; Find the first .png file in the ZIP archive. success = CkZip::ckEntryMatching(zip,"*.png",entry) If success = 1 Debug "Found PNG file:" Debug " " + CkZipEntry::ckFileName(entry) Debug "" EndIf ; ------------------------------------------------------------ ; Find the first entry beneath the docs directory. ; ; Note: ZIP archives may optionally contain explicit directory ; entries such as "docs/" in addition to file entries. ; Therefore, the first matching entry could be the directory ; itself rather than a file contained within the directory. success = CkZip::ckEntryMatching(zip,"docs/*",entry) If success = 1 Debug "First matching docs entry:" Debug " " + CkZipEntry::ckFileName(entry) Debug " IsDirectory = " + Str(CkZipEntry::ckIsDirectory(entry)) Debug "" EndIf ; ------------------------------------------------------------ ; Find the first JSON file anywhere in the ZIP archive. success = CkZip::ckEntryMatching(zip,"*.json",entry) If success = 1 Debug "Found JSON file:" Debug " " + CkZipEntry::ckFileName(entry) Debug "" EndIf ; ------------------------------------------------------------ ; The matching is performed against the full stored ZIP path. ; For example: ; ; docs/readme.txt ; images/logo.png ; data/config/settings.json ; ; The wildcard '*' matches zero or more characters. CkZip::ckCloseZip(zip) Debug "Done." CkZip::ckDispose(zip) CkZipEntry::ckDispose(entry) ProcedureReturn EndProcedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.