Упражнение 4. Создайте приложение, создающее текстовый файл и сохраняющее в нем текст из Memo, используя метод SaveDialog для выбора папки и задания имени и расширения текстового файла.
Создайте форму, на которой разместите компоненты Memo1, Label1 и Button1. Задайте для свойства Form1.Caption значение «Пример с использованием SaveDialog», для Label1.Caption – значение «Введите текст», для Button1.Caption – значение «Сохранить». Удалите текст «Memol» из окна Memo1. Выровняйте и зафиксируйте визуальные компоненты на форме. Выберите в палитре компонентов страницу Dialogs и поместите на форму компонент SaveDialog. Так как он не является визуальным компонентом, то его можно поместить в любое место формы. Задайте для свойства SaveDialog1.Title значение «Сохранить текстовый файл», которое будет отображаться в заголовке диалогового окна сохранения файла.
Чтобы при сохранении файла в окне диалога обеспечить выбор типа файла, выберите в окне Инспектора объектов объект SaveDialogl, на странице Свойства произведите двойной щелчок в списке значений свойства Filter. В окне Filter Editor задайте фильтры для выбора типа и расширения файла.
Щелкнув на кнопке 0К, закройте окно Filter Editor. Для установки расширения *.txt по умолчанию задайте значение 1 для свойства SaveDialog1.Filter.
Для создания процедуры обработчика события щелчка мышью на кнопке Сохранить выберите в окне Инспектора объектов объект Button1 и на странице События произведите двойной щелчок на пустом поле списка в событии OnClick. После этого в окне Редактора кода будет сгенерирована заготовка процедуры обработчика события procedure TForm1.ButtonlClick(Sender: TObject);.
Введите в раздел описания переменных модуля строковую переменную FName для хранения имени файла:
Отредактируйте текст процедуры следующим образом:
Как видно из текста процедуры, сначала переменной FName присваивается значение «Text1», затем это значение присваивается свойству SaveDialog1.FileName. Затем приложение открывает диалоговое окно «Сохранить текстовый файл», в котором задается имя файла. Имя файла из свойства SaveDialog1.FileName запоминается в переменной FName. При помощи оператора case реализуется выбор расширения файла в зависимости от значения свойства SaveDialog1.Filterlndex. В заключительной части процедуры оператор Memo1.Lines.SaveToFile(FName); используется для записи в файл содержимого свойства Lines объекта Memo1.
Сохраните, откомпилируйте и запустите на выполнение созданное приложение. Введите текст в окне приложения и щелкните мышью на кнопке Сохранить. Будет открыто диалоговое окно Сохранить текстовый файл.