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

Начальна практика

Тема. Програмне середовище С++ Builder.

Мета роботи: освоїти принципи візуального програмування, вивчити основні функціональні можливості С++ Builder, навчитися працювати з головними візуальними компонентами С++ Builder.

Теоретичні відомості

Основні файли та їх призначення. Програмне розв’язування задачі на комп’ютері реалізується у вигляді додатка. Додаток — це складний елемент, що створюється з декількох окремих частин. Кожна частина розміщується в окремому файлі і виконує строго визначені функції. Набір файлів, потрібних для створення додатка, називають проектом. Компілятор послідовно обробляє файли проекту, і якщо немає синтаксичних помилок, будує виконуваний файл.

Файли опису форм — це двійкові файли з розширенням .DFM, у яких описуються компоненти форми. У цих файлах зберігається початкове значення властивостей, заданих за допомогою інспектора об’єктів (Object Inspector).

Ознайомлення з візуальним середовищем, як правило, починається з форми. Перша складова частина проекту — це двійковий файл з розширенням .DFM, що описує форму. В цьому файлі зберігаються всі значення властивостей форми та її компонентів, які були створені під час проектування додатка. Кількість DFM-файлів дорівнює кількості створених для додатка форм.

Іноді DFM-файл називають графічним образом форми. Це тільки порівняння. Розробник повинен знати про форму дещо більше. Насправді образ форми, що зберігається у DFM-файлі, не є графічним. У DFM-файлі просто зберігаються вихідні значення властивостей форми і її компонентів, які були задані в інспекторі об’єктів. Хоча DFM-файл є двійковим, існує його текстове подання. Займатися його вивченням немає сенсу (інакше для чого візуальне середовище?), але ознайомитися з ним буде дуже корисно. Для його перегляду треба скористатись командою контекстного меню View as Text.

Файли програмних модулів — текстові файли з розширенням .H і .СРР, ім’я яких збігається з іменем відповідного файлу .DFM. У цих файлах міститься програмний код форми мовою С++. При цьому у заголовному файлі розміщується інтерфейсна частина форми, а у файлі .СРР — відповідна реалізація. Крім того, у файлах .СРР розміщується також код обробників подій.

Кожній формі візуального середовища відповідає свій програмний модуль, який складається з двох файлів: заголовного файлу з розширенням .Н і програмного файлу з розширенням .СРР. Заголовний файл містить опис програмного інтерфейсу форми мовою С++. Він генерується середовищем С++ Builder автоматично. Програмний файл вміщує реалізацію інтерфейсу форми мовою С++, зокрема методи обробки подій. Він створюється програмістом.

Кількість програмних модулів може перевищувати кількість форм. Чому? Тому що в ряді випадків програмні модулі можуть і не належати до форми, а вміщувати допоміжні підпрограми і дані.

Зазвичай в редакторі видно лише СРР-файл, оскільки саме в ньому описується алгоритм розв’язання задачі. Н-файл залишається скритим доти, доки не буде вибрано команду контекстного меню Open/Sourse/Header File.

В результаті виконання цієї команди в редакторі коду з’явиться сторінка такого змісту, як показано на рис. 6.1.

Рис. 6.1. Зміст заголовного файлу

Справді, як компілятор визначить, які конкретно файли належать до проекту? Повинен існувати якийсь "центр" збереження такої інформації. Так воно і є. Це два файли: головний програмний файл з розширенням .СРР і відповідний файл проекту з розширенням .BPR. Імена головного програмного файлу і файлу проекту завжди збігаються.

Головний програмний файл — текстовий файл з розширенням .СРР, що містить список усіх потрібних програмних модулів, а також стандартну для всіх програм мовою С++ функцію WinMain(), що забезпечує запуск додатка. Головний програмний файл створюється і контролюється середовищем С++Builder автоматично.

Файл проекту — текстовий файл з розширенням .BPR, у якому розташована інформація, потрібна для компілятора, що використовується в процесі трансляції і компонування програмних модулів. Він також створюється автоматично.

Інші файли проекту. Крім розглянутих основних файлів проекту, існує також файл ресурсів з розширенням .RES (скорочення від RESource). Зокрема, в такому файлі зберігається піктограма додатка, що буде відображатись на панелі задач під час його роботи.

У проект можуть входити також логічно незалежні елементи: растрові зображення (ВМР-файли), піктограми (ІСО-файли), файли довідників (НLР-файли) тощо, але ними керує сам програміст.

Тепер можна уточнити схему, що відображає структуру проекту (рис. 6.2).

Рис. 6.2. Структура проекту

Робота із С++ Builder. С++ Builder є середовищем візуального програмування. Його можна віднести до класу засобів швидкої розробки додатків, або RAD-засобів (Rapid Application Development). Тому підхід до розробки додатків зводиться до широкого використання візуальних засобів програмування при мінімальному написанні коду. С++ Builder (рис. 6.3) може створювати як консольні додатки, так і програми, які використовують графічний інтерфейс Windows (GUI — graphical user interface).

