Программирование: GetOpenFileNameMulti

Прототип

function GetOpenFileNameMulti(const Prompt: String; var FileNameList: TStrings; const InitialDirectory, Filter, DefaultExtension: String): Boolean;

Описание

Выполняет вызов диалогового окна, в котором пользователь может выбрать один или несколько существующих файлов. Функция возвращает значение True, если пользователь подтвердил выбор файлов, иначе — False. Имена выбранных файлов передаются в параметре FileNameList.

С помощью параметра Promt можно указать пояснение для пользователя, которое будет показано в диалоге. Начальная папка для выбора файла устанавливается параметром InitialDirectory. Параметр Filter определяет фильтр файлов по типу, а параметром DefaultExtension указывается тип (расширение) файлов по умолчанию.

Комментарии

Фильтр файлов устанавливается по следующему формату:

<название фильтра 1>|<маска файлов>|<название фильтра 2>|<маска файлов> и т.д...

Например, назначение фильтра 'Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*' позволить отобразить в диалоге или только текстовые файлы, или же файлы любого типа.

Пример

var
  FileNameList: TStrings;
begin
  // Создаём список
  FileNameList := TStringList.Create;
  try
    if GetOpenFileNameMulti('', FileNameList, '',
       'Текстовые файлы (*.txt)|*.txt|Все файлы|*.*', 'txt') then
    begin
      // Успех: пользователь нажал OK
      // Переменная FileNameList содержит выбранные имена файлов
    end;
  finally
    FileNameList.Free;
  end;
end;