Модуль CRT содержит набор процедур и функций управления текстовым выводом на экран дисплея, звуковым генератором и чтением символов с клавиатуры без отображения их на экране, а также переменных и констант режимов работы и цветов.
Монитор может работать в текстовом или графическом режиме с различной разрешающей способностью.
Текстовый режим задается процедурой:
TextMode (Со40); Где: TextMode – режим;
TextMode (Co80); Bw(Black-White) – черно - белый режим;
TextMode (Bw40); 40 и 80 –количество символов в строке;
TextMode (Bw80).
Параметры процедуры можно задать с помощью констант определенных в модуле
Const
Bw40 =0;
Co40 =1;
Bw80 =2;
Co80 =3;
Один из режимов устанавливается по умолчанию при настройке системы.
Для задания цвета символов и фона используются следующие константы:
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; {Белый}
Blinck =128; {Мерцание символа}
Работать можно на всем экране 80х25 или выделать окно с помощью процедуры
Window(X1,Y1,X2,Y2)
умолчанию устанавливается окно (1,80,1,25).
Для явного выделения окна после процедуры Window необходимо выполнить TextBackGround и ClrScr.
Основные процедуры модуля CRT
Таблица 2
№ |
Процедура |
Назначение |
1 |
AssignCRT |
Назначает текстовый вывод на экран |
2 |
ClrScr |
Очистка экрана, курсор в первую позицию |
3 |
ClrEol |
Удаляет символ от курсора до конца строки |
4 |
DelLine |
Удаляет строку, в которой находится курсор |
5 |
InsLine |
Вставляет строку в позицию, в которой находится курсор |
6 |
GoToXY (X,Y) |
Перемещает курсор в заданную позицию |
7 |
Delay(n) |
Приостанавливает выполнение программы на n миллисекунд |
8 |
NormVideo |
Устанавливает нормальную яркость символов |
9 |
LowVideo |
Устанавливает пониженную яркость символов |
10 |
HignVideo |
Устанавливает повышенную яркость символов |
11 |
Sound (f) |
Включает звуковой генератор (f-Гц) |
12 |
NoSound |
Отключает звуковой генератор |
13 |
TextMode |
Устанавливает текстовый режим |
14 |
TextColor (c) |
Задает цвет символов |
15 |
TextBackGround |
Задает цвет фона |
16 |
Window(X1,Y1,X2,Y2) |
Создает текстовое окно |
Основные функции модуля CRT
Таблица 3
№ |
Функция |
Назначение |
1 |
WhereX |
Возвращает горизонтальную координату (столбец) |
2 |
WhereY |
Возвращает вертикальную координату (строку) |
3 |
KeyPressed |
Возвращает true, если нажата клавиша и false в пр. |
4 |
ReadKey |
Читает символ с клавиатуры без отображения на экране |
Пример 20.3. Установить цвет экрана зеленым. Считать данные с окна (4,2,44,16)-с красным цветом и голубыми символами. Записать результат в окно (32,10,76,24) -с черным цветом и с белыми символами.
Текст программы
Program crtw1; {Работа с окнами}
Uses crt;
Var
x,y :array[1..5] of integer;
i :integer;
Begin
TextBackground(2); ClrScr;
Window(4,2,44,16); TextBackground(4); ClrScr;
TextColor(3); GoToXY(10,5);
Writeln('Введите массив Х');
GoToXY(15,8);
For i:=1 to 5 do
Begin
Read(x[i]); y[i]:=sqr(x[i])
End;
Window(32,10,76,24); TextBackground(0); ClrScr;
TextColor(15); GoToXY(17,5);
Writeln('Результат');
For i:=1 to 5 do
Begin
If odd(i) Then
Begin
Sound(1000); Delay(2000); NoSound; HighVideo; Writeln(y[i]:10);
End
Else
Begin
Sound(100); Delay(2000); NoSound; LoWVideo; Writeln(y[i]:10);
End
End;
Repeat until keypressed;
End.
Результат работы программы:
Введите массив Х
1 2 3 4 5
Результат
1
4
9
16
25