12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- {$mode objfpc}
- {$h+}
- program testapp;
- uses custapp,classes;
- Const
- ShortOpts = 'iabc:d:012';
- Longopts : Array[1..7] of String = (
- 'insensitive','add:','append','delete:','verbose','create:','file:');
- Type
- TTestApp = Class(TCustomApplication)
- Procedure DoRun ; Override;
- end;
- Procedure TTestApp.DoRun;
- Var
- I : Integer;
- S : String;
- Opts,FN,Args : TStrings;
- begin
- CaseSensitiveOptions:=not HasOption('i','insensitive');
- Writeln('Exe name : ',ExeName);
- Writeln('Help file : ',HelpFile);
- Writeln('Terminated : ',Terminated);
- Writeln('Title : ',Title);
- Writeln('Console app : ',ConsoleApplication);
- Writeln('Location : ',Location);
- Writeln('ParamCount : ',ParamCount);
- For I:=0 to ParamCount do
- Writeln('Params [',I:3,'] : ',Params[i]);
- Writeln('Option char : ',OptionChar);
- Writeln('Case sensitive opts : ',CaseSensitiveOptions);
- Writeln('StopOnException : ',StopOnException);
- Writeln('----------------------------------------');
- Writeln('Simple options check');
- S:=CheckOptions(ShortOpts,LongOpts);
- If (S<>'') then
- Writeln(S);
- Writeln('Longer options check');
- Opts:=TstringList.Create;
- FN:=TStringList.Create;
- Args:=TStringList.Create;
- Try
- For I:=1 to 6 do
- Opts.Add(LongOpts[i]);
- S:=CheckOptions(ShortOpts,Opts,Args,FN);
- Writeln('Found ',Args.Count,' options and ',FN.Count,' non-options (filenames)');
- For I:=0 to Args.Count-1 do
- Writeln('Option ',I:2,': ',Args[i]);
- For I:=0 to FN.Count-1 do
- Writeln('Non-Option ',I:2,': ',FN[i]);
- Writeln('Getting option value "add"');
- S:=GetOptionValue('add');
- Writeln('Value for "add": ',S);
- Writeln('Testing Hasoption "a"');
- Writeln('Option append found: ',HasOption('append'));
- Writeln('Option a or append found: ',HasOption('a','append'));
- Writeln('-----------------------');
- Opts.Clear;
- GetEnvironmentList(Opts,True);
- Writeln('Found ',Opts.Count,' environment variables');
- For I:=0 to Opts.Count-1 do
- Writeln(I:3,': ',Opts[i],' with value "',EnvironmentVariable[Opts[i]],'"');
- Finally
- Opts.Free;
- FN.Free;
- Args.Free;
- end;
- Terminate;
- Writeln('-------------------------');
- Writeln('After terminate, "terminated" is ',Terminated);
- end;
- Var
- App : TTestApp;
- begin
- App:=TTestApp.Create(Nil);
- App.Initialize;
- App.Title:='CustomApplication class test application.';
- App.Run;
- App.Free;
- end.
|