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
(Visual FoxPro) 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.
LOCAL lnSuccess LOCAL loCompressedData LOCAL loCompressedBytes LOCAL loCompress LOCAL loSbIndex LOCAL i LOCAL lcOriginalText * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.BinData') loCompressedData = CreateObject('Chilkat.BinData') * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Compression') loCompress = CreateObject('Chilkat.Compression') loCompress.Algorithm = "deflate" loCompress.Charset = "utf-8" * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbIndex = CreateObject('Chilkat.StringBuilder') FOR i = 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. loSbIndex.Clear() loSbIndex.AppendInt(i) IF (i = 0) THEN loCompressedBytes = loCompress.BeginCompressString(loSbIndex.GetAsString()) ELSE loCompressedBytes = loCompress.MoreCompressString(loSbIndex.GetAsString()) ENDIF loCompressedData.AppendBinary(loCompressedBytes) loCompressedBytes = loCompress.MoreCompressString(": This is a line of data to be compressed..." + CHR(13) + CHR(10)) loCompressedData.AppendBinary(loCompressedBytes) NEXT * Flush any remaining output. loCompressedBytes = loCompress.EndCompressString() loCompressedData.AppendBinary(loCompressedBytes) * Show the compressed data in hex format: ? "The hex encoded compressed text:" ? loCompressedData.GetEncoded("hex") * Now decompress in one call: loCompressedBytes = loCompressedData.GetBinary() lcOriginalText = loCompress.DecompressString(loCompressedBytes) ? lcOriginalText RELEASE loCompressedData RELEASE loCompress RELEASE loSbIndex |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.