![]() |
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) Unzip a ZIP Entry Directly into a BinData Object Using ZipEntry.UnzipToBdSee more Zip Examples This example demonstrates how to use the The entry contents are uncompressed entirely in memory without creating a file on disk. This is useful when:
The example opens a ZIP archive, locates a PDF entry, inflates it into a Suppose the ZIP archive contains: The entry is uncompressed directly into memory before optionally being saved to:
integer li_rc integer li_Success oleobject loo_Zip oleobject loo_Entry oleobject loo_PdfData li_Success = 0 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 // Open an existing ZIP archive. li_Success = loo_Zip.OpenZip("qa_data/zips/documents.zip") if li_Success = 0 then Write-Debug loo_Zip.LastErrorText destroy loo_Zip return end if // Locate the PDF entry within the ZIP archive. loo_Entry = create oleobject li_rc = loo_Entry.ConnectToNewObject("Chilkat.ZipEntry") li_Success = loo_Zip.EntryOf("docs/report.pdf",loo_Entry) if li_Success = 0 then Write-Debug "ZIP entry not found." loo_Zip.CloseZip() destroy loo_Zip destroy loo_Entry return end if // ------------------------------------------------------------ // Inflate the ZIP entry directly into a BinData object. // // The uncompressed bytes are stored entirely in memory. // loo_PdfData = create oleobject li_rc = loo_PdfData.ConnectToNewObject("Chilkat.BinData") li_Success = loo_Entry.UnzipToBd(loo_PdfData) if li_Success = 0 then Write-Debug loo_Entry.LastErrorText destroy loo_Zip destroy loo_Entry destroy loo_PdfData return end if Write-Debug "Uncompressed size = " + string(loo_PdfData.NumBytes) Write-Debug "" // ------------------------------------------------------------ // Optionally save the uncompressed bytes to a file. // li_Success = loo_PdfData.WriteFile("qa_output/report.pdf") if li_Success = 0 then Write-Debug loo_PdfData.LastErrorText destroy loo_Zip destroy loo_Entry destroy loo_PdfData return end if loo_Zip.CloseZip() Write-Debug "PDF extracted successfully." destroy loo_Zip destroy loo_Entry destroy loo_PdfData |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.