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;

您还可以看到ShineOn项目,其中包含函数ParamStr的实现。

于 2009-12-09T17:26:47.580 回答