§ 4. Объектно-событийная модель работы программы

4.1. Элементы управления в приложениях с графическим интерфейсом

Современные программы, с которыми сегодня работают пользователи компьютера, отличаются от тех, которые вы создавали раньше. Основное отличие — взаимодействие пользователя с программой.

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

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

Многие системы программирования позволяют создавать программы с оконным интерфейсом. Такие программы называют оконными приложениями (Windows Form Application). Создаются они как проект и состоят из нескольких файлов. Вешний вид окна будущего приложения строится на форме. Для формы сохраняются два файла — один содержит описание внешнего вида формы, другой — описание действий при выборе пользователем того или иного элемента управления. Главный файл проекта содержит описание его структуры, а также команды по созданию формы и запуску приложения.

Все элементы, размещенные на форме и сама форма образуют систему взаимодействующих объектов. Способ их взаимодействия основан на объектно-ориентированном программировании.

Проектирование интерфейса окна программы можно выполнять с использованием RAD-технологии (Rapid Application Development) быстрая разработка приложений. Технология RAD характерна для многих систем программирования. Быстрая разработка стала возможной за счет того, что элементы управления были визуализированы и собраны в специальные библиотеки — VCL (Visual Component Library — визуальная библиотека компонентов).

Различные элементы управления можно перетаскивать с палитры компонентов на форму с помощью мыши. Процесс создания интерфейса будущей программы представляется аналогом работы с неким конструктором. Программирование в RAD-средах является визуальным, поскольку код по созданию элементов управления не пишется, а генерируется средой. Задача программиста — написание кода по управлению готовыми компонентами.

Визуальное программирование поддерживается в PascalABC и Delphi (код пишется на языке Pascal), VisualBasic, C# и др. (пример 4.2). Для обучения учащихся младших классов используется визуальное программирование в среде Скретч (Scratch).

Код на языке программирования С++ можно писать в таких средах визуального программирования, как C++Builder, Qt и др.

Многие элементы управления в разных средах имеют одинаковые или синонимичные имена (пример 4.3).

Пример 4.1. После загрузки какого-либо редактора пользователь может открыть файл для редактирования. При этом он выбирает меню Файл, находит в списке команду Открыть, выбирает нужный файл, нажимает кнопку Открыть. Для того чтобы открыть файл, пользователь взаимодействует с такими элементами управления, как меню, список, кнопка.

Пример 4.2. Среды программирования, в которых реализована поддержка парадигмы визуального программирования.

Delphi:

PascalABC:

VBA (Visual Basic for Applications):

Visual Studio для языка C#:

C++Builder:


Основателем RAD считается сотрудник IBM британский консультант по информационным технологиям Джеймс Мартин (1933 — 2013), который в начале 1990-х гг. сформулировал основные принципы RAD, основываясь на идеях Барри Бойма и Скотта Шульца. Технолгия RAD предполагает, что разработка ПО осуществляется небольшой командой разработчиков за короткий срок.

Пример 4.3. Основные элементы интерфейса:

Элемент управления

Имя

Кнопка

Button

Надпись

Label

Поле для ввода текста

TextBox (Edit)

Флажок

CheckBox

Радиокнопка

RadioButton

Список

ListBox

Выпадающий список

ComboBox

Рисунок

PictureBox (Image)

Элементы управления на форме в среде программирования C++Builder:

Элементы управления на форме в среде программирования PascalABC: