ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 13.09.2024
Просмотров: 45
Скачиваний: 0
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
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 |
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
поля редагування— значення властивості Text (Edit1- |
|||||||
|
|
|
|
|
m |
|
w |
|
|
|
|||
|
|
. |
o |
|
|
|
|
w |
w. |
|
|||
|
|
|
c |
|
>Тext — це вміст поля Edit1). Функція StrToFloat перевіряє символи рядка, переданого |
||||||||
BBYY |
|
|
|
|
|
|
|
|
|
|
A |
їй як параметр, на допустимість і, якщо всі символи вірні, повертає значення, відповідне рядку, отриманому як параметр.
r |
|
|
|
T ansf |
|
||
|
|
or |
|
|
|
m |
|
|
|
|
e |
|
|
buy |
r |
|
|
0 |
|
|
|
|
2 |
|
to |
|
. |
here |
|
|
|
|
|
|
|
|
|
|
m |
|
|
o |
|
|
|
.c |
|
B BYY |
|
Після того, як початкові дані будуть поміщені в змінніu |
r виконується |
розрахунок. |
|
Обчислена величина сили струму виводиться в поліLabel4 шляхом надання значення властивості Caption. Для перетворення числа в рядок символів(властивість Caption— строкового типу) використовується функція FloatToStrf.
У лістингу 2.2 приведена процедура обробки подіїOnClick на командній кнопці Завершити. Створюється вона точно так, як і процедура обробки подіїOnClick для
командної кнопки Обчислити. В результаті клацання на кнопці Завершити програма повинна завершити роботу. Щоб це відбулося, треба закрити вікно програми. Робить це
метод Close.
Лістинг 2.2. Процедура обробки події OnClick на кнопці Завершити
void __fastcall TForml::Button2Click(TObject*Sender)
{
Forml->Close();
}
2.3 Редактор коду
Під час набору тексту програми редактор коду автоматично виділяє елементи програми: напівжирним шрифтом — ключові слова мови програмування (if, else, int, float
і ін.), курсивом — коментарі. Це робить текст програми виразнішим, що полегшує сприйняття структури програми.
В процесі розробки програми часто виникає необхідність перемикання між вікном редактора коду і вікном форми. Зробити це можна за допомогою командної кнопки
Toggle Form/Unit яка знаходиться на панелі інструментівView (мал. 2.20)або натиснувши клавішу <F12>. На панелі інструментів View знаходяться командні кнопки
View Unit і View Form, використовуючи які можна вибрати потрібний модуль або форму, у випадку, якщо проект складається з декількох модулів або форм.
21
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 |
Мал. 2.20. Кнопка Toggle Form/unit дозволяє швидко перемикатися між формою |
|
|||||||
|
|
|
|
|
|
|
w |
|
|
|
||||
|
|
. |
o |
редактором коду |
|
|
|
w |
w. |
|
||||
BBYY |
c |
|
|
|
|
|
|
|
|
|
A |
|||
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
T ansf |
|
||
|
|
or |
|
|
|
m |
|
|
|
|
e |
|
|
buy |
r |
|
|
0 |
|
|
|
|
2 |
|
to |
|
. |
here |
|
|
|
|
|
|
|
і |
|
|
m |
|
|
o |
|
|
|
.c |
|
B BYY |
|
2.4 Система підказок
Редактор коду підтримує функцію контекстно-залежної підказки, яка під час
набору тексту програми автоматично виводить коротку довідкову інформацію про властивості і методи об'єктів, про параметри функцій.
Наприклад, після того, як буде набрано ім'я об'єкту(компоненту) і символи, редактор коду автоматично виведе список властивостей і методів об'єкту(мал. 2.21).
Програмістові залишиться тільки вибрати із списку потрібний елемент і натиснути клавішу <Enter> (швидко перейти до потрібного елементу списку або до області, де цей елемент знаходиться, можна, натиснувши клавішу, відповідну першому символу цього
елементу).
Мал. 2.21. Редактор коду автоматично виводить список властивостей і методів об'єкту (компоненту)
Слід звернути увагу, що якщо список властивостей і методів не з'являється, то це означає, що в програмі виявлена помилка (C++ Builder контролює правильність тексту, що набирає програміст, в "фоновому" режимі). Наприклад, якщо у вікні редактора коду
набрати if Edit1->то список властивостей і методів об'єктуEdit1 не з'явиться, оскільки
інструкція if в даному випадку записана з помилкою(не поставлена відкриваюча дужка після if). C++ Builder інформує програміста про виявлену помилку повідомленням
Unable to invoke Code Completion due to errors in source code яке з'являється в нижній частині вікна редактора коду.
Після набору імені вбудованої або оголошеної програмістом функції редактор
коду також виводить підказку: список параметрів. Параметр, який в даний момент
вводить програміст, в підказці виділений напівжирним. Наприклад, якщо набрати слово
22
AB
|
|
|
F |
|
|
|
D |
|
|
Y |
P |
B |
Y |
|
|
|
|
||
|
|
|
|
w |
Click |
||
|
|||
|
|
w |
|
|
|
|
w. |
|
|
|
A |
r |
ansf |
|
|
||
T |
|
|
|||
|
|
|
or |
|
|
|
|
|
m |
|
|
|
|
|
|
e |
|
|
|
|
buy |
r |
|
|
|
|
0 |
|
|
|
|
|
|
2 |
|
|
|
to |
|
. |
|
here |
|
|
|
||
|
|
FloatToStrf яке є ім'ям |
функції перетворення |
||
|
|
|
|
||
|
|
|
|
m |
на екрані з'явиться |
|
|
|
o |
||
|
|
|
.c |
відкриваючу дужку, то |
|
BBYY |
|
|
параметрів функції (мал. 2.22).
|
|
|
|
|
|
|
|
|
|
F Tran |
sf |
|
|
|||
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|||
|
|
|
|
|
|
|
Y |
P |
|
|
|
|
or |
e |
||
|
|
|
|
|
B |
Y |
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
B |
|
|
|
|
|
|
buy |
r |
||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
0 |
||||
|
|
|
|
A |
|
|
|
|
|
|
|
to |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
here |
|
|
|
|
|
дробового |
числа |
в рядок |
|
|
|
|
|
Click |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||||
символів, |
m |
|||||||||||||||
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|||
вікно, |
якому |
буде |
вказаний |
|
|
|
w |
w. . |
o |
|||||||
|
|
список |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
A B BYY |
c |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Мал. 2.22. Приклад підказки
2.5 Навігатор класів
Вікно редактора коду розділене на дві частини(мал. 2.23). У правій частині знаходиться текст програми. Ліва частина, яка називається навігатор класів (ClassExplorer), полегшує навігацію по тексту(коду) програми. У ієрархічному списку, структура якого залежить від проекту, над яким йде робота, перераховані об'єкти проекту (форми і компоненти) і функції обробки подій. Вибравши елемент списку, можна швидко перейти до потрібного фрагмента коду, наприклад до функції обробки події.
23