Практика использования
Контроль за динамической памятью
Программирование с использованием библиотеки Turbo Vision весьма специфично по сравнению с обычным программированием в среде Турбо Паскаля. Эта специфика прежде всего связана с широко используемым в Turbo Vision механизмом ООП: как правило, нельзя чисто механически перенести старую программу в новую объектно-ориентированную среду, обычно для этого требуется переосмысление всего проекта в целом.Обработка ошибок инициации и модальных состояний
Каждый видимый элемент наследует виртуальный метод TView.Valid (Command: Word): Boolean. С помощью этого метода решаются две задачи: если параметр обращения Command = cmValid = 0, метод должен проверить правильность инициации объекта и выдать True, если инициация прошла успешно;Отладка программ
Если Вы пытались отлаживать какую-либо программу в Turbo Vision, Вы наверняка убедились, что трассировка (пошаговое прослеживание логики работы) таких программ весьма неэффективна. Вызвано это двумя обстоятельствами.Использование оверлея
Модули Turbo Vision разработаны с учетом возможного использования их в оверлейных программах. Все они могут быть оверлейными за исключением модуля Drivers, который содержит процедуры обработки прерываний и другой системный интерфейс низкого уровня.Порядок вызова наследуемого метода. Конструктор.
Большая часть объектов Turbo Vision спроектирована в расчете на их дальнейшее перекрытие в прикладных программах. Типичным примером такого рода объектов является TView, метод Draw которого создает на экране пустой прямоугольник и, следовательно, не может отображать никакой полезной информации.Деструктор. Другие методы.
Вызывайте наследуемый метод после реализации дополнительных действий: | Procedure MyObject.Done; | begin | {Реализация дополнительных действий} | {Вызов наследуемого деструктора Done} | end; | Работа деструктора проходит в обратном порядке по отношению к конструктору.Примеры программных реализаций. Строка статуса.
В этом разделе приводятся примеры программных реализаций некоторых типичных задач, решаемых с помощью Turbo Vision. Эти примеры не имеют сколько-нибудь серьезного прикладного назначения, они просто иллюстрируют возможные приемы программирования.Меню
Стандартная программа содержит поле MenuBar типа ТMenuВаr. По умолчанию Метод TApplicatlon.InitMenuBar устанавливает это поле в NIL, что означает отказ от меню. Если Вы хотите использовать меню в Вашей программе, необходимо перекрыть этот метод.Диалоговое окно
На рис. 23.2 показан вид диалогового окна, которое создается и используется в рассматриваемом ниже примере. | Рис. 23.2. Диалоговое окно со строкой ввода и кнопками | Если диалог завершен командой "Установить", на экране разворачивается окно, в котором сообщаются полученные из диалогового окна параметры – текст из строки ввода и настройка кнопок.Окно с текстом
В следующей программе на экране создается несколько окон, содержащих один и тот же текст – текст программы (см. рис. 23.3). | Рис. 23.3. Окна с текстом программы | Каждое новое окно открывается с помощью клавиши Ins. Активное окно можно удалить клавишей Del или распахнуть на весь экран клавишей F5.Окно со скроллером
Скроллером называется специальное окно, обеспечивающее просмотр (скроллинг) текста. Типичный скроллер – это окно редактора интегрированной среды системы Турбо Паскаля; его поведение Вам, очевидно, хорошо знакомо.Просмотр списка файлов
Ниже приводится программа, в которой показано, как можно создать и использовать диалоговое окно для выбора файлов из любого каталога. В пример включены лишь минимальные средства, с помощью которых на экране формируется окно выбора файлов и окно с сообщением о конкретном выборе (см. рис.23. 5).