Sample code for 30+ languages & platforms
Delphi DLL

Untar a .tar Archive

See more Tar Archive Examples

Untar a .tar archive.

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
tar: HCkTar;
fileCount: Integer;

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

// Untar a .tar archive.
tar := CkTar_Create();

// Untar into c:/temp/untarDir.  The directory tree(s) contained
// within the TAR archive will be re-created rooted at this
// directory.
CkTar_putUntarFromDir(tar,'/Users/chilkat/temp/untarDir');

// If any filepaths within the Tar archive are absolute,
// automatically make them relative by removing the first
// forward or backward slash.  This protects from untarring
// files to unexpected locations.
CkTar_putNoAbsolutePaths(tar,True);

fileCount := CkTar_Untar(tar,'/Users/chilkat/testData/tar/abc123.tar');
if (fileCount < 0) then
  begin
    Memo1.Lines.Add(CkTar__lastErrorText(tar));
  end
else
  begin
    Memo1.Lines.Add('Untarred ' + IntToStr(fileCount) + ' files and directories');
  end;

CkTar_Dispose(tar);

end;