Borland C++ Builder 4.0 で作成したプログラムについて、バッチ スクリプトをセットアップできるバージョンを作成できるようにしたいと考えています。バッチ srcipt は (メイン フォーム ウィンドウを起動せずに) .exe を呼び出し、バッチ ファイルで指定された入力を使用してプログラムのメイン プロセスが実行されます。出力が生成されると、プログラムはシャットダウンします。
バッチ スクリプトの最初の 3 つのパラメーターは、3 つの主要な入力ファイル (それ以外の場合はボタンで読み込まれるファイル) の場所を指定し、単一のケースまたは複数のケースに対して補間を行うかどうかを定義するスイッチを設定します (次のようなもの)。 m または -s)。前者が真の場合、プログラムは 4 番目のタイプの入力ファイルの場所を読み取ります。後者の場合、この 4 番目のタイプの入力の複数の入力ファイルの場所を示す別の csv を読み込みます。バッチ ファイルは、出力場所と出力ファイル名も定義します。
こことさまざまなフォーラムでこれまで読んだことに基づいて、これを達成する最も簡単な方法は、ParamCount() と ParamStr() を使用し、おそらく FindCmdLineSwitch を使用することだと考えています。これらをどのように使用するつもりなのか、まだ少しぼんやりしています (無知で申し訳ありませんが、これは私の最初の BCB プロジェクトであるだけでなく、C++ でのコーディングと Windows GUI の作成に関する最初の実際の経験でもあります)...私が理解していることから、ここで説明されているものと同様の方法でこれらを使用できますhttp://docwiki.embarcadero.com/CodeExamples/Seattle/en/ParamCount_(C%2B%2B) .
私が知らないことがいくつかあります:
- コマンド ラインまたはバッチ ファイルを使用して .exe を起動したかどうかを確認する ParamCount() および ParamStr() パーツは、プログラムのどこに配置すればよいですか? ここでは、フォームhttp://www.borlandtalk.com/running-command-line-parameters-vt17942.htmlを初期化するメイン .cpp ファイルに配置することをお勧めします。これを実行して、プライマリ UnitSomething.cpp から適切な関数を呼び出すことを考えていました。または、これらの関数を別の場所に配置する必要がありますか?
バッチファイルはどのようになりますか? パラメータはどのように分離されていますか? スペースだけ?たとえば、スクリプトに新しい部分を含めた後、次のようなバッチ スクリプトを作成できますか?
"C:/Program Files/myprogram/myprogram.exe" "最初の入力の場所" "2 番目の入力の場所" -m など
(私は以前にCFDツールであるAnsys CFXをバッチモードで使用したことがあり、たとえば、どのファイルが定義ファイル[-def]と初期化ファイル[-ini]であるかを定義するスイッチがあります)。
上記に関連して、スイッチはどのように登場しますか? いつ使用する必要がありますか?たとえば、最初の入力の場所を定義したい場合、その前に -inp1 のようなスイッチが必要ですか? プログラム実行直後のフォームの選択に例がありますが、これが単純な ParamStr とどのように違うのかわかりませんか? より具体的には、FindCmdLineSwitch をいつ、どのように使用するのですか?
最後に、上記の 3 つの関数のいずれかを使用して、WINAPI WinMain() 呼び出しパラメーターを変更する必要はありますか?
ありがとうございました。