Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, полный углублённый курс, по 4 часа в неделю)



Уроки 95 - 97
Программы с графическим интерфейсом
(§51. Программы с графическим интерфейсом. §52. Основы программирования в RAD-средах)




Содержание урока

§51. Программы с графическим интерфейсом

Особенности современных прикладных программ

RAD-среды для разработки программ

Вопросы и задания

§52. Основы программирования в RAD-средах

§51. Программы с графическим интерфейсом


Особенности современных прикладных программ


Большинство современных программ, предназначенных для пользователей, управляется с помощью графического интерфейса. Вы знакомы с понятиями «окно программы», «кнопка», «флажок», «поле ввода», «полоса прокрутки» и т. п. Такие оконные системы чаще всего построены на принципах объектно - ориентированного программирования, т. е. все элементы окон — это объекты, которые обмениваются данными, посылая друг другу сообщения.

Сообщение — это блок данных определённой структуры, который используется для обмена информацией между объектами.

В сообщении указываются:

• адресат (объект, которому посылается сообщение);
• числовой код (тип) сообщения;
• параметры (дополнительные данные), например координаты щелчка мышью или код нажатой клавиши.

Сообщение может быть широковещательным, в этом случае вместо адресата указывается особый код и сообщение поступает всем объектам определённого типа (например, всем главным окнам программ).

В программах, которые мы писали раньше, последовательность действия заранее определена — основная программа выполняется строчка за строчкой, вызывая процедуры и функции, все ветвления выполняются с помощью условных операторов (рис. 7.12).

Рис. 7.12

Рис. 7.12

В современных программах порядок действий определяется пользователем, другими программами или поступлением новых данных из внешнего источника (например, из сети), поэтому классическая схема не подходит. Пользователь текстового редактора может щёлкать на любых кнопках и выбирать любые пункты меню в произвольном порядке. Программа-сервер, передающая данные с веб-сайта на компьютер пользователя, начинает действовать только при поступлении очередного запроса. При программировании сетевых игр нужно учитывать взаимодействие многих объектов, информация о которых передаётся по сети в случайные моменты времени.

Во всех этих примерах программа должна «включаться в работу» только тогда, когда получит условный сигнал, т. е. произойдёт некоторое событие (изменение состояния).

Событие — это переход какого-либо объекта из одного состояния в другое.

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

Таким образом, весь ход выполнения современной программы определяется происходящими событиями, а не жёстко заданным алгоритмом. Поэтому говорят, что программы управляются событиями, а соответствующий стиль программирования называют событийно-ориентированным, т. е. основанным на обработке событий.

Нормальный режим работы событийно-ориентированной программы — цикл обработки сообщений. Все сообщения (от мыши, клавиатуры, драйверов устройств ввода и вывода и т. п.) сначала поступают в единую очередь сообщений операционной системы. Кроме того, для каждой программы операционная система создаёт отдельную очередь сообщений и помещает в неё все сообщения, предназначенные именно этой программе (рис. 7.13).

Рис. 7.13

Рис. 7.13

Программа выбирает очередное сообщение из очереди и вызывает специальную процедуру — обработчик этого сообщения (если он есть). Когда пользователь закрывает окно программы, ей посылается специальное сообщение, при получении которого цикл (и работа всей программы) завершается.

Таким образом, главная задача программиста — написать содержание обработчиков всех нужных сообщений. Ещё раз подчеркнём, что последовательность их вызовов точно не определена, она может быть любой в зависимости от действий пользователя и сигналов, поступающих с внешних устройств.

Следующая страница RAD-среды для разработки программ



Cкачать материалы урока






Наверх