- •Лекція №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 як приклад компонента.
Локальні і віддалені бази даних.
У залежності від розташування самих даних й програми, що використовує ці дані, а також від способу розділення даних між кількома користувачами розрізняють локальні тавіддалені бази даних.
Якщо додаток роботи з БД (СУБД) і саму БД розміщено на одному комп’ютері, то в цьому випадку маємо локальну БД. Очевидною перевагою локальної БД є висока швидкість доступу до інформації. Проте, локальні БД не забезпечують одночасного доступу до інформації кількома користувачами. Т. б., поки дані використовуються одним користувачем, інший користувач не може працювати з цими даними, дані для нього закриті, заблоковані. Бази даних dBase, Paradox, FoxPro, Microsoft Access це локальні бази даних.
Віддалені бази даних будуються за технологією “клієнт-сервер”. Механізм роботи такої БД забезпечує можливість доступу до даних багатьом користувачам. Oracle, Infomix, Microsoft SQL Server і InterBase — це приклади віддалених баз даних.
Створення форми для роботи з базами даних (вручну).
Сьогодні ми розглянемо, як використовувати компоненти C++ Builder для створення форм, що працюють з БД.
Існує два основних способи побудови форми для роботи з БД. Це можна зробити вручну, по черзі розміщуючи компоненти в форму й зв’язуючи їх один з одним. Чи можна передати цю справу майстру форм БД.
Давайте ми зробимо це вручну, щоб побачити деталі цього процесу:
1. Завантажте C++ Builder.
2. Розмістіть в форму два компоненти TPanel (Standard).
Один з них розмістіть поряд із верхнім краєм форми й встановіть для його властивості Align значення alTop. (властивість Align визначає чи залишається компонент незмінним при зміні розмірів форми, чи змінюється, займаючи певну область). В результаті панель займе верхню частину форми.
Другий компонент розмістіть біля нижнього краю форми й встановіть для його властивості Align значення alClient. В результаті панель займе всю вільну область форми.
3. Видалимо текст, що відображується в кожній панелі. Для цього знищить вміст властивостей Caption компонентів.
4. Помістіть на нижню панель (TPanel2) компонент TScrollBox (укладка Additional), який дозволить відображати більше інтерфейсних компонентів, ніж вміщує форма. Якщо таблиця має багато полів, то відповідні інтерфейсні компоненти можуть не поміститися у вікні. TscrollBox забезпечить доступ до них шляхом прокручування вмісту вікна під час виконання програми. Встановіть для його властивості Align значення alClient. В результаті TscrollBox займе всю робочу область панелі TPanel2. Тепер можна переходити до розміщення компонентів, які власне й забезпечують доступ до бази даних.
5. Помістіть в довільному місті форми компоненти TТable (укладка BDE) та ТDataSource (укладка Data Access). Положення не відіграє ніякої ролі, бо компоненти не візуальні.
6. Встановіть для властивості DatabaseName компонента TТable псевдонім BCDEMOS. Ця властивість надає процесору баз даних (BDE) інформацію, необхідну для пошуку таблиці, що вказана в іншій важливій властивості TableName.
Властивості TableName надайте ім’я таблиці biolife.db, розміщення якої визначається псевдонімом BCDEMOS.
7. Зв’язок між TТable та інтерфейсними компонентами, які встановіть для властивості DataSet компонента ТDataSource ім’якомпонента TТable (Table1 за замовчуванням). Це встановить обслуговує ТDataSource, що при обміні даними з інтерфейсними компонентами ТDataSource буде посилати чи приймати ці дані від таблиці, що зв’язана з Table1.
Ще зверніть увагу на властивість AutoEdit. Для неї встановлене значення true (за замовчуванням). Це призводить до автоматичного переключення ТDataSource в режим редагування при зміні даних у відповідному інтерфейсному компоненті.
Тепер, коли невізуальні компоненти розміщено, можна переходити до інтерфейсних компонентів, які забезпечують взаємодію користувача з таблицями бази даних.
Першим інтерфейсним компонентом буде компонент TDBNavigator.
Він
використовується для управління
переглядом бази даних з можливістю
редагування даних. З його допомогою ви
зможете додавати (+), змінювати (v ),
видаляти
рядки в таблиці. Виділіть
верхню панель (Panel1)
форми й помістіть на неї
компонент TDBNavigator(укладка Data
Controls).
Встановіть для його властивості DataSource ім’я компонента TDataSource (DataSource1 за замовчуванням).
Тепер можна розміщувати інші інтерфейсні компоненти. Для цього існує два основних способи. Перший більш трудомісткий, оскільки полягає в послідовному розміщенні компонентів (TDBEdit, TDBMemo тощо) в форму й встановленні властивостей DataSource та DataField для кожного з них окремо. Після цього залишиться лише розмістити підписи до них (компоненти TLabel чи ТDBText. Ми ж з вами зараз виберемо другий, дещо скоріший спосіб, який передбачає використання редактору полів C++ Builder. Ви зможете перемістити компоненти полів в форму прямо з редактору. C++ Builder самостійно створить відповідні інтерфейсні компоненти й підписи до них.
Клацніть правою кнопкою миші на компоненті TТable для виклику контекстного меню.
Виберіть в контекстному меню пункт Fields Editor…
Клікніть правою кнопкою миші на редакторі полів та оберіть пункт Add fields… (Додати поля).
Після відображення списку полів натисніть кнопку ОК, щоб додати усі поля.
Клікніть правою кнопкою миші на редакторі полів та оберіть пункт Select аll, щоб знову виділити всі поля, й перемістіть їх в форму як групу. Після цього ви повинні побачити для кожного поля відповідний інтерфейсний компонент з компонентом TLabel.
Можна сказати, що ваша форма для роботи з базою даних в основному закінчена. Єдине, що залишилося з’ясувати – це те, як і коли відкривати таблицю TТable. Для цього, знов таки, існує два простих способи.
По-перше, ви можете включити властивість Active компонента TТable на етапі розробки. Встановлення значення true для цієї властивості у вікні Object Inspector призведе до відкриття TТable вже під час роботи з ним.
По-друге, ви можете встановити обробник події форми OnCreate чи OnShow, який буде відкривати TТable під час роботи додатку. Саме так поступає майстер форм – для відкриття таблиці під час виконання програми він генерує обробник події OnCreate.
Тому ми також давайте пропишемо обробник події, який буде відкривати таблицю при створенні форми:
|
Table1->Open(); |
Ця інструкція призведе до відкриття таблиці при створенні форми. Ось тепер ваша форма готова до запуску.
