Работа с текстом. Модуль CRT
Модуль CRT представляет собой библиотеку функций и процедур, предназначенных для увеличения возможностей текстового ввода-вывода данных. Все описание возможностей данного модуля представлено в табл. 10.1. Для задания одного из текстовых режимов предназначена процедура PROCEDURE TEXTMODE (MODE: WORD); где Mode - код текстового режима, который может принимать следующие значения: - BW40 = 0 - черно-белый режим 40 х 25; - СО40 = 1 - цветной режим 40 х 25; - BW80 = 2 - черно-белый режим 80 х 25; - СО80 = 3 - цветной режим 80 х 25; - MONO = 7 - монохромный для черно-белого адаптера; - FONT8X8 = 256 - используются для загружаемого шрифта в режиме 80 х 45 или 80 х 50 с адаптерами VGA или EGA. Какой бы режим не был установлен, координаты верхнего левого угла экрана всегда определяются как XI = 1 и Y1 = 1. Приращение значений по оси X происходит слева направо, а по оси Y - сверху вниз (рис. 10.1). Значение координат нижнего правого угла зависит от режима: либо Х2 = 40 и Y2 = 25, либо Х2 = 80 и Y2 = 25, либо Х2 = 80 и Y2 = 45, либо Х2 = 80 и Y2 = 50. Все программы, рассматриваемые в данной теме, написаны для режима СО40, где МАХХ = 40, MAXY = 25.
Рис. 10.1. Размеры экрана для модуля CRT Таблица 10.
Для того чтобы стали доступны указанные в табл. 10.1 функции и процедуры, необходимо явно указать модуль CRT командой USES CRT; С помощью процедуры TEXTBACKGROUND(COLOR: BYTE);можно устанавливать различные цвета экрана или текстового окна. Допустимые значения переменной Color колеблются от 0 (черный цвет) до 7 (белый цвет). Для установления цветов символов служит процедура TEXTCOLOR (COLOR: BYTE); где значение цвета изменяется от 0 до 15, а мерцание символов устанавливается значением 128. В модуле CRT можно устанавливать цвета фона и цвета символов и с помощью следующих мнемонических констант:
Процедура TEXTBACKGROUND устанавливает цвет, а CLRSCR очищает экран или текстовое окно и закрашивает его требуемым цветом. Курсор при этом перемещается в левый верхний угол. По умолчанию цвет экрана черный. Например, для того, чтобы последовательно закрашивать экран во все цвета палитры, нужно организовать следующий цикл: FOR I:= О ТО 15 DO BEGIN
|