Диалог для открытия файла. Для добавления в программу стандартного диалога для открытия файла добавьте на форму компонент OpenDialog с вкладки Палитры компонентов.
Также добавьте на форму обычную кнопку. Именно при щелчке по ней и будут показываться наше диалоговое окно для открытия файла.
Для того чтобы при нажатии на кнопку диалоговое окно появилось, добавьте в ее обработчик, следующий код:
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
end;
Разумеется, для работы с файлом не достаточно только вызвать наше диалоговое окно. Необходимо еще извлечь из него имя выбранного файла. Вот как это делается (в приведенном примере содержимое выбранного пользователем текстового файла показывается в компоненте Memo1 типа TMemo, который надо разместить на форме).
Код:
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Таким образом для извлечения файла мы используем свойство FileName нашего диалога. Обратите внимание, что с помощью if мы проверяем, выбрал ли пользователь вообще что-нибудь. Если пользователь ничего не выбрал, то OpenDialog1.Execute возвращает false, и последующий код не выполняется. Вот еще несколько полезных свойств для нашего диалога для открытия файлов.
Для открытия в диалоге заранее определенной папки используем свойство InitialDir:
OpenDialog1.InitialDir:='D:\';
if OpenDialog1.Execute then
Для создания фильтров используем свойство Filter. При использовании фильтров пользователю будут показываться не все файлы, а только определенные фильтром. Фильтр можно задавать как в редакторе фильтров, так и в тексте программы на этапе выполнения. Для задания фильтра в редакторе фильтров нажмите на кнопку с многоточием свойства Filter.
Затем просто заполните левый и правый столбцы. Левый определяет, что за надпись увидит пользователь, а правый - что за файлы будут показываться.
Обратите внимание, что мы можем для одного описания задать несколько масок, разделяя их точкой с запятой.
Свойство FilterIndex диалогового окна определяет номер активного фильтра (т. е. того, который будет выбран при вызове диалога). Нумерация при этом начинается с единицы.
А вот так можно задать несколько фильтров в тексте программы:
OpenDialog1.Filter:='Текстовые файлы|*.txt; *.ini|Временные файлы|*.tmp';
Параметры тут разделяются на пары Описание-Фильтр. В качестве разделителя используем |.
Всё на этом урок закончен.
|