| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Коды клавишь лево, право, в верх, в низ. |
| Автор: blablabla 17.10.2006, 21:10 |
| Как узнать коды клавишь лево, право, в верх, в низ. В паскале #75, #77, #72, #80 соответственно. Пробовал применить на DELPHI, ничего не выходит. Подскажите пожалуйста. |
| Автор: volvo877 17.10.2006, 21:25 | ||
Вообще-то
Как применять собрался? |
| Автор: Romikgy 17.10.2006, 21:41 |
| а как пробовал код в студию |
| Автор: blablabla 17.10.2006, 22:27 | ||
|
| Автор: Romikgy 17.10.2006, 22:35 |
здесь это не отловишь! KeyDown KeyUp там ловишь от $25 до $28 вроде так |
| Автор: blablabla 17.10.2006, 22:37 | ||
Чёт не выходит..... |
| Автор: Romikgy 17.10.2006, 22:47 | ||
// только в кейдоуне
|
| Автор: blablabla 17.10.2006, 22:47 |
| Romikgy Спавибо, заработало. |
| Автор: Zero 17.10.2006, 23:49 |
| blablabla, ты бы сразу сказал, что те надо для поля Memo, тебе б сразу и ответили... |
| Автор: skyboy 17.10.2006, 23:57 |
нет. символьные коды как во время Паскаля указывались с символом "#", так и указываются. Дело в том, что обработчик по OnKeyPress в переменной key передает символ типа char: от #0 до #FF, а обработчики OnKeyUP и OnKeyDown в переменной Code(кажется, может - KeyCode - не помню) содержит код(может - скан-код?) клавиши, а константы VK_LEFT и иже с ними(в хелпе надо смотреть раздел Virtual key codes) как раз и относятся к скан-кодам, но не к символьному представлению. Вобщем, смотря какой обработчик - такой и подход. Например, Backspace можно и в OnKeyPress ловить(символьный код, кажется, #8) и в OnKeyDown/OnKeyUp(VK_BACK). |
| Автор: Romikgy 18.10.2006, 08:44 |
| skyboy, я константы прописал , ну пусть будет так #$25 ... #$28 трудно было это добавить ? и если посмотришь числовое представление и т.п. то увидишь , что это и равно числам вышеприведеным |
| Автор: skyboy 18.10.2006, 09:44 |
| Romikgy. Да, vk_left == 37. Но символ #37 == "%". Впервые слышу, чтоб скан-коды смешивались с символьным представлением соотвествующих букв. Я тебя, наверное, не понял. Поясни, пожалуйста, что ты имел в виду. |
| Автор: aktuba 18.10.2006, 12:08 |
| Правильно, #37 - %, т.к. #37 и #$37 - это разные коды. В первом случае десятичный, а во втором шестнадцатиричный... Поэтому ничего и не получалось. Ты указывал десятичные коды... |
| Автор: Romikgy 18.10.2006, 12:46 | ||
skyboy,
все цифры 16-ричные, это из мсдн ты мои посты сверху читал? |
| Автор: skyboy 18.10.2006, 15:44 |
| aktuba, я говорил про код 37, а Romikgy - про код $25, что одно и то же, но в разных системах счисления. Другими словами, 25(16) == 37(10). Проверь. |