Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
30.05.2020
Размер:
670.78 Кб
Скачать

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

 

 

 

 

 

 

 

 

{

Showmessage("Величина опору не має дорівнювати нулю"); Edit2->setfocus(); // курсор в полі Опір

return;

}

// вивести результат в полі Label4 Label4->caption = "Струм : " + Floattostrf(i,ffgeneral,7,2)+ " А";

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

 

 

 

 

 

 

 

 

}

// натиснення клавіші в полі Напруга

void __fastcall Tforml::editlkeypress(Tobject *Sender, char Skey)

{

//коду заборонених клавіш замінимо нулем, в результаті

//символи цих клавіш в полі редагування не з'являться

//Кеу — код натиснутої клавіші

//перевіримо, чи є символ допустимим

if ( ( Кеу >= '0') && ( Кеу <= '9'})

//цифра return;

//Глобальна змінна Decimalseparator

//містить символ, використовуваний як роздільник

//при записі дробових чисел

if ( Кеу == Decimalseparator)

{

if ( (Editl-xtext).Pos(Decimalseparator) != 0)

Кеу =0; // роздільник вже введений return;

}

41

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F Tran

sf

 

 

 

 

 

 

D

 

 

 

 

 

 

 

Y

P

 

 

 

 

or

e

 

 

B

Y

 

 

 

 

 

 

m

 

B

 

 

 

 

 

buy

r

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

0

 

A

 

 

 

 

 

 

to

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here

 

 

 

if (Кеу == Vk_back) // клавіша <Backspace>

 

wwClick

 

 

 

 

 

 

 

 

om

 

 

 

 

 

w. .

 

 

 

 

 

 

 

A B BYY

c

 

 

 

 

 

 

 

 

 

return;

if ( Кеу == Vk_return) // клавіша <Enter>

{

Edit2->setfocus() ; return;

};

//решта клавіш заборонена Кеу =0;

//не відображати символ

}

// натиснення клавіші в полі Опір

void__fastcall Tforml::edit2keydown(Tobject *Sender, WORD &Key, Tshiftstate Shift)

{

if ( ( Кеу >= '0') && ( Кеу <= '9')) // цифра return;

if ( Кеу == Decimalseparator)

{

if ( (Edit2->text).Pos(Decimalseparator) != 0)

Кеу =0; // роздільник вже введений return;

}

if (Кеу == Vk_back) // клавіша <Backspace> return; <

if ( Кеу == Vk_retorn) // клавіша <Enter>

(

Buttonl->setfocus(); // перехід до кнопки Обчислити

42

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

 

 

 

 

 

 

 

 

//повторне натиснення клавіші <Enter>

//активізує процес обчислення струму

return;

}; // решта клавіш заборонена Кеу = 0; //не відображати символ

}

// клацання на кнопці Завершити

void __fastcall Tforml::button2click(Tobject *Sender)

{

Forml->close(); // закрити форму додатку }

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.16 Налаштування додатку

Після того, як програма відладжена, необхідно виконати її остаточне налаштування: задати назву програми і значок, який зображатиме виконуваний файл додатку в теці, на робочому столі і на Панелі завдань під час роботи програми.

2.16.1 Назва програми

Назва програми відображається під час її роботи в панелі завданьWindows, а

також в заголовках вікон повідомлень, що виводяться функцією ShowMessage.

Назву програми треба ввести в полеTitle (мал. 2.38) вкладки Application діалогового вікна ProjectOptions яке з'являється в результаті вибору в менюProject

команди Options.

43

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.38. Назву програми треба ввести в поле Title

2.16.2 Значок додатку

Щоб призначити додатку значок, відмінний від стандартного, потрібно в меню Project вибрати команду Options і у вікні, що відкрилося, на вкладці Application клацнути на кнопці Load Icon. В результаті цих дій відкриється стандартне вікно, використовуючи

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

файлах з розширенням ico).

До складу C++ Builder входить утиліта Image Editor (Редактор зображень)за

допомогою якої програміст може створити для свого застосування унікальний значок.

Запустити Image Editor можна з C++ Builder, вибравши в меню Tools команду Image Editor або з Windows — командою Пуск | Програми | Borland C++ Builder | Image Editor.

Щоб почати роботу із створення нового значка, потрібно в менюFile вибрати команду New | Icon File(мал. 2.39).

44

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.39. Початок роботи над новим значком

Після вибору типу створюваного файлу відкривається вікноIcon Properties (мал.

2.40), у якому необхідно вибрати характеристики створюваного значка: Size (Розмір) — 32x32 (стандартний розмір значків Windows) і Colors (Палітра) — 16 квітів. В результаті

натиснення кнопки ОК відкривається вікноIconl.ico (мал. 2.41)у якому можна,

використовуючи стандартні інструменти і палітру, намалювати потрібний значок.

Мал. 2.40. Стандартні характеристики значка

45

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.41. Початок роботи над новим значком

Процес малювання в Image Editor практично нічим не відрізняється від процесу створення картинки в звичайному графічному редакторові, наприклад в Microsoft Paint. Проте є одна тонкість. Первинне поле зображення закрашено"прозорим" кольором.

Якщо значок намалювати на цьому фоні, то при відображенні значка частини поля

зображення, закрашені "прозорим" кольором, приймуть колір фону, на якому знаходитиметься значок.

В процесі створення картинки можна видалити(стерти) помилково намальовані елементи, закрасивши їх прозорим кольором, якому на палітрі відповідає лівий квадрат в нижньому ряду (мал. 2.42).

