在我的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