Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб1 и далее.doc
Скачиваний:
7
Добавлен:
18.11.2019
Размер:
2.98 Mб
Скачать

7.Создание рабочей области редактора

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

Для работы с текстом в среде Delphi можно использовать компонент Memo, расположенный на закладке Standart Палитры компонентов. Memo – визуальный компонент, размеры и местоположение которых можно установить по собственному желанию.

Изменив свойство Lines на содержимое открытого документа, мы сможем увидеть содержимое документа в текстовом поле Memo.

Изменение свойств объекта установкой значений свойств стандартных объектов общих диалогов

Чтение документа из файла

Для того, чтобы изменить свойство Memo1.Lines необходимо знать, какой файл пользователь выбрал. Это можно узнать из свойства FileName стандартных окон общих диалогов. Но указав следующую строчку в системе возникнет ошибка «Несовпадение типов». Так как свойство Lines типа Tstring, а свойство FileName типа TfileName. Для устранения данной ошибки необходимо записывать следующим образом:

И все это должно выполняться только в том случае, когда пользователь осуществил свой выбор, т.е. процедура обработки события «Щелчка по пункту меню» должна выглядеть следующим образом:

procedure TForm1.N2Click(Sender: TObject);

begin

if Opendialog1.Execute then

Memo1.lines.LoadFromFile(Opendialog1.filename);

end;

Сохранение документа из файла

Для того, чтобы сохранить изменения текста необходимо в процедуре обработки события метод LoadFromFile заменить на SaveToFile. А имя и путь взять из свойства FileName объекта SaveDialog1.

Процедура обработки события выбора пункта меню «Шрифт»

procedure TForm1.N7Click(Sender: TObject);

begin

if fontdialog1.Execute then memo1.Font:=fontdialog1.font;

end;

Задание 5

Расположите компонент работы с текстом на форме согласно Рис. 4.

8.Изменение рабочей области в зависимости от выбранных значений пунктов меню

Но и после выполнения третьего пункта ничего не изменилось, потому что в приложении нет связи между выбором пользователя и свойствами рабочей области. Иначе говоря, необходимо в зависимости от выбора пользователя изменять свойства компонента рабочей области. Для того, чтобы узнать как это делается, выполните следующее задание. Для реализации этой связи нам понадобится новое понятие метод.

  • Метод – это подпрограмма, позволяющая изменить характеристики объекта.

Задание 6

Измените тела процедур обработки событий пунктов меню «Открыть», «Сохранить» так, чтобы читался документ в рабочую область и изменения текста сохранялись.

Для того, чтобы приложение завершало работу по пункту меню «Выход», достаточно в процедуре обработки события этого пункта меню вызвать процедуру Close.

Задание 7

Создайте процедуру обработки события для пункта меню «Выход»

  • Для создания нового текстового документа достаточно очистить содержимое рабочей области, воспользовавшись его методом Clear.

Задание 8

Создайте процедуру обработки события для пункта меню «Новый».

Следующий шаг – это форматирование текста. Вы уже знаете, что за форматирование текста таких компонентов как Метка, Текстовое поле и др. отвечает свойство Font. Рабочая область текстового редактора тоже не исключение. С другой стороны все значения, выбранные пользователем в стандартном окне общих диалогов «Шрифт», также сохраняются в свойстве Font. Следовательно, в обработчике событий пункта меню «Шрифт» достаточно присвоить свойству Font рабочей области, значение соответствующего свойства стандартного окна общего диалога «Шрифт».

Задание 9

Создайте процедуру обработки события выбора пункта меню «Шрифт».

Запустите приложение на выполнение и проверьте правильность работы пункта меню «Шрифт».

Примечание

Если возникли ошибки, то сравните написанный вами код данной процедуры с кодом, указанным в подразделе «Создание рабочей области» (п.2C) раздела справочной системы «Лабораторная работа №5».

Задание 10

Аналогичным способом создайте процедуру обработки выбора цвета фона.

  • За цвет компонента отвечает свойство Color.