![]() |
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) Compress Text Feed to BinaryThis example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Variant vBdCompressed Handle hoBdCompressed Handle hoCompress Variant vSbUncompressedChunk Handle hoSbUncompressedChunk Integer i Variant vBdDecompressed Handle hoBdDecompressed String sOriginalText 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(cComChilkatBinData)) To hoBdCompressed If (Not(IsComObjectCreated(hoBdCompressed))) Begin Send CreateComObject of hoBdCompressed 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" Get Create (RefClass(cComChilkatStringBuilder)) To hoSbUncompressedChunk If (Not(IsComObjectCreated(hoSbUncompressedChunk))) Begin Send CreateComObject of hoSbUncompressedChunk End Set ComFirstChunk Of hoCompress To True Set ComLastChunk Of hoCompress To False 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 // Show the compressed data in hex format: Showln "The hex encoded compressed text:" Get ComGetEncoded Of hoBdCompressed "hex" To sTemp1 Showln sTemp1 // Now decompress in one call. It is important to set both FirstChunk and LastChunk = True Get Create (RefClass(cComChilkatBinData)) To hoBdDecompressed If (Not(IsComObjectCreated(hoBdDecompressed))) Begin Send CreateComObject of hoBdDecompressed End Set ComFirstChunk Of hoCompress To True Set ComLastChunk Of hoCompress To True Get pvComObject of hoBdCompressed to vBdCompressed Get pvComObject of hoBdDecompressed to vBdDecompressed Get ComDecompressBd2 Of hoCompress vBdCompressed vBdDecompressed To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoCompress To sTemp1 Showln sTemp1 Procedure_Return End Get ComGetString Of hoBdDecompressed "utf-8" To sOriginalText Showln sOriginalText End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.