Рис. 6.3. Вікно С++ Builder

У верхній частині вікна програми знаходиться рядок-заголовок, що містить назву програми та ім’я відкритого файлу. Під заголовком знаходиться рядок меню, який дає доступ до всіх функцій і команд програми. Під головним меню знаходяться кнопки швидкого запуску, об’єднані в групи за призначенням.

Біля кнопок швидкого запуску знаходиться Палітра компонентів (Component Palette) (рис. 6.4). Вона складається з декількох закладок, на яких знаходяться візуальні компоненти, які використовуються для створення програм у середовищі С++ Builder. Палітра містить 15 закладок. Щоб побачити їх всі, треба використовувати кнопки прокрутки.

Рис. 6.4. Палітра компонентів

Зазвичай у лівій частині екрана розташований Інспектор об’єктів (Object inspector) (рис. 6.5). У ньому відбувається настроювання властивостей візуальних компонентів. Праворуч від Інспектора об’єктів знаходиться вікно Редактора форми, на якій і розміщують візуальні компоненти. Форма буде відображатись і під час виконання програми. У вікні Редактора коду набирається код програми. Розташування вищезгаданих елементів не фіксоване, і їх можна переміщувати так, як зручно.

б

а в

Рис. 6.5. Вкладені вікна С++ Builder:

а інспектор об’єктів; б — редактор форми; в — редактор коду

Рядок меню. У меню File (Файл) знаходяться основні команди для роботи з файлами. Під час старту С++Builder автоматично створюється новий проект. Якщо треба створити новий проект, слід скористатися командою меню New Application. У результаті старий проект буде закрито, а замість нього на екрані з’явиться порожня форма. Щоб додати нову форму до проекту, потрібно виконати команду New Form. Щоб відкрити проект, треба виконати команду Open Project.... Щоб зберегти проект, слід виконати команду Save All — з’явиться вікно, у якому треба ввести спочатку ім’я для програмного модуля форми, а потім ім’я проекту. Якщо треба змінити ім’я проекту, досить скористатися командою Save Project Аs…. А щоб замінити ім’я модуля, варто скористатися командою Save Аs….

У меню Edit (Правка) знаходяться стандартні команди редагування коду програми. Також там знаходяться команди вирівнювання компонентів та настроювання редактора коду. В меню Search (Пошук) знаходяться команди пошуку. З меню View (Вид) викликаються основні діалогові вікна керування проектом. Додавати, видаляти модулі з проекту, а також компілювати його можна за допомогою меню Project (Проект). Компіляція проекту можна виконувати на будь-якій стадії розробки проекту. Для цього треба вибрати команду меню Project/Make або натиснути комбінацію клавіш <Ctrl+F9>. При цьому почнеться процес компіляції всіх програмних модулів, які змінились після останньої компіляції. У результаті для кожного програмного модуля створюється файл з розширенням .OBJ (об’єктний код). Після того, як усі потрібні файли будуть скомпільовані без помилок, головний програмний файл компонуватиметься зі всіма об’єктними файлами і в результаті буде створено виконуваний ЕХЕ-файл. Ім’я ЕХЕ-файлу буде збігатися з іменем файлу проекту.

Крім звичайної компіляції, можна виконати тотальну компіляцію, коли забезпечується компіляція всіх програмних модулів проекту. При цьому тотальна компіляція проекту виконується за допомогою команди головного меню Projeсt/Build All. У результаті також формується ЕХЕ-файл, але часу на його створення витрачається набагато більше.

Запуск готового додатка. Для запуску скомпільованого проекту потрібно виконати створений додаток за допомогою команди меню Run/Run або клавіші <F9>. Перед виконанням автоматично повториться процес компіляції (якщо в проект вносились зміни), і після його успішного закінчення додаток запуститься на виконання. У результаті на екрані з’явиться головна форма. ­

Методи, властивості та події. Усіма візуальними компонентами можна керувати за допомогою: методів, властивостей і подій. Інспектор об’єктів відображає доступні властивості тих чи тих компонентів (вкладка Properties). Основні властивості у багатьох компонентів збігаються, розглянемо декілька найважливіших. Name — ім’я об’єкта, Caption — підпис, тобто слово, яке буде відображатися на самому об’єкті. Left і Top задають місце розташування на формі, Width і Height вказують ширину і висоту відповідно, Color — задає колір об’єкта (може задаватись числом). Властивість Enabled, яка набуває значення false або true, дає змогу зробити компонент недоступним, а Visible дозволяє змінювати видимість об’єкта. Властивість Font задає тип шрифту. У самої форми є ще такі важливі властивості: BorderStyle — вказує на тип рамки навколо форми, Icon — визначає значок, який буде в заголовку програми, ActiveControl — вказує на елемент, який буде активним після відкриття вікна. Щоб змінити значення конкретної властивості, треба лівою кнопкою миші натиснути на полі праворуч від назви властивості, і з клавіатури або за допомогою миші ввести нове значення.

