如何在Delphi程序中识别命令行参数?

Tom*_*Tom 9 delphi parameters command-line

我计划每隔X天使用任务计划程序运行特定的应用程序命令.我是否必须首先编写对命令行参数的支持,以便Scheduler可以执行它?

如果是这样,有没有人知道任何好的命令参数组件?

Re0*_*ess 19

如果您只想读取在启动时传递给应用程序的任何cmd行参数,您可以使用Delphi的内置函数.

ParamCount   // Number of cmd params passed at startup
ParamStr(0) // string of param zero
Run Code Online (Sandbox Code Playgroud)

所以叫你这样的程序

c:\myapp.exe -foo -bar
Run Code Online (Sandbox Code Playgroud)

会给出以下结果

ParamStr(0) = c:\myapp.exe
ParamStr(1) = -foo
ParamStr(2) = -bar
Run Code Online (Sandbox Code Playgroud)


Sim*_*ett 18

你不妨考虑FindCmdLineSwitchsysutils的单位.

function FindCmdLineSwitch(const SwitchValue:string):Boolean;
function FindCmdLineSwitch(const SwitchValue:string; IgnoreCase:Boolean):Boolean;
function FindCmdLineSwitch(const SwitchValue:string; SwitchChars:TSysCharSet; IgnoreCase:Boolean):Boolean;
Run Code Online (Sandbox Code Playgroud)

这允许检查是否存在命令行开关,指定是否忽略其大小写并可选地使用不同的开关字符,例如' - '或'/'