1

放置在应用程序图标上的文件的名称可在 ParamStr(1) 中找到。

但是,如何知道是否不止一个?因为,如果还有更多,则应显示错误消息,例如:“您只能打开一张图片!” 或类似的。

4

2 回答 2

4

Windows 只是像这样执行你的程序:

yourapp.exe "C:\file1.jpg" "C:\file2.jpg"

所以这些文件中的每一个都可以在 中找到,返回值在ParamStr(i)哪里。iParamCount()

所以你可以做例如:

procedure TMainForm.FormShow(Sender: TObject);
begin
  if ParamCount > 1 then
  begin
    ShowMessage('You can open only one picture!');
  end
  else
  begin
    MyOpen(ParamStr(1));
  end;
end;
于 2012-11-17T23:55:47.047 回答
2

举例回答,每个文件都是一个参数

var
 i:Integer;

begin

  Memo1.Lines.Add(IntToStr(ParamCount));
  for I := 1 to ParamCount  do
    memo1.Lines.Add(paramstr(i))

end;
于 2012-11-17T23:54:16.007 回答