ord('.')

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: ord('.')

Сообщение SAK » 27.09.2010 23:08:52

Если честно, то я вообще ничего не понял, ни то каким образом читается клавиатура, ни то как обрабатывается результат, потому остаётся только гадать что и где там не работает. Нет тестового примера, в котором происходят все эти чудеса.
SAK
постоялец
 
Сообщения: 158
Зарегистрирован: 18.02.2006 00:45:14
Откуда: Тим

Re: ord('.')

Сообщение VirtUX » 28.09.2010 11:51:02

SAK писал(а):Нет тестового примера, в котором происходят все эти чудеса.

В обработчике OnKeyPress и OnUTF8KeyPress (правда это Lazarus) код Delete = #127. У других #46 (VK_Delete), еще тут узнал, что и #83 бывает. Поэтому отследить его нажатие невозможно, т.к. эти кода есть и у точки '.' и у 'S' и у F16.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: ord('.')

Сообщение SAK » 28.09.2010 22:05:38

#83 - это скан код клавиатуры, он считывается через readkey (с предшествующим #0)

в OnKeyPress код #46 - это точка, Del в OnKeyPress не попадает (хотя, возможно в зависимости от конкретного драйвера клавиатуры или от компонента в котором находится обработчик может проходить как #127)

Нажатие Del как VK_Delete надо ловить в OnKeyDown

Обратите внимание, что VK_Delete - численная константа, а в OnKeyPress Key: Char. А вот в OnKeyDown Key: Word.
SAK
постоялец
 
Сообщения: 158
Зарегистрирован: 18.02.2006 00:45:14
Откуда: Тим

Пред.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Рейтинг@Mail.ru