Методи — ­також важливий елемент керування об’єктами. Вони дозволяють проводити широкий спектр операцій над об’єктами. Основні з них такі:

Show — відображає форму як немодальну.

ShowModal — відображає форму як модальну (тобто в момент активності форми не має доступу до інших форм).

Hide — ховає вікно форми.

Сlose — закриває вікно форми.

SetFocus — робить вікно форми активним.

Clear — очищає.

Методів, як і властивостей, в С++ Builder дуже велика кількість. Усі вони, а також самі об’єкти входять до бібліотеки VCL (Visual Component Library). Отже, якщо не вдаватися у подробиці, то VLC це набір функцій та даних, які дозволяють працювати з візуальними компонентами.

Події — це будь-які дії з боку користувача, наприклад натиснення кнопки, активізація вікна тощо. Кожний об’єкт певним чином може реагувати на них. Події, на які можуть реагувати об’єкти, знаходяться на вкладці Events Інспектора об’єктів. Ця вкладка поділяється на два поля: в лівому знаходиться назва події, а в правому — назва функцій-методів, які обробляють подію. Для того, щоб задати обробник подій, треба два рази натиснути праворуч від назви потрібної події — виникне редактор коду, при цьому автоматично генерується заголовок функції, яка оброблює події. Потрібно лише ввести програмний код. Наприклад, для того, щоб програма якось реагувала на натиснення миші на формі, треба описати подію OnClick для форми. Найчастіше використовують такі події, як OnClick, OnDragDrop — подія, яка активується у разі переміщення об’єкта за допомогою миші, OnKeyPress — подія, яка активується при натисненні на будь-яку кнопку клавіатури, OnMouseMove — подія, яка активується під час руху миші над об’єктом. У форми також є такі важливі події, як OnActive — під час активації форми, OnCreate — під час створення форми, OnClose — під час закриття форми, OnShow — під час відображення форми.

Візуальні компоненти. Ці компоненти розміщені на Палітрі компонентів (див. рис. 6.4). Компоненти бувають такі, які видно на екрані в процесі виконання програми, і такі, які не видно. Щоб дізнатись назву компонента, треба навести на нього курсор: появиться спливаюча підказка з назвою. На вкладці Standard знаходяться найважливіші об’єкти:

Frames — контейнер для підключення інших елементів;

MainMenu — створює панель з командами головного меню;

PopUPMenu — створює спливаюче меню для якогось об’єкта програми;

Label — розміщує на формі текст, який не можна редагувати в процесі виконання програми;

Edit — розміщує на формі текстовий рядок, який можна редагувати в процесі виконання програми;

Memo — розміщує на формі область з множини рядків, які можна редагувати;

Button — розміщує на формі кнопку з назвою;

CheckBox — створює керувальний елемент з двома можливими станами, причому стан одного елемента не впливає на стан інших подібних елементів;

RadioButton — створює керувальний елемент з двома можливими станами. З групи подібних елементів об’єкта тільки один може знаходитись у ввімкненому стані. Увімкнення іншого автоматично вимикає попередній;

ListBox — створює список текстових рядків для введення;

ComboBox — створює комбінацію з рядка редагованого тексту і спадного списку текстових рядків для введення;

ScrollBar — створює лінійку прокрутки для вікна, списку тощо;

GroupBox — створює область, яка візуально об’єднує декілька інтерфейсних елементів.

На вкладці Standard також знаходяться RadioGroup, Panel, ActionList.

Часто використовуються і такі компоненти як StringGrid — створює сітку для відображення текстових послідовностей по рядках і стовпцях, Picture — створює контейнер, у якому можна розмістити зображення різних форматів, Shape — рисує на формі прості геометричні фігури. Ці три компоненти знаходяться на вкладці Additional. На вкладці Dialogs є два важливі компоненти: OpenDialog — дозволяє в програмі задіяти діалог відкриття файлів з можливістю використання фільтрів на імена файлів, SaveDialog — аналогічно до OpenDialog дозволяє зберегти файли. Зазвичай ці два компоненти використовуються разом.

Щоб розмістити будь-який об’єкт на формі, треба вибрати його на Палітрі компонентів, натиснувши на ньому лівою кнопкою миші, а потім натиснути на формі і розтягнути його до потрібних розмірів. Якщо треба встановити декілька однакових компонентів, то, вибираючи елемент, слід тримати натиснутою клавішу <Shift>. Після встановлення необхідної кількості елементів, треба натиснути на піктограму курсора миші на Палітрі компонентів.

Щоб увести обробник події OnClick для конкретного об’єкта, треба натиснути два рази на нього, і з’явиться редактор програмного коду.

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