ReadKey – функция, возвращающая символ нажатой клавиши без вывода его на экран. Тип результата – Char. Аргумента у функции нет. Специальные клавиши на клавиатуре (функциональные F1 – F12, управления курсором, Alt, Ctrl и т.д.) генерируют расширенные коды. При нажатии такой клавиши функция ReadKey возвращает сначала нулевой, а затем - расширенный код клавиши.
Пример.
Repeat
Writeln(’Продолжаем?- Да/Нет (Д/Н)’);
S := ReadKey;
Until (S=’H’) OR (S=’н’) ;
KeyPressed – функция без аргумента, возвращает значение True (истина), если клавиша нажата, и False (ложь) в противном случае. Символ, соответствующий нажатой клавише, остается в буфере клавиатуры. Функция не распознает клавиш перевода регистра (Shift, Alt, NumLock и т.д.).
WriteLn(’Работа окончена. Нажмите любую клавишу ...’);
Repeat Until KeyPressed;
Delay(задержка : word); – процедура, которая выполняет задержку на число миллисекунд, задаваемых параметром задержка.
Sound(частота : word); – процедура, которая включает внутренний излучатель звука, который будет издавать звуковой сигнал с частотой, заданной параметром частота.
NoSound выключает внутренний излучатель звука.
Внимание! Звуковой сигнал, включенный процедурой Sound, будет звучать до тех пор, пока его не выключить обращением к процедуре NoSound.
Если в программе часто используются звуковые эффекты, то целесообразно написать процедуру, которая обеспечит излучение звука заданной частоты в течение заданного промежутка времени. Эта процедура может быть такой.
Procedure Zvuk(freq, long : word);
Begin
Sound(freq);
Delay(long);
NoSound;
End; { Zvuk }