![]() |
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
(PowerBuilder) 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.
integer li_rc integer li_Success oleobject loo_Zip oleobject loo_Zip2 oleobject loo_Entry li_Success = 0 // ------------------------------------------------------------ // First create a sample ZIP archive containing a small text file. loo_Zip = create oleobject li_rc = loo_Zip.ConnectToNewObject("Chilkat.Zip") if li_rc < 0 then destroy loo_Zip MessageBox("Error","Connecting to COM object failed") return end if li_Success = loo_Zip.NewZip("c:/temp/sampleText.zip") if li_Success = 0 then Write-Debug loo_Zip.LastErrorText destroy loo_Zip return end if // Add a small text file from memory. li_Success = loo_Zip.AddString("myApp/docs/hello.txt","Hello from a ZIP entry!","utf-8") if li_Success = 0 then Write-Debug loo_Zip.LastErrorText destroy loo_Zip return end if // Write the ZIP archive to disk and close it. li_Success = loo_Zip.WriteZipAndClose() if li_Success = 0 then Write-Debug loo_Zip.LastErrorText destroy loo_Zip return end if // ------------------------------------------------------------ // Now open the ZIP archive we just created. loo_Zip2 = create oleobject li_rc = loo_Zip2.ConnectToNewObject("Chilkat.Zip") li_Success = loo_Zip2.OpenZip("c:/temp/sampleText.zip") if li_Success = 0 then Write-Debug loo_Zip2.LastErrorText destroy loo_Zip destroy loo_Zip2 return end if // Find the entry by its stored ZIP path. loo_Entry = create oleobject li_rc = loo_Entry.ConnectToNewObject("Chilkat.ZipEntry") li_Success = loo_Zip2.EntryOf("myApp/docs/hello.txt",loo_Entry) if li_Success = 0 then Write-Debug "Entry not found." destroy loo_Zip destroy loo_Zip2 destroy loo_Entry return end if // 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. li_Success = loo_Entry.Extract("c:/temp/extracted") if li_Success = 0 then Write-Debug loo_Entry.LastErrorText destroy loo_Zip destroy loo_Zip2 destroy loo_Entry return end if loo_Zip2.CloseZip() Write-Debug "Entry extracted successfully." destroy loo_Zip destroy loo_Zip2 destroy loo_Entry |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.