Autor Beitrag
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 08.01.05 19:03 
Hi

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
function keytostr (key: word): string;  
function wordtostr(const Value: Word): String;  
begin  
SetLength(Result, SizeOf(Value));  
Move(Value, Result[1], SizeOf(Value));  
end;  
begin  
case key of  
VK_LBUTTON:result:='VK_LBUTTON';  
VK_RBUTTON:result:='VK_RBUTTON';  
VK_CANCEL:result:='VK_CANCEL';  
VK_MBUTTON:result:='VK_MBUTTON';  
VK_BACK:result:='VK_BACK';  
VK_TAB:result:='VK_TAB';  
VK_CLEAR:result:='VK_CLEAR';  
VK_RETURN:result:='VK_RETURN';  
VK_SHIFT:result:='VK_SHIFT';  
VK_CONTROL:result:='VK_CONTROL';  
VK_MENU:result:='VK_MENU';  
VK_PAUSE:result:='VK_PAUSE';  
VK_CAPITAL:result:='VK_CAPITAL';  
VK_ESCAPE:result:='VK_ESCAPE';  
VK_SPACE:result:='VK_SPACE';  
VK_PRIOR:result:='VK_PRIOR';  
VK_NEXT:result:='VK_NEXT';  
VK_END:result:='VK_END';  
VK_HOME:result:='VK_HOME';  
VK_LEFT:result:='VK_LEFT';  
VK_UP:result:='VK_UP';  
VK_RIGHT:result:='VK_RIGHT';  
VK_DOWN:result:='VK_DOWN';  
VK_SELECT:result:='VK_SELECT';  
VK_PRINT:result:='VK_PRINT';  
VK_EXECUTE:result:='VK_EXECUTE';  
VK_SNAPSHOT:result:='VK_SNAPSHOT';  
VK_INSERT:result:='VK_INSERT';  
VK_DELETE:result:='VK_DELETE';  
VK_HELP:result:='VK_HELP';  
VK_LWIN:result:='VK_LWIN';  
VK_RWIN:result:='VK_RWIN';  
VK_APPS:result:='VK_APPS';  
VK_NUMPAD0:result:='VK_NUMPAD0';  
VK_NUMPAD1:result:='VK_NUMPAD1';  
VK_NUMPAD2:result:='VK_NUMPAD2';  
VK_NUMPAD3:result:='VK_NUMPAD3';  
VK_NUMPAD4:result:='VK_NUMPAD4';  
VK_NUMPAD5:result:='VK_NUMPAD5';  
VK_NUMPAD6:result:='VK_NUMPAD6';  
VK_NUMPAD7:result:='VK_NUMPAD7';  
VK_NUMPAD8:result:='VK_NUMPAD8';  
VK_NUMPAD9:result:='VK_NUMPAD9';  
VK_MULTIPLY:result:='VK_MULTIPLY';  
VK_ADD:result:='VK_ADD';  
VK_SEPARATOR:result:='VK_SEPARATOR';  
VK_SUBTRACT:result:='VK_SUBTRACT';  
VK_DECIMAL:result:='VK_DECIMAL';  
VK_DIVIDE:result:='VK_DIVIDE';  
VK_F1:result:='VK_F1';  
VK_F2:result:='VK_F2';  
VK_F3:result:='VK_F3';  
VK_F4:result:='VK_F4';  
VK_F5:result:='VK_F5';  
VK_F6:result:='VK_F6';  
VK_F7:result:='VK_F7';  
VK_F8:result:='VK_F8';  
VK_F9:result:='VK_F9';  
VK_F10:result:='VK_F10';  
VK_F11:result:='VK_F11';  
VK_F12:result:='VK_F12';  
VK_F13:result:='VK_F13';  
VK_F14:result:='VK_F14';  
VK_F15:result:='VK_F15';  
VK_F16:result:='VK_F16';  
VK_F17:result:='VK_F17';  
VK_F18:result:='VK_F18';  
VK_F19:result:='VK_F19';  
VK_F20:result:='VK_F20';  
VK_F21:result:='VK_F21';  
VK_F22:result:='VK_F22';  
VK_F23:result:='VK_F23';  
VK_F24:result:='VK_F24';  
VK_NUMLOCK:result:='VK_NUMLOCK';  
VK_SCROLL:result:='VK_SCROLL';  
VK_PROCESSKEY:result:='VK_PROCESSKEY';  
VK_CRSEL:result:='VK_CRSEL';  
VK_EXSEL:result:='VK_EXSEL';  
VK_EREOF:result:='VK_EREOF';  
VK_PLAY:result:='VK_PLAY';  
VK_ZOOM:result:='VK_ZOOM';  
VK_NONAME:result:='VK_NONAME';  
VK_PA1:result:='VK_PA1';  
VK_OEM_CLEAR:result:='VK_OEM_CLEAR';  
else  
result:=wordtostr(key);  
end;  
end;


Mit diesem Code wandle ich keys also die word variable von onkeyup/down in einen String um, manche keys funktionieren nicht, wie kann man das elagenter und besser machen ?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 08.01.05 20:05 
Du kannst theoretisch auch ein Array für einde auflösung der Strings nehmen:

ausblenden Delphi-Quelltext
1:
KeyToStr : Array [Word] = ('Text für Key 0''Text für Key1', ... ); //65536 Einträge					

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Sa 08.01.05 20:07 
kann man das nicht irgendwie direkter machen ?

um den ganzen kram überhaupt hinzuschreiben musste ich mir n prog basteln, weil es sonst so ein geschreibe gewesen wäre
(praktische anwendung von programmierkenntnissen :D)