Mail.RuПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоиск
Ответы Mail.ru
Статистика
Сейчас на сайте: 8 825 Открытые вопросы: 118 847 Вопросы на голосовании: 12 583 641 Ответы: 391 132 430
Закрыть
(регистрация)
(забыли?)
 
 
 

Категории

Мой мирФотоВидеоБлог
Lucky13   Мастер (1386)
Закрыт: 3 года назад
Подарить стикер! NEW

Как на Pascal-e писать readkey и keypressed вместе?

 
Чтобы программа не ждала нажатия клавишы, а действие выпоняла только по нажатию определенной. Помню, что нужны были скобки, но где и как - увы((

Оценка: 0 Рейтинг: 0

Лучший ответ

Мой мирФотоВидеоБлог
 Gennady     Просветленный (42628)3 года назад  (ссылка)
Доброго времени суток.

Карапуз немного, самую малость, не прав. Его код будет работать до тех пор, пока не нажмут функциональную клавишу. В этом случае ReadKey вернет ноль. Вот правильный вариант

if KeyPressed then С := ReadKey;
if С = #0 then C := ReadKey;

В довесок привожу коды некоторых клавиш

HomeKey = #71; EndKey = #79; CtrlPgUpKey = #132;
LeftKey = #75; RightKey = #77; CtrlPgDnKey = #118;
DownKey = #80; UpKey = #72; CtrlHomeKey = #119;
PgUpKey = #73; PgDnKey = #81; CtrlEndKey = #117;
F1Key = #59;

Удачи!
Оценка: 0 Рейтинг: 0

Другие ответы

Мой мирФотоВидеоБлог
 Сергей Барановский   Мудрец (13940)3 года назад  (ссылка)
Как то так наверное:

if KeyPressed and (ReadKey = a) then {Действие}
Оценка: 0 Рейтинг: 0
Мой мирФотоВидеоБлог
 proxy   Мудрец (10942)3 года назад  (ссылка)
Не совсем понял вопроса
(видимо, ещё не до конца проснулся... :)
Можно так:

Uses Crt;
Var
C : Char;
{ все остальные константы / переменные }

Begin

if Keypressed then C := Readkey;

{ а теперь - нужно проверить "C", т.е., посмотреть,
какая клавиша была нажата и выполнить нужные действия:

if C= ...then ...

или так:

Case C of ...}

end.

Раньше писал на Pascal-е, поэтому
кое-какие мелочи ещё помню...
Оценка: 0 Рейтинг: 0