2012-11-17 81 views
1

在ParamStr(1)中找到了在应用程序图标上放置的文件的名称。如何知道在应用程序图标上拖放了多少个文件?

但是,如何知道是否有多个?因为如果有更多的信息,那么应该显示错误信息,如:'你只能打开一张图片!'或类似的。

+0

@Ken:这是一个答案,而不是评论。 –

+0

谢谢@Ken。答案被接受:) –

+0

@Andreas:是的,我也是这样决定的。当我准备好时,那里还有两个人。

回答

4

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

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

因此每个文件都可以在ParamStr(i),其中i会被发现最高返回值为ParamCount()

所以,你可以只是举例做到:

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; 
2

举例答案,每个文件将是一个参数

var 
i:Integer; 

begin 

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

end; 
相关问题