Delphi-Help

TOpenDialog

Печать
Рейтинг пользователей: / 4
ХудшийЛучший 

TOpenDialog

Описание

type TOpenDialog;

TOpenDialog - визуальный компонент. Он используется, чтобы позволить пользователю выбирать один или более файлов, для открытия. Он может быть определен, перемещением значка Open Dialog с вкладки Dialogs, или определяя переменную TOpenDialog.

TOpenDialog может быть сконфигурирован для удовлетворения ваших потребности. При его использовании вы будете проходить через следующие шаги:

Создание объекта диалога

Вы определяете переменную TOpenDialog, затем присваиваете ей новый объект TOpenDialog:

var
openDialog : TOpenDialog;
begin
openDialog := TOpenDialog.Create(self);

Обратите внимание, что диалог должен иметь хозяина, в данном примере текущий объект мы снабжаем - self - как самостоятельный.

Установка опций

Перед отображением диалога, вы, вероятно, конфигурируете его по своим потребностям, устанавливая свойства диалога. Вот его основные свойства: Свойство Title

Используется для установки заголовка диалога.

Свойство FileName

Выдает имя файла для открытия, заданное по умолчанию. (Иначе, поле имени файла будет пробелом). При возвращении из диалога, если пользователь нажал, OK, это свойство будет содержать (первое) выбранное имя файла, включая его полный путь (см. первый пример).

Свойство Filter

Оно позволяет отображать и выбирать только некоторые типы файлов. Текст фильтра отображается в ниспадающем поле, чуть ниже поля имени файла. Следующий пример выбирает только текстовые файлы:

openDialog.Filter := 'Text files only|*.txt';

Раскрывающийся список показывает текст, находящийся перед разделителем |. После разделителя вы определяете маску, которая выбирает файлы, которые вы хотите.

openDialog.Filter := 'Text and Word files only|*.txt;*.doc';

Выше мы разрешили отображать два различных типа файлов, отделенные ;.

openDialog.Filter := 'Text files|*.txt|Word files|*.doc';

Выше мы разрешили отображать текстовые и Word файлы как два отдельных пункта в раскрывающемся списке.

Свойство FilterIndex

Определяет, какой фильтр ниспадающего поля будет отображен первым.

Свойство InitialDir

Устанавливает начальный каталог в диалоге.

Свойство Options

Это набор TOpenOptions флажков. Они являются исчерпывающими. Ключевые значения:

ofReadOnly открывает файл доступный только для чтения
ofFileMustExist может быть открыт только существующий файл
ofAllowMultiSelect пользователь может выбрать 2 или больше файлов

Отображение диалога

Теперь мы вызываем метод TOpenDialog:

if openDialog.Execute
then ...

Execute возвратит истину, если пользователь выбрал файл и нажал OK. Теперь вы можете использовать выбранный файл:

Окончание диалога

Доступ к выбранному файлу или файлам получают, используя следующие свойства:

Свойство FileName

Оно содержит полный путь плюс имя выбранного файла.

Свойство Files

Оно содержит полный путь плюс имя файла из множественного выбора файлов. Имена файлов содержатся в возвращаемом значении TStrings (см. TStringList для получения большей информации о строковых списках).

Наконец, мы должны освободить объект диалога:

openDialog.free;

Пример кода

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

Примечание

 

 

Авторизация



Счетчики