ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Turbo Vision
         

     

    Інформатика, програмування
    ЗМІСТ
    ВСТУП ................................................< br /> Відображаються об'єкти ....................................< br /> Об'єкт tView ........................................< br /> Група (tGroup). Z - порядок .........................< br /> Оформлення програми, що використовує засоби Turbo
    Vision.Об'екти tProgram і tApplication ..............< br /> Обробка подій ...................................< br /> Команди .............................................< br /> ПОРЯДОК РОБОТИ З відображаються об'єкти ................< br /> Опис відображається об'єкта ......................< br /> Створення відображатиметься об'єкта ......................< br /> Приміщення відображатиметься об'єкта до групи ............< br /> Завдання параметрів відображаються об'єкти ............< br /> Робота з модальними об'єктами .......................< br /> СТВОРЕННЯ МЕНЮ ...........................................< br /> Створення розгортається меню ....................< br /> Створення локального меню ............................< br /> СТВОРЕННЯ ВІКОН І діалогових вікон .........................< br /> Вікна в Turbo Vision .................................< br /> Елементи вікон в Turbo Vision ........................< br /> Поле скролінгу .....................................< br /> Текстовий елемент буферірованной інформації .........< br /> Текстовий елемент для пасивного терміналу ..........< br /> Лінійка скролінгу ..................................< br /> Діалогове вікно .....................................< br /> Елементи діалогових вікон ............................< br /> Рядок введення ........................................< br /> Мітка ...............................................< br /> Протокол ............................................< br /> Селективний і тригерних списки .....................< br /> Кнопка ..............................................< br/> Статичний і параметричний тексти ................< br /> Списки строк ........................................< br /> Стандартні вікна ....................................< br /> СТВОРЕННЯ СТРОК СТАНУ ................................< br /> Рядок стану, що відображає клавіші швидкого
    управління ..........................................< br /> КОЛІРНА ПАЛІТРА TURBO VISION ...........................< br /> Стандартна палітра .................................< br /> Зміна стандартної палітри .......................< br /> НЕОТОБРАЖАЕМИЕ ОБ'ЄКТИ TURBO VISION .....................< br /> Аналізатори введеної інформації .....................< br /> Об'єкт - колекція ..................................< br /> Потоки Turbo Vision .................................< br /> Ресурси .............................................< br /> Списки строк ........................................< br /> ДЕЯКІ ДОДАТКОВІ МОЖЛИВОСТІ TURBO VISION .......< br /> Текстовий редактор ..................................< br /> Відображення деревовидних структур ....................< br /> Діалогове вікно завдання кольорової палітри .............< br /> ВИСНОВОК ..............................................< br/> ВСТУП
    Для ефективної роботи системи та її більшого купівельного
    попиту недостатньо тільки того, щоб апаратура та програми забез-
    Чіван правильні результати і швидку работу.Не менш важливим фактором
    є зручність роботи користувача.
    Тому в даний час ні один програмний продукт, позбавлений
    більш-менш зручного інтерфейсу взаємодії користувача з
    комп'ютером і програм між собою, не може розраховувати на успіх.
    У світі розроблена величезна кількість різних систем підтримки
    створення призначеного для користувача інтерфейса.Наіболее прогресивними, за на-
    шему думку, є об'ектнооріентірованная система Turbo Vision
    фірми Borland International і операційна система Windows фірми
    Microsoft.Рассмотреніем можливостей ОС Windows займався А.А.Галаш-
    кін, а в представленій роботі проводиться огляд та вивчення особ-
    ностей, можливостей, елементів, організації пакету Turbo Vision.
    Під час створення прикладної програми програміст великі зусилля зат-
    рачівает на організацію введення/виводу інформації, тобто на формування
    інтерфейса.Оні порівнянні із зусиллями, що витрачається на програмування-
    ня основного алгоритму програми, за яким вирішується конкретна за-
    дача.Работа, пов'язана з організацією введення/виводу, повторюється від
    програми до програми, вимагає виконання однотипних операцій, отвле-
    кає увагу програміста від вирішення основного завдання.
    Хорошим засобом спрощення роботи з організації введення/виводу,
    його уніфікації з урахуванням сучасних вимог до інтерфейсу програм
    є розроблений фірмою Borland International пакет Turbo
    Vision 2.0, який представляє об'єктно-орієнтовану бібліотеку коштів
    формування інтерфейсу користувача.
    Програму можна представити як сукупність-
    ність двох частин: частина програми, що забезпечує рішення основної
    завдання, і частину, що забезпечує організацію введення/виводу інформації з
    зовнішніх пристроїв (на зовнішні пристрої), - так званий інтерфейс
    программи.В основну частину (з основної частини) програми інформація
    може передаватися двома способами - безпосередня передача інфор-
    ції (наприклад, програма формує якісь дані та розміщує їх в
    конкретному файлі на магнітному диску) і передача інформації за допомогою
    організації діалогу (наприклад, після формування тих же даних проис-
    ходить уточнення, в який конкретно файл слід помістити сформований-
    ву інформацію). Спосіб, заснований на організації діалогу, є
    більш універсальним і саме для організації діалогу призначений в
    першу чергу пакет Turbo Vision.
    У сучасних програмах, що працюють в текстовому режимі, діалог
    зазвичай організовується за допомогою трьох засобів: меню, діалогових вікон і
    строк состоянія.Turbo Vision дозволяє реалізувати всі ці кошти
    діалогу.
    Turbo Vision являє собою бібліотеку об'єктів, що дозволяють
    створити користувальницький інтерфейс і широко використовують властивості ін-
    капсуляціі, успадкування та поліформізма.Почті всі об'єкти бібліотеки
    є нащадками спільного абстрактного об'єкта tObject.Ми розглянемо
    їх класифікацію, виходячи із завдань, що виникають при створенні інтерфейсу.
    Об'єкт tObject досить прост.Он не має параметрів і володіє
    трьома методами, два з яких - конструктор Init:
    constructor tObject.Init;
    що заповнює виділену під об'єкт область нулями, і деструктор Done:
    destructor tObject.Done;
    який не виконує ніяких дій, - повинні бути перевизначені в його
    нащадків, а третій метод Free:
    procedure tObject.Free;
    видаляє об'єкт з динамічної пам'яті, ніколи не перевизначається,
    тому що може знищити будь-який нащадок об'єкта tObject.
    При організації інтерфейсу доводиться вирішувати два завдання: ство-
    ня відповідного образу на екрані і можливість за допомогою того
    способу передачі інформації як від користувача до обчислювальної махай-
    не, так і від машини до пользователю.Помімо цих двох завдань при організа-
    ції інтерфейсу доводиться виконувати різні допоміжні опера-
    ції (обчислення, контроль і перетворення даних, зберігання інформації
    і т.д.). У зв'язку з цим всі об'єкти Turbo Vision можна розбити на дві
    групи: які відображаються і неотображаемие об'єкти.
    Відображаються об'єкти
    Відображаються об'єкти є такі об'єкти, які можуть
    бути зображені на екране.Еті об'єкти дозволяють наочно представити
    користувачеві інформацію, дати йому засоби введення інформації в програм-
    му найбільш природним образом.К таких об'єктів належать, в частнос-
    ти, меню, рядка стану, діалогові вікна з їх компонентами.
    Будь-який відображається об'єкт є нащадком загального абстрактного
    об'єкта tView, який є безпосереднім нащадком загального предка
    tObject.
    Неотображаемимі об'єктами є об'єкти, які не можуть бути
    зображені на екране.К цієї категорії, зокрема, належать об'єкти,
    призначені для контролю і зберігання данних.Наіболее часто викорис-
    зуемимі об'єктами такого класу є аналізатори вводиться інфор-
    ції, колекції, потоки і ресурси.
    Будь-який об'єкт Turbo Vision має велику кількість параметрів,
    визначають його властивості та методів (підпрограм), які задають його пове-
    деніе.Согласно принципам об'єктного програмування, бажано пара-
    метри об'єктів не змінювати безпосередньо, а за допомогою відповідних-
    щих методів, призначених для цієї целі.Ето пов'язано з тим, що в
    ряді випадків тільки зміна того чи іншого параметра недостатньо -
    слід виконати додатково певні дії (наприклад, пере-
    малювати об'єкт на екрані). У ряді випадків безпосереднє зміна
    параметрів просто недопустімо.Практіческі для всіх параметрів об'єктів
    в Turbo Vision вказано, чи припустимо його безпосередньо змінювати (за-
    пісивать). На жаль, принцип об'єктного програмування, що вимагає
    змінити установки тільки за допомогою того чи іншого методу, повною
    мірою в Turbo Vision не реалізований, і доводиться в найпростіших випадках
    параметри змінювати безпосередньо або писати свої додаткові ме-
    тоды.
    Будь-який відображається об'єкт може бути розміщений на крані в прямоу-
    гольной області, яка задається координатами лівого верхнього і пра-
    вого нижнього углов.В Turbo Vision координати задають лінії розділу між-
    ду знакомісць, і при цьому нумерація по горизонталі і вертикалі починають
    нается з нуля (координати 0,0 - лівий верхній кут екрану). Координати
    можуть бути абсолютними, відлічуваний відносно лівого верхнього
    кута крана, і відносними, відлічуваний від лівого верхнього кута
    відповідного вікна (так званого власника даного відображатиметься
    об'єкта).
    Для завдання координат точки на крані і координат прямокутної
    області використовуються два об'єкти - tPoint, що містить дві координати
    точки - X і Y:
    type tPoint = object
    X, Y: Integer;
    end;
    і tRect, що визначає верхній лівий і правий нижній кути прямокутної
    області.Об'ект tRect не лише містить відповідні координати, але
    також володіє методами, що дозволяють задавати, змінювати, отримувати ці
    координати і виконувати над ними ряд інших операцій.
    Об'єкт tView
    Предком відображаються об'єктів є об'єкт tView.Несмотря на
    те, що цей об'єкт абстрактний, тобто не можна створити конкретний обра-
    зец цього типу, він має важливе значення, тому що задає загальні властивості
    всіх відображаються елементів і визначає віртуальні методи, які
    потім перевизначаються для конкретних що відображаються об'єктів.
    В об'єкта tView задаються наступні параметри:
    Розташування та розміри об'екта.Расположеніе об'єкта tView задає-
    ся координатами його лівого верхнього кута в полі його власника - пара-
    метр Origin, а розміри - параметром Size, що задає його ширину і висо-
    ту.Непосредственно змінювати ці параметри в програмі не следует.Для
    їх завдання потрібно використовувати методи Locate (одночасне завдання
    всіх координат об'єкту):
    procedure tView.Locate (var Bounds: tRect);
    де Bounds - область, що виділяється під об'єкт в координатах його володів-
    ца;
    MoveTo (переміщення об'єкта в полі його власника без зміни розмі-
    рів):
    procedure tView.MoveTo (X, Y: Integer);
    де X, Y - координати лівого верхнього кута об'єкта в полі його володів-
    ца,
    і GrowTo (зміна розмірів об'єкта):
    procedure tView.GrowTo (X, Y: Integer);
    де X, Y - горизонтальний і вертикальний розміри об'єкта.
    При зміні розмірів об'єкта за допомогою методу GrowTo залишається
    на місці лівий верхній кут об'єкта.
    Координати курсора.Ряд відображаються об'єктів, таких, як рядок
    введення текстової інформації, редактори і т.д., можуть мати видимий курей-
    сор.Коордінати цього курсору задаються параметром Cursor.Для об'єктів,
    що не мають видимого курсору, значення цього параметра безразлічно.За-
    дати координати курсору можна за допомогою методу SetCursor:
    procedure tView.SetCursor (X, Y: Integer);
    де X, Y - координати курсору в полі об'єкта.
    Курсор відображатиметься елемента можна зробити видимим і невидимим
    (параметр sfCursorVis прапорів стану), а також змінювати його розміри
    (параметр sfCursorIns).
    Прапори свойств.Параметр Options розміром в один 16-розрядне слово
    задає ряд властивостей відображатиметься об'екта.Назначеніе бітів цього слова
    наступне (в круглих дужках приведені константи, що відповідають еди-
    ниці у вказаному бите):
    0-й біт (ofSelectable) - можливість активізації (виділення) даного
    об'єкта в його власника або за допомогою миші,
    або за допомогою клавіші табуляціі.Ето властивість
    використовується у будь-якого об'єкта, і зазвичай прапор
    задається рівним одиниці.
    1-ий біт (ofTopSelect) - можливість розміщення об'єкта при його акти-
    візаціі (виділення) зверху всіх інших
    об'єктів конкретної группи.Ето властивість ис-
    користується біля вікон (тип tWindow) та їх нащадків
    - Діалогових вікон, стандартних діалогових
    вікон і т.д.
    2-ий біт (ofFirstClick) - можливість використання першого натискання
    клавіші не тільки для виділення об'єкта (біт
    0), але і для виконання дій, які
    активізуються даними об'ектом.Свойство ис-
    користується практично у всіх відображаються
    об'єктів.
    3-й біт (ofFramed) - наявність рамки навколо відображатиметься об'екта.Ето
    властивість використовується для піделементи окон.Не
    випливає цей прапор плутати з наявністю рамки вікна
    (tWindow) та його нащадків.
    4-ий біт (ofPreProcess) - випереджає реакція на собитіе.Заданіе прапора
    призводить до зміни стандартної послідовно-
    ності реакції відображаються елементів
    групи на собитіе.Свойство може вико-
    тися у будь-якого елемента в міру необходімос-
    ти.
    5-ий біт (ofPostProcess) - запізнілих реакція на собитіе.Аналогічно
    попереднього прапора, але з іншими наслідками-
    ями його використання.
    6-ий біт (ofBuffered) - наявність КЕШ-буфера у відображатиметься об'єкта,
    коли образ відображатиметься об'єкту не створюється
    кожен раз заново при його промальовуванні на екрані,
    а зберігається в спеціальному КЕШ-буфере.Флаг важливий
    для складних складових об'єктів типу вікна і його
    нащадків.
    7-ий біт (ofTileable) - розташування відображаються об'єктів встик або
    каскадно (з накладенням). Цей прапор вико-
    ється тільки біля вікон і їхніх нащадків.
    8-ий біт (ofCenterX) - центрування об'єкта за горізонталі.Прі заду-
    ванні цього прапора об'єкт при його первісної
    промальовуванні центрується щодо верти-
    Кальной осі його владельца.Флаг може вико-
    ватися у елементів, що входять до групи елементом
    тов.
    9-ий біт (ofCenterY) - центрування об'єкта за вертікалі.Аналогічно
    попереднього прапора, але тільки об'єкт центрир-
    ється щодо горизонтальної осі його вла-
    ділка.
    10-ий біт (ofValidate) - задається перевірка правильності введеної в
    об'єкт інформації при виході з цього об'єктивним
    та (активізації іншого об'єкта). Прапор ис-
    користується тільки з рядками введення.
    11-ий біт (ofVersion20) - використовується Turbo Vision 2.0.Ряд об'єктів
    (як, наприклад, рядок вводу) мають принци-
    піальние відмінності в залежності від версії
    Turbo Vision.Версія 2.0 має додаткові
    можливості в порівнянні з версією 1.0.
    12-й біт (ofVersion10) - використовується Turbo Vision 1.0.
    Решта біти слова прапорів властивостей не іспользуются.Для завдання
    прапорів властивостей можна використовувати константу ofCentred = $ 0300 (одночасним-
    менное центрування по горизонталі і вертикалі), за допомогою якої
    можна одночасно встановити 8 і 9 біти параметра Options.Імеется
    константа ofVersion = $ 3000, що дозволяє виділити біти, пов'язані з вер-
    сіей Turbo Vision.
    Прапори перемещенія.Параметр DragMode розміром в один байт задає
    характеристики відображатиметься об'єкта при його переміщенні:
    0-й біт (dmDragMove) - дозвіл переміщення об'єкта або за допомогою
    миші, або за допомогою клавіш напрямку. Використовується у тих
    об'єктів, які з тих чи інших причин можуть переміщатися
    в полі свого власника, наприклад біля вікон і їхніх нащадків.
    1-й біт (dmDragGrow) - дозвіл зміни розмірів об'єкта або з
    допомогою миші, або за допомогою клавіш направленія.Іспользуется
    біля вікон і їхніх нащадків.
    4-й біт (dmLimitLoX) - заборона лівій стороні відображатиметься об'єкта
    виходити за задані граніци.В як таких меж часто
    виступають розміри власника даного об'єкту (наприклад, роз-
    ри робочого поля, в якому розміщені вікна).
    5-й біт (dmLimitLoY) - аналогічно 4 биту, але заборона верхній сторо-
    не відображається об'єкта виходити за задані межі.
    6-й біт (dmLimitHiX) - аналогічно 4 биту, але заборона правій стороні
    відображатиметься об'єкта виходити за задані межі.
    7-й біт (dmLimitHiY) - аналогічно 4 биту, але заборона нижньому боці
    відображатиметься об'єкта виходити за задані межі.
    Решта біти параметра DragMode НЕ іспользуются.Для одновремено-
    ного завдання обмежень на переміщення у всіх напрямках можна вико-
    пользовать константу dmLimitAll = $ FO, що встановлює в одиницю ритми з
    4 по 7.
    Прапори зміни размеров.Параметр GrowMode розміром в один байт
    задає властивості відображатиметься об'єкта при спробі зміни розмірів
    його власника за допомогою миші або клавіш напрямку.
    0-й біт (gfGrowLoX) - ліва сторона відображатиметься об'єкта залишається на
    одному і т?? м же відстані від правого боку його власника при
    зміну розмірів власника.
    1-й біт (gfGrowLoY) - верхня сторона відображатиметься об'єкта залишається
    на одній і тій же відстані від правого боку його власника
    при зміні розмірів власника.
    2-й біт (gfGrowHiX) - права сторона відображатиметься об'єкта залишається на
    одному і тому ж відстані від правого боку його власника при
    зміну розмірів власника.
    3-й біт (gfGrowHiY) - нижня сторона відображатиметься об'єкта залишається на
    одному і тому ж відстані від нижньої сторони його власника при
    зміну розмірів власника.
    4-й біт (gfGrowRel) - відображається об'єкт змінює свої розміри про-
    порціонально розмірами владельца.Такой режим може зажадати-
    ся при відображенні вікна у разі зміни режиму адаптера з
    25 рядків на 43/50 рядків і навпаки.
    Решта біти параметра GrowMode не використовуються Для одновремено-
    ної фіксації сторін відображатиметься об'єкта щодо розмірів його
    власника можна використовувати константу gfGrowAll = $ OF, що встановлює
    в одиницю біти з 0 по 3.
    Прапори обробки собитій.Параметр EventMask розміром в один голос
    визначає, які події може обробляти даний відображається об'єк-
    ект.
    Прапори состоянія.Параметр State розміром в один голос визначає
    поточний стан даного відображатиметься об'екта.Как правило, зміна
    цього параметра відбувається автоматично в процесі виконання прог-
    Рамі (наприклад, виділений стан об'єкта), і не слід без осо-
    Бих причин змінювати його в программе.Еслі ж все-таки буде потрібно вироб-
    вести ті чи інші зміни, їх необхідно проводити за допомогою соот-
    відповідне методів, спеціально для цього призначених.
    Окремі біти параметра мають таке значення:
    0-й біт (sfVisibl) - об'єкт може бути бачимо в полі свого володів-
    ца.Еслі цей прапор встановлений (такий стан задається авто-
    автоматично під час створення об'єкта), об'єкт буде бачимо повністю
    або частково, якщо тільки він не закривається іншими відображаючи-
    емимі об'єктами, а його власник сам видно на кране.Для заду-
    ня цього прапора використовується метод Show:
    procedure tView.Show;
    Для скидання - метод Hide:
    procedure tView.Hide;
    Щоб визначити, чи видно насправді об'єкт, можна вос-
    користуватися методом Exposed:
    function tView.Exposed: Boolean;
    де результат - True, якщо будь-яка частина об'єкта видно на
    екрані.
    1-й біт (sfCursorVis) - курсор об'єкта бачимо в поле об'екта.У некот-
    яких відображаються об'єктів курсор задається видимим (наприклад, у
    рядка введення), в інших - невидимим (наприклад, у статичної-
    го тексту). Щоб змінити заданий стан і зробити курсор
    видимим, варто скористатися методом ShowCursor:
    procedure tView.ShowCursor;
    щоб зробити його невидимим, використовується метод HideCursor:
    procedure tView.HideCursor;
    2-й біт (sfCursorIns) - збільшений розмір курсора.Для завдання курсору
    збільшеного розміру скористаємося методом BlockCursor:
    procedure tView.BlockCursor;
    для завдання нормального розміру курсору (такий розмір задається
    автоматично під час створення об'єкта) використовується метод
    NormalCursor:
    procedure tView.NormalCursor;
    3-й біт (sfShadow) - об'єкт має тень.Прі створення одних об'єктів
    (наприклад, вікон) задається тінь, у інших об'єктів (наприклад,
    списків) тінь не задается.Еслі потрібно змінити заданий
    стан цього прапора, варто скористатися універсальним
    методом SetState:
    procedure tView.SetState (AState: Word; Enable: Boolean); virtual;
    де AState - прапор, який слід ізменітьЖ
    Enable = True, якщо прапор слід встановити, і False, якщо
    скинути.
    За допомогою цього методу можна змінити будь-які прапори стану,
    але при кожному зверненні до нього можна змінити тільки один
    прапор.
    4-й біт (sfActiv) - об'єкт є або активним вікном (вікном, з ко-
    менту, котрим відбувається в даний час робота в програмі), або
    піделементи активного окна.Как правило, цей прапор автомати-
    но змінює своє значення в процесі роботи програми і вимірюв-
    няти його в програмі практично не потрібно.
    5-й біт (sfSelected) - об'єкт є виділеним в группе.В кожної
    групі може бути тільки один виділений об'ект.Как і попередньої-
    щий прапор, стан цього прапора змінюється автоматично в
    процесі роботи програми, і зазвичай не виникає необхідності
    примусової зміни його стану (змінити його також
    можна за допомогою методу SetState).
    6-й біт (sfFocused) - об'єкт є сфокусованим, т.е.является
    виділеним в групі, і всі його власники також є виокрем-
    леннимі.Сфокусірованний об'єкт - то той що відображається об'єкт,
    з яким в даний час відбувається робота (наприклад,
    конкретний редактор тексту, коли Ви відкрито кілька
    редакторів).
    7-й біт (sfDragging) - об'єкт знаходиться в режимі переміщення або вимірюв-
    вання своїх розмірів або за допомогою клавіш напряму, або з
    допомогою миші.Обично цей прапор використовується біля вікон і встановлюється
    ється біля вікна при переході його в такий режим, а скидається
    при виході з цього режіма.Прінудітельное зміна прапора віз-
    можна за допомогою методу SetState.
    8-й біт (sfDisabled) - об'єкт є "забороненим", тобто не реагую-
    ющім ні на які воздействія.Задать цей прапор можна також за
    допомогою методу SetState.
    9-й біт (sfModal) - об'єкт є модальним.Етот прапор характерний для
    вікон і встановлюється, якщо вікно знаходиться в режимі модальному
    (використання методу ExecView або ExecuteDialog). Примусово
    змінювати цей прапор не слід.
    10-й біт (sfExposed) - об'єкт має в якості остаточного володів-
    ца об'єкт tApplication, тобто має можливість відбиватися
    на екрані (не плутати з прапором ofVisible). Примусово вимірюв-
    няти прапор не слід.
    Решта біти параметра State не використовуються.
    Контекстна помощь.Етот параметр (HelpCtx) являє собою
    число типу Word, який задає значення параметра контекстної допомоги
    у випадку, якщо відображається об'єкт є сфокусірованним.Етот пара-
    метр використовується в довідковій системі та в системі строк состоянія.Ес-
    Чи контекстна допомога не потрібна, цей параметр слід задати рівним
    нулю (константа hcNoContex). Це ж значення приймає параметр і при
    створення об'єкта.
    Наступний відображається елемент.Етот параметр (Next) містить ука-
    затель на наступний об'єкт у групі, в яку входить даний об'єк-
    ект.Параметр встановлюється автоматично при включенні об'єкта в
    группу.Прінудітельно міняти значення цього параметра не слід.
    Власник об'екта.Параметр (Owner) являє собою вказівник на
    власника об'єкта - групу, в якій розташований даний об'ект.Пара-
    метр встановлюється автоматично при розміщенні об'єкта в групі -
    зазвичай за допомогою методу Insert об'єкту tGroup чи іншого методу,
    що включає в себе метод Insert, і змінювати його примусово не сле-
    дме.
    Об'єкт tView володіє 67 методами плюс 1 метод, успадкований від
    об'єкта tObject.Многіе з цих методів є віртуальними і переоп-
    ределяются для потомков.Все методи можна умовно розбити на кілька
    груп.
    До першої групи можна віднести методи, за допомогою яких створюється
    або знищується об'ект.Здесь слід відзначити два конструктора-Init,
    за допомогою якого ініціалізується новий об'єкт, і Load, за допомогою
    якого об'єкт завантажується з потоку, а також деструктор Done, що виконують-
    няющій дії, зворотні діям конструктора Init.
    До другої, найчисленнішої групи, можна віднести методи, за
    допомогою яких або задаються, або визначаються поточні параметри
    об'єкта (завдання і одержання зазначених вище параметрів).
    До третьої групи можна віднести методи, що дозволяють помістити об'єк-
    ект до групи, відобразити його на екрані, видалити з групи, видалити з
    екрану.
    До четвертої групи відносяться методи обробки подій, найбільш
    часто використовуються з яких є метод HandlEvent, обробляю-
    щий поточне подія.
    Нарешті, до п'ятої групи віднесемо всі інші методи, що виконують
    різноманітні додаткові дії (наприклад, отримання палітри
    квітів для об'єкту, дозвіл і заборона виконання команд і т.д.)
    Група (tGroup). Z-порядок
    У загальному випадку відображається об'єкт може мати досить складну
    структуру і включати в себе інші видимі елементи в якості своїх
    поделементов.Еті піделементи, у свою чергу, можуть включати в себе
    інші піделементи і т.д.
    Сукупність об'єднаних відображаються об'єктів являє со-
    бій групу (тип tGroup) і може розглядатися як щось єдине,
    призначене для використання в программе.Так само як і об'єкт
    tView, об'єкт tGroup є абстрактним об'єктом і не може мати
    конкретні зразки у програмі, проте є родоначальником цілого
    ряду реальних об'єктів (в першу чергу різних вікон) і визначає
    основні властивості таких об'єктів як якогось целого.Сам об'єкт tGroup
    є нащадком об'єкта tView і успадковує або перевизначають його па-
    раметри і методи.
    Будь-який об'єкт типу tGroup являє собою основний елемент
    групи (наприклад, діалогове вікно), званий власником елементів
    групи, в який включено та або інша кількість піделементи (наприклад
    заходів, різні елементи керування діалогового вікна). Параметри, Насл-
    дмемо групою від об'єкта tView, відносяться до основного об'єкта групи
    - Власникові групи; окремі піделементи, які також є нащадками
    об'єкта tView, володіють своїми характеристиками, часто не збігаються
    з характеристиками їх власника.
    На додаток до параметрів tView об'єкт tGroup має ряд власної
    них параметрів, найбільш важливими і часто використовуваними з яких є при-
    ляють два.Первий Last параметр, який вказує на останній піделементи
    групи (фактично він є першим включеним до групи поделемен-
    тов). Другим є параметр Current, який вказує на поточний виділений-
    ний поделемент.Еслі група не має жодного піделементи, ці два па-
    раметра рівні nil.
    Основний елемент групи ініціалізується конструктором Init:
    constructor tGroup.Init (var Bounds: tRect);
    де Bounds - розміри об'єкта.
    Якщо після ініціалізації група поміщається в іншу групу, уста-
    встановлюються відповідні значення параметрів Next та Owner.
    Будь-який піделементи групи повинен бути включений у цю групу з по-
    міццю методу Insert:
    procedure tGroup.Insert (P: pView);
    де P - розташовуваний об'єкт, або іншого методу, що включає в себе ме-
    тод Insert і може бути виключений з неї за допомогою методу Delete:
    procedure tGroup.Delete (P: pView);
    де P - виключає об'єкт, або будь-якого іншого методу, включающе-
    го в себе метод Delete.
    Послідовність включення піделементи до групи дуже важлива,
    тому що від неї залежить порядок роботи з поделементамі.Следует починати
    розташування піделементи з лівої верхньої частини основного елемента і
    далі йти вправо і вниз.
    Включені до групи піделементи утворюють так званий Z-поря-
    док, і серед них можна виділити перший, останній і проміжні еле-
    менти.
    ?????????????????????????????????????< br /> ? Основний елемент (власник)?
    ?????????????????????????????????????< br /> ?
    ?????????????????????????????????????< br /> ? Останній елемент (Last) ?????????????????< br /> ????????????????????????????????????? ?
    ?
    ????????????????????????????????????? ?
    ? Передостанній елемент? ?
    ????????????????????????????????????? ?
    ? ?
    ... ?
    ?
    ? ?
    ????????????????????????????????????? ?
    ? Другий елемент? ?
    ????????????????????????????????????? ?
    ?
    ????????????????????????????????????? ?
    ? Перший елемент? ?
    ????????????????????????????????????? ?
    ? ?
    ? ?
    ????????????????????????????????????< br /> Рис. 1. Структура групи
    У кожного відображуваного об'єкта є поле Next, яке вказує на
    Наступне піделементи группи.Поле Next останнього піделементи вказує
    на попередній піделементи, поле Next попереднього піделементи вказує
    на його попередній піделементи і т.д.У перший піделементи це поле ука-
    викликають на останній піделементи группи.Такім чином, всі піделементи
    групи утворюють циклічну структуру.У кожного піделементи групи з-
    ле Owner (власник) вказує на основний елемент групи.
    Поля, що вказує на попередній піделементи в групі у відображає-
    мого об'єкта немає, проте у нього є метод Prev, який формує
    вказівник на такий попередній поделемент.Етот метод дасть покажчик на
    перший піделементи, якщо визначається попередній піделементи останнього
    піделементи.
    Оформлення програми, що використовує засоби Turbo Vision.
    Об'єкти tProgram І tApplication
    У Turbo Vision є два об'єкти - tProgram і tApplication, на
    основі яких можна створити інтерактивну програму.
    Об'єкт tProgram є основою створюваної програми і включає
    спільні дії, які виконуються практично в будь-інтерактивної
    программе.В першу чергу це обробка надходять собитій.tProgram
    являє собою відображений об'єкт, який займає все поле екрана.Он
    є безпосереднім нащадком об'єкта tGroup і має всі його
    свойства.В Зокрема, це дозволяє в поле екрану розмістити будь-які
    відображаються об'екти.В свою чергу, цей об'єкт має свої характер-
    ные властивості, які дозволяють створити програму як щось ціле.
    Ініціалізується об'єкт tProgram конструктором Init:
    constructor tProgram.Init;
    Після ініціалізації встановлюються значення парамет-
    ров.ScreenWidth і ScreenHeight - параметри модуля Drivers, що містять
    розміри екрана в текстовому режіме.Параметр DeskTop (модуль App) - ука-
    затель на робочу область программи.Указатель на створений об'єкт
    tProgram поміщається в змінну Application (модуль App).
    Важливим методом об'єкта tProgram є метод Run:
    procedure tProgram.Run; virtual;
    що представляє собою цикл обробки подій і виконує, таким обра-
    зом, основні дії, пов'язані з роботою програми.
    Об'єкт tProgram дозволяє розмістити в полі екрану будь-які відобра-
    жаемие об'екти.Іх можна поміщати в поле екрану довільним чином,
    проте прийнята наступна система їх розташування: у верхній частині
    екрану розміщується рядок меню (тип tMenuBar або його нащадок), в ниж-
    ній частині екрана розміщується рядок стану (тип tStatusLine або його
    нащадок), інша частина екрану віддається під робочу область (тип
    DeskTop або його нащадок). Ці три об'єкти (tMenuBar, tStatusLine і
    tDeskTop) також є відображуваними об'єктами, причому об'єкт
    tDeskTop є до того ж нащадком об'єкта tGoup.
    Об'єкти цих типів розміщуються на екрані автоматично при ініц-
    алізації програми методом Init.Для розміщення меню, рядка стану
    і робочої області викликаються методи InitMenuBar, InitDeskTop і
    InitStatusLine.Методи InitMenuBar і InitStatusLine перевизначаються,
    метод ж InitDeskTop звичайно не міняється (його слід нехтувати,
    якщо у програми немає меню або рядка стану, з тим, щоб уівідповідності-
    твующім чином змінити його розміри).
    Робоча область ініціалізується конструктором Init:
    constructor tDeskTop.Init ((var Bounds: tRect);
    де Bounds - розміри робочої області.
    Об'єкт tApplication є безпосереднім нащадком об'єкта
    tProgram і має всі його свойства.Кроме цього, він призначений для
    створення оболонки програми, що включає систему управління пам'яттю,
    відеосистему, систему обробки подій і т.д., які можуть бути
    ініціалізований за допомогою конструктора Init цього об'єкту:
    constructor tApplication.Init;
    а ліквідовані за допомогою деструктора Done:
    destructor tApplication.Done; virtual;
    При ініціалізації цього об'єкта його параметри приймають ті ж
    значення, що й у його предка tProgram.
    Сформована на основі об'єкта tApplication програма під
    виконує послідовно три операції: ініціалізацію програми, про-
    работке подій і завершення роботи програми.
    Ініціалізація програми, якщо не потрібно яких-небудь спеціальних
    додаткових дій, являє собою просте звернення до конс-
    труктору Init об'єкта tApplication (або його нащадка), який ініціати-
    лізує оболонку програми, після чого звертається до конструктора об'єк-
    єкта tProgram, який, у свою чергу, виконує дії, пов'язані
    з ініціалізацією програми як такої, встановлюючи вихідні значення
    її параметрів і розміщуючи на екрані меню, рядок стану і робочу
    область.
    Обробка подій здійснюється методом Run об'єкта tProgram
    (цей метод доступний і об'єкту tApplication або його нащадку).
    Завершення роботи програми виконує деструктор Done.
    Зазвичай тіло будь-якої програми і складається з обігу до цих трьох
    методів.
    СТРУКТУРА відображаються об'єкти ПРОГРАМИ
    Все що відображені об'єкти утворюють деревоподібну структуру, коренем
    якої є сама програма - нащадок об'єкта tApplication (наприклад
    ме??, Рис. 2).
    ????????????????????????< br /> ????????????????????????< br /> ? Програма?
    ????????????????????????< br /> ?
    ??????????????????????????????????????????????????
    ? ? ?
    ??????????????????? ???????????????????????? ???????????????????< br /> ? Меню? ???????????????????????? ? Рядок стану?
    ??????????????????? ? Робоча область? ???????????????????< br /> ????????????????????????< br /> ?
    ???????????????????????????< br /> ? ?
    ??????????????????? ???????????????????????< br /> ? Вікно? ???????????????????????< br /> ??????????????????? ? Діалогове вікно?
    ? ???????????????????????< br /> ????????????????? ?
    ? ? ?????????????????< br /> ? ? ? ? ?
    ???????????? ???????????? ??????????????????????????????????< br /> ? Рамка? ? Кнопка? ? Рамка ???????????????????????< br /> ???????????? ???????????? ?????????????? Рядок введення?
    ??????????????????????< br /> ???????????????< br /> ? ?
    ???????????? ??????????????< br /> ? Кнопка? ? Рядок введення?
    ???????????? ??????????????< br /> Рис.2 Приклад структури відображаються об'єктів програми
    Тут основним кольорам об'єктом є програма - нащадок
    tApplication.Он є групою, до якої входять меню (нащадок
    tMenuBar), робоча область (тип tDeskTop) та рядок стану (нащадок
    tStatusLine). Робоча область, у свою чергу, є групою, до ко-
    торую входять вікно і діалогове окно.Окно і діалогове вікно також був-
    ются групами, що включають різні піделементи (рамки, рядки введення,
    кнопки).
    Кожен відображається об'єкт може бути в одному з двох станів -
    пасивному і виделенном.На рис. виділені об'єкти позначені подвійний
    верхній чертой.В кожній групі може бути тільки один виділений об'єк-
    ект (або ні одного, якщо сама група не є виділеним об'єктивним
    том). Покажчик на виділений елемент знаходиться у змінній Current
    об'єкта-группи.Еслі якийсь об'єкт групи стає виділеним, пре-
    дидущій виділений об'єкт цієї групи стає пасивним.
    Зробити виділеним попередній або наступний об'єкт групи можна
    за допомогою методу SelectNext:
    procedure tGroup.SelectNext (Forwards: Boolean);
    де Forwards - параметр, що визначає, який об'єкт слід виділити:
    якщо Forwards = True, виділяється наступний в Z-порядку об'єкт групи.
    Цей метод не перевіряє правильність введених даних в поточному
    виділеному об'єкті і завжди виділяє інший елемент.Еслі необхідно
    перевіряти правильність введених даних, слід замість цього методу
    використовувати метод FocusNext:
    function tGroup.FocusNext (Forwards: Boolean): Boolean;
    де Forwards - той же параметр; результат - True, якщо відбулося пе-
    реключеніе на інший об'єкт, і False - інакше.
    Виділений об'єкт - це той об'єкт, з яким в даний час
    відбувається работа.Так, в розглянутому прикладі виділеної є
    робоча область - з вікнами, розташованими в ній, користувач може
    взаімодействовать.Меню та рядок стану в цьому випадку є пас-
    сівнимі.Еслі виділити меню, то робоча область стає пасивною, і
    вже не буде можливості працювати з вікнами робочої області до тих пір,
    поки робоча область знову не стане виділеною.
    Виділені об'єкти утворюють ланцюжок виділених об'єктів (у нашому
    прикладі: програма - робоча область - діалогове вікно - рядок вво-
    да). Останній об'єкт такий ланцюжка називається сфокусованим об'єктивним
    том.В нашому п
         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status