Читайте также:
|
|
0 Black, черный. 8 DarkGray, темно-серый.
1 Blue, синий. 9 LightBlue, ярко-синий.
2 Green, зеленый. 10 LightGreen, ярко-зеленый.
3 Cyan, голубой. 11 LightCyan, ярко-голубой.
4 Red, красный. 12 LightRed, ярко-красный.
5 Magenta, фиолетовый. 13 LightMagenta, ярко-фиолетовый.
6 Brown, коричневый. 14 Yellow, желтый.
7 LightGray, ярко-серый. 15 White, белый.
При превышении допустимых пределов параметра N происходит преобразование N, при этом символы выводятся с мерцанием. Мерцание символов можно получить, также задавая: N:= N + 128;
В процедурах TextBackGround(N); и TextColor(N); можно применять параметр N, либо наименование цвета, например:
N:=1; TextColor(N); { либо } TextColor(Blue);
Управление клавиатурой
KeyPressed; - возвращает значение True (тип Boolean) - если была нажата любая
клавиша (кроме Ctrl, Alt, NumLock и т. п.), иначе - False.
ReadKey; - возвращает символ нажатой клавиши (тип Char).
Следующие операторы выводят на экран указанную надпись до нажатия клавиши:
Repeat Writeln('Нажмите скорее любую клавишу') until KeyPressed;
Следующие операторы ожидают нажатия клавиши с символом "А":
Repeat Writeln('Нажмите клавишу "А"'); c:=ReadKey until c='А';
В отличие от оператора Read оператор ReadKey не показывает на экране символ нажатой клавиши.
При нажатии на клавишу в буфер клавиатуры записывается соответствующий код, который считывается операторами Read/Readln либо функцией Readkey. При этом буфер клавиатуры очищается. При многократном нажатии на клавиши (без считывания программой символов) буфер клавиатуры переполняется и компьютер начинает "пищать". Для очистки буфера клавиатуры применяются операторы:
While KeyPressed Do c:=ReadKey;
Приведем пример программы, выводящей на экран в различных текстовых режимах надпись в виде ступеньки с заданным шагом "dx" по оси "х", в каждой строке "у", начиная с позиции (1, 1).
PROGRAM FAM;
Uses CRT;
var N: word; f, dx, x, y, i, j, xm, ym: byte;
BEGIN
for i:=0 to 9 do begin { режимы работы монитора }
if i<4 then N:=i else N:=256+i-4; if i=9 then N:=7;
TextMode(N);
xm:=lo(WindMax)+1; ym:=hi(WindMax)+1;
write('xm=',xm, '_ym=',ym, '_N=',N, '_Нажмите Enter'); readln;
TextBackGround(1); clrscr; TextColor(14); x:=1;
f:=8; dx:=3; { f - длина фамилии + курсор, dx - приращение отступа}
for j:=1 to ym-1 do begin y:=j;
if (xm-x-f)<0 then x:=1; { контроль выхода надписи за экран }
gotoXY(x, y); write('ФАМИЛИЯ'); x:= x + dx; end;
Writeln; write('Нажмите Enter'); readln end;
TextMode(3)
END.
Дата добавления: 2015-10-29; просмотров: 128 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Управление экраном в текстовом режиме | | | Практическое задание N 1. 34 |