Sample code for 30+ languages & platforms
Delphi DLL

Create .taz, .tar.Z 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 Unix "Z" compression. The typical file extensions used are .tar.Z and .taz.

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, UnixCompress, Tar;

...

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

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;

// First write a .tar, then compress to a .Z using UnixCompress.
success := CkTar_WriteTar(tar,'/Users/chilkat/testData/tar/abc123.tar');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkTar__lastErrorText(tar));
    Exit;
  end;

uc := CkUnixCompress_Create();

success := CkUnixCompress_CompressFile(uc,'/Users/chilkat/testData/tar/abc123.tar','/Users/chilkat/testData/tar/abc123.tar.Z');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkUnixCompress__lastErrorText(uc));
  end
else
  begin
    Memo1.Lines.Add('Success.');
  end;

CkTar_Dispose(tar);
CkUnixCompress_Dispose(uc);

end;