Процедура TextMode
Модуль Crt
Устанавливает определенный текстовый режим.
Объявление:
Procedure TextMode(Mode : Integer);
Режим:
Замечания:
При вызове процедуры TextMode:
- Размеры текущего окна приравниваются к
размерам всего экрана.
- DirectVideo устанавливается равным True.
- Если был выбран цветной режим, то CheckSnow.
устанавливается равным True
- Текущий текстовый атрибут сбрасывается к
нормальному, что соответствует вызову NormVideo.
- Прежний видеорежим сохраняется в переменной LastMode
Кроме того, при запуске программы, значение переменной LastMode
устанавливается равным последнему активному видеорежиму.
Вызов TextMode(LastMode) устанавливает последний активный текстовый режим.
Это может быть полезно, если вы хотите возвратиться к текстовому режиму
после работы в графическом режиме.
Следующее обращение к TextMode:
TextMode(C80 + Font8x8)
установит цветной текстовый режим 80x43 для EGA или 80x50 для VGA.
TextMode(Lo(LastMode)) всегда выключает режим 80x(43/50) и сбрасывает режим
дисплея (хотя и оставляет видеорежим неизменным); в то время как:
TextMode(Lo(LastMode) + Font8x8)
оставит прежний видеорежим, но переключит дисплей в режим 80x(43/50).
Если ваша система находится в режиме с 43-мя или с 50-ю строками при запуске
программы, то текущий видеорежим будет сохранен инициализационной частью
модуля Crt, и в переменной WindMax будет сохранено максимальное число строк
на экране.
Вот, как корректно написать программу, которая при завершении работы
восстановит видеорежим к его первоначальному состоянию:
Program MyVideo;
Uses Crt;
Var OrigMode : Integer;
Begin
OrigMode:=LastMode; { Запоминаем начальный видеорежим }
. . .
TextMode(OrigMode); { Восстанавливаем его при выходе }
End.
Пример программы: txtmd.pas