- •Объектно-ориентированное программирование
- •Объектно - ориентированное программирование, достоинства ооп. Принцип действия программ управляемых событиями.
- •Основные понятия
- •События
- •События в Delphi
- •Модульное программирование.
- •Нисходящее программирование.
- •Структурное программирование.
- •Понятия объекта, класса объектов.
- •Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм.
- •Данные типа класс, объявление класса, объекты.
- •Данные типа запись, оператор присоединения, правила использования.
- •Методы объекта и их реализация с помощью процедур и функций..
- •Конструкторы и деструкторы.
- •Палитра компонентов. Окно Формы. Инспектор объектов. Окно редактора кода (Среда delphi).
- •Файл проекта. Модуль формы. Файл ресурсов. Файл параметров проекта. Модули. Связь между файлами проекта. (Среда delphi).
- •Визуальные компоненты. Свойства компонентов, динамическое изменение свойств. События и делегирование.
- •Компоненты ввода-вывода и редактирования при разработке приложений.
- •Меню. Создание главного и контекстного меню. Создание приложений с использованием меню.
- •Данные строкового типа. Стандартные подпрограммы для строкового типа.
- •Иерархия объектов. Характеристики объектов. Абстрактный класс. Визуальные компоненты.
- •Создание списков и таблиц. Кнопочные компоненты, переключатели Формы. Модальные формы sdi и mdi приложения.
- •Использование файла ресурсов.
- •Обработка исключительных ситуаций. Стандартные классы исключений.
- •Способы хранения и обработки данных. Связанные списки Использование строковых массивов.
- •Потоки.
- •Процедуры и функции для преобразования данных.
- •Компонент Memo, назначение, правила использования, основные свойства компонента. Ввод и вывод числовых данных с помощью компонента Memo.
- •События. Переменные и их типы.
- •Константы, выражения и функции. Перегрузка функций.
- •Динамические данные. Указатели. Ссылочный тип. Динамические массивы.
- •Организация ссылок на ресурсы Internet, связей между компьютерами.
- •Объявления переменных. Встраиваемые функции.
- •Интерфейсы и реализация.
- •Свойство Canvas. Назначение, свойства объекта Canvas.
- •Основные методы класса Tcanvas для программного построения изображений.
- •Построение изображений в delphi: компоненты Bevel, Shape, назначение, свойства.
- •Создание изображений в Delphi: компонент Image, назначение, свойства.
- •Данные типа файл, типы файлов, объявление файловых переменных. Действия с файлами, связь с внешним файлом.
- •Библиотека dll, назначение, структура библиотеки, правила записи. Использование подпрограмм из dll библиотеки в проекте Delphi.
- •Окна для вывода сообщений (MessageDlg), назначение, принципы использования.
- •Внедрение объектов. Анимация, мультимедиа. Подпрограммы.
- •Ввод и вывод файлов в delphi. Процедуры открытия файлов для чтения, записи, добавления. Закрытие файлов. Текстовые файлы, назначение, правила использования.
События в Delphi
Объекты из библиотеки визуальных компонент (VCL) Delphi, равно как и объекты реального мира, имеют свой набор свойств и свое поведение - набор откликов на события, происходящие с ними. Список событий для данного объекта, на которые он реагирует, можно посмотреть, например, в Инспекторе Объектов на странице событий. (На самом деле, на этой странице представлен список свойств, которые имеют тип вроде TMouseMoveEvent и представляют из себя процедуры-обработчики событий. Существует соглашение по названиям данных свойств. Например, OnDblClick соответствует двойному щелчку мыши, а OnKeyUp - событию, когда нажатая клавиша была отпущена.) Среди набора событий для различных объектов из VCL есть как события, портируемые из Windows (MouseMove, KeyDown), так и события, порождаемые непосредственно в программе (DataChange для TDataSource).
Поведение объекта определяется тем, какие обработчики и для каких событий он имеет. Создание приложения в Delphi состоит из настройки свойств используемых объектов и создания обработчиков событий.
Простейшие события, на которые иногда нужно реагировать - это, например, события, связанные с мышкой (они есть практически у всех видимых объектов) или событие Click для кнопки TButton.
Событийная модель Windows.
ся работа операционной системы (ОС) Windows основана на понятии
события. Что это значит? Давай попробуем разобраться.
Внутри ядра Windows создаётся очередь событий. Когда какое-нибудь
приложение или устройство, изменило своё состояние и хочет сообщить об этом
операционной системе, то оно помещает в эту очередь соответствующее сообщение. ОС
Windows обрабатывает его и если необходимо, то реагирует на изменения.
Давай рассмотрим реальный пример события и реакции на него. Допустим, что мы
передвинули курсор мыши. Она генерирует событие и помещает его в очередь
сообщений. Когда Windows доходит до обработки этого сообщения, то он получает новые
координаты курсора мышки. Так как положение курсора изменилось, ОС должна
перерисовать его в новой позиции на экране. После этого, Windows переходит к обработке
следующего сообщения.
Если в очереди нет сообщений, то Windows переходит в состояние ожидания. Но
такое бывает очень редко. Даже когда ты не работаешь за компьютером, и он простаивает,
в фоне работает очень много процессов, которые отнимают процессорное время и
генерируют свои события.
Когда ты нажимаешь на кнопку, также генерируется событие, что кнопка нажата.
Любое действие, которое несёт в себе какие либо изменения может генерировать
системное событие. Это очень эффективная и удобная модель, благодаря которой и
реализуется многозадачность Windows.
Давай взглянём на простую очередь (она не является очередью ОС Windows, это
просто пример):
Событие Идентификатор приложения Дополнительно
Нажата клавиша 261 А
Перерисовать экран 385 (12, 46, 336, 267)
Перемещена мышь 261 (356,451)
Первая колонка показывает тип события. Вторая колонка показывает идентификатор
приложения, которое сгенерировало событие. В третьей показываются дополнительные
параметры. Так, например, при нажатии клавиши на клавиатуре, в качестве
дополнительного параметра идёт буква, которую нажали. Конечно же, в реальной
ситуации будет не буква, но у нас же это просто пример.
ОС Windows берёт первую строку из очереди и обрабатывает её. Потом берёт
вторую строку. Она уже относится к другому приложению. Третья строка опять
относится к первому приложению. Таким образом, ОС последовательно обрабатывает
события разных приложений, что даёт многозадачность.
Конечно же, многозадачность построена не только на сообщениях и здесь много
дополнительных факторов. Но очереди играют достаточно большую роль.
В Delphi все компоненты так же работают через события. Ты будешь постоянно
создавать обработчики событий для разных ситуаций. Например, можно создать
обработчик события для нажатия клавиши на клавиатуре и производить в нём какие-то
действия. Например, по нажатию определённой клавиши, можно выводить окно (действие
как у горячих клавиш).
Обработчик события – это простая процедура или функция, которая вызывается по
наступлению какого-то события.