fpc/packages/paszlib/examples/fpzipper.lpr
michael 881288f991 * Remove default lazarus comment
git-svn-id: trunk@38615 -
2018-03-23 21:42:04 +00:00

80 lines
1.5 KiB
ObjectPascal

program fpzipper;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils, CustApp, zipper;
type
{ TFPZipApplication }
TFPZipApplication = class(TCustomApplication)
Private
FZipper: TZipper;
protected
procedure DoRun; override;
public
constructor Create(TheOwner: TComponent); override;
destructor Destroy; override;
procedure WriteHelp; virtual;
end;
{ TFPZipApplication }
procedure TFPZipApplication.DoRun;
Var
I : Integer;
F : TFileStream;
begin
If ParamCount<=1 then
begin
Writeln('Usage ',ParamStr(0),' zipfile file1 [file2 [...]]');
Terminate;
exit;
end;
FZipper.FileName:=ParamStr(1);
For I:=2 to ParamCount do
begin
F:=TFileStream.Create(ParamStr(i),fmOpenRead);
FZipper.Entries.AddFileEntry(F,ParamStr(i));
end;
FZipper.ZipAllFiles;
For I:=0 to FZipper.Entries.Count-1 do
FZipper.Entries[I].Stream.Free;
Terminate;
end;
constructor TFPZipApplication.Create(TheOwner: TComponent);
begin
inherited Create(TheOwner);
StopOnException:=True;
FZipper:=TZipper.Create;
end;
destructor TFPZipApplication.Destroy;
begin
FreeAndNil(FZipper);
inherited Destroy;
end;
procedure TFPZipApplication.WriteHelp;
begin
{ add your help code here }
writeln('Usage: ',ExeName,' -h');
end;
var
Application: TFPZipApplication;
begin
Application:=TFPZipApplication.Create(nil);
Application.Title:='Zip application';
Application.Run;
Application.Free;
end.