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
(Delphi DLL) Compress and Decompress a StringDemonstrates how to compress and decompress a string.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder, CkByteData, Compression; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; sb: HCkStringBuilder; i: Integer; compress: HCkCompression; compressedBytes: HCkByteData; compressedBase64: PWideChar; decompressedString: PWideChar; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. sb := CkStringBuilder_Create(); for i := 1 to 20 do begin CkStringBuilder_Append(sb,'This is the original uncompressed string.' + #13#10); end; compress := CkCompression_Create(); CkCompression_putAlgorithm(compress,'deflate'); // Indicate that the utf-8 byte representation of the string should be compressed. CkCompression_putCharset(compress,'utf-8'); compressedBytes := CkByteData_Create(); success := CkCompression_CompressString(compress,CkStringBuilder__getAsString(sb),compressedBytes); // If the compressed data is desired in string format, then get the base64 representation of the bytes. CkCompression_putEncodingMode(compress,'base64'); compressedBase64 := CkCompression__compressStringENC(compress,CkStringBuilder__getAsString(sb)); Memo1.Lines.Add('Compressed Bytes as Base64: ' + compressedBase64); // Now decompress... decompressedString := CkCompression__decompressString(compress,compressedBytes); Memo1.Lines.Add('The original string after decompressing from binary compressed data:'); Memo1.Lines.Add(decompressedString); // To decompress from Base64... CkCompression_putEncodingMode(compress,'base64'); decompressedString := CkCompression__decompressStringENC(compress,compressedBase64); Memo1.Lines.Add('The original string after decompressing from Base64:'); Memo1.Lines.Add(decompressedString); CkStringBuilder_Dispose(sb); CkCompression_Dispose(compress); CkByteData_Dispose(compressedBytes); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.