RSS    

   Реферат: Turbo Vision

     Поток ДОС инициализируется конструктором Init :

     constructor tDosStream.Init( FileName: FNameStr; Mode: Word);

где FileName - имя файла,  с которым связан поток (размеры по правилам

MS-DOS - до 79 символов);

     Mode - категория файла.

     Буферированный поток инициализируется конструктором Init :

     constructor tBufStream.Init( FileName: FNameStr;

                                                 Mode, Size: Word);

где FileName - имя файла,  с которым связан поток (размеры по правилам

MS-DOS - до 79 символов);

    Mode - категория файла;

    Size - размер буфера (обычно от 512 до 2048 байт).

     Перед тем  как поместить объект в поток или взять из потока,  его

следует подготовить.

     Следует создать  методы записи информации в поток и чтения из не-

го.У стандартных отображаемых объектов в Turbo Vision такие методы уже

имеются.Первый метод - Store :

     procedure <отображаемый объект>.Store (var S: tStream);

где S  -  поток,  в который помещается объект.Метод размещает объект в

потоке.

     Второй - конструктор Load :

     constructor <отображаемый объект>.Load(var S: tStream);

где S - поток, из которого берется объект.Конструктор загружает объект

из потока в память.

     Для того,  чтобы записать в поток тот или иной  параметр  объекта

(группу параметров,  следующих друг за другом),  можно воспользоваться

методом Write :

     procedure <тип потока>.Wriye (var Buf; Count: Word); virtual;

     Buf - буфер с переписываемой информацией;

     Count - размер переписываемой информации в байтах.

     Это основной метод записи информации в поток.

     Для всех методов имеются аналоги,  осуществляющие чтение информа-

ции из потока.Основной - метод Read, позволяющий читать из потока зна-

чение параметра объекта (группы параметров) :

     procedure <тип объекта>.Read (var Buf; Count: Word); virtual;

     Buf - буфер, в который помещается информация;

     Count - размер переписываемой информации в байтах.

     Вторая операция,  связанная  с подготовкой объекта к записи в по-

ток, - его регистрация.В потоке могут быть объекты разных типов,  поэ-

тому возникает  проблема в определении типов этих объектов при необхо-

димости работы с ними.Для решения этой проблемы  используется  система

регистрации, заключающаяся  в том,  что каждому типу объекта,  который

предполагается записать в поток,  присваивается индивидуальный регист-

рационный номер.По  этому  номеру будут определяться размер записанной

или записываемой информации, соответствующая таблица виртуальных мето-

дов, а также адреса методов,  с помощью которых данный объект загружа-

ется в поток и читается из него.

     Для регистрации объекта следует  создать  регистрационную  запись

(типа tStreamRec) :

     type

        tStreamRec = record

           ObjType: Word;

           VmtLink: Word;

           Load: Pointer;

           Store: Pointer;

           Next: Word;

     end;

где ObjType - индивидуальный регистрационный номер объекта;

    VmtLink - смещение адреса таблицы виртуальных методов объекта;

    Load - адрес конструктора Load объекта;

    Store - адрес метода Store объекта;

    Next - смещение адреса следующей регистрационной записи.

     В качестве регистрационной записи,  как  правило,  типизированная

константа, у которой заполнены первые 4 поля.Имя регистрационной запи-

си получается из имени объекта заменой префикса t на префикс R.У стан-

дартных элементов уже есть регистрационные записи.За стандартными объ-

ектами зарезервированы индивидуальные регистрационные номера  с  1  до

999, так что программист может назначать своим объектам номера от 1000

до 65535.Это число записывается в первое  поле  регистрационной  запи-

си.Во второе поле помещается смещение адреса таблицы виртуальных мето-

дов объекта,  в третье поле - адрес конструктора Load, а в четвертое -

адрес метода  Store.Пятое поле заполняется автоматически при регистра-

ции объекта.

     Запись объекта  в  поток  осуществляется  с  помощью  метода  Put

 объекта tStream :

     procedure tStream.Put(P: pObject);

где P - указатель на размещаемый в потоке объект.

     Чтение объекта из потока осуществляет метод Get объекта tStream :

     function tStream.Get; pObject;

где результат - указатель на созданный объект.

     После работы с потоком его следует закрыть процедурой Dispose :

     Dispose(MyStream, Done);

где MyStream - поток, с которым завершается работа;

     Done - деструктор потока.

                               Ресурсы

     У рассмотренных потоков есть недостаток  -  непросто  осуществить

произвольный доступ  к  отдельным  компонентам  потока.Поэтому имеется

специальный объект - файл ресурсов (tResourceFile),  связанный с пото-

ком, в  котором обеспечен произвольный доступ к любой компоненте по ее

имени (идентификатору).Этот поток дополнен потомком  коллекции  строк,

содержащим адреса  компонент (ресурсов) в потоке,  размеры компонент и

их имена.

     Инициализируется файл ресурсов конструктором Init ;

     constructor tResourceFile.Init(AStream: pStream);

где AStream - поток, который связывается с файлом ресурсов.

     Прежде чем инициализировать файл ресурсов,  следует создать соот-

ветствующий поток.

     Размещение объекта  в файле ресурсов осуществляется с помощью ме-

тода Put :

     procedure tResourceFile.Put(Item: pObject; Key: String);

