Другие языки программирования и технологии

Такая проблема в Delphi.

Мне нужно сделать так, чтобы компонент opendialog мог открывать несколько файлов сразу, а не один (стандартно).
В options - ofAllowMultiSelect поставить в true
Андрей Кравчук
Андрей Кравчук
57 036
Лучший ответ
Пример кода : Иллюстрация простого выбора файла
var
openDialog : TOpenDialog; // Переменная OpenDialog
begin
// Создание объекта OpenDialog - назначение на нашу переменную OpenDialog
openDialog := TOpenDialog.Create(self);

// Установка начального каталога, чтобы сделать его текущим
openDialog.InitialDir := GetCurrentDir;

// Только разрешенные существующие файлы могут быть выбраны
openDialog.Options := [ofFileMustExist];

// Разрешено выбрать только .dpr и .pas файлы
openDialog.Filter :=
'Delphi project files|*.dpr|Delphi pascal files|*.pas';

// Выбор файлов Паскаля как стартовый тип фильтра
openDialog.FilterIndex := 2;

// Показ диалог открытия файла
if openDialog.Execute
then ShowMessage('File : '+openDialog.FileName)
else ShowMessage('Открытие файла остановлено');

// Освобождение диалога
openDialog.Free;
end;
Диалог открытия файла отобразится с двумя ниспадающими фильтрами:

Delphi project files
Delphi pascal files - это отобразится в начале

Диалог установлен в текущий каталог (из которого запущен выполняемый файл) .

Если Вы выбираете файл, типа 'Unit1.pas' тогда он в диалоге ShowMessage отобразит:

File : C:\Program Files\Borland\Delphi7\Projects\Unit1.pas

Пример кода : Выбор множество файлов
var
openDialog : TOpenDialog; // Переменная OpenDialog
begin
// Создание объекта OpenDialog - назначение на нашу переменную OpenDialog
openDialog := TOpenDialog.Create(self);

// Установка начального каталога, чтобы сделать его текущим
openDialog.InitialDir := GetCurrentDir;

// Только разрешенные существующие файлы могут быть выбраны
openDialog.Options := [ofFileMustExist];

// Разрешено выбрать только .dpr и .pas файлы
openDialog.Filter :=
'Delphi project files|*.dpr|Delphi pascal files|*.pas';

// Выбор файлов Паскаля как стартовый тип фильтра
openDialog.FilterIndex := 2;

// Показ диалог открытия файла
if openDialog.Execute
then ShowMessage('File : '+openDialog.FileName)
else ShowMessage('Open file was cancelled');

// Освобождение диалога
openDialog.Free;
end;
Диалог открытия файла отобразит. Выберите несколько файлов используя перетаскивание мышью или или CTRL-click.

Когда Вы нажимаете OK, будут показаны выбранные файлы. Подобно этому:

C:\Program Files\Borland\Delphi7\Projects\Unit1.dcu
C:\Program Files\Borland\Delphi7\Projects\Unit1.pas
Андрей Кравчук А не проще ofAllowMultiSelect