ВСТУП.
Якщо ви пишете програми, що працюють в текстовому режимі, які використовують високопродуктивний, гнучкий і цілісний інтерфейс для взаємодії з користувачем, то бібліотека Turbo Vision призначена для Вас.
Бібліотека Turbo Vision є засобом для розробки програм, що працюють в середовищі DOS, що реалізують новий погляд на проектування програмного забезпечення. Бібліотека може бути використана для створення багатофункціонального інтерфейсу взаємодії, що включає вікна, діалогові панелі, меню, підтримку маніпулятора "миша" і навіть простий, що настроюється, зручний редактор.
Після створення фірмою Borland декількох програм з цілісним багатофункціональним інтерфейсом користувача, була зроблена спроба укласти їх можливості в багато разів використовується набір засобів. Бібліотека Turbo Vision була розроблена з використанням технології об'єктно-орієнтованого програмування.
Turbo Vision є повною об'єктно-орієнтованої бібліотекою класів, яка містить компоненти для користувача інтерфейсу:
- Численні, згортаються, що перекриваються вікна;
- Підтримку "миші";
- Панелі діалогу;
- Вбудовану установку кольору;
- Кнопки, смуги прокручування, панелі введення, кнопки управління з незалежною і залежною фіксацією;
- Стандартну обробку натискань клавіш і роботи маніпулятором "миша";
- І багато чого іншого!
Щоб використовувати Turbo Vision, треба вільно володіти об'єктно-орієнтування програмуванням (ООП) і, зокрема, С + +. У додатках, написаних з використанням TurboVision, широко використовується техніка ООП, в тому числі успадкування і поліморфізм.
ОСНОВНІ ЕЛЕМЕНТИ TURBO VISION.
Бібліотека Turbo Vision являє собою багатовіконний оболонку, керовану подіями. Вона є програмним
засобом, які містять лише скелет програми (кошти,
забезпечують основну структуру). За допомогою властивості розширюваності об'єктно-орієнтованого програмування на мові Turbo С + +, можна наповнити цей кістяк. Turbo Vision представляє Вам клас прикладної програми, TApplication, а Ви на його основі створіть власний клас, наприклад, - MyApplication, для підтримки своєї власної прикладної програми. Потім Ви додаєте до нього, або замінюєте в ньому необхідні деталі, требубщіеся для вирішення конкретного завдання.
Припускаються конструктори і деструктори беруть на себе всі функції обслуговування: ініціалізацію об'єктів і їх знищення.
При використанні Turbo Vision Вам ніколи не доведеться модифіковані наявний джерельний код. Зміни в Turbo
Vision виробляються шляхом розширення. Клас прикладної програми TApplication залишається незмінним всередині бібліотеки TV.LIB. Ви будете робити тільки додавання до нього, створюючи нові типи класів і вносити потрібні зміни шляхом заміни наявних функцій на нові, які Ви розробите для нових об'єктів.
Крім того, Turbo Vision являє собою ієрархічну структуру, а не роз'єднаний набір окремих засобів. Його можна використовувати тільки цілком, а не по частинах. Всі компоненти Turbo Vision архітектурно взаємопов'язані і всі вони взаємодіють один з одним безліччю взаємозалежними способами. Не варто намагатися виокремити з нього, наприклад, підтримку "миші" - це складніше, ніж створення нової системи підтримки "миші".
В основі філософії розробки Turbo Vision лежать два наступні рекомендації: повне використання об'єктно-орієнтованого техніки і робота з комплексом бібліотеки Turbo
Vision в її основних поняттях. Це означає "гру за правилами" Turbo Vision та використання її складових типів об'єктів так, як це в ній передбачено. Turbo Vision створювався для позбавлення користувачів від величезного обсягу непотрібною повторюється роботи та надання перевіреної основи для
розробки прикладних програм, якій можна довіряти. Елементи прикладної програми, побудованої в Turbo Vision.
Прикладна програма, що використовує Turbo Vision, являє собою взаємодіє мнощество відображується об'єктів, подій та неотображаемих об'єктів.
У контексті Turbo Vision відображається об'єкт - це те, що Ви можете побачити на екрані. Поля, рамки, строкіпрокруткі і меню, - все це відображаються об'єкти. Відображені об'єкти можуть об'єднуватися й утворювати болл складні об'єкти, такі як вікна і панелі діалогу. Такі відображаються об'єкти називаються груповими об'єктами, і функціонують разом, як єдиний відображається об'єкт. Групи навіть можуть містити в собі інші групи, породжуючи ланцюжка відображаються обь'ектов і подоб'ектов.
Подією є те, на що має реагувати Ваша програма. Події надходять від клавіатури, від "миші" або з інших частин Turbo Vision. Події поміщаються в чергу, потім обробляються в поридке надходження обробником. Та-
кой обробник мається на класі TApplication, що є тілом Вашої прикладної прогоамми.
Неотображаемимі називаються будь-які об'єкти програми, які не є відображаються, тобто безпосередньо не взаємодіють з екпаном. Вони виконують обчислення, здійснюють зв'язок з периферійними пристроями і в цілому реалізують функції прикладної програми. Якщо неотображаемому об'єкту потрібно
вивести будь-яку інформацію на екран, то це робиться за допомогою відображується об'єкта. Ця концепція є дуже важливою для підтримки строгого порядку у прикладних програмах Turbo Vision: з екраном взаімодействут тільки відображаються об'єкти.
Загальні підходи.
Оскільки Turbo Vision розроблений для реалізації стандартизованого, раціонального підходу до побудови інтер-
Фейса, то Ваші прикладні програми знайдуть похощій вид.
Цей вид ідентичний увазі інтерфейсу різних інтегрованих середовищ фірми Borland і базується на багаторічному досвіді та перевірки їх використання. Наявність спільного і доступного для розуміння підходу до інтерфейсу прикладної програми є великою перевагою для Вас і Ваших користувачів: незважаючи на будь-яку складність і "закритість" задач Вашої програми, спосіб роботи з нею буде завжди Вам знайомий і процес роботи з нею легкий і простий. < br />
Робоча область - це заштрихований фон, на якому відображаються об'єкти прикладної програми. Як і всі елементи
Turbo Vision, робоча область є об'єктом. Об'єктами є також лінійне меню у верхній частині екрана й рядок
стану в нижній частині. Команди в строковому меню відповідають меню, які "розкриваються" вниз (вертикальні меню) за допомогою "миші" або натисканням відповідних керуючих клавіш.
Зв'язок програми з користувачами зазвичай здійснюється через вікно або декілька вікон або панелі діалогу, які
відображується в рабачей області на екрані і зникають відповідно до команд від "миші" або з клавіатури. Turbo Visi-
on має великий ассртіментом алгоритмів роботи з вікнами по вводу і відображення інформації на екрані. Внутрішні поля можна зробити прокручується, і тоді вони будуть служити "воротами" в більші зображення даних, такі як файли документів. Прокрутка вікна за даними здійснюється переміщенням бігунка рядка-прокручування в нижній частині екрана, в його правій частині або в обох цих частинах. Бігунок рядка прокручування вказує положення вікна щодо сукупності зображуваних на екрані даних.
Діалогові вікна часто містять кнопки, які реалізовані як виділені кольором слова, які вибирають за допомогою "миші" (або за допомогою клавіш "табуляція" і "пробіл"). У відповідь на натискання, "кнопки" вдавлюються (як справжні кнопки) і можуть реалізовувати передачу команд прикладній програмі.
При вивченні Turbo Vision слід мати на увазі: суть программіроварія з використанням Turbo Vision полягає в
розробці необхідного вигляду інтерфейсу і його обробки команд. Turbo Vision - "кістяк" програми - подбає про пере-
дачі команд за потрібне частинам Вашої програми. Вам же залишиться лише визначити, що конкретно має бути зроблено після натискання клавіші на клавіатурі, кнопки "миші" або вибору команди меню. Таким чином "м'ясом" Вашої програми є та
її частина, яка виконує функціональну обробку прийнятих від користувачів команд - і ця "м'ясна" частина міститься у створюваних відображаються об'єктах.
Структура програми.
Яким же чином реалізується виконання програми? Як правило, більша частина програми успадкує з певних
раніше об'єктів в Turbo Vision. Причому успадкує настільки
значна частина програми, що принципи її реалізації можуть здатися таємничими. Покрокове виконання програми за допомогою інтегрування відладчика не доста повної картини, оскільки Turbo Vision функціонує у вигляді оттранслірованой бібліотеки.
Так як програми, написані з використанням Turbo Vision, управляються подіями, їх структура дещо відрізняється від звичайних програм. Особливістю програм, керованих подіями, є відділення структур управління, які виконують читання і обробку вхідних даних, від процедур і
функцій, які впливають на ці вхідні дані.
Звичайні програми, як правило, містять багато окремих програмних блоків, кожен з яких передбачає отримання вхідних даних, потім визначає, якій частині програми вони адресовані і виконують виклик відповідного фрагмента для обробки цих даних, а потім повторює всі ці операції. Крім того, фрагмент, що завершує обробку вхідних даних, повинен отримати інформацію про місце передачі управління для наступного етапу введення.
Програми, керовані подіями, навпаки, мають централізований механізм диспетчеризації подій. Таким чином, більша частина програми не піклується про вибірку вхідних даних і, тому, їх використання не становитиме великої проблеми. Це має велике значення для налагодження програм, тому що Ви повинні змінити всю стратегію налагодження, встановлюючи контрольні точки у функції обробки подій для перевірки диспетчеризації повідомлень; у фрагментах програми, що реагують на події, що відбуваються, щоб перевірити правильність їх функціонування.
Деструктор прикладної програми.
Коли програма завершується відображаються об'єкти знищуються шляхом автоматичних дзвінків деструкторів базових класів в порядку, зворотному тому, який використовувався при виклику конструкторів. Нарешті, відключається обробник помилок і драйвери Turbo Vision. Загалом, від Вас не потрібно спеціальної завершення роботи з об'єктами Turbo Vision.