OpenDialog

  

Компонент delphi OpenDialog не визуальный компонент предназначенный для поддержки операции открытия файлов способный работать с любыми типами файлов. При обращении к этому компоненту вызывается стандартное диалоговое окно открытия файла.

Типы искомых файлов задаются в свойстве Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается при нажатии кнопки с многоточием возле этого свойства в инспекторе объектов. При этом открывается окно редактора вид, которого представлен на рисунке 1. В его левой панели Filter Name вы записываете тот текст, который увидит пользователь в выпадающем списке «тип файла» диалога. А в правой панели Filter записывается разделенные точками с запятой шаблоны фильтра.

Пример компонент delphi OpenDialog

Для записи этого программным путем просто вписываем в нашу программу код представленный ниже.

1
OpenDialog1.Filter:=’текстовые|*.txt

Если понадобится программным образом описать несколько строк фильтра, то отделяйте строку от строки все тем же разделителем – вертикальной чертой(|)

1
OpenDialog1.Filter:=’текстовые|*.txt|все файлы|*.*

Свойство FilterIndex позволяет использовать по умолчанию один из фильтров, если в вашей программе их несколько.

Для определения имени папки, открываемой в момент первого запуска диалога, воспользуйтесь свойством InitialDir при повторном открытии выбор каталога зависит от флага ofNoChangeDir в свойстве Options диалогового окна. Все флаги этого свойства можно увидеть в таблице ниже.

ofReadOnly  Открывает окно в режиме «только для чтения»
ofHideReadOnly  Скрывает флажок ReadOnly
ofOverwritePrompt   Играет роль в диалогах записи файлов, запрашивает разрешение на перезапись при совпадении имени.
ofNoChangeDir  Если флаг установлен, то при повторных запусках диалога он открывает папку определенную в свойстве InitialDir. Иначе будет открыт каталог с которым велась работа в последний раз.
ofShowHelp  Дополняет диалог кнопкой помощи.
ofNoValidate  Отключает контроль ввода недопустимого символа в имя файла
OfAllowMultiSelect  Допускает одновременный выбор нескольких файлов
ofExtensionDifferent  Наличие флага обычно контролируется программистом во время выполнения приложения. Он автоматически устанавливается приложениям в случае, когда расширение выбранного файла отличается от заданного в свойстве DefaultExt
ofPathMustExist  Вызывает сообщение об ошибке, если пользователь указал неверный путь к файлу.
ofFileMustExist  Вызывает сообщение об ошибке, если пользователь указал имя не существующего файла
ofCreatePrompt  Запросит подтверждения на создание несуществующего файла.
ofShareAwere  Разрешает совместный доступ к одному и тому же файлу
ofNoReadOnlyReturn  Инициализирует сообщение об ошибке при попытке обратиться к файлу с атрибутом «только для чтения».
ofNoTestFileCreate  Опция применяется при работе с разделяемым сетевым ресурсом в котором пользователь обладает правом создания новых файлов, но не может модифицировать существующие.
ofNoNetworkButton  Скрывает кнопку доступа к сетевым ресурсам.
ofNoLongNames  Показывает файлы с форматом имени.
ofOldStyleDialog  Флаг обратной совместимости, создает диалоговое окно старого стиля.
ofNoDereferenceLinks  Определяет порядок взаимодействия с ярлыками файлов.
ofEnableIncludeNotify  Работает с Windows2000 и более поздними версиями.
ofEnableSizing  Разрешает изменять размеры диалогового окна

Небольшой пример для вызова диалога открытия

1
2
3
4
5
6
7
procedure TForm2.Button2Click(Sender: TObject);
begin
if opendialog2.Execute then
begin
memo2.Lines.LoadFromFile(opendialog2.FileName);
end;
end;

Продолжаем изучать Delphi

PrintDialog Компонент Delphi  PrintDialog создает диалог печати. Как и у всех диалогов, любимым методом диалога ...
ColorDialog Компонент Delphi ColorDialog формирует диалоговое окно выбора цвета пользователем, изображенного на ...
FontDialog Компонент Delphi FontDialog выводит на экран стандартное диалоговое окно выбора шрифта (Рисунок 1). ...
OpenPictureDialog и SavePictureDialog Рассмотри два Компонента delphi OpenPictureDialog и delphi SavePictureDialog это диалоговые окна пре...