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

Организация работы в текстовом режиме Установка текстового режима

Работу в текстовом режиме, управление клавиатурой, курсором и звуком выполняет в языке Pascal стандартный модуль CRT. Подключение модуля CRT к программе пользователя осуществляется с помощью USES CRT;.

Текстовый режим используется для вывода символов и характеризуется количеством. Количество символов на экране компьютера по горизонтали и вертикали зависит от типа видеоадаптера и параметров текстового режима и варьируется по горизонтали от 40 до 80. Для установки различных текстовых режимов вывода информации используется процедура TextMode(mode:word);, которая задает текстовый режим модуля mode, который может быть указан в виде именной константы или с помощью числового значения. Некоторые значения именных констант режимов представлены в таблице 1.

Таблица 1.

Имя константы

Значение

Разрешение экрана

Цветной режим

BW40

0

40x25

Черно-белый для цветного адаптера

Co40,C40

1

40x25

Цветной

BW80

2

80x25

Черно-белый для цветного адаптера

Co80,C80

3

80x25

Цветной

Font8x8

256

80/40x50

Цветной для адаптера VGA

После установки текстового режима началом отсчета координат является верхний угол экрана с координатами (1,1). Координата Х изменяется по горизонтали слева направо, а Y по вертикали сверху вниз.

Организация окон и вывод на экран

Модуль CRT обеспечивает работу с окнами разного размера. Величина окна и ее расположение на экране определяется с помощью процедуры Window.

Процедура Window(x1,y1,x2,y2:byte); определяет на экране текстовое окно. Координаты x1, y1 соответствуют верхнему левому углу создаваемого окна, а x2, y2 – правому нижнему углу. После определения окна крайней верхней левой позиции в новом окне соответствует координата (1,1). На экране одновременно может присутствовать сразу несколько окон, но в каждый конкретный момент времени активным является только одно окно.

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

Процедура TextBackGround(colоr:byte); устанавливает цвет фона, который может принимать значения от 0 - Black (черный) до 7 - LightGray (светло-серый).

Процедура TextColor(colоr:byte); устанавливает цвет выводимого в окне текста. Значение цвета обычно изменяется в диапазоне от 0 - Black (черный) до 15 – White (белый). Для вывода мерцающего текста заданного цвета, необходимо в процедуре к значению цвета прибавить константу Blink или значение 128, например, TextColor(Red+Blink) или TextColor(Magenta+128).

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

Процедура ClrEol; очищает строку текущим цветом фона от текущей позиции курсора до конца строки.

Процедура GotoXY(x,y:byte); переводит курсор в позицию с координатами x, y.

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

Процедура InsLine; вставляет дополнительную строку от места расположения курсора в активном окне.

Функция WhereX:integer; возвращает значение х текущей позиции курсора.

Функция WhereY:intteger; возвращает значение у текущей позиции курсора.

Процедура LowVideo; устанавливает режим минимальной яркости свечения символов на экране.

Процедура NormVideo; устанавливает режим нормальной яркости свечения символов на экране.

Процедура HighVideo; устанавливает режим максимальной яркости свечения символов на экране.

Ввод информации в текстовом режиме выполняется с помощью процедур Read, Readln, а вывод - Write и Writeln. Если при выводе текста в активном окне достигается его нижняя граница, то информация в окне сдвигается на одну строку вверх. Такой процесс часто называют «прокруткой».

Процедура CrtExit; восстанавливает режим, который был установлен стандартно после загрузки операционной системы. Данную процедуру целесообразно выдавать при завершении работы программы, использующей текстовый режим работы.

Пример 3. Сгенерировать случайным образом и вывести на экран 255 окон разного цвета.

Uses CRT;

Var X,Y,k,j:byte;

BEGIN

Randomize; {Инициализация генератора случайных чисел}

j:=0;

For k:=1 to 255 do

begin

TextBackGround(j);{установка цвета фона}

ClrScr; {очистка окна}

if LightGray=j then j:=0

else inc(j); {изменениe цвета фона от 0 - Black - до 7 - LightGray }

X:=Random(80)+1;

Y:=Random(25)+1;

Window(X,Y,X+random(5),Y+random(5)) {определение окна}

end;

Readln

END.

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