Работа с клавиатурой

Кроме стандартных процедур Read и Readln в модуле Crt есть две процедуры, расширяющие возможности работы с клавиатурой.

Функция

ReadKey:char;

считывает один символ с клавиатуры. Его чтение не сопровождается эхо-отображением на экране, что используется в программах с меню и других, требующих постоянного управления с помощью клавиатуры. Более того, с ее помощью можно читать коды управляющих клавиш, чего нельзя сделать с помощью команды Read.

Если нажата не символьная, а управляющая клавиша, то первое считанное число — 0, а код клавиши надо ввести еще раз.

Пример: программа проверки нажатия функциональных клавиш F1 - F10.

Program DemoCode;

{ Демонстрационная программа проверки нажатия

функциональных клавиш }

Uses Crt;

Const Esc=27;

F1=59;

F10=68;

Var Ch:char; { символ, вводимый с клавиатуры }

Priznak:boolean;

Begin

TextColor(Yellow); { Буквы желтые }

TextBackGround(Blue); { Фон синий }

ClrScr;

Repeat

Ch:=ReadKey;

If Ord(Ch)=0 then

Begin

Ch:=ReadKey; { второй символ }

If Ord(Ch) in [F1..F10] then

Writeln('Нажата функциональная клавиша F',Ord(Ch)-58)

else

Writeln('Нажата управляющая клавиша с кодом ',Ord(Ch))

end else

Writeln('Нажата символьная клавиша с кодом ',Ord(Ch));

Until Ord(Ch)=Esc;

end.

При обращении к функции

KeyPressed:boolean;

ожидания нажатия клавиши нет, она просто опрашивает буфер клавиатуры и выдает логический результат: True — если в буфере есть какой-либо символ и False — в противном случае.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: