/p>
Відразу ж збережемо проект для коректної взаємодії: File gt; Save Project As і вкажемо папку зберігання проекту.
Тепер саме час визначитися з кількістю форм майбутнього програми і способами взаємодії між користувачем і інтерфейсом програми.
Оскільки велика кількість форм позначається на швидкості взаємодії користувачів з інтерфейсом програми (у нашому випадку - це просто буде незручно), домовимося, що форм у розроблюваної АІС буде одна.
Важливим критерієм якості взаємодії користувачів з інтерфейсом АІС служить - навігація по програмі. Для вирішення даного питання розмістимо на формі панелі - інформаційну та керуючу. На (малюнок 18) показано їх розташування.
Малюнок 18 - Розташування навігаційних панелей на формі
Тепер слід заповнити керуючу панель навігаційними кнопками. Для цього скористаємося компонентом TBitBtn з вкладки Additional.
Результат кнопкової навігації представлений на (малюнок 19).
Малюнок 19 - Формування навігації
Оскільки форма у нас тільки одна, а вмістити всі функції і компоненти у вільній області форми неможливо (та й не практично), то необхідно забезпечити багатошаровість вільної області форми. З даною проблемою легко справляється компонент TNoteBook з вкладки компонентів Win 3.1. Цей компонент являє собою сторінки (tabs) блокнота, на яких розташовуються інші візуальні компоненти. Кожна сторінка сама є віконним елементом управління і містить список того, що на ній розташоване. Помістимо компонент на форму. Задамо йому ім'я (Name) N і вкажемо вирівнювання по всій вільній області (Align=alClient).
Результат можна побачити на (малюнок 20).
Малюнок 20 - Сторінка компонента N
Зараз N містить тільки таку сторінку. Нам необхідно створити кількість сторінок рівне кількості всіх кнопок у всіх категоріях навігаційної панелі (це дозволить виділити область форми для вирішення завдань, поставлених по контексту кожної з кнопок). Додавання/видалення і редагування сторінок здійснюється у властивості - масиві Pages компонента. Звернемося до нього. На екрані з'явиться вікна управління сторінками компонента, в якому після натискання кнопки Add додається нова сторінка. Додамо необхідне нам кількість сторінок (малюнок 21).
Малюнок 21 - Додавання сторінок в N
Кожна сторінка має своє ім'я і порядковий номер (індекс) по яких і здійснюється відображення заданої сторінки.
Наші сторінки створені і тепер залишилося лише зв'язати їх з відповідними кнопками навігаційної панелі. Для цього подією при натисканні відповідної кнопки присвоюємо виклик відображення відповідної сторінки. Наприклад, для кнопки Авторизація в подія - клік миші використовуємо наступний код:
procedure TForm1.btnAutrorizaciyaClick (Sender: TObject) ;. ActivePage:= Default raquo ;;;
При спрацьовуванні цієї події буде відображена сторінка з індексом 0.
Таким чином, слід задати виклик сторінок для кожної з кнопок навігаційного меню.
Отже, сторінки створені, навігація по ним налаштована. Тепер можна розподіляти елементи. Але спочатку ми налаштуємо підключення до бази даних.
. 3.2 Етап другий: створення модуля даних і підключення до бази
Варто відзначити, що взаємодія додатків з базами даних на етапі проектування і надалі здійснюється за допомогою двох типів компонентів: візуальних і не візуальних, причому нормальне функціонування перших завжди залежить від наявності друге, оскільки ті є прошарком ( каналом доступу) до баз даних.
Хороший тон програмування вимагає відокремлювати візуальні компоненти (якщо їх багато) в окремі структури, які будуть вносити ясність у логіку проектування додатку. Такими структурами є модулі даних. Вони так само не мають візуального представлення, а є лише контейнерами (зберігачами) даних. Створимо такий модуль в нашому проекті.
Додавання модуля даних здійснюється через File gt; New gt; Other ...
Малюнок 22 - Створення модуля даних
Створений модуль даних (малюнок 23) буде поміщений в файл Unit2. Перейменуємо модуль даних (Name) в DM.
Малюнок 23 - Модуль даних
Займемося тепер підключенням програми до бази даних.
Центральний доступ до бази даних про?? уществляет компонент TADOConnection. Перемістимо його на модуль з вкладки компонентів dbGo. Даний компонент призначений д...