ReadKey - функция, возвращающая символ нажатой клавиши без вывода его на экран. Тип результата – Char. Аргумента у функции нет. Специальные клавиши на клавиатуре (функциональные F1 – F12, управления курсором, Alt, Ctrl и т.д.) генерируют расширенные коды. При нажатии такой клавиши функция ReadKey возвращает сначала нулевой, а затем - расширенный код клавиши.
Пример.
S := ReadKey;
Приводимый ниже фрагмент программы показывает, как можно применить функцию для организации итерационных циклов.
Repeat
Writeln(’Продолжаем?- Да/Нет (Д/Н)’);
S := ReadKey;
Until (S=’H’) OR (S=’н’) ;
KeyPressed - функция без аргумента, возвращает значение True (истина), если клавиша нажата, и False (ложь) в противном случае. Символ, соответст-вующий нажатой клавише, остается в буфере клавиатуры. Функция не распознает клавиш перевода регистра (Shift, Alt, NumLock и т.д.). Может исполь-зоваться для организации итерационных циклов.
Repeat
- - - - -
Until KeyPressed;
Цикл заканчивается, если нажата любая клавиша. Например, текст программы может завершаться следующим фрагментом:
Пример. Завершение программы.
WriteLn(’Работа окончена. Нажмите любую клавишу ...’);
Repeat Until KeyPressed;
End.
Пример.
program keypressed_demo;
uses crt; { подключение модуля crt }
begin
writeln (’Нажмите любую клавишу, чтоб завершить!’);
while not keypressed do
begin
write (’Ku-ku! ’); {печатать, пока не нажмут любую клавишу}
delay (100)
end
end.
Пример. Программа выводит на экран код нажатой клавиши.
program readkey_demo;
uses crt; { подключение модуля crt }
begin
repeat
c := ReadKey; writeln (’Вы нажали клавишу ’, c);
until c = ’ ’; { пробел }
end.