Окрім "прозорого" кольору в палітрі "єінверсний" колір. Намальовані цим кольором частини малюнка при виводі на екран будуть забарвлені інверсним щодо кольору фону кольором.

Мал. 2.42. Палітра

46

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Щоб зберегти намальований значок, треба в меню File вибрати команду Saveу

 

 

 

 

 

m

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

 

 

 

 

o

 

 

 

 

w

 

 

 

 

 

 

o

 

 

 

c

 

діалоговому вікні, що відкрилося, розкрити теку проекту (додатку, для якого створений

 

 

c

 

 

 

.

 

 

 

 

 

 

 

 

w.

 

 

.

 

 

BBYY

 

 

 

 

 

 

 

 

 

 

A B BYY

 

 

 

 

 

 

 

 

 

значок) і задати ім'я файлу значка, яке зазвичай

збігається з ім'ям проекту

 

 

 

 

 

 

(виконуваного файлу додатку).

 

 

 

 

 

 

 

 

 

 

 

 

 

2.16.3 Перенесення додатку на інший комп'ютер

Невелику програму, яка використовує тільки стандартні компоненти і є одинєдиним ехе-файл, можна перенести на інший комп'ютер уручну, наприклад, за допомогою дискети. Як правило, при запуску таких програм на іншому комп'ютері проблем не виникає. Разом з тим, необхідно звернути увагу на наступне. Програма,

створена в C++ Builder, використовує DLL версію бібліотеки часу виконання(RTL — Runtime Library) і спеціальні динамічні бібліотеки— пакети (наприклад, в пакеті Vcl60

знаходяться найбільш часто використовувані компоненти і системні функції). Щоб програма могла працювати на іншому комп'ютері, окрім ехе-файла на цей комп'ютер треба перенести RTL-библиотеку і використовувані програмою пакети або включити

бібліотеку і пакети в ехе-файл (що істотно збільшить розмір ехе-файла). Щоб включити у виконуваний файлRTL-библиотеку і використовувані програмою пакети, треба в меню Project вибрати команду Options і у вкладках Linker(мал. 2.43) і Packages (мал.

2.44) скинути відповідно прапорці Use dynamic RTL і Build with runtimepackages. Після

цього потрібно виконати перекомпонування програми.

Складні програми, наприклад ті, які використовують компоненти доступу до баз даних, перенести на інший комп'ютер уручну проблематично. Для таких програм краще створити настановну дискету (CD-ROM). Зробити це можна, наприклад, за допомогою пакету Installshield Express який входить в комплект постачання C++ Builder.

47

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.43. Щоб включити у виконуваний файлRTL-библиотеку, скиньте прапорець Use dynamic RTL

48

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

Мал. 2.44. Щоб включити у виконуваний файл використовувані програмою пакети

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

o

(спеціальні DLL-библиотеки), скиньте прапорець Build with runtime packages

 

 

 

w

w.

 

 

 

 

 

o

 

 

 

c

 

 

 

 

 

 

 

 

 

 

c

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

.

 

 

BBYY

 

 

 

 

 

 

 

 

 

 

 

A B BYY

 

 

 

2.16.4 Структура простого проекту

Проектом є набір програмних одиниць — модулів.

Одін з модулів, званий головним, містить інструкції, з яких починається виконання

програми. Щоб побачити головний модуль, потрібно в меню Project вибрати команду View Source . Як приклад в лістингу2.5 приведений текст головного модуля програми

"Сила струму".

Лістинг 2.5. Головний модуль (Amper.cpp)

#include <vcl.h> #pragma hdrstop

USEFORM("Amper_l.cpp", Forml);

WINAPI Winmain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->initialize();

Application->title = "Сила струму";

Application->createform(__classid(Tforml), Sforml);

Application->run(); }

catch (Exception Sexception)

{

Application->showexception(Sexception);

}

catch (...)

{

49

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

 

 

 

 

 

 

 

 

try

{

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

 

 

 

 

 

 

 

 

throw Exception("");

}

catch (Exception Sexception)

{

Application->showexception(Sexception);

}

 

 

 

 

}

 

 

 

 

return 0;

 

 

 

 

}

 

 

 

 

Починається

головний

модуль

директивами

компілятору(точніше,

препроцесору). Директива #include

<vci.h> інформує компілятор,

що перш ніж

приступити безпосередньо до компіляції, в текст головного модуля потрібно включити заголовний файл бібліотеки візуальних компонентів— vcl.h. Рядок

USEFORM("Amper_i.cpp", Form1) указує, що в проект потрібно включити файл модуля

формиAmper_l.cpp який містить функції обробки подій для формиForm1. Далі слідує опис головної функції програми— winmain. Функція winmain ініціалізував внутрішні структури програми, створює форму Formi і запускає програму, що приводить до появи на екрані стартової форми. Оскільки в проекті "Сила струму" тільки одна форма, то на

екрані саме вона і з'являється. Інструкція обробки виключеньcatch виконується, якщо в

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

стартової форми.

Окрім головного модуля до складу проекту входять модулі форми. Для кожної форми C++ Builder створює окремий модуль, який складається з двох файлів: заголовного файлу і файлу коду (вміст цих файлів відбивається у вікні редактора коду). Заголовний файл містить опис форми (лістинг 2.6), файл коду (модуль форми) — опис (текст) функцій, у тому числі і обробки подій (лістинг 2.7).

Лістинг 2.6. Заголовний файл модуля форми (Amper_1.h)

#ifndef Amper_1h

#define Amper_1h

#include <Classes.hpp>

50