* helper in record to make setting parameters a bit denser.

git-svn-id: trunk@42147 -
This commit is contained in:
marco 2019-05-31 10:40:54 +00:00
parent 9313ddea78
commit 646d7c2a95

View File

@ -15,7 +15,8 @@
**********************************************************************} **********************************************************************}
unit getopts; unit getopts;
Interface Interface
{$modeswitch advancedrecords}
{$modeswitch defaultparameters}
Const Const
No_Argument = 0; No_Argument = 0;
Required_Argument = 1; Required_Argument = 1;
@ -29,6 +30,7 @@ Type
Has_arg : Integer; Has_arg : Integer;
Flag : PChar; Flag : PChar;
Value : Char; Value : Char;
Procedure SetOption(const aName:String;AHas_Arg:integer=0;AFlag:PChar=nil;AValue:Char=#0);
end; end;
Orderings = (require_order,permute,return_in_order); Orderings = (require_order,permute,return_in_order);
@ -48,6 +50,13 @@ Function GetLongOpts (ShortOpts : String;LongOpts : POption;var Longind : Longin
Implementation Implementation
Procedure TOption.SetOption(const aName:String;AHas_Arg:integer=0;AFlag:PChar=nil;AValue:Char=#0);
begin
Name:=aName; Has_Arg:=AHas_Arg; Flag:=AFlag; Value:=Avalue;
end;
{$IFNDEF FPC} {$IFNDEF FPC}
{*************************************************************************** {***************************************************************************
Create an ArgV Create an ArgV