Розробка інтерфейсу споживача
Під інтерфейсом програмного забезпечення мають на увазі спосіб взаємодії, який пропонується для споживача і комп”ютера. Саме інтерфейс створює зовнішній образ Вашого додатку, надаючи йому конструктивну привабливість.
|
Малюнок 9 . Інструментарій візуального проектування Visual FoxPro
|
Для того, щоб зробити працю розробника більш продуктивною і привабливою, Visual FoxPro пропонує великий набір засобів візуального проектування . Вони дозволяють замінити написання коду у вікні редактору на маніпулюваня об”єктами майбутнього інтерфейсу на екрані у вигляді, максимально наближеному до їх реального сприйняття.
Розглянемо структуру засобів візуального проектування Visual FoxPro. Основа цієї структури – набір Конструкторів для проектування різноманітних елементів додатку. Кожен Конструктор має набір засобів, які дозволяють максимально полегшити і зробити наочним процес розробки.
Для виконання складних маніпуляцій з об”єктами призначені Будівельники . Будівельник дозволяє за рахунок виконання поетапних дій в діалоговому режимі відразу встановити набір взаємопов”язаних характеристик та властивостей для об”єкту, що розробляється. Як правило, Будівельники виконані у вигляді діалогових вікон з кількома вкладками, на яких погруповані засоби із форм ування тих чи інших функціонально пов”язаних характеристик об”єкту.
Ручне маніпулювання і керування об”єктами в Конструкторі ми можемо в більшості випадків замінити або полегшити за рахунок використання Майстрів.
Для запуску Майстра досить в меню Tools вибрати команду Wizards і натиснути мишкою на назву відповідного Майстра.
Професійна версія Visual FoxPro пропонує послуги таких підпрограм-майстрів.
Майстер таблиць (Table Wizard) дозволяє полегшити процес створення типових таблиць за рахунок використання раніше підібраних шаблонів. Шаблони таблиць містять набір полів з певними характеристиками, вибираючи які можна швидко форм увати таблицю без звернень до Конструктора для опису атрибутів кожного поля. Майстер таблиць містить більше 40 різновидів шаблонів, що охоплює широкий діапазон інтересів, починаючи від музики до фінансових документів.
Для створення запитів служать 5 різних майстрів, які дозволяють створити на основі вибірки перехресну таблицю, графік, локальне або зовнішнє представлення або запит.
Майстер запитів (Query Wizard) дозволяє в інтерактивному режимі встановити умови для вибірки даних з кількох таблиць. За його допомогою можна легко встановити умови зв”язку між таблицями. прості умови відбору даних і задати порядок розміщення записів в результаті, що виводиться у вікні Browse.
Майстер перехресних запитів (Cross- Tab Wizard) дає змогу вибрати таблицю або представлення і на їх основі збудувати спеціальну таблицю у вигляді “шахматки”. Як правило для її побудови використовується три поля. Дані з першого поля розміщуються в першій колонці створюваного курсору, дані другого поля утворюють колонки, що залишилися, а дані третього поля розміщуються у відповідних комірках. Можна сумувати дані, задати представлення їх у вигляді процентів або підрахунок числа комірок, що відповідають даним в колонках і рядках.
Майстер графіки (Graph Wizard) допомагає створювати графік Microsoft Graph 5.0 на основі таблиці Visual FoxPro.
Майстер локальних представлень (Local View Wizard) створює представлення на основі даних, що зберігаються у форм аті Visual FoxPro.
Майстер зовнішніх представлень (Remote View Wizard) допомагає створювати представлення на основі зовнішніх даних, використовуючи технологію ODBC. Також як і для локальних представлень , необхідно, щоб існувала база даних для збереження створеного представлення.
Для створення форм можна користуватися послугами двох Майстрів.
Майстер форм (Form Wizard) дозволяє створювати форм у у вигляді полів для роботи із даними однієї таблиці . Переміщення вказівника запису і інші дії споживач може виконувати за допомогою групи керуючих кнопок, розміщеної вздовж нижньої межі форм и.
Майстер форм “один-до-багатьох” (One-to-Many Wizard) дозволяє створювати форм у, що грунтується на даних двох пов”язаних таблиць. Дані, які вибираємо з батьківської таблиці , розміщуються у вигляді набору полів, а дані з пов”язаної ьаблиці – в об”єкті Grid. Здійснюючи переміщення по записах батьківської таблиці за допомогою групи керуючих кнопок, споживач бачить в об”єкті Grid пов”язані записи в дочірній таблиці .
Для розробки звітів можна вибрати одну з таких підпрограм-Майстрів.
Майстер звітів (Report Wizard) дозволяє створити простий звіт, що використовує дані з однієї таблиці , локального або зовнішнього представлення.
Майстер звітів з групуванням даних і друком підсумків (Group/Total Report Wizard) дозволяє створити підсумковий звіт.
Майстер звітів “один-до-багатьох” (One-to-Many Report Wizard) дозволяє створити звіт, який буде грунтуватися на даних двох таблиць, що пов”язані відношенням “один-до-багатьох” .
Майстер етикеток (Label Wizard) допомагає створити етикетку на основі даних з однієї таблиці і правильно розмістити етикетки на листі для наступного виведення на друк.
Майстер поштової розсилки (Mail Merge Wizard) дозволяє створити джерело даних для документу, поштової розсилки текстового процесору Microsoft Word або текстовий файл, який в подальшому можна використовувати в довільному текстовому процесорі.
Майстер зведеної таблиці (Pivot Table Wizard) дозволяє створити інтерактивну електронну таблицю, за допомогою якої легко сумувати і виконувати аналіз різних даних, одержаних з таблиці Visual FoxPro. Зведену таблицю можна зберігати у форм аті Microsoft Excel або як впроваджений об”єкт форм и.
Майстер отримання даних (Import Wizard) допомагає імпортувати дані в таблицю Visual FoxPro з інших форм атів.
Майстер документування проекту або програми (Documenting Wizard) дозволяє підготувати програму для роздруківки або скласти різні діаграми ссилок.
Майстер встановлення програми споживача (Setup Wizard) дозволяє створити комплект дистрибутивних дискет із встановлювальною програмою для розповсюдження Вашого додатку.
Майстер переносу таблиць Visual FoxPro у форм аті SQL -серверу (Upsizing Wizard) може допомогти в перенесенні БД форм ату Visual FoxPro на зовнішній сервер бази даних . Отже, ваш локальний додаток стане додатком, що використовує технологію клієнт-сервер.
Visual FoxPro надає розробнику можливість встановити власну систему програм-Майстрів. Для цього встановлюється нове значення системної змінної:
_WIZARD = cProgramName
За припущенням системою майстрів керує програма WIZARD.APP, яка використовує інформ ацію про встановлені Майстри з таблиці WIZARD.DBF.
Розробка класів .
Базові класи Visual FoxPro не можуть бути змінені розробником. Тому для доступу до всіх об”єктів , що використовуються при розробці додатку, створюється шар базових класів розробника. Для розробника цей шар класів буде найвищим. Умовно структуру класів для розробки додатку можна зобразити таким чином:
|
Малюнок 10 . Ієрархія класів
|
Першим кроком в проектуванні інтерфейсу споживача є розробка шару базових класів розробника, які в подальшому будуть служити підгрунтям для створення набору об”єктів . В найпростішому випадку можна створити точні копії існуючих базових класів Visual FoxPro. Найкращим є варіант, коли ви попередньо продумаєте загальний підхід хоча би до чисто дизайнерських аспектів інтерфейсу споживача (колір, шрифт, рамки і т.д.). Прийняті на цьому етапі рішення в подальшому могли би бути реалізовані.
Для візуального створення класів і підкласів в Visual FoxPro використовується Конструктор класів (Class Designer). Він активізується вибором в Диспетчері проектів вкладки Classes, в якій виконуємо команду New.
Розробка форм .
За допомогою форм Visual FoxPro споживач шукає, редагує і вводить нову інформ ацію. Завдяки форм здійснюється керування набором об”єктів для реагування на дії споживача і події, що відбуваються в системі.
Форми Visual FoxPro здійснюються за допомогою Конструктора форм (Form Designer). Конструктор форм за принципом роботи подібний до Конструктора класів і має подібний інтерфейс. Форма, що проектується розміщується у вікні Конструктора форм , а його головним інструментом є вікно Properties. Конструктор форм завантажується автоматично при створенні нової або модернізації існуючої форм и. В головному вікні Visual FoxPro з”являється меню Form, за допомогою якого можна виконати команди:
– New Property – дозволяє добавити нову властивість для форм и, що створюється;
– New Method – дозволяє добавити новий метод для форм и;
– Edit Property/Method – знищити добавлені властивості і метод и з опису форм и або змінити коментар;
– Include File – визначити файл, що містить директиви компілятора;
– Create Form Set – створити набір форм – об”єкт, який буде контейнером відносно кількох форм і панелей інструментів;
– Remove Form Set – знищити набір форм ;
– Add New Form – добавити форм у в набір форм ;
– Remove Form – знищити форм у з набору форм ;
– Quick Form – запускає будівельника форм , за допомогою якого можна швидко створювати просту форм у для роботи з даними з однієї таблиці і в подальшому використовувати як заготовку в Конструкторі форм ;
– Run Form – запустити форм у, що розробляється.
Взаємодія Visual FoxPro з додатками Microsoft Office .
Visual FoxPro підтримує сучасну технологію взаємодії з додатками Windows – OLE 2.0 . Ця технологія надає розробнику і споживачу такі можливості:
– редагування на місті дозволяє працювати з документом додатку Windows, не покидаючи Visual FoxPro. Потрібні елементи керування, включ аючи меню , з”являться на місці поточних, а після завершення роботи повернуться на своє місце елементи керування і меню Visual FoxPro;
– переміщення даних між додатками допомагає реалізувати найприродніший для споживача метод збору різноманітних даних для використання в одному документі;
– технології впровадження або зв”язування об”єктів дозволяють вибрати найефективніший спосіб об”єднання різних даних в одному документі. При цьому зв”язування дозволяє не збільшувати без потреби об”єм документу і використовувати найостаннішу версію даних за рахунок їх зберігання в окремому файлі. Впровадження дозволяє зберігати всі потрібні дані в одному додатку;
– підтримка вкладених об”єктів дає змогу в одному документі мати кілька залежних об”єктів без потреби звернення до кількох додатків. Напрклад, електронна таблиця Excel , впроваджена у форм у, може містити впроваджену діаграму. Зміни в електронній таблиці спричинять зміни в діограмі;
– OLE Automation дозволяє Visual FoxPro програмним шляхом встановлювати властивості і задавати команди для об”єктів іншого додатку. Це надає великі можливості для керування процесом підготовки текстових документів високої якості, форм ування графіків або виконання розрахунків.
Для створення нового OLE-об”єкту потрібно використати функцію CREATEOBJECT(), яка повертає ссилку на щойно створений об”єкт. Якщо ж OLE-об”єкт існує, то отримати на нього ссилку можна за допомогою функції:
GETOBJECT([FileName][,ClassName])
Тут FileName – ім”я існуючого файлу, що містить OLE-об”єкт, який потрібно активізувати, ClassName – клас OLE-об”єкту.
Використання OLE Automation значно збагачує можливості Visual FoxPro. Однак конкретні Windows-додатки мають принципово відмінні системи OLE-об”єктів , що ускладнює процес програмування. Навіть додатки Microsoft Office мають відмінні системи об”єктів і способи роботи з ними.
Для прикладу наведемо ієрархічну структуру найважливіших об”єктів Excel :
|
Малюнок 11 . Ієрархія об‘єктів Excel
|
Розробка меню .
Меню в прикладній програмі – це те перше, що бачить споживач при запуску додатку.
Основне призначення меню полягає в тому, щоб дати змогу споживачу отримати легкий доступ до всіх елементів прикладної програми. Отже, меню повинно відображати не функціональну схему програми і складні взаємозв”язки між її блоками, а відповідати логіці роботи споживача. При розробці меню слід дотримуватися принципів:
– заголовок меню повинен включати максимально зрозумілу інформацію про його призначення;
– структура меню повинна відповідати частоті виконання тих чи інших дій, логічній послідовності їх виконання або в крайньому випадку алфавітному порядку;
– намагайтесь виділяти функціонально пов”язані групи за допомогою роздільників;
– уникайте занадто великих списків команд в меню , діліть такі списки на підменю за функціональними ознаками;
– для команд, які часто використовуються, створюйте “гарячі клавіші”.