0

私はプログラミングの世界に不慣れです。

MySQL から Word テンプレート ファイルにデータを抽出するデータ抽出プログラムがあります。どの引数をパラメータに渡すかをメイン プログラムがどのように認識しているかがわかりません。exeを実行するとき、プログラムはどのようにしてそれを認識し"Haha, I need to pass a string in there, And it is precisely this string right here"ますか???.

編集: このプログラムは「抽出ボタン」を押したときに実行されるはずですが、exe プログラムはどのようにして文字列 arg パラメータがどこにあるかを認識していますか? exeはどこから取得しますか?

メインコード

private static void Main(string[] args)
        {
            try
            {
                if (args[0] == "ALL" || args[0] == "*" || args[0] == "all")
                {
                    PrintARs();
                    Console.Read();
                }
                else
                {
                    CreateARDocument(args[0]);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.Read();
            }
        }
4

6 に答える 6

2

いくつかの方法があります:

  1. あなたはそうしない。あなたは彼らがそれを正しく理解するまで人々に推測させるだけです。
  2. 無効な入力が提供された場合、または入力が提供されなかった場合、ジョブはユーザーが正しく実行できるようにコンソールに指示を書き出すことができます
  3. 外部ドキュメント、つまりreadme.txtファイルを提供できます。
  4. コマンドライン引数を使用するのではなく、プログラムをインタラクティブにすることができます(必要なものを尋ねるテキストを書き出してから、標準入力から入力を取得します。
  5. テキストボックスと入力用のボタンを使用して、プログラムの実際のGUIを作成できます。通常、このようなプログラム(コマンドライン引数を使用)を見る場合、それは実際にユーザーフレンドリーになるように設計されていない単なるツールであるためです。使い方を知っているプログラマーが使用するか、他のプログラムで使用します。
于 2012-09-20T14:10:49.690 に答える
1

あなたのコードからいくつかのアイデアがあります

アプリの名前が app.exe の場合

走ったら

app.exe 1 2 3 4 5

あなたはそれらを持っていてargs[] = { 1,2,3,4,5}、それらを通して見ることができます

走ったら

app.exe /all c:\my stuff\a.txt

あなたが得るだろうargs[] = { /all, c:\my, stuff\a.txt }

あなたのコードは最初の引数を見て、それが「すべて、*、またはすべて」であると言います..「すべて」を書く厄介な人々は負けるでしょう..そして、その引数を彼らが書いた方法で関数に送ります。

于 2012-09-20T14:13:28.730 に答える
0

コマンドラインからこれを実行している場合は、次のようになります。

myApp.exe "arg0" "arg1" "arg2"
于 2012-09-20T14:10:57.817 に答える
0

static void Main(string[] args) はアプリの入り口です。

args は Main に渡されるパラメータです

args.Length は、渡したパラメーターの数です

メイン関数にブレークポイントを設定する

ソリューション エクスプローラーでプロジェクトを右クリック -> プロパティをクリック -> デバッグをクリック -> コマンド ライン引数に abcd を入力し、デバッグ モードでアプリケーションを実行し、args の値を確認します。

于 2012-09-20T14:12:41.677 に答える
0

ExtractButton クリック イベント内:

System.Diagnostics.Process.Start("PATH to your exe file", "Command Line Arguments");

コマンド引数の順序は、args[] 配列に含まれる順序と同じです。

于 2012-09-20T14:20:12.130 に答える
0

これらはCommand-Line Argumentsです。

Program.csソリューションには常にファイルがあることに気付いたかもしれません。それがあなたのMain()メソッドがある場所です。Windows フォーム プロジェクトでは、string[] 引数は必要ありませんが、それを変更してアプリケーションを実行できます。

于 2012-09-20T14:21:14.410 に答える