![]() |
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
(DataFlex) Extract a Single ZIP Entry While Preserving Its Stored PathSee more Zip Examples This example demonstrates how to use the The example first creates a ZIP archive containing a text file. It then re-opens the ZIP, finds the entry, and extracts it to a base directory. The Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoZip Handle hoZip2 Variant vEntry Handle hoEntry String sTemp1 Move False To iSuccess // ------------------------------------------------------------ // First create a sample ZIP archive containing a small text file. Get Create (RefClass(cComChilkatZip)) To hoZip If (Not(IsComObjectCreated(hoZip))) Begin Send CreateComObject of hoZip End Get ComNewZip Of hoZip "c:/temp/sampleText.zip" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // Add a small text file from memory. Get ComAddString Of hoZip "myApp/docs/hello.txt" "Hello from a ZIP entry!" "utf-8" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // Write the ZIP archive to disk and close it. Get ComWriteZipAndClose Of hoZip To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // ------------------------------------------------------------ // Now open the ZIP archive we just created. Get Create (RefClass(cComChilkatZip)) To hoZip2 If (Not(IsComObjectCreated(hoZip2))) Begin Send CreateComObject of hoZip2 End Get ComOpenZip Of hoZip2 "c:/temp/sampleText.zip" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoZip2 To sTemp1 Showln sTemp1 Procedure_Return End // Find the entry by its stored ZIP path. Get Create (RefClass(cComChilkatZipEntry)) To hoEntry If (Not(IsComObjectCreated(hoEntry))) Begin Send CreateComObject of hoEntry End Get pvComObject of hoEntry to vEntry Get ComEntryOf Of hoZip2 "myApp/docs/hello.txt" vEntry To iSuccess If (iSuccess = False) Begin Showln "Entry not found." Procedure_Return End // Extract this single entry to the base directory: // // c:/temp/extracted // // Because the entry's stored path is: // // myApp/docs/hello.txt // // the file will be extracted to: // // qa_output/extracted/myApp/docs/hello.txt // // The required subdirectories are created automatically. Get ComExtract Of hoEntry "c:/temp/extracted" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoEntry To sTemp1 Showln sTemp1 Procedure_Return End Send ComCloseZip To hoZip2 Showln "Entry extracted successfully." End_Procedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.