Упражнения по обработке файлов (упр 4.)

Упражнение 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 для хранения имени файла:

var
Forml: TForml;
FName : string;

Отредактируйте текст процедуры следующим образом:

procedure TForm1.Button1Click(Sender: TObject);
begin
FName: = ‘Textr’;
SaveDialog1.FileName := FName;
{присвоить свойству FileName значение из переменной FName}
if SaveDialog1.Execute then
begin
FName:=SaveDialog1.FileName;
{открыть диалог и запомнить новое имя файла}
case SaveDialogl.Filterlndex of
{изменить расширение файла}
1 : FName:=FName+’.txt’;
2 : FName:=FName+’.doc’:
end;
Memo1.Lines.SaveToFile(FName);
{записать в файл содержимое из свойства Lines объекта Memo}
end;
end;

Как видно из текста процедуры, сначала переменной FName присваивается значение «Text1», затем это значение присваивается свойству SaveDialog1.FileName. Затем приложение открывает диалоговое окно «Сохранить текстовый файл», в котором задается имя файла. Имя файла из свойства SaveDialog1.FileName запоминается в переменной FName. При помощи оператора case реализуется выбор расширения файла в зависимости от значения свойства SaveDialog1.Filterlndex. В заключительной части процедуры оператор Memo1.Lines.SaveToFile(FName); используется для записи в файл содержимого свойства Lines объекта Memo1.

Сохраните, откомпилируйте и запустите на выполнение созданное приложение. Введите текст в окне приложения и щелкните мышью на кнопке Сохранить. Будет открыто диалоговое окно Сохранить текстовый файл.

Изменив имя файла и выбрав вариант типа файла, нажмите кнопку Сохранить. Открыв в окне Проводника папку, в которой был сохранен файл (в нашем примере папка называется Обработка текстовых файлов), убедитесь, что в ней присутствует файл с указанным вами именем. Дважды щелкнув мышью по этому файлу, откройте его в окне редактора Блокнот и убедитесь, что это файл, созданный при проверке работы приложения. Закройте окна редактора Блокнот и приложения Пример с использованием SaveDialog.
Добавить комментарий