12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- uses
- getopts;
- function ParseCmdOptions : boolean;
- var
- Opts : array [1..3] of POption;
- C : char;
- Index : Longint;
- begin
- { assume success }
- ParseCmdOptions := true;
- { logfile }
- New(Opts[1]);
- with Opts[1]^ do
- begin
- name := 'log';
- has_arg := 1;
- flag := nil;
- end;
- { debug flag }
- New(Opts[2]);
- with Opts[2]^ do
- begin
- name := 'debug';
- has_arg := 0;
- flag := nil;
- end;
- { end-of-array }
- New(Opts[3]);
- with Opts[3]^ do
- begin
- name := '';
- has_arg := 0;
- flag := nil
- end;
- { parse }
- repeat
- C := GetLongOpts('l:d',Opts[1],Index);
- case C of
- #0: begin
- if Opts[Index]^.name = Opts[1]^.name then { .. };
- if Opts[Index]^.name = Opts[2]^.name then { .. };
- { handle this properly -- else ParseCmdOptions := false; }
- end;
- 'l': { .. };
- 'd': { .. };
- else ParseCmdOptions := false;
- end; { case }
- until C = endofoptions;
- end;
- begin
- end.
|