В прошлом уроке мы познакомились с функцией KeyPressed, которая реагирует на нажатие клавиши. В этом уроке мы рассмотрим функцию ReadKey. Ее отличие от функции KeyPressed в том, что она не просто реагирует на нажатие клавиши, но и сообщает о том, какая именно клавиша была нажата.
Если данная функция встречается в программе, то программа останавливается и ждет нажатие клавиши, причем символ нажатой клавиши не высвечивается на экране. Функция ReadKey считывает код введенного символа из буфера клавиатуры и возвращает значение типа CHAR. Например, если вы введете с клавиатуры строчную латинскую букву «a», то функция ReadKey возвратит значение Chr(97). Рассмотрим программу, которая показывает отличие функции ReadKey от процедуры Readln.
Функция ReadKey.
В строке №6 вводим с клавиатуры символ.
В строке №7 выводим символ на экран.
Как видите при вводе символа с клавиатуры, он сразу же отображается на экране, а после нажатия клавиши Enter на экран выводится сообщение.
Теперь заменим строку №6 на такую: klav:=readkey.
В строке №6 в переменную «klav» записываем значение функции ReadKey. На этом этапе программа останавливается и ждет нажатия клавиши (как и при использовании процедуры Readln). После нажатия клавиши код этой клавиши будет возвращен в качестве значения функции ReadKey (как и при использовании процедуры Readln) и записан в переменную «klav». На экран будет выведен символ соответствующий этому коду.
Как видите, при нажатии клавиши, у нас сразу вывелось сообщение.
Предыдущая статья : Функция KeyPressed.
Оглавление : Уроки Паскаль. Модуль CRT.
Следующая статья : Записи в Паскаль.
Комментарии
var
a:char;
begin
a:=readkey;
if a='w' then
writeln('Успіх')
end.