Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ ReadKey и KeyPressed

Автор: Памазок 27.05.2009 19:15

Народ, обьясните, пожалуйста, как пользоваться ReadKey и KeyPressed. И в чём между ними разница?

Автор: volvo 27.05.2009 19:29

ReadKey читает код клавиши из буфера клавиатуры, а KeyPressed - возвращает признак, есть ли что-то в этом буфере (была ли нажата клавиша)... Примеры есть в Help-е Турбо-Паскаля, напечатай название функции и нажми Ctrl+F1... Или поиск по форуму напряги...

Автор: Памазок 27.05.2009 19:33

А напримере покажите как они работают?
И ReadKey это процедура?

Автор: volvo 27.05.2009 19:39

Цитата
А напримере покажите как они работают?
А для примера ты тему не там создал... Здесь - теория, а не практика. Теоретически я тебе уже сказал: открой хелп или посмотри готовые примеры на этом форуме.

Автор: Lapp 28.05.2009 16:04

Ну, пару строчек-то можно..))

Вот этот фрагмент ждет нажатия клавиши и считывает первое значение из них:

repeat until KeyPressed;
c:=ReadKey;

Автор: volvo 28.05.2009 16:09

Ну, в принципе, можно и одной строчкой:

while keypressed do readkey;
, тоже должно быть понятно, что к чему... Насчет
Цитата
И ReadKey это процедура?
Нет, это функция, но как видишь, Паскаль способен вызывать функцию, как процедуру (без занесения куда-либо значения, которое функцией возвращается) при использовании Расширенного синтаксиса, если Options -> Compiler -> Extended Syntax отмечено крестиком... Если крестик убрать - то функция сможет быть вызвана только, как написал выше Lapp, надо обязательно использовать значение, которое она возвращает...

Автор: Памазок 29.05.2009 12:13

Всё всем спасибо, я разобрался!!!
Ещё раз спасибо большое!

Автор: CHOPIKUS 8.11.2014 21:00

А можно сделать чтоб если нажал на клавишу "Ы", то выполнялась программа?