2

Delphi の paramstr() に似た結果をもたらす簡単なステートメントはありますか?

4

1 に答える 1

5

Delphi Prism (.Net) にはParamStr関数が含まれていませんがGetCommandLineArgsメソッドを使用して簡単に実装できます。例を次に示します。

class method TMyClass.ParamStr(Index: Integer): String;
var
  MyAssembly: System.Reflection.Assembly;
  Params    : array of string;
begin
  if Index = 0 then
  begin
    MyAssembly:= System.Reflection.Assembly.GetEntryAssembly;
    if Assigned(MyAssembly) then
      Result := MyAssembly.Location
    else
      Result := System.Diagnostics.Process.GetCurrentProcess.MainModule.FileName;
  end
  else
  begin
    Params := System.Environment.GetCommandLineArgs;
    if Index > Length(Params) - 1 then
      Result := ''
    else
      Result := Params[Index];
  end;
end;

また、関数ParamStrの実装を含むShineOnプロジェクトも確認できます。

于 2009-12-09T17:26:47.580 に答える