Модуль CRT
Модуль Сrt содержит подпрограммы управления текстовым выводом на экран дисплея, звуковым генератором и чтения клавиатуры.
В режиме текстового вывода используются следующие координаты экрана: левый верхний угол экрана имеет координаты 1,1; горизонтальная координата возрастает слева направо, вертикальная - сверху вниз. Если на экране определено окно, все координаты определяются относительно границ окна. Исключением являются координаты процедуры Window установки границ окна, которые всегда задаются относительно границ экрана.
Для чтения клавиатуры используются две функции - KeyPressed и ReadKey. Функция KeyPressed определяет факт нажатия на любую клавишу и не приостанавливает дальнейшее исполнение программы. Функция
KeyPressed читает расширенный код нажатой клавиши. Если к моменту обращения к функции не была нажата ни одна клавиша, программа приостанавливает свою работу, ожидая действий пользователя.
Управление звуковым генератором строится по схеме Sound - Delay - NoSound. Процедура Sound включает звуковой генератор и заставляет его непрерывно генерировать звук нужного тона. Процедура Delay приостанавливает работу программы на заданное число миллисекунд реального времени. Процедура NtfSound отключает звуковой генератор.
Константы
Константы режима работы
const |
||
BW40 |
= |
0;{Черно-белый, 40 символов, 25 строк} |
BW80 |
= |
2;{Черно-белый, 80 х 25} |
Mono |
= |
7;{Монохромный, 80 х 25} |
С040 |
= |
1;{Цветной, 40 х 25} |
С080 |
= |
3;{Цветной, 80 х 25} |
Font8x8 |
= |
256;{Для EGA/VGA режим 43 или 50 строк} |
С40 |
= |
C040;{Для совместимости с версией 3.0} |
С80 |
= |
C080;{Для совместимости с версией 3.0} |
Константы цветов
const
Black = 0;{Черный}
Blue = 1;{Синий}
Green = 2;{Зеленый}
Cyan = 3;{Голубой}
Red = 4;{Красный}
Magenta = 5;{Фиолетовый}
Brown = 6;{Коричневый}
LightGray = 7;{Светло-серый}
DarkGray = 8;{Темно-серый}
LightBlue = 9;{Ярко-синий}
LightGreen = 10;{Ярко-зеленый}
LightCyan = 11;{Ярко-голубой}
LightRed = 12;{Розовый}
LightMagenta= 13;{Малиновый}
Yellow = 14;{Желтый}
White = 15;{Белый}
Blink = 128;{Мерцание символа}
Переменные
var
CheckBreak:Boolean;{Разрешает/запрещает контроль Ctrl-Break}
CheckEof:Boolean; {Разрешает/запрещает контроль Ctrl-Z}
CheckSnow:Boolean {Разрешает/запрещает контроль "снега"}
Directvideo:Boolean; {Разрешает/запрещает прямой доступ к видеопамяти}
LastMode:Word; {Хранит последний текстовый режим}
TextAttr:Byte; {Хранит текущий байт атрибутов}
WindMin:Word; {Координаты левого верхнего угла текущего окна} .
WindMax:Word; {Координаты правого нижнего угла}
Процедуры и функции
Функции
Function KeyPressed; Boolean Возвращает True, если на клавиатуре была нажата клавиша, и False в противном случае. Не задерживает исполнение программы.
Function ReadKey: char Читает символ с клавиатуры без эхоповтора на экране. Приостанавливает исполнение программы до нажатия на любую клавишу, кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock.
Function WhereX: Byte Возвращает горизонтальную координату текущей позиции курсора относительно текущего окна.
Function WhereY: Byte Возвращает вертикальную координату текущей позиции курсора относительно текущего окна.
Процедуры
Procedure AssignCrt (var F: Text) Связывает с файловой переменной устройство CON (клавиатуру для ввода и экран для вывода).
Procedure ClrEol Удаляет все символы от текущей позиции курсора до конца строки без перемещения курсора.
Procedure ClrScr Очищает экран (окно) и помещает курсор в верхний левый угол.
Procedure Delay (D: word) Приостанавливает работу программы на указанное число D миллисекунд.
Procedure DelLine Удаляет строку, на которой находится курсор, и перемещает все строки ниже этой строки на строку вверх. Нижняя строка очищается.
Procedure GotoXY(X, Y; Byte) Перемещает курсор в нужное место экрана (окна).
Procedure Highvideo Устанавливает высокую яркость символов.
Procedure InsLine Вставляет пустую строку в позицию курсора. ,
Procedure LowVideo Устанавливает низкую яркость символов.
Procedure NormVideo Устанавливает нормальную яркость символов.
Procedure NoSound Выключает звуковой генератор.
Procedure Sound (F: word) Включает звуковой генератор. F - частота звука (Гц).
Procedure TextBackground (Color: Byte) Устанавливает цвет фона.
Procedure TextColor (Color: Byte) Устанавливает цвет символов.
Procedure TextMode (Mode: Word) Устанавливает нужный текстовый режим.
Procedure Window(X1, Y1, X2, Y2 : Byte) Определяет текстовое окно на экране. X1, Y1 - координаты левого верхнего угла, Х2, Y2 - правого нижнего угла.