Лабораторна робота №30
“Об’єктно-орієнтоване програмування в C++ Builder”
Мета роботи: Створити віконний проект та продемонструвати використання візуальних компонентів Borland C++ Builder.
Контрольні питання
Пояснити призначення компоненти Label.
Компонента Label часто використовується при написанні різноманітних застосувань для відображення тексту, надписів на формі.
Пояснити призначення компоненти Edit.
Ця компонента не лише відображає текст (як це робить Label), але й дає можливість користувачу під час виконання застосування його вводити.
Чим відрізняються кнопки Button та BitBtn.
BitBtn – це кнопка, на котру можна накласти піктограму. Із кнопкою Button таке зробити не можна.
Пояснити призначення компонент CheckBox і CheckBoxList.
Індикатори з прапорцем CheckBox використовуються в застосуваннях в основному для того, щоб користувач мав змогу вмикати і вимикати певні опції або для індикації стану.
CheckBoxList – компонента, що має індикатори. У ній біля кожного рядка списку є індикатор, стан якого користувач може змінювати.
Які три стани може мати компонента CheckBox.
Компонента CheckBox може мати три стани: виділене(поява чорної галочки), проміжне(сіре вікно індикатора і сіра галочка) і не виділене (порожнє вікно індикатора). Цим трьом станам відповідають три значення властивості State: cbChecked, cbGrayed,cbUnchecked.
Пояснити призначення компоненти CspinEdit.
CspinEdit – це компонента, в якій користувач може вибирати ціле число, змінюючи його кнопками із стрілками.
Як можна задати мінімальне та максимальне значення для компоненти CspinEdit.
Компонента CspinEdit дає змогу обмежити максмальне і мінімальне можливе значення, задавши MaxValue і MinValue. Якщо значення цих двох властивостей, тобтоMaxValue і MinValue, однакові, то вважається, що обмежень на значення немає.
Що таке подія у візуальному програмуванні?
Події дозволяють класу або об’єкту повідомити інші класи чи об’єкти про те, що відбулося «щось цікаве». Говорять, що клас, який посилає повідомлення про подію, її породжує (raise), а клас, який її приймає – її отримує (handle).
При взаємодії користувача із програмою програма реагує на дії користувача за допомогою подій, які можуть породжуватися тими чи іншими об’єктами.
Яка основна подія кнопки?
Основна подія будь-якої кнопки – onclick.
Як здійснюється доступ в коді до властивостей і методів?
Доступ в коді до властивостей і методів здійснюється так: спочатку записують назву об’єкта (наприклад, label2), потім символи «->», далі ім’я властивості чи методу.
Пояснити призначення функцій FloatToStr та IntToStr.
FloatToStr – функція, яка перетворює числа з плаваючою комою в рядок.
IntToStr – функція, яка перетворює цілі числа в рядок.
Пояснити призначення властивості Name.
Важливою властивістю є Name. Ім’я компоненту. Використовується в програмі для доступу до компоненту і його властивостей, зокрема до тексту, який знаходиться в полі редагування. При додаванні нової компоненти на форму C++ Builder призначає їй ім’я за замовчуванням у вигляді: <Назва компонента><порядковий номер>. Але рекомендується його змінити для того, щоб воно мало смислове навантаження.
Яка властивість компоненти задає їй колір та шрифт?
Колір та шрифт задає властивість компоненти, яка називається Font.
Як програмно задати розташування компоненти на формі?
Розташування всіх візуальних компонентів на формі визначається властивостямиLeft, Top, Height, Width, що представляють координати верхнього лівого кута компоненти (x, y), висоту і ширину компоненти відповідно. Змінюючи дані властивості програмно, ми змінюємо розташування компонентів на формі.
Як програмно приховати/показати компоненту на формі?
За відображення компоненти на формі відповідає властивість Visible. Якщо властивість Visible встановити в false, то компонента стає невидимою (якщо вона була видимою). Якщо властивість Visible встановити в true, то компонета стає видимою (якщо вона була невидимою).
Описати процес написання коду для обробника події.
Спочатку в інспекторі об’єктів вибираємо закладку подій (Events). Наприклад, нам потрібно запрограмувати обробник події OnCreate. Якщо потрібно створити новий розробник, то зробіть подвійне клацання на порожньому вікні списку, який знаходиться поряд з ім’ям цієї події у закладці Events. Ви потрапите у вікно Редактор коду, в якому побачите заготовку компілятора.
void fastcall Form1::FormCreate(TObject *Sender)
{
}
Після цього в проміжку між дужками “{”, “}” можна написати необхідний код програми.
Як можна забезпечити для декількох різних компонент виконання одного обробника події?
Для різних компонент ми виділяємо певні події в закладці подій (Events). Поряд з вікном цих події відкриється вікно з випадаючим списком. Серед цього списку обираємо вибираємо один і той самий розробник події для всіх подій. Тепер при виникненні даних подій спрацьовуватиме однаковий розробник.
Виконання програми
Такий кінцевий вигляд має форма калькулятора.
Фрагменти тексту програми
Висновок.