From 32d0e652ffadc804edadf3aead4c1a2f7a775bab Mon Sep 17 00:00:00 2001 From: michael Date: Sat, 12 Jul 2008 12:35:35 +0000 Subject: [PATCH] * Emit help text if options not correct git-svn-id: trunk@11370 - --- packages/chm/src/chmcmd.lpr | 18 ++++++++++++++++-- packages/chm/src/chmls.lpr | 26 ++++++++++++++++++++------ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/packages/chm/src/chmcmd.lpr b/packages/chm/src/chmcmd.lpr index e3c1956ba2..9fd680a4df 100644 --- a/packages/chm/src/chmcmd.lpr +++ b/packages/chm/src/chmcmd.lpr @@ -25,17 +25,31 @@ program chmcmd; uses Classes, chmfilewriter; +Procedure Usage; + +begin + Writeln(StdErr,'Usage: chmcmd '); + Halt(1); +end; + + var OutStream: TFileStream; Project: TChmProject; + begin - if Paramcount = 1 then begin + if (Paramcount=1) and (ParamStr(1)<>'-h') and (ParamStr(1)<>'-?') then + begin Project := TChmProject.Create; Project.LoadFromFile(ParamStr(1)); OutStream := TFileStream.Create(Project.OutputFileName, fmCreate, fmOpenWrite); Project.WriteChm(OutStream); OutStream.Free; Project.Free; - end; + end + else + begin + Usage; + end; end. diff --git a/packages/chm/src/chmls.lpr b/packages/chm/src/chmls.lpr index 45606cd093..1035d6610f 100644 --- a/packages/chm/src/chmls.lpr +++ b/packages/chm/src/chmls.lpr @@ -76,14 +76,28 @@ begin WriteLn(Name); end; +Procedure Usage; + +begin + WriteLn(' Usage: chmls filename.chm [section number]'); + Halt(1); +end; + // Start of program begin - if Paramcount < 1 then begin - WriteLn(' Usage: chmls filename.chm [section number]'); - exit; - end; - if ParamCount > 1 then Section := StrToInt(ParamStr(2)); - + if (Paramcount < 1) or (Paramstr(1)='-h') or (Paramstr(1)='-?') then + begin + usage; + end; + if ParamCount > 1 then + begin + Section := StrToIntDef(ParamStr(2),-1); + If (Section=-1) then + begin + Usage; + Halt(1); + end; + end; Stream := TFileStream.Create(ParamStr(1), fmOpenRead); JunkObject := TJunkObject.Create; ITS:= TITSFReader.Create(Stream, True);