Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi 3.doc
Скачиваний:
6
Добавлен:
10.12.2018
Размер:
116.74 Кб
Скачать

Стандартный диалог для открытия файла

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

...

Параметры тут разделяются на пары Описание-Фильтр. В качестве разделителя используем |.

Стандартный диалог для сохранения файла

Вполне естественно после диалога для открытия файла рассмотреть диалог для сохранения файла. Вот так выглядит соответствующий компонент на вкладке Dialogs Палитры компонентов:

Принципиально диалог для сохранения файла почти не отличается от диалога для открытия файла. Свойства FileName, InitialDir, Filter, FilterIndex и другие используются точно так же, как и в диалоге для открытия файла. Вот пример для сохранения содержимого Memo1 в файле, имя которого задает пользователь:

...

SaveDialog1.Execute;

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

...

Из свойств, применяемых более для сохранения файла, отметим DefaultExt. Оно определяет расширение, автоматически прибавляемое к сохраняемому файлу. Это свойство можно задать в окне Инспектора объектов на этапе разработки программы. А вот пример его задания в прямо в коде:

...

SaveDialog1.DefaultExt:='123';

...

После этого к имени введенного пользователем файла автоматически прибавится расширение .123.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]