Код клавиши
:confused:
-> 39
<- 37
вверх 38
вниз 40
Код:
if a=chr(39) then ...
Код:
if ord(a)=39 then...
Код:
repeat
c=readkey;
writeln(ord(c));
until c=27
c=readkey;
writeln(ord(c));
until c=27
вот код для вывода аски-кодов, 27 - это ESC
я вообще-то говорил про виртуальные коды клавиш(посмори в windows.pas или windows.h), а не ansi-коды.
кстати, ошибочка c:char и поэтому не может быть равна 27, надо
Код:
until c=#27;
Цитата: kosfiz
я вообще-то говорил про виртуальные коды клавиш(посмори в windows.pas или windows.h), а не ansi-коды.
кстати, ошибочка c:char и поэтому не может быть равна 27, надо
кстати, ошибочка c:char и поэтому не может быть равна 27, надо
Код:
until c=#27;
Ага ,завтыкал ,спасибо что поправил))
А вобще, на Паскале уже несколько лет не писал.
Чтобы программа на стрелки реагировала надо readkey пару раз вызывать - первый вызов вернет 0, второй расширенный код клавиши.
Спсибо всем большое!!!:)
а если мне надо выйти из программы с помощью расширенного кода...что-то типо ctrl+shift ??
Цитата: Inna Lazareva
а если мне надо выйти из программы с помощью расширенного кода...что-то типо ctrl+shift ??
Если в DOS, то переопределять обработчик клавиатуры. В Windows - там коды клавиш попадают в общую очередь сообщений.
А вообще "а если мне надо" далеко не всегда соответствует грамотно спроектированному интерфейсу. Поэтому, если возникают какие-то проблемы с реализацией, это первый признак того, что на этапе проектирования были допущены ошибки, и надо перепроектировать.
Благодарю за совет!