к 2.12).
Для відображення даних на табличній формі використовується компонент DBGrid. Користувач може перейти в режим конструктора, де він має можливість змінювати порядок слідування, ширину стовпців, колір заливки.
Малюнок 2.12 - Таблична форма
Також широко поширена повноекранна форма (рисунок 2.13).
Малюнок 2.13 - Приклад повноекранної форми
На повноекранної формі розташовуються поля окремого запису. У більшості додатків положення об'єктів представлення даних суворо упорядковано, але в даному, користувач має можливість змінювати властивості, розмір і розташування об'єктів.
Наступнийвигляд форми являє собою комбінацію двох попередніх (малюнок 2.14).
Якщо записи, які відображаються в таблиці, містять багато полів і/або поля мають велику довжину, то для їх перегляду і редагування зручно використовувати уявлення поточного запису у вигляді окремих компонентів.
Малюнок 2.14 - Комбінована форма
Для зручності відображення інформації можна переносити об'єкти відображення даних з однієї закладки на іншу.
Форма типу головна/підпорядкована також дуже зручна у використанні (малюнок 2.15).
Малюнок 2.15 - Форма типу головна/підпорядкована
Ця форма зазвичай використовується для відображення даних, пов'язаних ставленням один до багатьох. Головна форма представляє дані з основної таблиці, а підлегла містить кілька рядків записів з зв'язковий таблиці з боку «багато».
Форми в стилі Explorer (малюнок 2.16) використовуються для представлення даних в нереляціоннимі вигляді. У прикладі на малюнку 10 у вигляді дерева зображена структура підприємства, вузли якого представляють інформацію по кожному співробітнику.
Малюнок 2.16 - Форма в стилі Explorer
Для виконання типових операцій з даними всі типи форм містять панель інструментів з безліччю різних кнопок. Вони дозволяють здійснювати наступні дії:
оновлювати таблиці бази даних;
здійснювати перехід по записах;
здійснювати пошук потрібного запису;
видаляти і додавати записи;
підготовляти і переглядати звіти.
Звіти можуть формуватися у вигляді документів різних форматів - текстовий файл, звіт Quick Report, документ MS Word, книга Excel. Створення звітів у вигляді документів Word і Excel здійснюється за допомогою компонентів COM.
Кожна форма також містить кнопку «Конструктор», яка дозволяє перейти з режиму роботи в режим планування. Для кожного з режимів визначені свої методи і властивості. У робочому режимі відображається набір даних, який необхідний для роботи користувача. У режимі конструктора передбачена можливість налаштування інтерфейсу додатку згідно з вимогами користувача. У режимі експлуатації готового додатку користувач може змінювати положення і розмір компонентів, змінювати кольори, міняти місцями колонки таблиці і т.д. Це дозволяє змінювати інтерфейс додатків відповідно до вимог без залучення програмістів і внесення змін в код програми.
2.4.2 Розробка процедур і функцій клієнтського додатка
Базовий варіант шаблону клієнтського додатка адаптивної інформаційно системи, складається з 5 форм представлення даних. Кожна форма містить набір готових компонентів, призначених для представлення інформації отриманої від компонентів, що містять набори даних.
Найбільшу важливість при розробці клієнтського додатка з адаптивним інтерфейсом представляють процедури і функції, що забезпечують редагування зовнішнього вигляду форми, коли дане додаток вже запущено і експлуатується користувачем.
Як відомо, користувач звикає до певного розташуванню елементів на формі і при щонайменшій зміні їх координат йому доводиться заново звикати, щоб довести роботу до автоматизму. Якщо на екран виводиться великий обсяг інформації і користувачеві необхідно зіставляти певні шматки даних, то необхідно розмістити компоненти таким чином, щоб користувач міг легко орієнтуватися в зовнішньому поданні даних і відразу знаходити потрібну інформацію.
Щоб надати користувачеві можливість самому змінювати положення графічних компонентів, були переопределни наступні методи клієнтських форм:
procedure ObjectMouseDown (Sender: TObject; Button: TMouseButton ;: TShiftState; X, Y: Integer);
procedure ObjectMouseMove (Sender: TObject; Shift: TShiftState; ...