FreePascalArchivePackage

From Lazarus wiki
Jump to navigationJump to search

About

This is a conversion of TurboPower Software's Abbrevia library for the Free Pascal Compiler. Abbrevia is a compression toolkit that supports PKZIP 4, Microsoft CAB, TAR, & gzip formats. The package contains visual components that simplify the manipulation of ZIP files.

Status: Alpha, ie it needs testing.

This package was created and generously made available to the open source community by TurboPower Software.

License: MPL 1.1.

Download

The latest release of FpArchive can be found on the Lazarus CCR Files page.

Outdated: Getting the latest source from CVS. Only svn ("Subversion") is being used by now. CVS is no longer being used.

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lazarus-ccr login

(press the Enter key when prompted for a password)

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lazarus-ccr co fparchive

This package is also available from the Free Pascal Compiler CVS in projects/contrib/abbrevia

Dependencies

Small amounts of 386 assembler.

Usage

1. For your project open "Project->Compiler Options->Other unit files" and add the path to the FPArchive units

2. In the "uses" clause of your unit add AbBase, AbBrowse, AbZBrows, AbUnzper, AbArcTyp

3. Create an unzip object:

UnZip := TAbUnZipper.Create(nil);

4. Set the directory where you want to extract the files to:

UnZip.BaseDirectory := '/path/to/extract';

5. To restore directories structure (optional) add this line:

UnZip.ExtractOptions := [eoCreateDirs, eoRestorePath];

6. Try to extract all CSV files (for example) from an archive file:

try
  UnZip.FileName := '/file/to/extract.zip';
  UnZip.ExtractFiles('*.csv');
except
  on E: Exception do
  begin
    //some error handling
  end;
end;

7. Free the created object:

UnZip.Free;

See also

  • paszlib is built into FPC/Lazarus. Supports zipping/unzipping .zip files.