Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> коды клавиатурных клавиш, коды клавиатурных клавиш 
:(
    Опции темы
buian
Дата 30.3.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



выложите здесь коды клавиатурных клавиш или дайте ссылку!

т.е. коды:

Enter - #13 и.т.д.

или скажите почему когда я пробую для теста проверять клавиши:

при событии формы OnKeyPress

пишу

if Key=#13 then
Form1.Close;

ето работает!

if Key=Chr(vk_Up) then
Form1.Close;

не работает!

может че не так
PM MAIL   Вверх
Girder
Дата 30.3.2005, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Цитата(buian @ 30.3.2005, 13:46)
выложите здесь коды клавиатурных клавиш или дайте ссылку!
Подвесь к Memo... smile
Код
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
 Memo1.Lines.Add('#'+IntToStr(ord(Key)));
 Key:=#0;
end;


Цитата(buian @ 30.3.2005, 13:46)
может че не так
Что есть vk_Up? smile



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Dr.No_xXx
Дата 30.3.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Vk_up это клавиша вверх.

F1 112 $70 VK_F1
F2 113 $71 VK_F2
F3 114 $72 VK_F3
F4 115 $73 VK_F4
F5 116 $74 VK_F5
F6 117 $75 VK_F6
F7 118 $76 VK_F7
F8 119 $77 VK_F8
F9 120 $78 VK_F9
F10 121 $79 VK_F10
пробел 32 $20 VK_SPACE
BackSpace 8 $8 VK_BACK
Tab 9 $9 VK_TAB
Enter 13 $0D VK_RETURN
Shift 16 $10 VK_SHIFT
Ctrl 17 $11 VK_CONTROL
Alt 18 $12 VK_MENU
CapsLock 20 $14 VK_CAPITAL
Esc 27 $1B VK_ESCAPE
Insert 45 $2D VK_INSERT
PageUp 33 $21 VK_PRIOR
PageDown 34 $22 VK_NEXT
End 35 $23 VK_END
Home 36 $24 VK_HOME
37 $25 VK_LEFT
38 $26 VK_UP
39 $27 VK_RIGHT
40 $28 VK_DOWN
Delete 46 $2E VK_DELETE
PrintScreen 44 $2C VK_SNAPSHOT
ScrollLock 145 $91 VK_SCROLL
Pause 19 $13 VK_PAUSE
NumLock 144 $90 VK_NUMLOCK
0,) 48 $30 ord('0')
1 ! 49 $31 ord('1')
2 @ 50 $32 ord('2')
3 # 51 $33 ord('3')
4 $ 52 $34 ord('4')
5 % 53 $35 ord('5')
6 ^ 54 $36 ord('6')
7 & 55 $37 ord('7')
8 * 56 $38 ord('8')
9 ( 57 $39 ord('9')
` ~ 192 $C0
- _ 189 $BD
= + 187 $BB
[ { 219 $DB
] } 221 $DD
; : 186 $BA
' " 222 $DE
\ | 220 $DC
, < 188 $BC
. > 190 $BE
/ ? 191 $BF
a,A 65 $41 ord('A')
b,B 66 $42 ord('B')
c,C 67 $43 ord('C')
d,D 68 $44 ord('D')
e,E 69 $45 ord('E')
f,F 70 $46 ord('F')
g,G 71 $47 ord('G')
h,H 72 $48 ord('H')
i,I 73 $49 ord('I')
j,J 74 $4A ord('J')
k,K 75 $4B ord('K')
l,L 76 $4C ord('L')
m,M 77 $4D ord('M')
n,N 78 $4E ord('N')
o,O 79 $4F ord('O')
p,P 80 $50 ord('P')
q,Q 81 $51 ord('Q')
r,R 82 $52 ord('R')
s,S 83 $53 ord('S')
t,T 84 $54 ord('T')
u,U 85 $55 ord('U')
v,V 86 $56 ord('V')
w,W 87 $57 ord('W')
x,X 88 $58 ord('X')
y,Y 89 $59 ord('Y')
z,Z 90 $5A ord('Z')
На правой клавиатуре при выключенной NumLock
0 96 $60 VK_NUMPAD0
1 97 $61 VK_NUMPAD1
2 98 $62 VK_NUMPAD2
3 99 $63 VK_NUMPAD3
4 100 $64 VK_NUMPAD4
5 101 $65 VK_NUMPAD5
6 102 $66 VK_NUMPAD6
7 103 $67 VK_NUMPAD7
8 104 $68 VK_NUMPAD8
9 105 $69 VK_NUMPAD9
* 106 $6A VK_MULTIPLY
+ 107 $6B VK_ADD
- 109 $6D VK_SUBTRACT
. 110 $6E VK_DECIMAL
/ 111 $6F VK_DIVIDE
PM MAIL   Вверх
Girder
Дата 30.3.2005, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Цитата(Dr @ 30.3.2005, 14:41)
Vk_up это клавиша вверх.

Код
procedure TForm1.KeyUpDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key=38 then close;
end;



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Dr.No_xXx
Дата 30.3.2005, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



А ну да чето торможу.
38 $26 VK_UP
PM MAIL   Вверх
oleg1973
Дата 30.3.2005, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



не так нада делать
как спец в кейлогерах авторитетно заявляю smile
нада использовать
GetKeyboardState
ToAscii
и будет вам счастье


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Dr.No_xXx
Дата 30.3.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Поясни please.
PM MAIL   Вверх
Girder
Дата 30.3.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Цитата(Dr @ 30.3.2005, 17:12)
Поясни please.
Код
procedure TForm1.Timer1Timer(Sender: TObject);
var m:TKeyboardState;
begin
 GetKeyboardState(m);
 if m[38]<>0 then close;
end;

procedure TForm1.FormCreate(Sender: TObject);
var m:TKeyboardState;
begin
 m[38]:=0;
 SetKeyboardState(m);
end;




--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Poseidon
Дата 30.3.2005, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(buian @ 30.3.2005, 12:46)
выложите здесь коды клавиатурных клавиш или дайте ссылку!

т.е. коды:

Enter - #13 и.т.д.
А так не пойдет?
Код
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Label1.Caption:= '#'+IntToStr(ord(key));
end;


На форме только label1



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
buian
Дата 2.4.2005, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



так! конечно всем спасибо! но вот что - с клаввишами enter, space, ESC ....
все понятно ! также понятно с клавишами букв. Но вот клавиши Shift, Alt... клавиши стрелок такими спосоами не работают! Я чето слышал про рассшаренные коды! вроде как этиклавиши туды относятся ! но как использовать не знаю! если кто знает напишите плз..
PM MAIL   Вверх
Poseidon
Дата 3.4.2005, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(buian @ 2.4.2005, 07:19)
Но вот клавиши Shift, Alt... клавиши стрелок такими спосоами не работают
Тебе же Dr.No_xXx выложил коды всех клавишь. Что еще нужно? И Shift, и Alt там есть. Что конкретно тебе нужно? В какой ситуации ты это хочешь применить?



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
buian
Дата 3.4.2005, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



! ну напримет я просто вот такой пример: ShowMessage(IntToStr(Ord(Key)));
короче срабатывает когда нажимаешь на ентер, бакспайс....

а вот клавиши алт, контрл ни канаают! даже в люьой ситуации не получается!
PM MAIL   Вверх
Poseidon
Дата 4.4.2005, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(buian @ 3.4.2005, 07:46)
а вот клавиши алт, контрл ни канаают!
А эти клавишь по отдельности и не должны обрабатываться. Система обрабатывает их нажатие совместно с какой-либо другой клавишей. Попробуй в своем примере нажать какую-нибудь клавишу, а потом нажать эту же клавишу в сочетнии с тем же контролом или шифтом. Результат будет разным.

Клавиша Alt ввобще предназначена для доступа к меню программы (MainMenu) и никакие другие компоненты ее нажатие отдельно не отлавливают.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
buian
Дата 4.4.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 4.2.2005

Репутация: нет
Всего: нет



а как на счет стрелок: вверх, вниз, влево, впарво
PM MAIL   Вверх
Poseidon
Дата 5.4.2005, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(buian @ 4.4.2005, 17:48)
а как на счет стрелок: вверх, вниз, влево, впарво

Цитата(Dr @ 30.3.2005, 13:41)
Vk_up это клавиша вверх.


От себя могу добавить:
VK_LEFT в лево
VK_RIGHT в право
VK_DOWN в низ

Процедура OnKeyPress (и подобные) их тоже не отлавливает. Это нужно делать самостоятельно.

Добавлено @ 01:03
Вот пример обработки нажатия этих клавиш:
Код
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);

begin
  if Key in [VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT]
  then
    ShowMessage('нажата стрелка')
end;



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.