Уважаемые форумчане. Отпишитесь, пожалуйста, у кого какой код выдает "точка".
У меня 46, а это VK_DELETE. В багтрекер уже отписал.
P.S. Укажите ОС и локаль. Пжлст.
Модератор: Модераторы
KeyPreview:=True;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
if Key='.' then
ShowMessage('Точка');
end;
Vadim писал(а):Дело в том, что если нажать кнопку DEL на цифровой клавиатуре, у неё тоже будет номер 46, т.к. её вторая ипостась - точка.
VirtUX писал(а):У меня ноут. И только один Del = 127.
VirtUX писал(а):Афигеть. И как быть? Как узнать, что нажата точка, а не Del?
P.S. У меня openSuSE 11.3
VirtUX писал(а):У меня ноут. И только один Del = 127.
Vadim писал(а):Вам пора менять клавиатуру.
uses crt;
var c: char;
begin
repeat
c:=readkey;
case c of
#27: exit; // ESC - выход
#0: writeln('0 ', ord(readkey)); // читаем код клавиши из буфера
else writeln(c)
end
until false
end.
SAK писал(а):Специальные клавиши дают двойные коды: сначала приходит символ #0, а за ним код клавиши (не символ!)
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4