§ 4. Аб'ектна-падзейная мадэль работы праграмы

4.1. Элементы кіравання ў дадатках з графічным інтэрфейсам

Сучасныя праграмы, з якімі сёння працуюць карыстальнікі камп'ютара, адрозніваюцца ад тых, якія вы стваралі раней. Асноўнае адрозненне — узаемадзеянне карыстальніка з праграмай.

Праграмы, якія вы стваралі раней, узаемадзейнічалі з карыстальнікам з дапамогай тэкставага інтэрфейса (часта яго называюць інтэрфейсам каманднага радка). Пасля запуску праграмы вы ўводзілі даныя, праграма выконвалася, і вы бачылі вынік. І ўвод, і вывад даных здяйсняўся ў алфавітна-лічбавай форме.

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

Многія сістэмы праграмiравання дазваляюць ствараць праграмы з аконным інтэрфейсам. Такія праграмы называюць аконнымі дадаткамi (Windows Application Form). Ствараюцца яны як праект і складаюцца з некалькіх файлаў. Знешнi выгляд акна будучага дадатку будуецца на форме. Для формы захоўваюцца два файла — адзін змяшчае апісанне знешняга выгляду формы, другi — апісанне дзеянняў пры выбары карыстальнікам таго ці іншага элемента кіравання. Галоўны файл праекта змяшчае апісанне яго структуры, а таксама каманды па стварэнні формы і запуску дадатку.

Усе элементы, размешчаныя на форме, і сама форма ўтвараюць сістэму аб'ектаў, якiя ўзаемадзейнiчаюць. Спосаб іх узаемадзеяння заснаваны на аб'ектна-арыентаваным праграмiраванні.

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

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

Візуальнае праграмiраванне падтрымліваецца ў PascalABC і Delphi (код пішацца на мове Pascal), VisualBasic, C # і інш. (прыклад 4.2). Для навучання вучняў малодшых класаў выкарыстоўваецца вiзуальнае праграмiраванне ў асяроддзі скрэтч (Scratch).

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

Многія элементы кіравання ў розных асяроддзях маюць аднолькавыя або сінанімічныя імёны (прыклад 4.3).

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

Прыклад 4.2. Асяроддзi праграмiравання, у якіх рэалізавана падтрымка парадыгмы візуальнага праграмiравання.

Delphi:

PascalABC:

VBA (Visual Basic for Applications):

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

C++Builder:


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

Прыклад 4.3. Асноўныя элементы інтэрфейса:

Элемент кіравання

Імя

Кнопка

Button

Надпіс

Label

Поле для ўводу тэксту

TextBox (Edit)

Флажок

CheckBox

Радыёкнопка

RadioButton

Спіс

ListBox

Выпадальны спіс

ComboBox

Малюнак

PictureBox (Image)

Элементы кіравання на форме ў асяроддзі праграмiравання C++Builder:

Элементы кіравання на форме ў асяроддзі праграмiравання PascalABC: