読者です 読者をやめる 読者になる 読者になる

Delphiでコマンドライン引数を取得する

メモ。しばらく使ってなくて忘れてる。
Delphiコマンドライン引数を取得する方法。
ParamStr関数を使う。引数の数の取得はParamCount関数。
インデックス0は実行ファイルのパス。1からがパラメータになる。
DelphiXE3で試した。
Win32, Win64, OSX32で動作確認済み。

paramstr_test.dpr

program paramstr_test;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var
  I: Integer;

begin
  try
    for I := 0 to ParamCount do
      WriteLn(ParamStr(I))
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

実行結果

Windows7 64bitでコマンドプロンプトからの実行結果。

>paramstr_test.exe hoge fuga
C:\Users\tokibito\Desktop\paramstr_test\Win64\Debug\paramstr_test.exe
hoge
fuga

普段Pythonargparseを使ってると、さすがにこれでは貧弱に感じてしまう。このへんは何かほしくなるなー。