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
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 |
|
|
|
D |
|
|
Y |
P |
B |
Y |
|
|
|
|
||
|
|
|
|
w |
Click |
||
|
|||
|
|
w |
|
|
|
|
w. |
|
|
|
A |
r |
|
|
|
T ansf |
|
||
|
|
or |
|
|
|
m |
|
|
|
|
e |
|
|
buy |
r |
|
|
0 |
|
|
|
|
2 |
|
to |
|
. |
here |
|
|
|
|
|
|
|
|
|
|
m |
|
|
o |
|
|
|
.c |
|
B BYY |
|
||
Мал. 2.23. Вікно ClassExplorer полегшує навігацію по тексту програми
Вікно навігатора класів можна закрити звичайним способом. Якщо вікно
навігатора класів не доступне, то для того, щоб воно з'явилося на екрані, потрібно в
меню View вибрати команду ClassExplorer.
2.6 Шаблони коду
В процесі набору тексту зручно використовувати шаблони коду (Code Templates). Шаблон коду — це інструкція програми, записана в загальному вигляді. Наприклад, шаблон для інструкції if виглядає так:
if ()
{
}
else
{
}
24
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 |
|
вибору (if, switch), циклів (for, while). Для деяких інструкцій, |
|
|
c |
|
||||||||||
|
|
. |
|
|
|
|
|
|
|
|
w. |
|
|
. |
|
|
|||
BBYY |
|
|
|
|
|
|
|
|
|
|
A B BYY |
|
|
|
|||||
наприклад для if і while є декілька варіантів шаблонів.
Для того, щоб в процесі набору тексту програми скористатися шаблоном коду і
вставити його в текст програми, потрібно натиснути комбінацію клавіш<Ctrl>+<j> і із списку, що з'явився, вибрати потрібний шаблон(мал. 2.24). Вибрати шаблон можна звичайним способом, прокручувавши список, або введенням перших букв імені
шаблону (імена шаблонів в списку виділені напівжирним). Вибравши в списку шаблон, потрібно натиснути клавішу <Enter>, шаблон буде вставлений в текст програми.
Мал. 2.24. Список шаблонів коду відображається в результаті натиснення
<Ctrl>+<j>
Мал. 2.25. У поля діалогового вікна треба ввести ім'я шаблону і його короткий
опис
Програміст може створити свій власний шаблон коду і використовувати його точно так, як і стандартний. Для того, щоб створити шаблон коду, потрібно в меню Tools вибрати команду Editor Options і у вікні Code Insight клацнути на кнопці Add. У вікні, що
25