在我的Delphi应用程序中,我想添加命令行参数来自动设置登录屏幕中的一些参数。关于如何定义命令行参数的建议
目前我有一个登录屏幕,用户设置一些信息(如服务器,数据库,用户,密码,AuthenticationType,AUtoLogin,...)。
我使用MRU填充字段。无论如何,在大型组织中,有必要不要让用户选择任何信息。为此,我可以在我的场景中完成的最简单的事情就是使用命令行参数。
我的问题是你如何建议选择命令行参数?我的意思是,我应该去一个“位置”的做法或者一些“标签”的做法,例如:
MyProject.exe -s:MYSERVER -d:DATABASE
或
MyProject.exe MYSERVER DATABASE
在第一种情况下,我使用需要跨所有参数循环ParamStr
和“解码”它们是什么。如果他们以“-s”开头:“我知道接下来是服务器名称。第二个更快更肮脏,但可能更有效。
如何管理包含“空间”的参数?是否有可能使用ParamStr自动拦截它们,还是应该手动处理所有内容? (我的意思是有没有办法自动告诉ParamStr这一个参数包含空格(如使用大括号或东西)。
什么是最好的做法是什么?
使用双引号将包含空格的参数括起来。 – 2012-02-27 11:56:28
我不知道为什么我尝试了所有的组合,但没有用双引号!谢谢。我注意到一件有趣的事情。如果我写:“-s:服务器名称”和-s:“服务器名称”,它们在ParamStr中被认为是相同的。这非常好,因为编写“-s:Server Name”不像用户友好的-s:“服务器名称”。 – LaBracca 2012-02-27 12:03:59
第一种方法对您和最终用户来说更方便,更方便。为了“解码”参数,你可以使用'TStringList'(每行开始处带有'-'符号),并使用'Values'属性和'NameValueSeparator'设置为':' – teran 2012-02-27 12:07:42