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) Compress Text Feed to BinaryThis example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data. The purpose is to demonstrate the BeginCompressString, MoreCompressString, and EndCompressString methods.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoCompressedData Variant hoCompressedBytes Handle hoCompress Handle hoSbIndex Integer i String sOriginalText String sTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatBinData)) To hoCompressedData If (Not(IsComObjectCreated(hoCompressedData))) Begin Send CreateComObject of hoCompressedData 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 hoSbIndex If (Not(IsComObjectCreated(hoSbIndex))) Begin Send CreateComObject of hoSbIndex End 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 ComGetAsString Of hoSbIndex To sTemp1 Get ComBeginCompressString Of hoCompress sTemp1 To hoCompressedBytes End Else Begin Get ComGetAsString Of hoSbIndex To sTemp1 Get ComMoreCompressString Of hoCompress sTemp1 To hoCompressedBytes End Get ComAppendBinary Of hoCompressedData vCompressedBytes To iSuccess Get ComMoreCompressString Of hoCompress ": This is a line of data to be compressed..." + (character(13)) + (character(10)) To hoCompressedBytes Get ComAppendBinary Of hoCompressedData vCompressedBytes To iSuccess Loop // Flush any remaining output. Get ComEndCompressString Of hoCompress To hoCompressedBytes Get ComAppendBinary Of hoCompressedData vCompressedBytes To iSuccess // Show the compressed data in hex format: Showln "The hex encoded compressed text:" Get ComGetEncoded Of hoCompressedData "hex" To sTemp1 Showln sTemp1 // Now decompress in one call: Get ComGetBinary Of hoCompressedData To hoCompressedBytes Get ComDecompressString Of hoCompress vCompressedBytes To sOriginalText Showln sOriginalText End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.