Sample code for 30+ languages & platforms
Delphi DLL

Create TAR BZ2 Compressed Archive (.tar.bz2, .tbz, .tbz2, .tb2)

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 BZip2 compression. The typical file extensions used are .tar.bz2, .tbz2, .tbz, or .tb2.

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 using BZip2.
// Note: You may use UNC paths, absolute, or relative paths.
success := CkTar_WriteTarBz2(tar,'/Users/chilkat/testData/tar/abc123.tar.bz2');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkTar__lastErrorText(tar));
    Exit;
  end;

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

CkTar_Dispose(tar);

end;