где Item - указатель на размещаемый в файле ресурсов объект;

    Key - имя, присвоенное размещаемому объекту.

     Извлечение объекта из файла ресурсов осуществляется с помощью ме-

тода Get :

     function tResourceFile.Get(Key: String): pObject;

     Key - имя, присвоенное размещаемому объекту;

     результат - указатель на найденный объект или nil,  если нет объ-

екта с таким именем.

     В файле ресурсов можно хранить  библиотеку  интерфейсных  элемен-

тов.Использование таких  файлов  является  хорошим средством повышения

эффективности программирования, ускоряя процесс создания программ.

                             Списки строк

     В Turbo  Vision  имеется  специальный  объект - список строк (тип

tStringList), предназначенный для хранения в потоке последовательности

строк, которые можно вызвать по номеру.

     Прежде чем рассматривать объект tStrihgList,  познакомимся с объ-

ектом типа tStrListMaker, позволяющим создать список строк и наполнить

его соответствующим содержанием.Инициализируется он конструктором Init

     constructor tStrListMaker.Init(AStrSize,AIndexSize: Word);

где AStrSize - размер буфера для размещения строк;

     AIndexSize - максимальный индекс размещаемой строки.

     Размещаются строки в список с помощью метода Put :

     procedure tStrListMaker.Put(Key: Word; S: string);

где Key - индекс размещаемой строки;

     S - размещаемая строка.

     Сам список tStrList конструктора не имеет, получить из него стро-

ку можно с помощью метода Get :

     function tStrList.Get(Key: Word): string;

где Key - индекс строки;

    результат - найденная строка.

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

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

     В настоящее  время  создано большое количество текстовых редакто-

ров, но иногда требуется создать свой собственный,  особенно когда  он

должен входить  составной частью какого-либо пакета.Пакет Turbo Vision

содержит ряд объектов,  на основе которых можно создать неплохие текс-

товые редакторы.Исходным  является объект tEditor.Его потомок - объект

tFileEditor, позволяющий создавать редакторы,  связанные с  текстовыми

файлами.Без особых изменений можно создавать редакторы, работающие од-

новременно с любым количеством файлов,  содержащих  тексты  до  64  К,

обеспечивающие работу с клавиатурой и мышью,  поиск в тексте и замену,

использование буфера и т.д.

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

     Часто в программе используются древовидные иерархические структу-

ры, которые желательно отобразить на экране с изображением связей меж-

ду отдельными  элементами.К  таким  структурам относятся меню и строки

состояния.Для отображения подобных структур в Turbo Vision имеются два

специальных объекта :  абстрактный объект tOutlineViewer, осуществляю-

щий отображение структуры на экране, и tOutline, осуществляющий работу

с конкретной  древовидной  структурой.Последний объект позволяет скры-

вать или показывать на экране те или иные ветви  структуры  с  помощью

мыши или клавиатуры.

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

     Существует стандартное    диалоговое    окно    задания    цветов

tColorDialog.С помощью этого окна можно изменять лишь имеющиеся  цвета

и, кроме того, изменение цветов произойдет одновременно у всех отобра-

жаемых объектов программы соответствующего типа.

                              ЗАКЛЮЧЕНИЕ

     Очень важным показателем при оценке программных продуктов являет-

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

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

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

программ между собой, не заинтересует никого так, как заинтересовал бы

программный продукт таких же возможностей,  но с удобным пользователь-

ским интерфейсом.

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

создания пользовательского интерфейса.

     Представленный в данной   работе  разработанный  фирмой   Borland

International  пакет  Turbo Vision 2.0 является удобным  средством уп-

рощения работы по  организации  ввода/вывода, его унификации  с учетом

современных требований к интерфейсу программ.  Этот пакет представляет

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

вательского интерфейса.

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

ции и именно для организации диалога предназначен в первую очередь па-

кет Turbo Vision.Использование этого пакета  освобождает  программиста

от занимающей много времени работы,  связанной   с  организацией  вво-

да/вывода, которая повторяется от программы к программе,  требует  вы-

полнения однотипных операций, отвлекает внимание программиста от реше-

ния основной задачи.

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

обычно организуется с помощью трех средств :  меню,  диалоговых окон и

строк состояния.Turbo Vision  позволяет  реализовать все эти  средства

диалога.В представленной работе  подробно  описаны   методы   создания

этих средств, их виды, особенности, элементы, а также приводятся реко-

мендации по их использованию.

     Turbo Vision представляет собой библиотеку объектов,  позволяющих

создать пользовательский интерфейс. Почти все объекты библиотеки явля-

ются потомками общего абстрактного объекта tObject.В работе рассмотре-

на их классификацию, исходя из задач, возникающих при создании  интер-

фейса.

     В работе  подробно  рассмотрен    порядок работы с  отображаемыми

объектами (создание,  помещение в группу, задание параметров),  работы

с  модальными  объектами,  а  также виды неотображаемых объектов Turbo

Vision и работу с ними.

     Пакет    Turbo Vision  позволяет  использовать   стандартную  па-

литру или  создавать свою.Пакет имеет дополнительные возможности,  что

может быть очень важным в ряде случаев :  можно создать текстовый  ре-

дактор с  большими возможностями,  при необходимости отобразить древо-

видную структуру, использовать диалоговое окно задания цветовой палит-

ры.

     Исходя из средств и  особенностей  пакета  можно   сказать,   что

Turbo Vision фирмы Borland International является одним из самых удоб-

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


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.