1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- program fpzipper;
- {$mode objfpc}{$H+}
- uses
- {$IFDEF UNIX}{$IFDEF UseCThreads}
- cthreads,
- {$ENDIF}{$ENDIF}
- Classes, SysUtils, CustApp, zipper
- { you can add units after this };
- type
- { TFPUnZipApplication }
- TFPUnZipApplication = class(TCustomApplication)
- Private
- FUnZipper: TUnZipper;
- FFiles : TStrings;
- protected
- procedure DoRun; override;
- public
- constructor Create(TheOwner: TComponent); override;
- destructor Destroy; override;
- procedure WriteHelp; virtual;
- end;
- { TFPUnZipApplication }
- procedure TFPUnZipApplication.DoRun;
- Var
- I : Integer;
- F : TFileStream;
- begin
- If ParamCount<=1 then
- begin
- Writeln('Usage ',ParamStr(0),' zipfile file1 [file2 [...]]');
- Terminate;
- exit;
- end;
- FUnZipper.FileName:=ParamStr(1);
- FUnZipper.Examine;
- For I:=2 to ParamCount do
- FFiles.Add(ParamStr(I));
- FUnZipper.UnZipFiles(FFiles);
- Terminate;
- end;
- constructor TFPUnZipApplication.Create(TheOwner: TComponent);
- begin
- inherited Create(TheOwner);
- StopOnException:=True;
- FUnZipper:=TUnZipper.Create;
- FFiles:=TStringList.Create;
- end;
- destructor TFPUnZipApplication.Destroy;
- begin
- FreeAndNil(FFiles);
- FreeAndNil(FUNZipper);
- inherited Destroy;
- end;
- procedure TFPUnZipApplication.WriteHelp;
- begin
- { add your help code here }
- writeln('Usage: ',ExeName,' -h');
- end;
- var
- Application: TFPUnZipApplication;
- begin
- Application:=TFPUnZipApplication.Create(nil);
- Application.Title:='UnZip application';
- Application.Run;
- Application.Free;
- end.
|