Sample code for 30+ languages & platforms
Delphi DLL

Create Compressed .tgz (.tar.gz) TAR Archive

See more Tar Archive Examples

Demonstrates how to create a compressed TAR archive containing an entire directory tree. This example creates a compressed archive using GZip compression. The typical file extension used is .tgz or .tar.gz.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Tar;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
tar: HCkTar;

begin
success := False;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

tar := CkTar_Create();

// The TAR component will produce a  GNU tar 1.13.x format
// archive by default.
// It is also possible to create PAX -- POSIX 1003.1-2001 format
// or USTAR -- POSIX 1003.1-1988 format.
// Set the WriteFormat property to "gnu", "pax", or "ustar" to
// choose the output TAR format:
CkTar_putWriteFormat(tar,'gnu');

// Add a directory tree to be included in the output TAR archive:
success := CkTar_AddDirRoot(tar,'/Users/chilkat/temp/abc123');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkTar__lastErrorText(tar));
    Exit;
  end;

// Create the compressed TAR archive.
// Note: You may use UNC paths, absolute, or relative paths.
success := CkTar_WriteTarGz(tar,'/Users/chilkat/testData/tar/abc123.tgz');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkTar__lastErrorText(tar));
    Exit;
  end;

Memo1.Lines.Add('Success.');

CkTar_Dispose(tar);

end;