123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- program demonodecmdlineoptions;
- {$mode objfpc}
- uses
- nodejsapp, JS, Classes, SysUtils, nodeJS;
- type
- { TMyApplication }
- TMyApplication = class(TNodeJSApplication)
- procedure doRun; override;
- private
- procedure Usage(Msg: string);
- end;
- procedure TMyApplication.Usage(Msg : string);
- begin
- if Msg<>'' then
- Writeln('Error :',Msg);
- Writeln('Usage:');
- Writeln(ExeName,' [options]');
- Writeln('Where options is one or more of');
- Writeln('-h --help this help message');
- Writeln('-e --echo echo option');
- ExitCode:=Ord(Msg<>'');
- end;
- procedure TMyApplication.doRun;
- Var
- S : String;
- begin
- S:=CheckOptions('he:',['help','echo']);
- if (S<>'') or HasOption('h','help') then
- Usage(S);
- if HasOption('e','echo') then
- Writeln(GetoptionValue('e','echo'));
- for S in GetNonOptions('he:',['help','echo']) do
- Writeln(s);
- Terminate;
- end;
- var
- Application : TMyApplication;
- begin
- Application:=TMyApplication.Create(nil);
- Application.Initialize;
- Application.Run;
- Application.Free;
- end.
|