на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Turbo Vision


Реферат: Turbo Vision

                                                      ОГЛАВЛЕНИЕ

     ВВЕДЕНИЕ ................................................

     ОТОБРАЖАЕМЫЕ ОБЪЕКТЫ ....................................

         Объект tView ........................................

         Группа (tGroup).Z - порядок .........................

         Оформление программы, использующей средства Turbo

         Vision.Объекты tProgram и tApplication ..............

         Обработка событий ...................................

         Команды .............................................

     ПОРЯДОК РАБОТЫ С ОТОБРАЖАЕМЫМИ ОБЪЕКТАМИ ................

         Описание отображаемого объекта ......................

         Создание отображаемого объекта ......................

         Помещение отображаемого объекта в группу ............

         Задание параметров отображаемому объекту ............

         Работа с модальными объектами .......................

     СОЗДАНИЕ МЕНЮ ...........................................

         Создание разворачивающегося меню ....................

         Создание локального меню ............................

     СОЗДАНИЕ ОКОН И ДИАЛОГОВЫХ ОКОН .........................

         Окна в Turbo Vision .................................

         Элементы окон в Turbo Vision ........................

         Поле скроллинга .....................................

         Текстовый элемент буферированной информации .........

         Текстовый элемент для пассивного терминала ..........

         Линейка скроллинга ..................................

         Диалоговое окно .....................................

         Элементы диалоговых окон ............................

         Строка ввода ........................................

         Метка ...............................................

         Протокол ............................................

         Селективный и триггерный списки .....................

         Кнопка ..............................................

         Статический и параметрический тексты ................

         Списки строк ........................................

         Стандартные окна ....................................

     СОЗДАНИЕ СТРОК СОСТОЯНИЯ ................................

         Строка состояния, отображающая клавиши быстрого

         управления ..........................................

     ЦВЕТОВАЯ ПАЛИТРА TURBO VISION ...........................

         Стандартная палитра .................................

         Изменение стандартной палитры .......................

     НЕОТОБРАЖАЕМЫЕ ОБЪЕКТЫ TURBO VISION .....................

         Анализаторы вводимой информации .....................

         Объект - коллекция ..................................

         Потоки Turbo Vision .................................

         Ресурсы .............................................

         Списки строк ........................................

     НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ TURBO VISION .......

         Текстовый редактор ..................................

         Отображение древовидных структур ....................

         Диалоговое окно задания цветной палитры .............

     ЗАКЛЮЧЕНИЕ ..............................................

                               ВВЕДЕНИЕ

     Для эффективной  работы  системы  и  ее  большего покупательского

спроса недостаточно только того,  чтобы аппаратура и программы обеспе-

чивали правильные результаты и быструю работу.Не менее важным фактором

является удобство работы пользователя.

     Поэтому в  настоящее время ни один программный продукт,  лишенный

более или менее  удобного  интерфейса  взаимодействия  пользователя  с

компьютером и программ между собой, не может рассчитывать на успех.

     В мире разработано огромное количество различных систем поддержки

создания пользовательского интерфейса.Наиболее прогрессивными,  по на-

шему мнению,  являются объектноориентированная  система  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)  -  объект  имеет тень.При создании одних объектов

Страницы: 1, 2, 3, 4, 5


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.