BorlanD Russian Сommunity

Диалог для открытия файла. Для добавления в программу стандартного диалога для открытия файла добавьте на форму компонент 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: 

procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenDialog1.InitialDir:='D:\';
  if OpenDialog1.Execute then
  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end; 
 

Для создания фильтров используем свойство Filter. При использовании фильтров пользователю будут показываться не все файлы, а только определенные фильтром. Фильтр можно задавать как в редакторе фильтров, так и в тексте программы на этапе выполнения. Для задания фильтра в редакторе фильтров нажмите на кнопку с многоточием свойства Filter.

Затем просто заполните левый и правый столбцы. Левый определяет, что за надпись увидит пользователь, а правый - что за файлы будут показываться.

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

Свойство FilterIndex диалогового окна определяет номер активного фильтра (т. е. того, который будет выбран при вызове диалога). Нумерация при этом начинается с единицы.

 

А вот так можно задать несколько фильтров в тексте программы:

 

            OpenDialog1.Filter:='Текстовые файлы

Просмотров: 3701 | Категория: Delphi 7 | Дата: 11.05.2008