Главная страница
Навигация по странице:

  • ІІІ. Виклад нового матеріалу План лекції

  • V. Підведення підсумків заняття. І. Домашнє завдання

  • Object TreeView

  • Object Inspector

  • Properties

  • Toogle Form/Unit

  • View Unit

  • Змістовий модуль 1.2 Основні інструменти інтегрованого середовища розробки (IDE) Borland C++ Builder Лекція №1.2.1 Тема

  • Мета

  • Контрольні питання: 1. Що таке бібліотека VCL 2. Які класи входять до бібліотеки VCL 3. Які загальні властивості візуальних компонентів вам відомі Зміст лекції

  • Лекції_1_ІЗВП. Коледж промислової автоматики та інформаційних технологій


    Скачать 1.63 Mb.
    НазваниеКоледж промислової автоматики та інформаційних технологій
    Дата07.09.2021
    Размер1.63 Mb.
    Формат файлаpdf
    Имя файлаЛекції_1_ІЗВП.pdf
    ТипРобоча програма
    #230328
    страница2 из 7
    1   2   3   4   5   6   7

    Лекція №1.1.3 Тема Проекти в інтегрованому середовищі розробки Borland C++ Builder. Форми в
    Borland C++ Мета вивчити структуру проекту в інтегрованому середовищі розробки Borland C++
    Builder, ознайомитися з видами додатків, що існують, а також з подіями форми проекту
    Література
    1.Б.Страуструп Программирование. Принципы и практика с использованием C++» Вильямс 2016 2. Стивен Прата Язык программирования С Вильямс 2013 3. Алекс Элайн От ламера до программера С Питер 2015
    Хід заняття І. Організаційний момента) готовність групи до заняття; б) психоемоційний настрій; в) перевірка присутніх.
    ІІ. Актуалізація опорних знань студентів а) повідомлення теми та мети заняття; б) відповіді на запитання: Як реалізується багатозадачність в OC Windows?
    - Що таке ООП?
    - Які є переваги ООП?
    - Що таке абстрагування?
    - Для чого потрібне обмеження доступу
    - Що означає принцип модульності?
    ІІІ. Виклад нового матеріалу План лекції
    1. Організація проекту в C++ Builder
    2. Основні файли проектів
    3. Структура модуля
    4. Формата її події

    17 5. Додатки SDI і MDI І. Узагальнення та систематизація знань.

    V. Підведення підсумків заняття. І. Домашнє завдання:

    Ознайомитись з теоретичними відомостями лекції 1.1.3

    Вивчити основні поняття лекції

    Дати відповіді на контролдьні питання
    Контрольні питання:
    1. Які файли входять до проекту в+ Builder?
    2. З чого складається модуль проекту C++ Builder?
    3. Що є форма
    4. Які події роботи з формою вам відомі?
    5. У чому ізниця між додатками SDI, MDI?
    Зміст лекції Перед користувачів персональних комп’ютерів на сьогоднішній день найбільш популярною є операційна система Windows. І, зрозуміло, що той, хто береться програмувати, хоче писати програми, які будуть працювати під Windows.
    Розвиток обчислювальної техніки, потреба в ефективних засобах розробки програмного забезпечення призвели до появи на ринку цілого ряду систем програмування, що орієнтовані на так звану „швидку розробку”, серед яких особливо слід відмітити Microsoft Visual Basic та Borland C++ Builder. В основі систем швидкої розробки (систем, Rapid Application Development – середовище швидкої розробки додатків) лежить технологія візуального проектування і подійного програмування. Суть її полягає в тому, що середовище програмування бере на себе більшу частину роботи щодо генерації коду програми, залишаючи програмісту роботу щодо конструювання діалогових вікон та написання функцій обробки подій.
    Успіх і популярність C++ Builder викликали бажання фірми Borland розповсюдити методи швидкої розробки на область професійного програмування, що й призвело до появи Borland C++ Builder.

    18
    C++ Builder – це середовище швидкої розробки, в якому в якості мови програмування використовується мова С+ Builder. На сьогоднішній день цей продукт є найбільш популярним для розробки проектів під Windows. Початок роботи
    Завантажується C++ Builder у звичайний спосіб, т. б. вибором з меню Borland C++ Builder6команди C++ Builder 6.
    Вигляд екрану після завантаження C++ Builder дещо незвичний. Замість одного вікна на екрані з’являються пять головне вікно C++ Builder 6;

    вікно стартової форми – Form1;

    вікно редактора властивостей об’єктів – Object Inspector;

    вікно перегляду списку об’єктів – Object TreeView;

    вікно редактора коду – Unit1.cpp.
    Вікно редактору коду майже повністю закрите вікном стартової форми. Уголовному вікні знаходиться меню команд, панелі інструментів та палітра компонентів. В рядку заголовку головного вікна відображається ім’я відкритого у даний момент проекту. Рядок меню вміщує команди, необхідні для розробки та тестування додатків, а також команди керування ними. Панель інструментів вміщує кнопки, що відповідають певним командам меню, наприклад, командам Save, Run тощо. У палітрі компонентів відображаються компоненти, за допомогою яких користувач створює свої додатки.
    Компоненти є основними елементами кожного Builder-додатка і, одночасно, основою бібліотеки візуальних компонентів (VCL) С. Піктограми стандартних компонентів розділені на групи відповідно функціям, які вони виконують. Кожна з цих груп піктограм розміщена на окремій сторінці палітри компонентів. Після запуску С активною є сторінка Standard.
    Вікно стартової форми (Form1) представляє собою заготовку головного вікна додатка, що розробляється. І робота над новим проектом починається саме зі

    19 створення стартової форми, оскільки кожен додаток має хоча бодну форму, яка служить головним вікном. Стартова форма створюється шляхом зміни значень властивостей форми Form1 та додавання до форми необхідних компонентів
    (командних кнопок, позначок, полів введення текстової інформації тощо) з палітри компонентів. Для розміщення компонента в формі необхідно вибрати в палітрі компонентів кнопку, що відповідає необхідному компоненту. Далі клацнути на формі. Компонент з’явиться на формі, причому його верхній лівий кут буде там, де знаходився курсор миші в момент кліка.
    Крім того можна легко зробити відразу кілька копій компонента. Для цього при виборі компонента необхідно утримувати натиснутою клавішу Shift. В такому режимі при кожному кліці на формі буде розміщуватися новий компонент. Для зупинки цього процесу необхідно клікнути на кнопці покажчика (кнопка зі стрілкою) в палітрі компонентів.
    Ще С забезпечує спрощений спосіб розміщення компонентів на формі. Якщо просто двічі клікнути на потрібній кнопці в палітрі компонентів, то компонент з’явиться на формі. При цьому він буде відцентрований горизонтально та вертикально. Такий компонент буде мати розмір за замовчуванням. Вікно Object
    TreeView містить ієрархічний список об’єктів, що є елементами проекту.

    20 Для зміни значень властивостей об‘єктів, в тому числі і форми, використовується інспектор об‘єктів (Object Inspector). У термінології візуального проектування об’єкти – це діалогові вікна та елементи управління (поля введення та виведення, командні кнопки, перемикачі тощо). А властивості об’єкта – це характеристики, які визначають вигляд, положення та поведінку об’єкта. На укладці Properties в лівій колонці перераховані властивості вибраного об’єкта, а в правій - вказані їхні значення. На укладці Events перелічені оброблювачі подій вибраного об’єкта.
    Подія (Event) – це те, що відбувається під час роботи програми. В С кожній події надано ім’я. Наприклад, клік кнопкою миші – це подія
    OnClick, подвійний клік мишею – подія OnDblClick, натиснення клавіші клавіатури
    – подія OnPressKey.

    21
    Реакцією на подію має бути якась дія. Наприклад, натиснення на кнопку
    „Close” має призводити до виходу з додатка, а натиснення на кнопку „Обчислити”
    – до обчислення результату за певною формулою. В С реакція на подію реалізується як функція обробки події. Т. б, для того, щоб програма виконала певну роботу у відповідь на дії користувача, програміст повинен написати функцію обробки відповідної події.
    Отже, в лівій колонці укладки Events перераховано події, які може сприймати вибраний компонент. В правій колонці з’являється згенероване С ім’я функції обробки відповідної події. С надає функції обробки події ім’я, що складається з двох частин.
    Перша частина ідентифікує форму, що містить об’єкт компонент, для якого створена функція обробки події. Друга частина імені ідентифікує сам об’єкт та подію. Наприклад: void __fastcall TForm1::Button1Click(Tobject *Sender) void __fastcall TMainForm::FormCreate(TObject *Sender)
    Вікно редактора коду (Unit1.cpp) розділене на дві частини. У правій частині слід набирати програмний код. Проте, навіть на початку роботи над новим проектом ця частина вікна редактора коду не порожня. Вона вже містить шаблон програми C++ Builder.

    22
    Ліва частина, яка називається навігатор класів, полегшує навігацію по тексту програми. В ієрархічному списку, структура якого залежить від проекту, перелічені об’єкти проекту (форми і компоненти) та функції обробки подій.
    Вибравши елемент списку, можна швидко перейти до потрібного фрагменту коду.
    Під час набирання тексту програми редактор коду автоматично виділяє елементи програми: напівжирним шрифтом – ключові слова мови програмування, курсивом – коментарі. Це робить текст програми більш виразнішим, що полегшує сприйняття структури програми. У процесі набирання тексту програми зручно користуватися шаблонами коду ( + ). В процесі розробки додатка часто виникає необхідність перемикання між вікном редактора коду та вікном форми. Зробити це можна за допомогою командної кнопки Toogle Form/Unit, яка знаходиться на панелі інструментів View.
    Якщо проект складається з кількох модулів чи форм, то вибрати потрібний модуль чи форму можна за допомогою командних кнопок View Unit та View Form на панелі інструментів View.
    Файли проекту
    C++ Builder, як і інші сучасні компілятори, мислить в термінах проектів при створенні програм. Проект складається з одного чи кількох вихідних файлів, а також з цілого ряду додаткових файлів ресурсів. Результатом створення програми є виконуваний файл. Одже, проект C++ Builder – це набір файлів:

    ( .bpr ) файл опису проекту Builder

    ( .cpp ) вихідний файл з кодом кожного модуля плюс один файл проекту

    ( .dfm ) файл опису форми та всіх її компонентів

    ( .h ) заголовний файл

    ( .res ) компільований двійковий файл ресурсів

    ( .obj ) двійковий об’єктний файл

    ( .tds ) файл містить отладочную інформацію (Turbo Debugger Symbol)
    Файли з розширенням, що починається з тильди (

    ), є резервними копіями.
    Можна спокійно їх знищувати у будь-який час.

    23
    Всі файли, що створює C++ Builder для проекту, можна розділити на дві категорії: файли, на основі яких будується проект, та файли, що створюються під час компіляції та компоновки проекту. Перші пять типів файлів створюються після першого збереження проекту. Файли формату obj створюються при компіляції пакету. Отже, якщо ви вирішили перенести ваш проект на інший комп’ютер, вам необхідно буде переписати лише ті файли, які C++ Builder використовує для побудови додатка. Файли з розширеннями .cpp, .h, .dfm та .bpr складають мінімальний набір. Решту файлів C++ Builder створить заново під час побудови програми.
    Збереження проекту Для того, щоб зберегти проект, необхідно вменю вибрати команду Save
    Project As. Спочатку зберігається вихідний файл модуля (за замовчуванням
    Unit1.cpp), а потім – файл проекту (за замовчуванням Project1.bpr).
    Зверніть увагу, що імена файлу модуля (.cpp) та файлу проекту (.bpr) повинні бути різними, оскільки C++ Builder у момент збереження файлу проекту створює однойменний файл (файл головного модуля. Крім того, слід зауважити, що
    ім’я згенерованого компілятором виконуваного файлу (*.exe) співпадає з ім’ям проекту.
    Компіляція
    Процес перетворення вихідної програми у виконувану складається з двох частин: саме компіляції та компоновки. На етапі компіляції виконується переведення вихідної програми в деяке внутрішнє подання. На етапі компоновки виконується складання побудова програми. Запуск програми на виконання Запуск програми на виконання виконується за допомогою команди Run Пуск) головного меню C++ Builder, кнопки Run панелі інструментів чи клавішею
    F9. Робота з консольними додатками Для роботи з консольними програмами в середовищі C++ Builder необхідно:

    Закрити вікно форми.

    Закрити вікно редактору коду.

    Закрити вікно Object Inspector.

    24

    Закрити вікно Object TreeView.

    Відповісти No, якщо система запропонує зберегти зміни.

    Вибрати вменю пункт New та Other – з’явиться діалогове вікно New
    Items.

    Вибрати на вкладці New піктограму Console Wizard (майстер консольних додатків).

    Вибрати Source Type (Тип коду) C++ Consol Application. Всі інші прапорці зняти.

    Відповісти No, якщо система запропонує зберегти зміни. В новому вікні Unit1.cpp редактору коду ви побачите вже якійсь текст. Це скелет майбутньої консольної програми. Проте, вам не потрібна директива #pragma та не потрібні аргументи функції main(). Для коректної роботи необхідно в текст програми вставити функцію getch(); перед останнім return в секції main() та директиву #include перед main() для getch().

    25
    Змістовий модуль 1.2 Основні інструменти інтегрованого середовища
    розробки (IDE) Borland C++ Builder
    Лекція №1.2.1 Тема Загальні властивості візуальних компонентів
    Мета: Вивчити загальні властивості компонентів бібліотеки VCL
    Література
    1.Б.Страуструп Программирование. Принципы и практика с использованием C++» Вильямс 2016 2. Стивен Прата Язык программирования С Вильямс 2013 3. Алекс Элайн От ламера до программера С Питер 2015
    Хід заняття І. Організаційний момента) готовність групи до заняття; б) психоемоційний настрій; в) перевірка присутніх.
    ІІ. Актуалізація опорних знань студентів а) повідомлення теми та мети заняття; б) відповіді на запитання:
    - які файли входять до проекту в+ Builder?
    - з чого складається модуль проекту C++ Builder?
    - що є форма
    - які події роботи з формою вам відомі?
    - у чому ізниця між додатками SDI, MDI?
    ІІІ. Виклад нового матеріалу План лекції
    1. Бібліотека VCL
    2. Ієрархія класів візуальних компонентів
    3. Загальні властивості візуальних компонент І. Узагальнення та систематизація знань.

    V. Підведення підсумків заняття. І. Домашнє завдання:

    Ознайомитись з теоретичними відомостями лекції 1.2.1

    26

    Вивчити основні поняття лекції

    Дати відповіді на контролдьні питання
    Контрольні питання:
    1. Що таке бібліотека VCL ?
    2. Які класи входять до бібліотеки VCL?
    3. Які загальні властивості візуальних компонентів вам відомі?
    Зміст лекції
    Бібліотека VCL
    Бібліотека візуальних компонентів містить безліч класів, які ви можете використовувати в своїх додатках. Вона написана на мові C++ і безпосередньо повязана з інтегрованим середовищем розробки C++ Builder. Зокрема, всі кнопки, розташовані на палітрі компонент є ні чим іншим, як представленням візуальних компонентів VCL. Разом з тим, багато класів VCL не є візуальними компонентами. Наприклад,
    існує спеціальний клас TStringList, використовуваний для роботи з групами рядків, або ж клас TRegistry, призначений для роботи з реєстром Windows. Але всі класи в
    C++ Builder, як ми знаємо, походять від спільного предка - класу TObject, а інші класи є його спадкоємцями в тому чи іншому поколінні, утворюючи ієрархію класів.
    Наступним класом в ієрархії класів VCL, після TObject, є клас TPersistent. На додаток до методів TObject він має так само методи для присвоєння даних властивостям і для обміну об'єктів даними між собою (метод Assign). Паралельно класу TPersistent існують так само класи TException і TIniFile. Перший з них призначений для роботи з винятковими ситуаціями (тобто забезпечує обробку помилок часу виконання), а другий інкапсулює методи для роботи з файлами.
    Якщо ж говорити саме про компоненти, а не про якихось абстрактних класах, то їх прабатьком є клас TComponent, що є прямим нащадком класу TPersistent. Саме відбуваються від TComponent класи є компонентами C++ Builder, в тому числі тими, що відображаються на палітрі компонент. Крім класу TComponent, у
    TPersistent маються ще 2 нащадка - клас TClipboard, призначений для роботи з буфером обміну Windows і клас TStrings, що є основою для вже згадуваного класу
    TStringList.

    27 При всьому цьому компоненти, що відбуваються від класу TComponent, не обов'язково є візуальними. Якщо ж говорити саме про візуальних компонентах, тонам слід просунутися ще далі, до класу TControl, що є спільним предком для всіх елементів графічного інтерфейсу в створених за допомогою C++ Builder додатках
    Windows. Але реальні компоненти, як правило, відбуваються не від самого класу
    TControl, а від 2 його різновидів, представлених, в разі для Windows, класами
    TWinControl і TGraphicControl. Відзначимо, що повноцінними віконними елементами управління (з підтримкою введення з клавіатури, візуальної реакцією на дії користувача і т.д.) є тільки спадкоємці класу TWinControl. Що стосується компонент, що походять від TGraphicControl, то вони є полегшеним варіантом елементів інтерфейсу, що не вимагають підтримки всіх функціональних можливостей управління з боку операційної системи. Такими елементами є, наприклад, статичні картинки, що використовуються в оформленні програм (зразок логотипу у вікні About) і т.п.
    Іншими спадкоємцями класу TComponent, є такі класи, як TScreen і
    TApplication. Клас TScreen інкапсулює в собі властивості і методи, необхідні для роботи з екраном, на якому запущено програму. А клас TApplication є основою для самого графічного додатку, забезпечуючи його взаємодія з операційною системою і виконуючи радий інших допоміжних дій на зразок підтримки системного меню або перехоплення і обробки натискань клавіатури. Таким чином, якщо уявити всі розглянуті тут класи у вигляді якоїсь деревовидної структури, збудувавши її по напрямку від TObject до TWinControl, томи отримаємо фрагмент ієрархії класів VCL, що відноситься до візуальних компонентів і захоплюючий деякі найближчі відгалуження

    28
    Ще одним важливим підмогою у вивченні VCL, крім ієрархії класів, є вихідний код самої бібліотеки VCL, що поставляється разом з C++ Builder.
    Зазвичай вони розташовуються в каталозі Source, вкладеному в той каталог, в який ви встановили саму C++ Builder, наприклад, C: \ Program Files \ Borland \ C++
    Builder \ Source.
    Властивості візуальних компонент Як вже було зазначено, всі візуальні компоненти походять від класу
    TControl. Всього для цього класу визначено близько 100 методів і понад 50 властивостей, і це - крім властивостей і методів, успадкованих від TComponent.
    Причому багато хто з них, особливо якщо розглядати властивості, досить часто використовуються при практичній розробці додатків в контексті того чи іншого візуального компонента, починаючи від вікна-форми, і закінчуючи текстовими підписами.
    Розглянемо такі властивості
    Action TBasicAction Визначає дію, пов'язану з даним елементом
    Align TAlign Визначає вирівнювання елемента щодо батьківського елементу.
    Допустимі значення: alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom
    Anchors TAnchors Визначає, по яким краях даний елемент прив'язується до батьківського. Допустимі значення akTop, akLeft, akRight, akBottom
    AutoSize Boolean Визначає, чи може розмір елемента змінюватися автоматично, залежно від вмісту
    Caption Sttring Визначає текстовий рядок, що ідентифікує елемент для користувача ClientHeight Integer Визначає висоту внутрішнього простору елемента, доступну для розміщення інших елементів в пікселях
    ClientWidth Integer Визначає ширину внутрішнього простору елемента, доступну для розміщення інших елементів в пікселях
    Color TColor Визначає колір фону елемента. Колір задається за допомогою ключових слів (clNone, clAqua і т.д.) або числовим значенням в діапазоні - $
    7FFFFFFF-1 .. $ 7FFFFFFF
    Constraints TSizeConstraints Визначає мінімальні і максимальні розміри елемента, що задаються чотирма цілими
    Cursor TCursor Визначає тип курсору. Наприклад, crDefault, crNone і т.д.

    29
    DragCursor TCursor Визначає тип курсора в момент перетягування. Наприклад, crDefault, crNone і т.д.
    DragKind TDragKind Визначає, чи елемент при перетягуванні просто переміщатися або повинен бути пристикований, може приймати значення dkDrag, dkDock
    DragMode TDragMode Визначає, як повинні ініціюватися операції drag-and-drop і drag-and-dock. Допустимі значення dmManual, dmAutomatic
    Enabled Boolean Визначає, чи повинна елемент реагувати на події клавіатури, миші і таймера
    Font TFont Визначає атрибути шрифту длЯ текстового наповнення елемента.
    Height Integer Визначає висоту елемента в пікселях
    HelpContext Integer Визначає індекс розділу у файлі довідки, що відноситься до цього елемента
    HelpKeyword String Визначає ключове слово у файлі довідки, що відноситься до цього елемента
    HelpType THelpType Визначає, за яким критерієм повинно проводитися звернення до файлу довідки, по слову (htKeyword), або за номером (htContext)
    Hint String Визначає текст спливаючої підказки
    Left Integer Визначає горизонтальну координату лівого боку елемента в пікселях по відношенню до батьківського
    Name String Визначає ім'я елемента
    Parent TWinControl Визначає батьківський елемент, в цілому аналогічна властивості Owner, але завжди посилається на елемент типу TWinControl
    ParentColor Boolean Визначає, чи повинен елемент успадкувати фоновий колір у що містить об'єкта
    ParentFont Boolean Визначає, чи повинен елемент успадкувати оформлення шрифту у що містить об'єкта
    ParentShowHint Boolean Визначає, чи повинен елемент успадкувати показ підказки у що містить об'єкта
    PopupMenu TPopupMenu Визначає спливаюче (контекстне) меню, пов'язане з даним елементом
    ShowHint Boolean Визначає, показувати чи ні спливаючу підказку для даного елементу

    30
    Text String Визначає текст, який має бути відображений елементом. Залежно від типу елемента, використовується або властивість Text, або Caption
    Top Integer Визначає вертикальну координату верхньої сторони елемента в пікселях по відношенню до батьківського
    Visible Boolean Визначає, чи повинен компонент бути видимим
    Width Integer Визначає ширину елемента в пікселях
    Досить створити новий проект в C++ Builder (File> New> Application), і клацнути по вікну першої форми, створеної для додатка (Form1), щоб побачити багато з перерахованих у таблиці властивостей у вікні інспектора об'єкта.
    Зрозуміло, зважаючи нате, що клас TForm, на основі якого створюються форми, є спадкоємцем розглянутого класу TControl далеко не в першому поколінні, а накожному етапі додаються все нові і нові властивості, то список доступних властивостей буде більшим, ніж у таблиці.
    Між тим, з наведених тут властивостей, деяких може і не виявитися серед переліку властивостей того чи іншого компонента. Це пояснюється тим, що вони ховаються за непотрібністю. Наприклад, для форми не передбачено такої властивості, як DragCursor, оскільки для вікна воно безглуздо - як відомо, операції типу "перетягни і кинь" в Windows з вікнами не виробляються. З тими чи іншими винятками і доповненнями дані властивості є і для інших візуальних компонент - будь то кнопки, поля редагування тексту, списки, рамки, перемикачі і т.д. Причому загальна їх кількість досить сильно варіюється залежно від конкретного компонента. Свою частку вносить і версія C++ Builder, оскільки від версії до версії можуть додаватися будь-які нові властивості. В результаті для
    C++ Builder 7 ми маємо 60 властивостей для форми, 33 - для кнопки і 47 - для поля редагування тексту.

    31 З тих властивостей, що завжди доступні для будь-якого об'єкта в VCL, можна виділити такі, як Tag і Name. Якщо ж брати візуальні компоненти, то для них завжди актуальні так само властивості, що відповідають за розміри (Height,
    Width і т.д.), вид курсора, шрифт, зв'язок з довідковою системою і т.д.

    32
    1   2   3   4   5   6   7


    написать администратору сайта