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) Create Zip in a BinData ObjectRecursively appends files in a directory tree and writes a zip archive into a Chilkat BinData object.
Use ChilkatAx-win32.pkg Procedure Test Handle hoZip Boolean iSuccess Boolean iRecurse Variant vBdZip Handle hoBdZip String sZipAsBase64 String sTemp1 // This example assumes 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 // Initialize the zip object. Because we will never actually write a zip file to the filesystem, // the filepath passed to NewZip does not matter. Get ComNewZip Of hoZip "x.zip" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // Append a directory tree. The call to AppendFiles does // not read the file contents or append them to the zip // object in memory. It simply appends references // to the files so that when WriteBd, WriteZip, or WriteZipAndClose // is called, the referenced files are streamed and compressed // into the .zip output file (or BinData object). Move True To iRecurse Get ComAppendFiles Of hoZip "c:/temp/a/*" iRecurse To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // Write the zip archive into the bdZip object. Get Create (RefClass(cComChilkatBinData)) To hoBdZip If (Not(IsComObjectCreated(hoBdZip))) Begin Send CreateComObject of hoBdZip End Get pvComObject of hoBdZip to vBdZip Get ComWriteBd Of hoZip vBdZip To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoZip To sTemp1 Showln sTemp1 Procedure_Return End // We could directly access the bytes of the zip archive, or perhaps // get the zip bytes in base64 format. Get ComGetEncoded Of hoBdZip "base64" To sZipAsBase64 Showln sZipAsBase64 // Or the zip can be used by some other Chilkat method call that accepts // a BinData object as an argument. End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.