![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java 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) Transition from BeginCompressStringENC to FirstChunk/LastChunkProvides instructions for replacing deprecated BeginCompressStringENC method calls with using FirstChunk/LastChunk properties. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoSbCompressedBase64 Handle hoCompress Handle hoSbIndex Integer i String sOriginalText Variant vBdCompressed Handle hoBdCompressed Variant vSbUncompressedChunk Handle hoSbUncompressedChunk String sTemp1 Move False To iSuccess // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatStringBuilder)) To hoSbCompressedBase64 If (Not(IsComObjectCreated(hoSbCompressedBase64))) Begin Send CreateComObject of hoSbCompressedBase64 End Get Create (RefClass(cComChilkatCompression)) To hoCompress If (Not(IsComObjectCreated(hoCompress))) Begin Send CreateComObject of hoCompress End Set ComAlgorithm Of hoCompress To "deflate" Set ComCharset Of hoCompress To "utf-8" Set ComEncodingMode Of hoCompress To "base64" Get Create (RefClass(cComChilkatStringBuilder)) To hoSbIndex If (Not(IsComObjectCreated(hoSbIndex))) Begin Send CreateComObject of hoSbIndex End // ---------------------------------------------------------------------------------- // This is the deprecated way of compressing in chunks using Begin/More/End methods.. // ---------------------------------------------------------------------------------- For i From 0 To 24 // Note: It is possible (and normal) for a BeginCompress* or MoreCompress* method to return // an empty string (or 0 bytes). When this happens, the input data is not lost. It will be flushed // in a subsequent call. Send ComClear To hoSbIndex Get ComAppendInt Of hoSbIndex i To iSuccess If (i = 0) Begin Get ComBeginCompressStringENC Of hoCompress (ComGetAsString(hoSbIndex)) To sTemp1 Get ComAppend Of hoSbCompressedBase64 sTemp1 To iSuccess End Else Begin Get ComMoreCompressStringENC Of hoCompress (ComGetAsString(hoSbIndex)) To sTemp1 Get ComAppend Of hoSbCompressedBase64 sTemp1 To iSuccess End Get ComMoreCompressStringENC Of hoCompress ": This is a line of data to be compressed..." + (character(13)) + (character(10)) To sTemp1 Get ComAppend Of hoSbCompressedBase64 sTemp1 To iSuccess Loop // Flush any remaining output. Get ComEndCompressStringENC Of hoCompress To sTemp1 Get ComAppend Of hoSbCompressedBase64 sTemp1 To iSuccess Showln "The base64 encoded compressed text:" Get ComGetAsString Of hoSbCompressedBase64 To sTemp1 Showln sTemp1 // Decompress in one call: Get ComGetAsString Of hoSbCompressedBase64 To sTemp1 Get ComDecompressStringENC Of hoCompress sTemp1 To sOriginalText Showln sOriginalText // ---------------------------------------------------------------------------------- // This is new way of compressing in chunks using FirstChunk and LastChunk properties // ---------------------------------------------------------------------------------- Send ComClear To hoSbCompressedBase64 Set ComFirstChunk Of hoCompress To True Set ComLastChunk Of hoCompress To False Get Create (RefClass(cComChilkatBinData)) To hoBdCompressed If (Not(IsComObjectCreated(hoBdCompressed))) Begin Send CreateComObject of hoBdCompressed End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbUncompressedChunk If (Not(IsComObjectCreated(hoSbUncompressedChunk))) Begin Send CreateComObject of hoSbUncompressedChunk End For i From 0 To 24 If (i = 24) Begin Set ComLastChunk Of hoCompress To True End Send ComClear To hoSbUncompressedChunk Get ComAppendInt Of hoSbUncompressedChunk i To iSuccess Get ComAppend Of hoSbUncompressedChunk ": This is a line of data to be compressed..." + (character(13)) + (character(10)) To iSuccess Get pvComObject of hoSbUncompressedChunk to vSbUncompressedChunk Get pvComObject of hoBdCompressed to vBdCompressed Get ComCompressSb Of hoCompress vSbUncompressedChunk vBdCompressed To iSuccess Set ComFirstChunk Of hoCompress To False Loop Showln "The base64 encoded compressed text:" Get ComGetEncoded Of hoBdCompressed "base64" To sTemp1 Showln sTemp1 // Decompress in one call: Get ComGetEncoded Of hoBdCompressed "base64" To sTemp1 Get ComDecompressStringENC Of hoCompress sTemp1 To sOriginalText Showln sOriginalText End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.