gpt4 book ai didi

delphi - 有关如何定义命令行参数的建议

转载 作者:行者123 更新时间:2023-12-03 14:35:04 26 4
gpt4 key购买 nike

在我的 Delphi 应用程序中,我想添加命令行参数以在登录屏幕中自动设置一些参数。

目前我有一个登录屏幕,用户可以在其中设置一些信息(例如服务器、数据库、用户、密码、AuthenticationType、AUtoLogin,...)。

我使用 MRU 来填充字段。无论如何,在大型组织中,需要不让用户选择任何信息。为此,我在我的场景中可以做的最简单的事情就是使用命令行参数。

我的问题是您建议如何选择命令行参数?我的意思是,我应该采用“位置”方法还是某种“标签”方法,例如:

MyProject.exe -s:MYSERVER -d:DATABASE

MyProject.exe MYSERVER DATABASE

在第一种情况下,我需要使用 ParamStr 循环所有参数并“解码”它们的内容。如果它们以“-s:”开头,我知道接下来是服务器名称。第二种方法更快、更脏,但可能更有效。

如何管理包含“空格”的参数?是否可以使用 ParamStr 自动拦截它们,或者我应该手动处理所有这些? (我的意思是有没有办法自动告诉 ParamStr 参数包含空格(例如使用大括号或其他东西)。

最佳实践是什么?

最佳答案

Should I go for a "position" approach or for some "tag" approach?

毫无疑问,您应该标记您的命令行参数。位置方法不允许足够的灵 active 来省略参数。标记使用户更容易理解参数,特别是在返回以前编写的代码时。标签应该是自记录的。

拥有未标记参数的一种常见情况是拥有文件名或文件名列表。

How to manage parameters that contain a "space"?

Windows 约定是通过在参数两边加上双引号来转义空格。 ParamStr 解析将识别这些并相应地解析参数。您在 ParamStr(i) 中看到的是删除了引号的参数。

<小时/>

RTL 附带了一个有用的辅助函数来帮助您进行命令行参数解析:FindCmdLineSwitch .

关于delphi - 有关如何定义命令行参数的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9464603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com