Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
E.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
324 Кб
Скачать
☆

5.1.2. Текстовый вывод на экран

Используемое в ПК устройство визуального отображения информации – дисплей состоит из двух частей: монитора, содержащего экран с необходимыми компонентами, и блока управления, который называют дисплейным адаптером. Обычно оба устройства согласуются друг с другом.

Фирма IBM выпустила цветной графический адаптер CGA. Текстовые возможности CGA стали стандартом и поддерживаются во всех последующих разработках IBM - адаптерах EGA, MCGA, VGA, SVGA. Возможности модуля CRT рассматриваются применительно к адаптерам этого типа.

Процедура TextMode. Процедура TextMode используется для задания одного из возможных текстовых режимов работы адаптера.

Формат вызова процедуры в программе:

TextMode (<константа режима>);

Параметр <константа режима> типа integer – код текстового режима. В качестве значения этого выражения могут использоваться следующие константы, определенные в модуле CRT:

BW40 = 0 {Черно-белый режим 40×25}

Co40 = 1 {Цветной режим 40×25}

BW80 = 2 {Черно-белый режим 80×25}

Co80 = 3 {Цветной режим 80×25}

Mono = 7 {Используется с MDA}

Font 8×8  =256 {Используется для загружаемого шрифта в режиме

80×50 с адаптерами EGA и VGA}

Код режима, установленного с помощью вызова процедуры TextMode, запоминается в глобальной переменной LastMode модуля CRT и может использоваться для восстановления начального состояния экрана.

Например, вызов процедуры TextMode(BW40); (или TextMode(0);) устанавливает черно-белый режим вывода символов на экран (25 строк, содержащих по 40 символов в строке).

Процедура TextColor. Процедура TextColor определяет цвет выводимых символов.

Формат вызова процедуры в программе:

TextColor (<цвет>);

Процедура TextBackGround. Процедура TextBackGround определяет цвет фона.

Формат вызова процедуры в программе:

TextBackGround (<цвет>);

Параметр обращения к этим процедурам - выражение типа Byte, задающее код нужного цвета. Этот код удобно определять с помощью следующих констант (цветовой шкалы), объявленных в модуле CRT:

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; {мерцание символа}

Например, вызов процедур TextColor(Red); (или TextColor(4);) и TextBackGround(LightGray); (или TextBackGround(LightGray);) устанавлива-ет режим вывода символов красного цвета на светло-сером фоне.

Процедура ClrScr. Процедура ClrScr очищает экран или окно. После обращения к ней экран заполняется цветом фона и курсор устанавливается в его левый верхний угол.

Формат вызова процедуры в программе:

ClrScr;

Процедура Window. Процедура Window определяет текстовое окно – область экрана, которая в дальнейшем будет рассматриваться процедурами вывода как весь экран.

Формат вызова процедуры в программе:

Window (x1, y1, x2, y2);

Параметры x1, y1, x2, y2 - переменные типа byte: x1, y1 – координаты левого верхнего, x2, y2 –правого нижнего углов окна. Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а само окно очищается (заполняется цветом фона). По мере вывода курсор смещается вправо и при достижении правой границы окна переходит на новую строку, а если он к этому моменту находился на последней строке, содержимое окна сдвигается вверх на одну строку, т.е. осуществляется прокрутка окна.

Обращение к процедуре Window игнорируется, если какая – либо из координат выходит за границы экрана или, если нарушается одно из условий : x2>x1 или y2>y1. Каждое новое обращение к Window отменяет предыдущее определение окна.

Процедура GotoXY. Процедура GotoXY переводит курсор в нужное место экрана или текущего окна.

Формат вызова процедуры в программе:

GotoXY (X,Y);

Здесь переменные X, Y типа byte – новые координаты курсора. Например, вызов процедуры GotoXY(1,1); означает указание перевести курсор в левый верхний угол экрана, а вызов процедуры GotoXY(14, 12); означает указание перевести курсор в 14-ую позицию 12-ой строки.

Функции WhereX и WhereY. С помощью этих функций типа Byte можно определить текущие координаты курсора: WhereX возвращает его горизонтальную, а WhereY – вертикальную координаты.

Три следующие процедуры без параметров могут оказаться полезными при разработке текстовых редакторов.

Процедура ClrEol. Процедура ClrEol стирает часть строки от текущего положения курсора до правой границы окна. Положение курсора не меняется.

Процедура DelLine. Процедура DelLine уничтожает всю строку с курсором в текущем окне. При этом все строки ниже удаленной сдвигаются вверх на одну строку.

Процедура InsLine. Процедура InsLine вставляет строку: строка с курсором и все строки ниже нее сдвигаются вниз на одну строку; строка, вышедшая за нижнюю границу экрана, безвозвратно теряется; текущее положение курсора не меняется.

Процедура LowVideo, NormVideo, HighVideo. С помощью этих процедур без параметров можно устанавливать соответственно пониженную, нормальную и повышенную яркость символов.

Процедура AssignCRT. Процедура AssignCRT связывает текстовую файловую переменную F с экраном с помощью непосредственного обращения к видеопамяти. В результате вывод в такой текстовый файл осуществляется значительно быстрее, чем если бы применялась стандартная процедура Assign.

Формат вызова процедуры в программе:

AssignCRT (F);

Прямой доступ к видеопамяти реализуется глобальной логической переменной DirectVideo модуля CRT. По умолчанию переменная DirectVideo имеет значение True.

Процедура Delay. Процедура Delay обеспечивает задержку работы программы на заданный интервал времени.

Формат вызова процедуры в программе:

Delay(Т);

T – выражение типа Word, определяющее интервал времени ( в миллисекундах ), в течение которого задерживается выполнение следующего оператора программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]