Delphiアプリケーションでは、コマンドラインパラメータを追加して、ログイン画面でいくつかのパラメータを自動的に設定したいと考えています。コマンドラインパラメータの定義方法の提案
現在、私はユーザがいくつかの情報(サーバ、データベース、ユーザ、パスワード、認証タイプ、AUtoLoginなど)を設定するログイン画面を持っています。
MRUを使用してフィールドにデータを入力します。とにかく、大きな組織では、ユーザーに情報を選択させないようにする必要があります。このため、私のシナリオでできる最も簡単なことは、コマンドラインパラメータを使用することです。
私の質問はどのようにコマンドラインパラメータを選択することをお勧めですか?
MyProject.exe -s:MYSERVER -d:DATABASE
または最初のケースで
MyProject.exe MYSERVER DATABASE
は、私が使用して、すべてのパラメータ間でループする必要があります。私は、たとえば、「位置」アプローチのためか、いくつかの「タグ」のアプローチのために行く必要があり、意味します
ParamStr
とは何ですか?彼らが "-s:"で始まっている場合、私はそれに続くのはサーバー名であることを知っています。 2番目はより速く汚れていますが、より効果的です。
「スペース」を含むパラメータを管理するにはどうすればよいですか? ParamStrを使ってそれらを自動的に傍受することはできますか?それとも手動ですべて処理する必要がありますか? (私は自動的にパラメータを()中括弧か何かを使用してのようにスペースを含むされていることをParamStrに伝える方法があるわけ。
のベストプラクティスは何ですか?
スペースを含むパラメータを囲むのに二重引用符を使用します。 –
なぜ私はすべての組み合わせで試したのですか?二重引用符では試してみませんでした!ありがとう。私は面白いことに気づいた。 "-s:Server name"と-s: "Server name"と書くと、ParamStrと同じとみなされます。 "-s:Server Name"の記述は、-s: "Server Name"のようにユーザーフレンドリーではないため、これは非常に優れています。 – LaBracca
第1のアプローチは、あなたとエンドユーザにとって、より便利で簡単です。'TStringList'(各行の先頭に' ''の記号をつける)を使うことができ、 ':'に設定された 'NameValueSeparator'で' Values'プロパティを使うことができます。 – teran