- •§ 2. Типи даних
- •§ 3. Присвоєння
- •§ 5. Потоки. Введення - виведення даних
- •§ 6. Адреси даних. Вказівники. Динамічна пам'ять
- •§ 7. Файли
- •§ 8. Розгалуження
- •§ 9. Цикли
- •§ 10. Функції (1)
- •§ 11. Функції (2)
- •§ 12. Масиви
- •§ 13. Рядки
- •§ 14. Структури, списки, стеки, черги, об'єднання
- •§ 15. Графіка
- •§ 16. Вступ до об'єктно-орієнтованого програмування
- •§ 1. Вступ до візуального програмування
- •§ 2. Задача про анкету
- •§ 3. Задача про обмін валюти
- •§ 4. Задача табулювання функції
- •§ 5. Створення навчальної програми
§ 1. Вступ до візуального програмування
1. Основні поняття. Технологія роботи у середовищі C++ Builder базується на ідеях об'єктно-оріентованого та візуального програмування. Ідея об'єктно-орієнтованого програмування полягає в інкапсуляції (об'єднанні) даних і засобів їх опрацювання (методів) у тип, який називається класом. Конкретною змінною певного класу і є об'єкт. Прикладами об'єктів можуть бути елементи керування у вікні: кнопки, списки, текстові поля тощо. Середовище візуального програмування C++ Builder - це графічна автоматизована оболонка над об'єктно-орієнтованою мовою програмування C++. Якщо у мові Сі структурними одиницями є дані та команди, то тут такою структурною одиницею є візуальний об'єкт, який називається компонентом. Автоматизація програмування досягається завдяки можливості переносити компонент на форму (у програму) з палітри компонентів і змінювати його властивості, не вносячи вручну змін до програмного коду.
Формою називають компонент, який володіє властивостями вікна Windows і призначений для розташування інших компонентів. Компоненти на формі можуть бути видимими та невидимими. Видмі призначені для організації діалогу з користувачем. Це різні кнопки, списки, текстові поля, зображення тощо. Вони відображаються на екрані під час виконання програми. Невидимі компоненти призначені для доступу до системних ресурсів комп'ютера.
Проект - це сукупність файлів, з яких складається C++ Builder-програма.
2. Інструменти середовища C++ Builder. Вікно середовища містить головне меню, панелі інструментів (ToolBars), а також:
палітру компонентів (Component Palette);
вікно властивостей об'єктів (Object Inspector);
вікно форми;
редактор коду програми.
Ці інструменти стають доступними після запуску C++ Builder: три знаходяться у головному вікні (верхня частина екрана, рис. 1), а решта - в окремих вікнах. Ці вікна також можна відкрити командами головного меню View => ToolBars => Component Palette, View => Object Inspector, View => Forms та View => Units. Почергова активізація вікна форми та коду програми здійснюється командою головного меню View => Toggle Form/Unit чи клавішею F12.
3. Головне меню та панель інструментів. Головне меню складається з таких елементів: File, Edit, Search, View, Project, Run, Component, Database, Tools, Help (див. рисі).
Меню File містить стандартні команди для роботи з файлами проекту. За допомогою цих команд можна створити новий проект (New Application), нову форму (New Form), відкрити чи закрити файл проекту (Open і Close), закрити всі відкриті файли (Close All), зберегти файл, проект або все відразу (Save, Save As, Save Project As, Save All).
Меню Search містить стандартні команди пошуку та заміни фрагмента тексту (Find, Replace, Search Again, Incremental Search) та інші. У меню View знаходяться команди візуалізації елементів середовища. Меню Project містить команди керування проектом, зокрема команди додавання файлів до проекту (Add to Project) та команди компіляції (Compile Unit, Build All Project). Меню Run містить команди налагодження та запуску програми. Меню Component використовують для створення та інсталяції нових компонентів. Меню Database містить команди виклику інструментів ба-
зи даних. У меню Tools містяться команди для задання параметрів середовища.
Панель інструментів служить для розташування кнопок інструментів. На ній можуть міститися кнопки всіх зазначених команд.
Палітра компонентів. Палітра компонентів розташована у головному вікні і має вигляд багатосторінкового блокнота. Кожній сторінці відповідає свій набір компонентів (див. рис. 1). Щоб помістити компонент у центрі вікна форми, двічі клацають на його піктограмі. Якщо потрібно розташувати компонент десь на формі, клацають один раз на його піктог рамі та один раз у потрібному місці форми. Для багаторазового вставляння одного й того ж компонента потрібно натиснути на клавішу Shift і клацнути на його піктограмі – тепер можна клацати у вікні форми. Щоб відмовитися від цього режиму, треба натиснути на кнопку з зображенням стрілки. Вибраний компонент можна переміщати на формі, а також змінювати розміри, перетягуючи його маркери.
Інспектор об'єктів. За допомогою інспектора об'єктів можна задавати початкові значення властивостей об'єкта та їхню реакцію на стандартні події. Вікно інспектора об'єктів містить список компонентів поточної форми, а також дві закладки: властивостей (Properties) та подій (Events). Щоб активізувати вікно інспектора об'єктів, використовують клавішу F11. Розглянемо це вікно (рис. 2). Закладка властивостей складається з двох стовпців: лівий містить назви властивостей компонентів, а правий - їхні значення. Властивості можуть бути простими або комплексними. Комплексні властивості складаються з набору інших властивостей. Такі властивості в іспекторі об'єктів позначені символом "+", наприклад +Font.
Закладка подій також має два стовпці. У лівому відображаються імена стандартних подій, на які об'єкт може реагувати, а в правому - імена методів-обробників (функцій), які реалізовуватимуть реакцію на подію. Кожній стандартній події відповідає назва методу, яка з'являється після подвійного клацання мишею у правому стовпці. У цей момент у вікно тексту програми додається шаблон базового коду (функції) для відповідного методу, який треба заповнити.
Для введення значень властивостей числового і текстового типу (Width, Name тощо) використовується стандартне поле введення. Значення властивостей перерахованого типу (Align, Cursor тощо) задаються комбінованим списком, звідки вибираюті, потрібне. Деякі комплексні властивості (Font, Picture, Glyph то-
що) використовують діалогові вікна, набір керуючих елемси тів яких залежить від певної властивості.
Вирівнювати компоненти можна як відносно вікна форми, так і один відносно одного. Для цього використовується команда Edit => Align головного меню або палітра вирівнювання (команда View => Alignment Palette головного меню). Інша можливість - безпосередньо задати властивості Left і Тор компонентів. Компоненти у групі вирівнюються відносно того компонента, який потрапив у групу першим.
7. Структура проекту. Проектом називають сукупність файлів, з яких C++ Builder створює готову для виконання програму. До складу кожного проекту обов'язково входять такі файли:
файл проекту *.bpr. Це невеликий файл, який містить посилання на всі файли проекту й ініціалізує програму;
файли опису всіх форм, які входять у проект: файл тексту програми *.срр і файл форми *.dfm;
файл ресурсів програми *.res. У ньому описані ресурси, які не входять у форму, наприклад, піктограма програми;
файли заголовків *.h. У них C++ Builder автоматично розміщує описи породжених класів, а користувач, - декларації новостворених функцій;
Усі інші файли створюються після компіляції проекту.
Для збереження проекту необхідно задати імена модулів (автоматично пропонуються імена Unitl.cpp, Unit2.cpp, ...) та ім'я проекту (Projectl.bpr). Ці імена можна змінити на власні. Для переміщення проекту на інший комп'ютер необхідно мати файли таких типів: *.bpr, *.dfm, *.cpp, *.res та *.h. Інші файли створюються автоматично.
8. Редактор коду. Редактор коду знаходиться в окремому вікні. Це вікно складається з двох половинок. Права половина організована як багатосторінковий блокнот відкритих у певний момент файлів. Ліва половина — вікно Class Explorer, у якому відображається ієрархія створених класів і функції проекту. Це вікно можна відкрити чи закрити командою головного меню View => Class Explorer а також командою View Explorer контекстового меню багатосторінкового блокнота. Під час створення нової форми у файл Unitl.cpp, який відповідає формі Formi, редактор автоматично заносить порожню заготовку конструктора TFormi::TForm1 класу TFormi. Цей клас породжується від інтегрованого у C++ Builder класу TForm (Форма), який володіє усіма властивостями стандартного вікна Windows. Опис наслідування класу користувача TFormi від готового класу TForm знаходиться у заголовочному файлі Unitl.h. Посилання на цей файл (include), а також опис змінної Formi типу TFormi розміщені у модулі Umitl.cpp Під час додавання нових компонентів до форми у файл Unit.dfm автоматично заносяться описи параметрів цих компонентів (висота, ширина, розташування, стиль тощо). Застосування методу до певного об'єкта веде до появи заготовки базового коду відповідної функції у вікні редактора. Заготовка (шаблон) складається із заголовка функції та операторних дужок { }. Заготовку заповнює користувач. Файл Unitl.h має такий вигляд:
// Директиви препроцесора class TFormi : public TForm // TForm1 породжується від TForm { __published: // Компоненти, видимі в Object Inspector, // та їхні методи TButton * Button 1; TEdin * Edit1; ... // Інші компоненти void __fastcall Button1Click(TObject 'Sender); void __fastcall Editi Change(TObject 'Sender); … // Інші методи private: // Приватні оголошення public: // Загальнодоступні оголошення // Конструктор типу fastcall TFormi (TComponent* Owner); }; // Кінець опису типу TFormi |
Файл Unitl.cpp має такий загальний вигляд:
Вправи
Запустіть систему візуального програмування C++ Builder і розгляньте головне меню, панелі інструментів, палітру компонентів, вікно властивостей об'єктів, вікно форми і редактор коду програми. Вивчітіь різні способи активізації вікон C++ Builder.
Поекспериментуйте з візуальними компонентами середовища програмування C++ Builder: почергово долучайте їх на форму з палітри компонентів, виокремлюйте їх зокрема та разом, вирівнюйте командами головного меню Edit та знищуйте (див. пп. 3,4, та 6 цього параграфа).
