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

13

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

如果是这样,是否有人知道一些好的命令参数组件?

2个回答

24

如果您只是想读取应用程序启动时传递的任何命令行参数,可以使用Delphi内置函数。

ParamCount   // Number of cmd params passed at startup
ParamStr(0) // string of param zero

那么像这样调用你的程序

c:\myapp.exe -foo -bar
会得到以下结果。
ParamStr(0) = c:\myapp.exe
ParamStr(1) = -foo
ParamStr(2) = -bar

23

您可能需要考虑使用 SysUtils 单元中的 FindCmdLineSwitch

function FindCmdLineSwitch(const SwitchValue:string):Boolean;
function FindCmdLineSwitch(const SwitchValue:string; IgnoreCase:Boolean):Boolean;
function FindCmdLineSwitch(const SwitchValue:string; SwitchChars:TSysCharSet; IgnoreCase:Boolean):Boolean;

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接