![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript 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
(Delphi DLL) Add Custom Extra Data to a Gzip FileThis example demonstrates how to use the The hex string represents the raw bytes to embed in the Gzip metadata. When a compression method is called, this data is included in the Gzip header. The example also shows how to retrieve the metadata using
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject, Gzip; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; gzip: HCkGzip; json: HCkJsonObject; inputFile: PWideChar; outputFile: PWideChar; begin success := False; // This example demonstrates how to include custom extra data // in the Gzip header when compressing. // The extra data is provided as a hex-encoded string. gzip := CkGzip_Create(); json := CkJsonObject_Create(); // Set extra data using a hex string. // This example represents 4 bytes: 00 01 02 03 success := CkGzip_SetExtraData(gzip,'00010203','hex'); if (success = False) then begin Memo1.Lines.Add(CkGzip__lastErrorText(gzip)); Exit; end; // Compress a file so the extra data is embedded in the Gzip header: inputFile := 'example.txt'; outputFile := 'example.txt.gz'; success := CkGzip_CompressFile(gzip,inputFile,outputFile); if (success = False) then begin Memo1.Lines.Add(CkGzip__lastErrorText(gzip)); Exit; end; Memo1.Lines.Add('Gzip file created with extra data.'); // (Optional) Retrieve the metadata to verify: success := CkGzip_GetGzipInfo(gzip,outputFile,json); if (success = False) then begin Memo1.Lines.Add(CkGzip__lastErrorText(gzip)); Exit; end; Memo1.Lines.Add('Metadata JSON:'); Memo1.Lines.Add(CkJsonObject__emit(json)); CkGzip_Dispose(gzip); CkJsonObject_Dispose(json); end; |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.