Материал: методичка

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

AB

 

 

 

F

 

 

 

D

 

 

Y

P

B

Y

 

 

 

 

 

 

w

Click

 

 

 

w

 

 

 

w.

 

 

 

A

Tran

sf

 

 

 

 

 

 

 

 

 

 

F Tran

sf

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

or

e

 

 

 

 

Y

P

 

 

 

or

e

 

 

 

 

m

 

 

B

Y

 

 

 

 

 

 

 

m

 

 

buy

 

r

 

B

 

 

 

 

 

buy

r

 

 

 

2

 

 

 

 

 

 

 

2

 

 

 

0

 

 

 

 

 

 

 

 

0

 

to

 

 

 

 

.

 

A

 

 

 

 

 

 

to

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

Останнє, що треба зробити на етапі створення форми— це додати у формуwдвіClick

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

o

командні кнопки: Обчислити і Завершити. Призначення цих кнопок очевидне.

 

 

 

w.

 

 

 

 

o

 

 

 

c

 

 

 

 

 

 

 

 

 

c

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

.

 

 

BBYY

 

 

 

 

 

 

 

 

 

 

 

A B BYY

 

 

 

Командна кнопка — компонент Button — додається у форму точно так, як і інші компоненти. Значок компоненту Button знаходиться на вкладціStandard (мал. 2.16).

Основні властивості компонентуButton приведені в таблиці. 2.7.

Мал. 2.16. Командна кнопка — компонент Button

Після додавання до форми двох командних кнопок потрібно встановити значення їх властивостей у відповідності таблиці. 2.7.

Таблиця 2.7. Властивості компоненту Button (командна кнопка)

 

 

 

 

 

 

 

Властивість

 

Опис

 

 

 

 

 

 

 

 

Name

 

Ім'я компоненту. Використовується в програмі для доступу до

 

 

 

 

компоненту і його властивостей

 

 

 

 

 

 

 

 

 

 

 

 

 

Caption

 

Текст на кнопці

 

 

 

 

 

 

 

 

 

 

Ознака доступності кнопки. Кнопка доступна, якщо значення

 

 

 

Enabled

 

властивості рівне true і недоступна, якщо значення властивості

 

 

 

 

 

рівне false

 

 

 

 

 

 

 

 

Left

 

Відстань від лівої межі кнопки до лівої межі форми

 

 

 

 

 

 

 

 

Тор

 

Відстань від верхньої межі кнопки до верхньої межі форми

 

 

 

 

 

 

 

 

Height

 

Висота кнопки

 

 

 

 

 

 

 

 

Width

 

Ширіна кнопки

 

 

 

 

 

 

 

 

Після додавання до форми двох командних кнопок потрібно встановити значення їх властивостей відповідно до таблиці. 2.8.

Остаточний вид форми застосування, що розробляється, приведений на мал.

2.17.

16

AB

 

 

 

 

 

F Tran

sf

 

 

 

 

 

D

 

 

 

 

 

Y

P

 

 

 

 

or

e

B

Y

 

 

 

 

 

 

 

m

 

 

 

 

 

 

buy

r

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

to

 

 

.

 

 

 

 

 

 

here

 

 

 

 

 

 

 

Click

 

 

 

 

w

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

w.

 

 

 

 

o

 

 

 

 

 

 

 

.

 

 

 

 

 

 

A BBYY

c

 

 

 

 

 

 

 

 

AB

 

 

 

 

 

F Tran

sf

 

 

 

 

 

D

 

 

 

 

 

Y

P

 

 

 

 

or

e

B

Y

 

 

 

 

 

 

 

m

 

 

 

 

 

 

buy

r

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

to

 

 

.

 

 

 

 

 

 

here

 

 

 

 

 

 

 

Click

 

 

 

 

w

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

w.

 

 

 

 

o

 

 

 

 

 

 

 

.

 

 

 

 

 

 

A B BYY

c

 

 

 

 

 

 

 

 

Мал. 2.17. Остаточний вид форми програми "Сила струму"

Завершивши роботу над формою, можна приступити до створення програми. Але

перед цим розглянемо два важливі поняття: подію і функцію обробки події.

 

Таблиця 2.8. Значення властивостей компонентів Button1

і Button2

 

 

 

 

 

 

 

 

 

Властивість

 

Компонент

 

 

 

 

 

 

 

 

 

 

 

Button1

 

 

Button2

 

 

 

 

 

 

 

 

 

 

 

 

 

Caption

 

Обчислити

 

 

Завершити

 

 

 

 

 

 

 

 

 

Тор

 

144

 

 

144

 

 

 

 

 

 

 

 

 

Left

 

16

 

 

104

 

 

 

 

 

 

 

 

 

Height

 

