Учебная работа. Лабораторная работа: Обработка файлов в среде Delphi
Задание 1:
Сделайте приложение, которое делает текстовый файл text1.txt и записывает в него текст, введенный юзером в окно Edit, опосля чего же закрывает файл.
Решение:
Сделайте
форму и задайте для ее характеристики Caption значения для характеристики Label1. Caption – «Введите текст», Button1. Caption – «Сохранить». Выровняйте составляющие и зафиксируйте их положение на форме.
Сохраните
файлы модуля под именованием main
и проекта под именованием TextEditFile
в папке Обработка текстовых файлов.
Рис. 6.1 Пример формы проекта
Сделайте функцию
обработки действия клавиши «Сохранить», введите в окне Редактора кода последующий текст:
procedure TForm1. Button1Click (Sender: TObject);
var
f
:
TextFile
;
{описание файловой переменной}
begin
AssignFile
(
f
, ‘
text
1.
txt
‘);
{связь файловой переменной с файлом}
Rewrite
(
f
);
{сделать новейший файл}
Writeln (f, Edit1. Text);
{записать в файл}
CloseFile(f);
end;
{закрыть файл}
Запустите
приложение и введите в окно Edit последующее предложение – «Мой 1-ый пример текста». Щелкните мышкой на кнопочке «Сохранить» и закройте окно приложения.
Откройте
окно Проводника Windows папку Обработка текстовых файлов, в какой сохранены файлы проекта. В перечне файлов данной для нас папки находится вновь сделанный файл text1.txt. Два раза щелкните левой клавишей мыши на имени файла text1.txt. Удостоверьтесь, что это – тот текст, который введен в окне приложения. Раскроется окно редактора Блокнот с сиим файлом. Закройте окно редактора Блокнот и Проводник.
Задание 2:
Сделайте приложение, открывающее текстовый файл для чтения и считывающие из него текст в окно Memo. Перед открытием файла следует проверить его наличие, в случае его отсутствия обязано выводиться соответственное сообщение.
Решение:
Сделайте новое приложение
(проект). Сделайте форму «Чтение текста из файла в окно». На форме разместите составляющие Memo1, Label1, Button1, как показано на рис. 6.2. Задайте значения параметров Label1. Caption – «Текст из файла», Button1. Caption – «Прочесть текст из файла».
Для удаления
текста Memo1 из компонента изберите в окне Инспектора объектов объект Memo1, потом на страничке Характеристики изберите свойсво Lines и в поле со значением Strings произведите двойной щелчок. Опосля этого в окне StringListEditor удалите текст и щелкните мышью на кнопочке ОК.
Для обеспечения
способности просмотра в окне Memo1 длинноватых текстов с внедрением вертикальной полосы прокрутки в окне Инспектора объектов изберите свойство ScrollBars
Рис. 6.2 Пример формы приложения
Сделайте функцию
обработки действия клавиши «Прочесть текст из файла», отредактируйте текст процедуры последующим образом:
procedure TForm1. Button1Click (Sender: TObject);
var f: TextFile;
ch: Char;
begin
AssignFile (f, ‘text1.txt’);
{$I-}
Reset(f);
{$I+}
if IOResult=0 then begin
while not Eof(f) do
begin
Read (f, ch);
Memo1. Text:=Memo1. Text+ch;
end;
CloseFile(f);
end else
ShowMessage (‘
Нет
такового
файла
‘);
end;
Сохраните
файл модуля под именованием main1, а файл проекта – под именованием TextMemoFile1 в папке Обработка текстовых файлов. Откомпилируйте и запустите приложение, проверьте его работу.
Задание 3
: Сделайте приложение, открывающее текстовый файл для дополнения и потом добавляющее в него введенный текст.
Решение:
Сделайте
новейший проект, задайте заглавие формы «Добавление текста в файл». На форме разместите компонентыButton1,2, Memo1, Label1,2, Edit1 как показано на рис. 6.3. Присвойте значения свойствам Label1. Caption – «Текст из файла», Button1. Capton – «Прочесть текст из файла», Label2. Caption – «Добавляемый текст», Button2. Caption – «Добавить текст в файл». Удалите текст из компонент Memo1, Edit1. Установите линейку вертикальной прокрутки для обеспечения способности просмотра длинноватых текстов в компоненте Memo1. Выровняйте составляющие и зафиксируйте их положение на форме.
Рис. 6.3 Пример формы приложения
Сделайте
обработчик нажатия клавиши «Прочесть текст из файла» без помощи других. Для клавиши «Добавить текст в файл» запишите последующий код действия:
Procedure TForm1. Button2Click (Sender: TObject);
Var
F: TextFile;
Begin
AssingFile (f, ‘text1.txt’);
Append (f);
Writeln (f, Edit1. Text);
CloseFile (f);
End
;
Сохраните файл
модуля под именованием Main2, а файл проекта – под именованием TextMemoFile2 в папке Обработка текстовых файлов.
Запустите
и проверьте работу приложения.
Задание 4:
Сделайте приложение, которое открывает текстовый файл с внедрением способа OpenDialog, считывает текст из него в объект Memo, потом сохраняет модифицированный текст в файл с внедрением способа SaveDialog и выводит текст на печать, используя способ PrintDialog.
Решение:
Сделайте
новейший проект и сохраните в папке «Диалоговая панель». На форме разместите составляющие Memo1, Button1,2,3. Клавиши назовите «Сохранить», «Открыть», «Печать» соответственно. Задайте компоненту Memo1 вертикальную полосу прокрутки и удалите текст. Выровняйте и зафиксируйте составляющие на форме (см. рис. 6.4).
Рис. 6.4 Форма проекта «Диалоговая панель»
Изберите
в гамме компонент страничку Dialog и расположите на форму составляющие OpenDialog, SaveDialog, PrintDialog. Потому что они не являются зрительными
компонентами, то их можно поместить в хоть какое пространство формы.
Задайте
для характеристики SaveDialog. Title окна сохранения файла. Чтоб при сохранении файла в окне диалога обеспечить выбор типа файла, изберите свойство Filter и произведите двойной щелчок в перечне значений. Раскроется окно FilterEditor. Задайте фильтры для выбора типа и расширения файла:
Filter Name
Filter
Текстовый (*.txt)
*.txt
Текстовый (*.doc)
*.doc
И щелкните по кнопочке ОК
, потом установите расширение *.txt
по дефлоту – задайте свойству SaveDialog1. FilterIndex
Задайте
для характеристики OpenDialog1. Title – «Открыть текстовый файл». Чтоб воплотить выбор типа файла при открытии файла в окне диалога, на страничке характеристики произведите двойной щелчок по списку значений характеристики Filter. В окне Filter Editor задайте фильтры для выбора типа и расширения файла:
Filter Name
Filter
Текстовый (*.txt)
*.txt
Все файлы (*.*)
*.*
И щелкните по кнопочке ОК, потом установите расширение *.txt по дефлоту – задайте свойству OpenDialog1. FilterIndex
Чтоб в диалоговом окне Печать
включить возможность выбора спектра печатаемых страничек и печати выделенного фрагмента, задайте для параметров PrintDialog1. Options.poPageNums и PrintDialog1. Options.poSelection
Опосля этого в раздел описания модулей добавьте в перечень USES
модуль PRINTERS
, чтоб не вводить свою переменную. Этот модуль дозволяет управлять действием печати.
Отредактируйте
раздел описания переменных:
Var
Form1: TForm1;
FName: string;
F: TextFile;
S
:
string
;
Сделайте процедуры
обработки событий 3-х клавиш, последующим образом:
1) сохранение:
procedure TForm1. Button1Click (Sender: TObject);
begin
fName:=’Text1′;
SaveDialog1. FileName:=FName;
if SaveDialog1. Execute then begin
fName:=SaveDialog1. FileName;
case SaveDialog1. FilterIndex of
1: fName:=fName+’.txt’;
2: fName:=fName+’.doc’;
end;
Memo1. Lines. SaveToFile(fName);
end;
end;
2) открытие:
procedure TForm1. Button2Click (Sender: TObject);
begin
if OpenDialog1. Execute then
begin
AssignFile (f, OpenDialog1. FileName);
fName:=OpenDialog1. FileName;
Reset(F);
Readln (F, s);
Memo1. Text:=s;
CloseFile(F);
end;
end;
3) печать:
procedure TForm1. Button3Click (Sender: TObject);
begin
if PrintDialog1. Execute then
begin
AssignPrn(f);
Rewrite(F);
Writeln (f, Memo1. Text);
System. CloseFile(f);
end;
end;
]]>