- •Введение Преподавателю: как использовать данное пособие
- •Тому, кто хочет научиться
- •Благодарности
- •Лабораторная работа 1 Знакомство со средой программирования
- •1.Понятие программы и технология ее создания.
- •2. Запуск среды
- •3.Структура окна среды
- •4.Запуск программы
- •5.Выход из среды
- •6.Резюме
- •7.Вопросы для контроля
- •Лабораторная работа 2 Компоненты и их свойства
- •1.Понятие компонента
- •2.Свойства компонентов
- •3.Изменение свойств объектов Изменение свойств с клавиатуры
- •Изменение свойств из списка
- •Изменение составного свойства.
- •4.Добавление компонента на форму
- •5.Исследовательские задания
- •6.Контрольное задание.
- •7.Резюме
- •8.Вопросы для контроля
- •Лабораторная работа 3 События и обработчики события
- •1.Понятие «Событие»
- •2.Создание процедуры обработки события
- •Компоненты процедуры обработки события
- •2. Заголовок процедуры обработки события
- •3.Изменение значения свойства в коде приложения
- •4.Создание процедуры обработки события «Нажатие клавиши».
- •5.Исследовательские задания
- •6.Контрольные задания
- •7.Резюме
- •8.Вопросы для контроля
- •Лабораторная работа 4 Структура модулей проекта
- •1.Структура программных модулей
- •2.Исследовательские задания
- •3.Индивидуальное задание:
- •4.Контрольные вопросы
- •Лабораторная работа 5 Конструирование меню и работа со стандартными окнами диалога Windows
- •5.Создание главного меню приложения
- •6.Стандартные окна общих диалогов
- •7.Создание рабочей области редактора
- •Чтение документа из файла
- •Сохранение документа из файла
- •8.Изменение рабочей области в зависимости от выбранных значений пунктов меню
- •9.Создание всплывающего меню
- •10.Создание панели инструментов
- •Создание структуры панели инструментов
- •Установка соответствия с пунктами меню
- •11.Изменение возможностей текстового редактора
- •12.Исследовательские задания
- •13.Контрольные задания
- •14.Контрольные вопросы
- •Лабораторная работа №6 Файлы. Типы файлов.
- •1.Понятие «диалог».
- •2.Открытие файла для вывода
- •3.Открытие файла
- •4.Контрольное задание
- •5.Ввод записи в файл
- •6.Контрольное задание
- •7.Диалоговое окно по выбору файлов
- •8.Вопросы для контроля
- •Лабораторная работа 7 Статические графические объекты
- •1. Вставка Image на этапе проектирования приложения.
- •2.Вставка Image в процессе выполнения программы.
- •3.Создание примитивов.
- •4.Исследовательские задания
- •5.Контрольные задания
- •6.Резюме
- •7.Контрольные вопросы
- •Лабораторная работа 8 Компоненты ввода-вывода данных. Многооконные приложения
- •1.Добавление форм в проект
- •Добавление новой формы в проект приложения
- •Переключение между формами и рабочими модулями проекта
- •2.Управление появлением форм
- •3.Использование кнопок выбора
- •4.Использование индикаторов с флажком
- •5.Использование списков и системных окон
- •6.Использование компонента ProgressBar
- •7.Исследовательские задания
- •8.Контрольные задания
- •9.Резюме
- •10.Контрольные вопросы
- •Лабораторная работа 9 Настройка параметров приложения
- •11.Параметры настройки приложения
- •12.Создание пиктограммы для приложения
- •13.Создание файлов помощи
- •Назначение атрибутов разделам справочной системы
- •Указание гиперссылок
- •Компиляция справочного файла
- •14.Назначение заголовка, пиктограммы, файла помощи приложения
- •15.Исследовательские задания
- •16.Резюме
- •17.Вопросы для контроля
- •Лабораторная работа 10 Использование библиотек динамической компоновки (dll)
- •1.Понятие библиотеки динамической компоновки
- •2.Анализ условий задач
- •3.Создание библиотек динамической компоновки
- •Структура библиотеки динамической компоновки
- •Список экспортируемых функций
- •4.Создание клиентских программ
- •5.Решение задач
- •6.Контрольные задания
- •7.Резюме
- •8.Контрольные вопросы
- •Лабораторная работа 11 Создание дистрибутива приложения
- •1.Понятие и назначение дистрибутива приложения
- •2.Автоматизация создания дистрибутива приложения
- •3.Создание дистрибутива многокомпонентного приложения
- •4.Исследовательские задания
- •5.Резюме
- •6.Контрольные вопросы
- •Заключение
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.