25

 

 

25

 

 

 

 

 

 

 

 

 

Width

 

75

 

 

75

 

 

 

 

 

 

 

 

 

2.2 Подія і функція обробки події

Вид створеної форми підказує, як працює додаток. Очевидно, що користувач

повинен ввести в поля редагування початкові дані

і

клацнути

мишею

на кноп

Обчислити. Клацання на зображенні командної кнопки—

це

приклад

того, що

в

Windows називається подією.

 

 

 

 

Подія (Event) — це те, що відбувається під час роботи програми. У C++ Builder

кожній події привласнено ім'я. Наприклад, клацання кнопкою миші — це подія Onclick подвійне клацання мишею — подія OnDblClick.

У таблиці. 2.9 приведені деякі події Windows.

Таблиця 2.9. Події

17

AB

 

 

 

F

 

 

 

D

 

 

Y

P

B

Y

 

 

 

 

 

 

w

Click

 

 

 

w

 

 

 

w.

 

 

 

A

r

ansf

 

 

T

 

 

 

 

 

or

 

 

 

 

 

m

 

 

 

 

 

e

 

 

 

buy

 

r

 

 

 

0

 

 

 

 

2

 

 

to

 

.

here

 

 

 

 

 

 

 

 

 

 

o

m

 

 

 

.c

 

 

BBYY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F Tran

sf

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

 

 

Y

P

 

 

 

 

 

 

or

e

 

 

 

 

B

Y

 

 

 

 

 

 

 

 

 

 

m

 

 

 

B

 

 

 

 

 

 

 

 

buy

r

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

A

 

 

 

 

 

 

 

 

 

to

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подія

 

Відбувається

 

w

 

Click

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

w

w.

 

 

 

 

 

.

o

OnClick

 

 

 

 

 

 

 

 

A B BYY

 

 

 

 

При клацанні кнопкою миші

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnDblClick

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При подвійному клацанні кнопкою миші

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnMouseDown

 

При натисненні кнопки миші

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnMouseUp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При відпуску кнопки миші

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnMouseMove

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При переміщенні миші

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnKeyPress

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При натисненні клавіші клавіатури

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При

натисненні

клавіші

клавіатури. Події

Onkeydown і

 

OnKeyDown

 

Onkeypress

— це події, що

чергуються, повторюються, які

 

 

відбуваються до тих пір, поки не буде відпущена утримувана

 

 

 

 

 

 

клавіша (у цей момент відбувається подія Onkeyup)

 

 

OnKeyUp

 

 

 

 

 

При відпуску натиснутої клавіші клавіатури

 

 

 

 

 

 

 

 

OnCreate

 

При

створенні

об'єкту(форми, елементу

управління).

 

 

Процедура обробки цієї події зазвичай використовується

для

 

 

ініціалізації змінних, виконання підготовчих дій

 

 

 

 

 

 

 

При появі вікна на екрані на початку роботи програми; під

 

OnPaint

 

час роботи програми після появи вікна(або його частини), яке

 

 

 

було закрите іншим вікном або згорнуте

 

 

OnEnter

 

 

 

 

 

При отриманні елементом управління фокусу

 

 

OnExit

 

 

 

 

 

При втраті елементом управління фокусу

 

 

Реакцією

на

подію

має бути

яка-небудь . діяУ C++ Builder

реакція

на подію

реалізується

як

функція

обробки

події. Таким чином, для того, щоб

програма

виконувала деяку роботу у відповідь на дії користувача, програміст

повинен написати

функцію обробки відповідної події. Слід звернути увагу на ,тещо значну частину обробки подій бере на себе компонент. Тому програміст повинен розробляти функцію обробки події тільки в тому випад, якщоу реакція на подію відрізняється від

стандартної або не визначена. Наприклад, якщо по умові завдання обмежень на

символи, що вводяться в полеEdit немає, то процедуру обробки подіїonkeypress

писати не треба, оскільки

під час

роботи

програми буде використана стандартна

(прихована від програміста) процедура обробки цієї події.

Методику створення

функцій

обробки

подій розглянемо на прикладі функції

обробки події OnClick для командної кнопки Обчислити.

Щоб приступити до створення функції обробки події, спочатку треба вибрати компонент, для якого створюється функція обробки події. Вибрати компонент можна у вікні Object Inspector або клацанням на зображенні компоненту у формі. Після цього у вікні Object Inspector потрібно вибрати вкладку Events (Події).

