Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   ЧАВО - Частые Вопросы и Ответы    >>    fkeycode
   
 
 KBD. Как узнать код функциональной клавиши по Read   Sly Golovanov 27.12.1997

Как использовать ReadKey для получения кода функциональных клавиш.


 
 

Pascal FAQ created by SLY Golovanov, 2:5020/278.13 (slightly corrected by Valery Votintsev 2:5021/22) ============================================================================== Q:> А как прочитать нажатия клавиш с клавиатуры? Hу, буквы и цифры я прочитал с помощью ReadKey - а вот функциональные клавиши почему-то ноль возвращают. A: Потому что эти клавиши возвращают расширенный код, состоящий из двух символов - как, например, стрелки, или буквенно- цифровая клавиатура в комбинации с Alt, Ctrl, и т.д. Вот, как нужно обрабатывать клавиатуру: case ReadKey of {читаем код } #0:case ReadKey of {код оказался расширенным} #59:Writeln('Hажали F1'); #60:Writeln('Hажали F2'); {.......................} end {case}; {закончили обработку расширенных кодов} #13:Writeln('Hажали Enter'); #27:Exit end {case} Q:> А как мне узнать все эти коды #13, #59, #60 и т.д.? A: Воспользуйся простой программкой: Uses Crt; var key:char; begin repeat key:= ReadKey; {читаем код } if Key = #0 then begin {код оказался расширенным} Write(Ord(Key):3,','); {печатаем первый код } key:= ReadKey; {читаем расширенный код } end; {закончили обработку расширенных кодов} Writeln(Ord(Key):3); {печатаем основной код } until Key = #27; {Цикл, пока не нажмем Esc} end. --- * Origin: (2:5020/794.13)