Данная функция предназначена для управления работой клавиатуры и возвращает код нажатой клавиши. Символ соответствующей нажатой клавиши на дисплее не отображается . При использовании клавиш управления функция ReadKey сначала получает значение нулевого символа (#0), следующее обращение к ReadKey возвращает расширенный код клавиши.
Функция ReadKey считывает символ из буфера клавиатуры с одновременным его удалением из буфера или ожидает нажатия какой-либо клавиши.
Пример.
{ анализ вводимых пользователем клавиш }
Uses Crt;
var ch:char;
Begin
ClrScr;
repeat
write(' Нажмите клавишу :');
ch:=ReadKey;
if ch=#0
then { расширенный код сканирования }
begin
ch:=readkey;
write(' Клавиша ');
case ch of
#59..#68 : writeln('функциональная: F1-F10');
#82 : writeln('вставка : Ins');
else
begin
write(' перемещения курсора');
writeln(' расширенный код = ',ord(ch))
end
end ; {case}
end
else writeln(' код символа = ',ord(ch))
until ch=#27 ; { клавиша Esc }
ch:=ReadKey { ожидание нажатия клавиши
для выхода из программы }
end.
В приложении 1 приведена кодовая таблица ПЭВМ и все расширенные коды сканирования.
Задание.
Используя рассмотренные процедуры разработать программу,которая по нажатию клавиш:
«стрелка вправо и влево» меняет цвет фона (по кругу от 0до 7)
«стрелка вверх и вниз» меняет цвет символов ( от 0до 15 )
- алфавитно-цифровой клавиатуры воспроизводит данный символ на экран дисплея.
- Ecs завершает работу программы и восстанавливает первоначальные параметры цветности.