1

这是 Inno Setup 中显示文件选择对话框的两种方法,

向导页方​​法:

[Code]
Var
  PageFileDialog: TInputFileWizardPage;

procedure InitializeWizard;
begin
  PageFileDialog:= CreateInputFilePage(
    wpWelcome, 
    'Title 1', 
    'Title 2', 
    'Title 3'); 
 
  PageFileDialog:= PageFileDialog.Edits[PageFileDialog.Add('', 'Text file (*.txt)|*.txt', '.txt')];
end;

直接打开对话框,

[Code]
procedure InitializeWizard;
var
    FileName: string;
begin
    FileName := '';
    if GetOpenFileName('', FileName, '', 
    'Text Documents (*.txt)|*.txt|All Files|*.*', 'txt') then
    begin
       { Filename contains the selected filename }
    end;
end;

但是这些不允许在打开的对话框中选择多个文件,它只选择一个文件。如何选择多个文件?

具有三个目标文件夹的 Inno Setup方法在 这里不起作用。它应该是一个可以选择多个文件的文本框和浏览按钮。

4

1 回答 1

3

我用 Inno Setup 6.0.5(u) 进行了测试。其他版本可能不同。

看一下GetOpenFileNameMulti功能:从文档中:

描述:
显示一个对话框,使用户能够选择一个或多个现有文件。如果用户选择了一个文件,则返回 True,否则返回 False。在 FileNameList 列表中返回所选文件的名称。

备注:
示例过滤器:'文本文件(.txt)| .txt|所有文件(.)| . '

例子:

var
  FileNameList: TStrings;
begin
  { Create the list }
  FileNameList := TStringList.Create;
  try
    if GetOpenFileNameMulti('', FileNameList, '',
       'Text Documents (*.txt)|*.txt|All Files|*.*', 'txt') then
    begin
      { Successful; user clicked OK }
      { FileNameList contains the selected filename(s) }
    end;
  finally
    FileNameList.Free;
  end;
end;
于 2020-08-22T14:00:30.273 回答