си получается из имени объекта заменой префикса 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 является одним из самых удоб-
ных современных средств создания пользовательского интерфейса.