- •Лекція №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 як приклад компонента.
2. Застосування модулів при програмуванні. Загальний вміст файлу модуля Unit1.Cpp .
Для збереження проекту необхідно задати імена модулів (автоматично пропонуються імена Unitl.cpp, Unit2.cpp, ...) та ім'я проекту (Projectl.bpr). Ці імена можна змінити на власні. Для переміщення проекту на інший комп'ютер необхідно мати файли таких типів: *.bpr, *.dfm, *.cpp, *.res та *.h. Інші файли створюються автоматично.
Розглянемо тепер, як виглядають тексти модулів форм. Кожен такий модуль складається з двох файлів: заголовного, містить опис класу форми, і файлу реалізації. Нижче приведені тексти цих файлів модуля форми, на яку розміщена одна мітка (компонент типа TLabel) і одна кнопка (компонент типа ТВutton). Докладні коментарі в цьому тексті пояснюють, куди і що в цей код ви можете додавати.
Тепер подивимося, як можна вводити в модуль змінні, функції і здійснювати до них доступ. Нижче приведений текст коду модуля, в якому на формі розміщені два компоненти: кнопкаButtonl типаТВutton і мітка Labell типа TLabel. Крім того, в модулі введений обробник події, пов'язаної з клацанням користувача на кнопці, і в різних місцях модуля введені змінні і функції, щоб можна було бачити, як дістати до них доступ.
Заголовний файл починається з автоматичного включених в нього директив препроцесора. Зокрема, C++ Builder сам поміщає тут директивиinclude, що підключають копії файлів, в яких описані ті компоненти, змінні, константи, функції, які ви використовуєте у даному модулі. Проте для деяких функцій таке автоматичне підключення не виробляється. У цих випадках розробник повинен додати відповідні директиви include у ручну.
Після директив препроцесора слідує опис класу форми. Ім'я класу вашої форми —TForml. Клас містить три розділи: published— відкритий розділ, що містить оголошення розміщених на формі компонентів і обробників подій в них, private — закритий розділ класу, і public— відкритий розділ класу. А в розділи private і public ви можете додавати свої оголошення типів, змінних, функцій. Те, що ви або C++ Builder оголосите в розділі public, буде доступне для інших класів і модулів. Те, що оголошене в розділі private, доступно тільки в межах даного модуля. Після оголошення класу слідує пропозиція PACKAGE, яка включається у файл автоматично і яке ми зараз розглядати не будемо. Після цього ви можете розмістити оголошення типів, змінних, функцій, до яких при дотриманні деяких додаткових умов буде доступ з інших модулів, але які не включаються в клас форми.
Тепер розглянемо текст файлу реалізації модуля. Після автоматично включених в цей файл директив препроцесора слідує теж автоматично включене оголошення покажчика на об'єкт форми Forml, а потім — виклик конструктора форми. Тіло відповідної функції порожнє, але ви можете включити у нього якісь оператори. Після цього розміщуються описи всіх функцій, оголошені в заголовному файлі. Ви можете також розміщувати тут оголошення будь-яких типів, констант, змінних, не оголошених в заголовному файлі, і розміщувати описи будь-яких функцій, не згаданих в заголовному файлі.
