Кодинг
★ Рубрика: Кодинг
★ Тема: Pascal

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

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.
 Похожие публикации: Pascal

Войти и комментировать [ Вход | Регистрация ]