From 4099abb0c11c118d84716f2d0e1bc1e4321d099b Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 5 Jan 2016 21:29:51 +0000 Subject: [PATCH] * Sample programs for TZipper and TUnzipper git-svn-id: trunk@32862 - --- .gitattributes | 4 + packages/paszlib/examples/fpunzipper.lpi | 60 ++++++++++++++ packages/paszlib/examples/fpunzipper.lpr | 80 ++++++++++++++++++ packages/paszlib/examples/fpzipper.lpi | 100 +++++++++++++++++++++++ packages/paszlib/examples/fpzipper.lpr | 80 ++++++++++++++++++ 5 files changed, 324 insertions(+) create mode 100644 packages/paszlib/examples/fpunzipper.lpi create mode 100644 packages/paszlib/examples/fpunzipper.lpr create mode 100644 packages/paszlib/examples/fpzipper.lpi create mode 100644 packages/paszlib/examples/fpzipper.lpr diff --git a/.gitattributes b/.gitattributes index aeef75d6f3..a9964ee961 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6482,6 +6482,10 @@ packages/paszlib/examples/Makefile.fpc svneol=native#text/plain packages/paszlib/examples/example.pas svneol=native#text/plain packages/paszlib/examples/example2.pas svneol=native#text/plain packages/paszlib/examples/extractodt.pas svneol=native#text/plain +packages/paszlib/examples/fpunzipper.lpi svneol=native#text/plain +packages/paszlib/examples/fpunzipper.lpr svneol=native#text/plain +packages/paszlib/examples/fpzipper.lpi svneol=native#text/plain +packages/paszlib/examples/fpzipper.lpr svneol=native#text/plain packages/paszlib/examples/minigzip.pas svneol=native#text/plain packages/paszlib/examples/miniunz.pas svneol=native#text/plain packages/paszlib/examples/minizip.pas svneol=native#text/plain diff --git a/packages/paszlib/examples/fpunzipper.lpi b/packages/paszlib/examples/fpunzipper.lpi new file mode 100644 index 0000000000..b3cda17e97 --- /dev/null +++ b/packages/paszlib/examples/fpunzipper.lpi @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <Units Count="1"> + <Unit0> + <Filename Value="fpunzipper.lpr"/> + <IsPartOfProject Value="True"/> + <UnitName Value="fpzipper"/> + </Unit0> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <Parsing> + <SyntaxOptions> + <UseAnsiStrings Value="False"/> + </SyntaxOptions> + </Parsing> + </CompilerOptions> + <Debugging> + <Exceptions Count="2"> + <Item1> + <Name Value="ECodetoolError"/> + </Item1> + <Item2> + <Name Value="EFOpenError"/> + </Item2> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/packages/paszlib/examples/fpunzipper.lpr b/packages/paszlib/examples/fpunzipper.lpr new file mode 100644 index 0000000000..2077adb7d9 --- /dev/null +++ b/packages/paszlib/examples/fpunzipper.lpr @@ -0,0 +1,80 @@ +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. + diff --git a/packages/paszlib/examples/fpzipper.lpi b/packages/paszlib/examples/fpzipper.lpi new file mode 100644 index 0000000000..e43fa17db4 --- /dev/null +++ b/packages/paszlib/examples/fpzipper.lpi @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <General> + <Flags> + <LRSInOutputDirectory Value="False"/> + </Flags> + <MainUnit Value="0"/> + </General> + <VersionInfo> + <Language Value=""/> + <CharSet Value=""/> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + <IgnoreBinaries Value="False"/> + <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> + <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> + </local> + </RunParams> + <Units Count="3"> + <Unit0> + <Filename Value="fpzipper.lpr"/> + <IsPartOfProject Value="True"/> + <IsVisibleTab Value="True"/> + <TopLine Value="48"/> + <CursorPos X="4" Y="53"/> + <UsageCount Value="21"/> + <Loaded Value="True"/> + <LoadedDesigner Value="True"/> + </Unit0> + <Unit1> + <Filename Value="../src/zipper.pp"/> + <IsPartOfProject Value="True"/> + <EditorIndex Value="-1"/> + <TopLine Value="2271"/> + <CursorPos X="32" Y="2286"/> + <UsageCount Value="21"/> + </Unit1> + <Unit2> + <Filename Value="zipper.pp"/> + <EditorIndex Value="1"/> + <TopLine Value="2380"/> + <CursorPos X="7" Y="2389"/> + <UsageCount Value="10"/> + <Loaded Value="True"/> + </Unit2> + </Units> + <JumpHistory Count="5" HistoryIndex="4"> + <Position1> + <Filename Value="fpzipper.lpr"/> + <Caret Line="10" Column="6" TopLine="4"/> + </Position1> + <Position2> + <Filename Value="fpzipper.lpr"/> + <Caret Line="10" Column="6" TopLine="4"/> + </Position2> + <Position3> + <Filename Value="zipper.pp"/> + <Caret TopLine="43"/> + </Position3> + <Position4> + <Filename Value="zipper.pp"/> + <Caret Line="2395" Column="28" TopLine="2379"/> + </Position4> + <Position5> + <Filename Value="zipper.pp"/> + <Caret Line="571" TopLine="555"/> + </Position5> + </JumpHistory> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <Parsing> + <SyntaxOptions> + <UseAnsiStrings Value="False"/> + </SyntaxOptions> + </Parsing> + </CompilerOptions> + <Debugging> + <Exceptions Count="2"> + <Item1> + <Name Value="ECodetoolError"/> + </Item1> + <Item2> + <Name Value="EFOpenError"/> + </Item2> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/packages/paszlib/examples/fpzipper.lpr b/packages/paszlib/examples/fpzipper.lpr new file mode 100644 index 0000000000..698a19f537 --- /dev/null +++ b/packages/paszlib/examples/fpzipper.lpr @@ -0,0 +1,80 @@ +program fpzipper; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Classes, SysUtils, CustApp, zipper + { you can add units after this }; + +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. +