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