- •Лекція №1.
- •Тема 1. Історичний і соціальний контекст програмування. Загальні принципи розробки програмних продуктів.
- •2. Застосування функцій Application Program Interface (api) для розробки програм для Windows.
- •3. Загальні відомості про об’єктно-орієнтоване програмування та автоматизацію проектування, програми програмування для Windows.
- •Лекція №2.
- •Тема 2. Введення у програмне середовище візуального програмування
- •Властивості компонентів.
- •Лекція №3.
- •2. Застосування модулів при програмуванні. Загальний вміст файлу модуля Unit1.Cpp .
- •Лекція №4.
- •Тема 4. Візуальне програмування компонентів при створенні програми.
- •Структура vcl.
- •Клас tObject.
- •Клас tPersistent.
- •Клас tComponent.
- •Клас tControl.
- •Клас tForm.
- •Клас tTimer.
- •Клас tStrings.
- •Клас tStringList.
- •Клас tFont.
- •Властивості.
- •Значення властивостей.
- •Типи властивостей.
- •Методи.
- •Лекція №5.
- •Тема 5. Подійно-орієнтована взаємодія між компонентами при створенні програми.
- •1. Взаємодія між компонентами та діями користувача при створенні програми та подальшого її використання.
- •2. Характеристика основних подій що виникають з об’єктами: OnActivate, OnClose, OnCreate, OnDestroy, OnHide, OnPaint, OnResize, OnShow, OnClick, OnDblClick, OnMouseDown, OnKeyDown, OnEnter та інші.
- •Лекція №6.
- •2. Змінні. Типизовані константи. Класифікація типів даних. Об’ява типів.
- •Модифікатори.
- •Користувацькі типи.
- •Розмір об’єктів.
- •3. Програмна схема опрацювання подій. Перетворення типів даних.
- •Зведення типів.
- •Основні визначення.
- •Області видимості змінних.
- •Правило одного визначення.
- •Лекція№ 7.
- •Тема 7. Об’єктно-орієнтований підхід до класів.
- •1. Об’єктно-орієнтований підхід. Об’єкт.
- •2. Взаємозв’язки об’єктів, класів. Поля та методи класів. Статичні, динамічні методи. Класи. Об’ява класу. Модель вказників. Методи. Події та вказники на методи.
- •3. Три групи методів. Інкапсуляція. Спадковість. Поліформізм. Конструктори і деструктори.
- •Розробка класів.
- •Поняття про конструктори і деструктори.
- •Лекція № 8.
- •Тема 8. Обробка виняткових ситуацій.
- •Механізм обробки виняткових ситуацій.
- •Обробка виняткових ситуацій.
- •2. Застосування виняткових ситуацій. Протоколювання виняткових ситуацій. Коди помилок в виняткових ситуаціях. Виняткова ситуація eAbort. Функція Assert.
- •Ієрархія виняткових ситуацій.
- •Тотальне перехоплення виняткових ситуацій.
- •Генерація виняткових ситуацій
- •Повторні виняткові ситуації.
- •Непередбачені виняткові ситуації.
- •Лекція № 9.
- •Тема 9. Візуальні компоненти бібліотеки vcl.
- •1. Бібліотека візуальних компонент vcl і її базові класи. Ієрархія базових класів. Класи: tObject, tPersistent, tComponent.
- •Візуальні та невізуальні компоненти.
- •2. Класи елементів керування: tControl, tWinControl, tCustomControl, tGraphicControl.
- •Клас форм tForm. Форми для головного вікна.
- •Форми для діалогових, інформаційних та інших вторинних вікон.
- •Модальні та немодальні вікна.
- •Основні властивості компонентів (форми).
- •Властивості, що доступні під час розробки та виконання програми.
- •Властивості, що доступні тільки під час виконання програми.
- •Основні методи компонентів (форми).
- •Основні події компонентів (форми).
- •Лекція № 10. Компоненти для введення та редагування тексту.
- •1. Клас tStrings. Властивості Text, Lines, Items.
- •2. Методи для роботи і текстом: AddString, AddObject, Assing, Equals, Delete, Move, IndexOf, Pos.
- •Введення та відображення цілих чисел.
- •Багаторядкові вікна редагування.
- •Компоненти вибору зі списків.
- •Компоненти – меню.
- •Панелі та компоненти зовнішнього оформлення.
- •Панелі загального призначення.
- •Багатосторінкові панелі.
- •Рядок стану.
- •Організація управління додатком. Список зображень.
- •3. Конструкції коду для обмеження типів символів. Конструкції коду для створення комбінацій клавіш.
- •Лекція № 11.
- •1. Принципи побудови баз даних.
- •Локальні і віддалені бази даних.
- •Створення форми для роботи з базами даних (вручну).
- •Створення форми для роботи з базами даних (майстром).
- •Створення бази даних.
- •Лекція № 12.
- •Тема 12. Створення баз даних за допомогою Database Desktop.
- •1. Створення нової таблиці. Задання полів. Задання властивостей таблиці. Створення псевдонімів баз даних у Database Desktop.
- •Створення нової таблиці.
- •2. Створення та редагування псевдонимів баз даних та каталогів.
- •Лекція № 13.
- •Тема 13. Компоненти, що використовуються у bde для зв’язку з базами даних.
- •Механізм доступ до бази даних. Псевдоніми dbe.
- •Компоненти доступу до баз даних.
- •Лекція № 14
- •Тема 14. Народження дочірніх процесів.
- •1. Потоки та клас tThread. Властивості класу.
- •2. Методи класу: DoTerminate, Execute, Resume, Suspend, Synchronize, Terminate, WaitFor. Технологія com.
- •Запуск зовнішньої програми функцією execlp.
- •Запуск зовнішньої програми функцією spawnlp.
- •Породження процесу функцією CreateProcess.
- •Лекція №15
- •Тема 15. Побудова багатовіконних програм.
- •1. Приклади розробки програми переглядання текстових файлів, графічних файлів, та відображення показів годинника.
- •2. Розробка графічного інтерфейсу користувача. Вимоги до інтерфейсу користувача додатків для Windows.
- •Багатовіконні додатки.
- •Стиль вікон додатку.
- •Колірне рішення додатку.
- •Шрифти текстів.
- •Лекція № 16.
- •Тема 16. Кросплатформне програмування для Linux.
- •1. Проект clx. Об’єктна концепція кросплатформного програмування. Бібліотека компонент clx. Подібність та різність візуальних компонент clx і vcl.
- •На рівні мови програмування.
- •На рівні прикладних програм.
- •Компонента модель .Net Framework. Типи компонентів.
- •Динамічна бібліотека dll як приклад компонента.
Лекція №5.
Тема 5. Подійно-орієнтована взаємодія між компонентами при створенні програми.
План.
Взаємодія між компонентами та діями користувача при створенні програми та подальшого її використання. Події. Реагування на події у C++ Builder.
Характеристика основних подій що виникають з об’єктами: OnActivate, OnClose, OnCreate, OnDestroy, OnHide, OnPaint, OnResize, OnShow, OnClick, OnDblClick, OnMouseDown, OnKeyDown, OnEnter та інші.
1. Взаємодія між компонентами та діями користувача при створенні програми та подальшого її використання.
Windows є середовищем, що керується подіями (event-driver). Це означає, що програма керується подіями, що відбуваються в середовищі Windows. До подій відносяться переміщення вікна, кліки кнопками миші, натиснення клавіш клавіатури, тощо.
Події у VCL – це все, що відбувається в компоненті. Кожен компонент спроектований так, щоб реагувати на певні події. Зазвичай маються на увазі події Windows, але це не обов’язково. Наприклад, компонент Button (кнопка) буде реагувати на клік мишкою. Список подій, на які реагує компонент, наведений на укладці Events вікна інспектора об’єктів. Ім’я події одночасно слугує її описом. Наприклад, натиснення кнопки миші називається OnMouseDown, відпускання кнопки миші OnMouseUp.
2. Характеристика основних подій що виникають з об’єктами: OnActivate, OnClose, OnCreate, OnDestroy, OnHide, OnPaint, OnResize, OnShow, OnClick, OnDblClick, OnMouseDown, OnKeyDown, OnEnter та інші.
Реакція на подію реалізується як функція обробки події. Все, що вам потрібно зробити, це вибрати необхідну подію. Далі С++Builder сам відобразить функцію, готову до введення коду. Функції обробки події надається ім’я, що складається з двох частин. Перша частина ідентифікує форму, що містить компонент, для якого створена функція обробки події. Друга частина імені ідентифікує сам компонент та подію. Наприклад:
|
void __fastcall TForm1::Button1Click(TОbject *Sender) void __fastcall TMainForm::FormCreate(TObject *Sender) |
Ці функції виглядають подібно до функцій-членів класу, які ми обговорювали, і фактично ними являються.
Єдина відмінність полягає у тому, що функції С++Builder використовують ключове слово __fastcall (перед __fastcall стоять два знаки підкреслення!).
Не так важливо розуміти, що означає __fastcall, головне – знати, що всі функції С++Builder використовують цю угоду про виклик.
Крім того, ви помітили, що функції в якості аргументу приймають покажчик з ім’ям Sender на об’єкт TОbject. Кожна функція обробки події завжди буде мати хоча б один аргументSender. В залежності від події, функція може також приймати один або декілька додаткових аргументів. Що ж таке Sender? Це покажчик на компонент, який надсилає повідомлення про подію обробнику. Іноді аргумент Sender є зайвим (коли відомо, від якого компонента надходить повідомлення). Взагалі, Sender дозволяє мати один обробник подій для кількох компонентів.
Параметр Sender у заголовках процедурних типів визначає той об’єкт чи елемент програми, який є джерелом події, тобто місце, де подія виникла. Якщо потрібно, параметр Sender можна використати для уточненя об’єкта – джерело події, або параметрів і поточного стану об’єкта.
sOnActivate – подія виникає для форми програми кожного разу в момент, коли форма стає активною й отримує фокус уведення.
TNotifyEvent = procedure ( Sender: TObject ) of object;
property OnActivage: TNotifeEvent;
sOnCreate– подія виникає тоді, коли форму створюють уперше на початку виконання програми. Використовують для виконання підготовчих операцій: перевірки наявності файлів, створення в пам’яті робочих структур даних тощо. Якщо властивість видимості форми є ввімкненою (property Visible ® true), то події виникають у такому порядку: OnCreate ® OnShow ® OnAktivage ®OnPaint.
property OnCreate: TNotifyEvent;
sOnClick – подія виникає для будь-якого видимого елемента на формі (кнопки, панелі, списки, таблиці тощо) в момент, коли вказівник мишки є над елементом і ми клацаємо ЛКМ. Однак треба пам’ятати, що ця подія може виникти і за інших умов, наприклад, під час натискання на клавішуEnter, клавішу пропуску, відокремлення якогось елемента списку чи таблиці клавішами зі стрілками
