Skip to content

Commit 03b5576

Browse files
committed
[commandline] refactorized
1 parent 2181cdb commit 03b5576

File tree

1 file changed

+79
-1
lines changed

1 file changed

+79
-1
lines changed

Quick.Core.Commandline.pas

+79-1
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,91 @@ TCommandline<T : TParameters> = class(TInterfacedObject,ICommandline<T>)
5252
function Value : T;
5353
end;
5454

55+
CommandDescription = Quick.Parameters.CommandDescription;
56+
ParamCommand = Quick.Parameters.ParamCommand;
57+
ParamName = Quick.Parameters.ParamName;
58+
ParamRequired = Quick.Parameters.ParamRequired;
59+
ParamValueSeparator = Quick.Parameters.ParamValueSeparator;
60+
ParamSwitchChar = Quick.Parameters.ParamSwitchChar;
61+
ParamHelp = Quick.Parameters.ParamHelp;
62+
ParamValueIsNextParam = Quick.Parameters.ParamValueIsNextParam;
63+
64+
TParameters = Quick.Parameters.TParameters;
65+
66+
{$IFDEF MSWINDOWS}
67+
TServiceParameters = class(TParameters)
68+
private
69+
fSilent: Boolean;
70+
fInstall: Boolean;
71+
fRemove: Boolean;
72+
fInstance: string;
73+
fConsole: Boolean;
74+
published
75+
[ParamName('console')]
76+
[ParamHelp('Force run as console.')]
77+
property Console : Boolean read fConsole write fConsole;
78+
79+
[ParamName('install')]
80+
[ParamHelp('Install service.')]
81+
property Install : Boolean read fInstall write fInstall;
82+
83+
[ParamName('remove')]
84+
[ParamHelp('Remove service.')]
85+
property Remove : Boolean read fRemove write fRemove;
86+
87+
[ParamName('instance')]
88+
[ParamValueIsNextParam]
89+
[ParamHelp('Define instance name of service.','intance')]
90+
property Instance : string read fInstance write fInstance;
91+
92+
[ParamHelp('Silent mode.')]
93+
property Silent : Boolean read fSilent write fSilent;
94+
end;
95+
{$ELSE}
96+
TServiceParameters = class(TParameters)
97+
private
98+
fSilent: Boolean;
99+
fInstall: Boolean;
100+
fRemove: Boolean;
101+
fInstance: string;
102+
fConsole: Boolean;
103+
fDetach : Boolean;
104+
published
105+
[ParamName('console')]
106+
[ParamHelp('Force run as console.')]
107+
property Console : Boolean read fConsole write fConsole;
108+
109+
[ParamName('install')]
110+
[ParamHelp('Install daemon.')]
111+
property Install : Boolean read fInstall write fInstall;
112+
113+
[ParamName('remove')]
114+
[ParamHelp('Remove daemon.')]
115+
property Remove : Boolean read fRemove write fRemove;
116+
117+
[ParamName('instance')]
118+
[ParamValueIsNextParam]
119+
[ParamHelp('Define instance name of daemon.','intance')]
120+
property Instance : string read fInstance write fInstance;
121+
122+
[ParamHelp('Silent mode.')]
123+
[ParamName('silent')]
124+
property Silent : Boolean read fSilent write fSilent;
125+
126+
[ParamHelp('Run in background.')]
127+
[ParamName('detach','d')]
128+
property Detach : Boolean read fDetach write fDetach;
129+
end;
130+
{$ENDIF}
131+
55132
implementation
56133

57134
{ TCommandline<T> }
58135

59136
constructor TCommandline<T>.Create;
60137
begin
61-
fValue := T.Create;
138+
fValue := T.Create(True);
139+
//if fValue.Help then fValue.ShowHelp;
62140
end;
63141

64142
destructor TCommandline<T>.Destroy;

0 commit comments

Comments
 (0)