У лівій колонці вкладки Events (мал. 2.18) перераховані події, які може сприймати вибраний компонент (ім'я і тип компоненту вказані у верхній частині вікна). Якщо для

події визначена функція обробки, то в правій колонці поряд з ім'ям події буде виведено

ім'я цієї функції.

18

AB

 

 

 

F

 

 

 

D

 

 

Y

P

B

Y

 

 

 

 

 

 

w

Click

 

 

 

w

 

 

 

w.

 

 

 

A

Tran

sf

 

 

 

 

 

 

 

 

 

F Tran

sf

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

or

e

 

 

 

Y

P

 

 

 

 

or

e

 

 

 

 

m

 

B

Y

 

 

 

 

 

 

 

 

m

 

 

buy

 

r

B

 

 

 

 

 

 

buy

r

 

 

 

2

 

 

 

 

 

 

 

2

 

 

 

0

 

 

 

 

 

 

 

 

0

 

to

 

 

 

 

.

A

 

 

 

 

 

 

 

to

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

 

 

 

 

 

 

Для того, щоб створити функцію

 

 

 

 

 

Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обробки події, потрібно зробити подвійне

 

 

 

m

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

 

 

 

 

o

 

 

 

 

w

 

 

 

 

 

 

o

 

 

 

c

 

клацання мишею у вікніObject Inspector у полі функції обробки відповідної події(мал.

 

 

 

c

 

 

 

.

 

 

 

 

 

 

 

 

w.

 

 

.

 

 

BBYY

 

 

 

 

 

 

 

 

 

 

A B BYY

 

 

 

2.19). В результаті цього відкриється вікно редактора коду, в яке буде доданий шаблон функції обробки події, а у вікні Object Inspector поряд з ім'ям події з'явиться ім'я функції обробки події, що згенерувало C++ Builder (мал. 2.19).

Мал. 2.18. На вкладці Events перераховані події, які може сприймати компонент (в даному випадку — командна кнопка)

Мал. 2.19. Шаблон функції обробки події, C++ Builder, що згенерував

C++ Builder привласнює функції обробки події ім'я, яке складається з двох частин. Перша частина імені ідентифікує форму, що містить об'єкт(компонент), для якого

19

AB

 

 

 

F

 

 

 

D

 

 

Y

P

B

Y

 

 

 

 

 

 

w

Click

 

 

 

w

 

 

 

w.

 

 

 

A

Tran

sf

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

D

 

 

 

or

e

 

 

 

Y

P

 

 

 

 

 

m

 

B

Y

 

 

 

 

 

 

buy

 

r

B

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

to

 

 

 

 

.

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

створена процедура обробки події. Друга частина імені ідентифікує сам об'єкт і подію. У

 

 

 

 

 

m

 

w

 

 

 

 

 

.

o

 

 

 

 

w

w.

 

 

 

 

c

 

нашому прикладі ім'я форми— Form1 ім'я командної кнопки — Button1 а ім'я події —

BBYY

 

 

 

 

 

 

 

 

 

 

A

Click.

r

 

 

 

T ansf

 

 

 

or

 

 

 

m

 

 

 

e

 

 

buy

r

 

 

0

 

 

 

2

 

to

 

.

here

 

 

 

 

 

 

 

 

m

 

 

o

 

 

.c

 

B BYY

 

У вікні редактора коду між фігурними дужками можна набирати інструкції, що

реалізовують функцію обробки події.

У лістингу 2.1 приведений текст функції обробки подіїonclick для командної кнопки Обчислити. Звернете увагу на те, як представлена програма. Її загальний вигляд відповідає тому, як вона виглядає у вікні редактора коду: ключові слова виділені

напівжирним шрифтом, коментарі — курсивом (виділення виконує редактор коду). Крім того, інструкції програми набрані з відступами відповідно до прийнятих в середовищі програмістів правил хорошого стилю.

Лістинг 2.1. Проста обробка події OnClick на кнопці Обчислити void__fastcall TForml::ButtonlClick(TObject *Sender)

{

float u; // напруга float r; // опір float i; // струм

// отримати дані з полів введення u = StrToFloat(Editl->text);

r = StrToFloat(Edit2->text); // обчислити струм

i = u/r;

// вивести результат в полі влучні

Label4->Caption = "Струм : " +

FloatToStrf(i,ffgeneral,7,2)+ "А";

}

Функція Button1Click виконує розрахунок сили струму і виводить результат

розрахунку в поліLabel4. Початкові дані вводяться з полів редагуванняEdit1 і Edit2 шляхом звернення до властивості Text. Властивість Text містить рядок символів, який

ввів користувач. Щоб програма працювала правильно, користувач повинен ввести в

кожне поле редагування ціле або дробове число в правильному форматі(при введенні

дробового числа для розділення цілої і дробової частин треба використовувати кому). Оскільки поле редагування містить текст(властивість Text строкового типу), необхідно

виконати перетворення рядка в число. Цю задачу вирішує функціяStrToFloat якій як

20