Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pract.doc
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
401.41 Кб
Скачать

Приклад виконання 1

Розглянемо на прикладі простий додаток, який буде вміщувати в себе основні візуальні компоненти С++ Builder.

Створимо програму-приклад — примітивний калькулятор. Спочатку створимо новий проект за допомогою команди меню File / New Application.

Розмістимо на ньому ті візуальні об’єкти які використовуватимемо в програмі. Для цього знадобиться три елементи Edit, два елементи Label і сім елементів Button. Розташуємо їх на формі у такому порядку, як на рис. 6.6.

Рис. 6.6. Розташування компонентів на формі

Змінимо властивість Caption усіх об’єктів на значення, які нам знадобляться у роботі. Поле Edit1 буде відповідати за перший елемент, поле Edit2 — за другий, а чотири кнопки між ними — за математичні операції (+, -, *, /). Поле Edit3 буде відповідати за результат. Також змінимо колір форми за допомогою властивості Color: зробимо його синім. Потім змінимо шрифт деяких об’єктів. За допомогою властивості Alignment вирівняємо по центру напис на Labe1l. Отже, після цих змін отримаємо такий результат, який показано на рис. 6.7.

Рис. 6.7. Вигляд форми під час роботи програми

Тепер уведемо код кнопок операцій. Натиснемо два рази на кнопку Button1 і запишемо:

Edit3->Text=FloatToStr(StrToFloat(Edit1->Text)+

StrToFloat(Edit2->Text));

Звернення до властивостей об’єктів проходить через знак ->. У компонента Edit заміcть властивості Caption є властивість Text, яка відповідає за текст у полі Edit. Функція StrToFloat() переводить тип AnsiString (аналог String з деякими іншими можливостями) у тип Float, функція FloatToStr — навпаки. Отже, цей рядок коду додає два значення Edit1 i Edit2 і виводить суму в Edit3. Допишемо ще такий рядок:

Label2->Caption = "Додавання";

Після натискання на кнопку операції + буде видаватися її назва на місці =.

Аналогічно описуємо інші кнопки операцій:

// Віднімання

Edit3->Text=FloatToStr(StrToFloat(Edit1->Text)-

StrToFloat(Edit2->Text));

Label2->Caption="Віднімання";

// Множення

Edit3->Text=FloatToStr(StrToFloat(Edit1->Text)*

StrToFloat(Edit2->Text));

Label2->Caption = "Множення";

// Ділення

if (Edit2->Text != "0")

{Edit3->Text = Edit1->Text.ToDouble() /

Edit2->Text.ToDouble();

Label2->Caption = "Ділення";}

else { Label2->Caption="Ділення на нуль неможливе";

Edit3->Text="";}

// Враховуємо

// неможливість ділення на нуль.

Функція ToDouble() переводить тип AnsiString в Double і викликається через крапку — Text.ToDouble().

Опишемо кнопку Button7 (Вихід), та Button5 (Очистка):

exit(1); // Вихід з програми

Edit1->Text="0";Edit2->Text="0"; // Установлення початкових

Edit3->Text=""; Label2->Caption="="; // значень

Тепер створимо в проекті ще одну форму за допомогою команди меню File / New Form. Щоб мати змогу звертатись до другої форми з першої, треба підключити її в першу форму. Отже, допишемо такий рядок:

#include "Unit2.h"

Розмістимо на другій формі три компоненти Label1, Label2, Button1. Після деяких змін форма буде виглядати так, як показано на рис. 6.8.

Рис. 6.8. Розташування компонентів на формі виведення результату

Тепер опишемо кнопку Button6 (Вивести результат в окремій формі), яка і буде викликати Form2, звертатись до неї треба через її назву:

Form2->Label1->Caption = Edit3->Text; // Зміна напису на

// Label1 на значення результату підрахунків

Form2->ShowModal(); // Метод відображення модальної форми

Кнопка Button1 ( Закрити ) має такий код:

Form2->Close(); // Метод, який закриває форму

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]