Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Unzip Some Files by Iterating over EntriesDemonstrates how to unzip specific files by iterating over entries in a .zip.
Use ChilkatAx-win32.pkg Procedure Test Handle hoZip Boolean iSuccess Handle hoSbFilename Integer iNumEntries Integer i Variant vEntry Handle hoEntry String sEntryFilePath String sTemp1 Boolean bTemp1 // This requires 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 // Open a .zip containing: // // a1.xml // b1.xml // c1.xml // dir1/a2.xml // dir1/c2.xml // dir2/dir3/c3.xml // We wish to unzip only a1.xml, b1.xml, and c1.xml Get ComOpenZip Of hoZip "qa_data/zips/xml_files.zip" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbFilename If (Not(IsComObjectCreated(hoSbFilename))) Begin Send CreateComObject of hoSbFilename End Get ComNumEntries Of hoZip To iNumEntries Move 0 To i While (i < iNumEntries) Get ComGetEntryByIndex Of hoZip i To vEntry If (IsComObject(vEntry)) Begin Get Create (RefClass(cComChilkatZipEntry)) To hoEntry Set pvComObject Of hoEntry To vEntry End Get ComFileName Of hoEntry To sEntryFilePath Showln sEntryFilePath Get ComIsDirectory Of hoEntry To bTemp1 If (bTemp1 = False) Begin Get ComSetString Of hoSbFilename sEntryFilePath To iSuccess Get ComContains Of hoSbFilename "/" False To bTemp1 If (bTemp1 = False) Begin // Does not contain "/" // Unzip to the qa_output directory. Get ComExtract Of hoEntry "qa_output" To iSuccess If (iSuccess = False) Begin Showln "Failed to unzip " sEntryFilePath End Else Begin Showln "Unzipped " sEntryFilePath End End End Send Destroy of hoEntry Move (i + 1) To i Loop End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.