Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
(Delphi) Deflate StringCompresses a string using the Deflate compression algorithm.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATCOMPRESSIONLib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var compress: TChilkatCompression; success: Integer; strData: String; i: Integer; deflatedStr: String; strOriginal: String; begin compress := TChilkatCompression.Create(Self); // Any string argument automatically begins a 30-day trial. success := compress.UnlockComponent('30-day trial'); if (success <> 1) then begin Memo1.Lines.Add(compress.LastErrorText); Exit; end; compress.Algorithm := 'deflate'; // Create a long string to deflate. strData := 'abcdefg1122334455667788'; strData := strData + #13#10; for i := 0 to 99 do begin strData := strData + 'abcdefg1122334455667788'; strData := strData + #13#10; end; // Depending on the programming language, the string // may be Unicode. Tell the component to convert to // ansi (1-byte/char) prior to compression: compress.Charset := 'ansi'; // Compressed data is binary, meaning that all byte values // from 0 to 255 are possible. The result would not be // a printable string. To receive a printable string (us-ascii), // the resultant compressed data should be encoded using // an encoding such as base64. Set the EncodingMode // property to determine the output encoding: // (Valid choices are "base64", "hex", "url", and others) compress.EncodingMode := 'base64'; // Note: Base64 encoding expands the compressed data by // 4/3rds because each 3 bytes of binary data are represented // by 4 printable chars. Hex, for example, doubles the output // size because each byte is represented by 2 printable chars. // Deflate the string: deflatedStr := compress.CompressStringENC(strData); if (Length(deflatedStr) = 0 ) then begin Memo1.Lines.Add(compress.LastErrorText); Exit; end; // Display the deflated string. // The result will be: // S0xKTklNSzc0NDIyNjYxMTU1MzM3t7Dg5UoclRiVGJUYlRiVGJUYlRiVGJUYchIA Memo1.Lines.Add(deflatedStr); // Decompress back to the original: strOriginal := compress.DecompressStringENC(deflatedStr); // Display the uncompressed original: Memo1.Lines.Add('--- Original ---'); Memo1.Lines.Add(strOriginal); end; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.