如何在 Inno Setup 的打开对话框中 select 多个文件?
How to select multiple files in open dialog box in Inno Setup?
这是 Inno Setup 中显示文件 selection 对话框的两种方法,
向导页面方法:
[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;
但是这些不允许在打开的对话框中 select 多个文件,它只能 select 一个文件。如何select多个文件?
有问题的方法Inno Setup with three destination folders在这里不起作用。它应该是一个文本框和浏览按钮,可以 select 多个文件。
我使用 Inno Setup 6.0.5(u) 进行了测试。其他版本可能不同。
看看GetOpenFileNameMulti
函数:
来自 documentation:
Description:
Displays a dialog box that enables the user to select one or more existing file(s). Returns True if the user selected a file, False otherwise. The name of the selected file(s) is returned in the FileNameList list.
Remarks:
An example Filter: 'Text files (.txt)|.txt|All files (.)|.'
Example:
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;
这是 Inno Setup 中显示文件 selection 对话框的两种方法,
向导页面方法:
[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;
但是这些不允许在打开的对话框中 select 多个文件,它只能 select 一个文件。如何select多个文件?
有问题的方法Inno Setup with three destination folders在这里不起作用。它应该是一个文本框和浏览按钮,可以 select 多个文件。
我使用 Inno Setup 6.0.5(u) 进行了测试。其他版本可能不同。
看看GetOpenFileNameMulti
函数:
来自 documentation:
Description:
Displays a dialog box that enables the user to select one or more existing file(s). Returns True if the user selected a file, False otherwise. The name of the selected file(s) is returned in the FileNameList list.Remarks:
An example Filter: 'Text files (.txt)|.txt|All files (.)|.'Example:
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;