Система программирования Turbo Pascal





Глава 23. Практика использования


    Глава 23. Практика использования
    Практика использования Контроль за динамической памятью Обработка ошибок инициации и модальных состояний Отладка программ Использование оверлея Порядок вызова наследуемого метода Конструктор Дестр...
Примеры программных реализаций
Строка статуса Меню Диалоговое окно Окно с текстом Окно со скроллером Просмотр списка файлов Программирование с использованием библиотеки Turbo Vision весьма специфично по сравнению с обычным прог...Контроль за динамической памятью
Контроль за динамической памятью Как правило, объекты в Turbo Vision размещаются в куче. Это отвечает специфике диалоговых программ: на этапе разработки программист обычно не может учесть все возм...Строка статуса
Строка статуса В следующей программе создается строка статуса, содержание которой зависит от установленного контекста подсказки (определяется значением поля TProgram.HelpCtx). В зависимости от дей...Меню
Меню Стандартная программа содержит поле MenuBar типа ТМепиВаr. По умолчанию Метод TApplicatlon.InitMenuBar устанавливает это поле в NIL, что означает отказ от меню. Если Вы хотите использовать ме...Двухуровневое меню
Рис. 23.1 . Двухуровневое меню Опцию «Подменю...» можно выбрать следующими способами: нажатием клавиш F10 - смещение указателя - Enter; командой Alt-S; отметкой мышью. Опции «Первый выбор» и «Втор...Диалоговое окно
Диалоговое окно На рис.23.2 показан вид диалогового окна, которое создается и используется в рассматриваемом ниже примере....Диалоговое окно со строкой ввода и кнопками
Диалоговое окно со строкой ввода и кнопками Если диалог завершен командой «Установить», на экране разворачивается окно, в котором сообщаются полученные из диалогового окна параметры - текст из стр...Пример иллюстрирует использование строки ввода, зависимых и независимых кнопок и нестандартных команд.
Для задания начальных параметров и чтения параметров, установленных в результате диалога, используется поле TDialog.Data. Это поле содержит данные, используемые в ходе диалога, в виде записи, поля...Пример диалогового окна
with D do begin R.Assign(1,1,69,3); Insert(New(PStaticText, {Вставляем статический текст} Init(R,#3'Это статический текст'))); R.Assign(20,3,60,4) ; I := New(PInputLine, Init(R, L)); Insert (I); {...Окно с текстом
Окно с текстом В следующей программе на экране создается несколько окон, содержащих один и тот же текст - текст программы (см. рис.23. 3)....Окна с текстом программы
Окна с текстом программы Каждое новое окно открывается с помощью клавиши Ins. Активное окно можно удалить клавишей Del или распахнуть на весь экран клавишей F5. С помощью мыши Вы можете перемещать...Окно со скроллером
Окно со скроллером Скроллером называется специальное окно, обеспечивающее просмотр (скроллинг) текста. Типичный скроллер - это окно редактора интегрированной среды системы Турбо Паскаля; его повед...Окно со скроллером
Окно со скроллером Uses Objects,App,Drivers,Menus,Views; var Lines: PCollection; {Коллекция для хранения текстовых строк} type ТМуАрр = object (TApplication) Procedure Run; Virtual; end; PInterior...Просмотр списка файлов
Просмотр списка файлов Ниже приводится программа, в которой показано, как можно создать и использовать диалоговое окно для выбора файлов из любого каталога. В пример включены лишь минимальные сред...Окно выбора файлов
Окно выбора файлов {$Х+} Uses DOS,Objects,App,Views,Dialogs,Drivers,MsgBox; var L: PStringCollection; {Коллекция имен файлов} Foc: String; {Выбранный файл} type ТМуАрр = object (TApplication) Proc...Обработка ошибок инициации и модальных состояний
Обработка ошибок инициации и модальных состояний Каждый видимый элемент наследует виртуальный метод TView.Valid (Command: Word): Boolean. С помощью этого метода решаются две задачи: если параметр...Отладка программ
Отладка программ Если Вы пытались отлаживать какую-либо программу в Turbo Vision, Вы наверняка убедились, что трассировка (пошаговое прослеживание логики работы) таких программ весьма неэффективна...Использование оверлея
Использование оверлея Модули Turbo Vision разработаны с учетом возможного использования их в оверлейных программах. Все они могут быть оверлейными за исключением модуля Drivers, который содержит п...Порядок вызова наследуемого метода
Порядок вызова наследуемого метода Большая часть объектов Turbo Vision спроектирована в расчете на их дальнейшее перекрытие в прикладных программах. Типичным примером такого рода объектов является...Конструктор
Конструктор Вызывайте наследуемый Метод до реализации дополнительных действий: Procedure MyObject.Init(.....); begin {Вызов наследуемого конструктора Init} {Реализация дополнительных действий} end...Деструктор
Деструктор Вызывайте наследуемый метод после реализации дополнительных действий: Procedure MyObject.Done; begin {Реализация дополнительных действий} {Вызов наследуемого деструктора Done} end; Рабо...Другие методы
Другие методы Порядок вызова наследуемого метода зависит от конкретного алгоритма. В большинстве случаев наследуемый метод вызывается первым, но могут использоваться и другие последовательности. О...Примеры программных реализаций
Примеры программных реализаций В этом разделе приводятся примеры программных реализаций некоторых типичных задач, решаемых с помощью Turbo Vision. Эти примеры не имеют сколько-нибудь серьезного пр...







Содержаие