Difference between revisions of "paszlib"

From Free Pascal wiki
Jump to navigationJump to search
(link to examples in source)
Line 44: Line 44:
 
   Zipper;
 
   Zipper;
 
var
 
var
   Zipper: TZipper;
+
   UnZipper: TUnZipper;
 
begin
 
begin
 
   try
 
   try
     Zipper := TZipper.Create;
+
     UnZipper := TUnZipper.Create;
     Zipper.FileName := ParamStr(1);
+
     UnZipper.FileName := ParamStr(1);
     Zipper.OutputPath := ParamStr(2);
+
     UnZipper.OutputPath := ParamStr(2);
     Zipper.Examine;
+
     UnZipper.Examine;
     Zipper.UnZipAllFiles;
+
     UnZipper.UnZipAllFiles;
 
   finally
 
   finally
     Zipper.Free;
+
     UnZipper.Free;
 
   end;
 
   end;
 
end.</delphi>
 
end.</delphi>

Revision as of 16:41, 14 January 2011

Deutsch (de) English (en) 한국어 (ko) polski (pl) русский (ru)

paszlib is a Pascal conversion (thus without dependancies) of the standard zlib library, implemented by Jacques Nomssi Nzali (his old homepage is dead, see a continuation of the project here) It is used in the FCL to implement the TCompressionStream class. The main unit of this package is paszlib. there are other, auxiliary units, but the only unit that needs to be included in a typical program is this one. (View interface)

TZipper

Using the latest TZipper

In FPC 2.3.1 there are many fixes which make TZipper much better. To be able to use them until the next FPC is released with those fixes one should follow the following steps:

1 - Download zipper.pp, and only this file, from: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/paszlib/src/

2 - Rename the file to a unique name, to avoid conflict with the fpc unit, like myzipper.pp and also change the name inside the source file.

3 - Add the file to your project and use the TZipper from there.

Examples

Zip files

Create zip file named as parameter 1 from files entered as rest parameters.

<delphi>uses

 Zipper;

var

 Zipper: TZipper;

begin

 try
   Zipper := TZipper.Create;
   Zipper.FileName := ParamStr(1);
   for I := 2 to ParamCount do
     Zipper.Entries.AddFileEntry(ParamStr(I), ParamStr(I));
   Zipper.ZipAllFiles;
 finally
   Zipper.Free;
 end;

end.</delphi>

Unzip files

Unzip all files contained in archive with name given by first parameter to directory entered as second parameter.

<delphi>uses

 Zipper;

var

 UnZipper: TUnZipper;

begin

 try
   UnZipper := TUnZipper.Create;
   UnZipper.FileName := ParamStr(1);
   UnZipper.OutputPath := ParamStr(2);
   UnZipper.Examine;
   UnZipper.UnZipAllFiles;
 finally
   UnZipper.Free;
 end;

end.</delphi>

More examples can be found in FPC source directory [1]


Go to back Packages List