[ dejov @ 28.09.2004. 22:45 ] @
ako na dogadjaj npr edit boxa onkeypress zelim da se nesto desi pritiskom na <enter>, tada pisem
Code:
if key=#13 then...

a kako se pise za tastere F1,F2,F3,strelice u levo,desno,gore, dole...
[ filjo @ 28.09.2004. 23:12 ] @
Delphi->Help->Delphi Help->Index->"key codes"
[ dejov @ 28.09.2004. 23:47 ] @
da, nasao sam ih sve tamo:
Code:
Virtual Key Code    Corresponding key

Key_Escape    Escape key
Key_Tab    Tab key
Key_Backtab, Key_BackTab    Backtab key
Key_Backspace, Key_BackSpace    Backspace key
Key_Return    Return key
Key_Enter    Enter key
Key_Insert    Insert key
Key_Delete    Delete key
Key_Pause    Pause key


Naveo sam ih deo, ali sta da napisem
Code:
 if key=key_escape then ...


probao sa ali ne radi. Kako se pise?
[ filjo @ 29.09.2004. 00:14 ] @
Tebi trebaju ovi drugi kodovi otkucaj "virtual key codes". Koristis ih sa vk_escape..., itd.
[ Milos D @ 29.09.2004. 08:38 ] @
U KeyPress eventu dobijas char parametar i ne mozes da ga poredis sa VK_ESCAPE (Delphi 5) ili KEY_ESCAPE (Delphi 7) jer su to brojevi. Escape je ASCII #27 pa mozes da pitas if key = #27. Mislim da ces dobiti KeyPress event za escape, ali za F1, F2, kursorske i mnoge druge tastere dobijas samo KeyDown i KeyUp. Postavi breakpoint na prvi red KeyPress metode pa ces videti da li se poziva event za odredjeni taster. (Onda postavi mouse pointer na promenljivu "key" pa ces videti i ASCII kod tastera.)
[ slavica2000 @ 29.09.2004. 11:11 ] @
Za F1 if key=#112 then...
Za F2 if key=#113 then...
[ bancika @ 29.09.2004. 19:40 ] @
if vk_F1, vk_F2, sto je mozda zgodnije, jer ako stavljas samo #xxx onda ne znas sta znaci :)
[ mrkvojed @ 02.04.2005. 10:50 ] @
- Escape se moze uloviti kao Char , isto kao slova , pomocu
Form eventa OnKeyPress :


if Key = #27 then ...


- Kodove tastera (zasto je Esc = bas 27) mozes dobiti ovako :

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Label1.caption := IntToStr(ord(Key));
end;


- Primetices da kad pritisnes F2 ne dobijes nista.


- F2 i sl. se "fataju" pomocu OnKeyDown eventa i virtuelnog koda.
Tada je Key tipa Word :


if (Key = VK_F2) then ...


I ja sam pocetnik, i mene je ovo iritiralo - da ne kazem ...
Ali ovo kod mene radi.

Moze neko iskusan da kaze da li je portabilno, sta je najbolje ...

Pozz svima
[ peromalosutra @ 09.04.2005. 10:49 ] @
Najlakse je da napravis program koji ce ti sam racunati kodove pojedinih tastera kao sto je to i mrkvojed predloyio, samo moj program malo drugaciji:

program znak;
uses crt;
var taster:char;
sifra:integer;
begin
repeat
taster:=readkey;
sifra:=ord(taster);
writeln (taster,'=',sifra);
until sifra=27;
end.

:)
[ Srki_82 @ 10.04.2005. 02:03 ] @
Ovaj... peromalosutra Delphi malo drugacije radi sa virtualnim kodivima karaktera tako da to bas i nece pomoci... tvoj programcic ce recimo kada pritisnes strelicu na gore da vrati dva karaktera, prvi $00, a drugi ne znam tacno... sta ce se desiti kad pritisnes win taster ili popup menu taster?
[ engineer @ 10.04.2005. 09:23 ] @
Erm, u Delphi helpu kaže...
Code:
VK_LBUTTON    Left mouse button
VK_RBUTTON    Right mouse button
VK_CANCEL     Control+Break
VK_MBUTTON    Middle mouse button
VK_BACK       Backspace key
VK_TAB        Tab key
VK_CLEAR      Clear key
VK_RETURN     Enter key
VK_SHIFT      Shift key
VK_CONTROL    Ctrl key
VK_MENU       Alt key
VK_PAUSE      Pause key
VK_CAPITAL    Caps Lock key
VK_KANA       Used with IME
VK_HANGUL     Used with IME
VK_JUNJA      Used with IME
VK_FINAL      Used with IME
VK_HANJA      Used with IME
VK_KANJI      Used with IME
VK_CONVERT    Used with IME
VK_NONCONVERT Used with IME
VK_ACCEPT     Used with IME
VK_MODECHANGE Used with IME
VK_ESCAPE     Esc key
VK_SPACE      Space bar
VK_PRIOR      Page Up key
VK_NEXT       Page Down key
VK_END        End key
VK_HOME       Home key
VK_LEFT       Left Arrow key
VK_UP         Up Arrow key
VK_RIGHT      Right Arrow key
VK_DOWN       Down Arrow key
VK_SELECT     Select key
VK_PRINT      Print key (keyboard-specific)
VK_EXECUTE    Execute key
VK_SNAPSHOT   Print Screen key
VK_INSERT     Insert key
VK_DELETE     Delete key
VK_HELP       Help key
VK_LWIN       Left Windows key (Microsoft keyboard)
VK_RWIN       Right Windows key (Microsoft keyboard)
VK_APPS       Applications key (Microsoft keyboard)
VK_NUMPAD0    0 key (numeric keypad)
VK_NUMPAD1    1 key (numeric keypad)
VK_NUMPAD2    2 key (numeric keypad)
VK_NUMPAD3    3 key (numeric keypad)
VK_NUMPAD4    4 key (numeric keypad)
VK_NUMPAD5    5 key (numeric keypad)
VK_NUMPAD6    6 key (numeric keypad)
VK_NUMPAD7    7 key (numeric keypad)
VK_NUMPAD8    8 key (numeric keypad)
VK_NUMPAD9    9 key (numeric keypad)
VK_MULTIPLY   Multiply key (numeric keypad)
VK_ADD        Add key (numeric keypad)
VK_SEPARATOR  Separator key (numeric keypad)
VK_SUBTRACT   Subtract key (numeric keypad)
VK_DECIMAL    Decimal key (numeric keypad)
VK_DIVIDE     Divide key (numeric keypad)
VK_F1         F1 key
VK_F2         F2 key
VK_F3         F3 key
VK_F4         F4 key
VK_F5         F5 key
VK_F6         F6 key
VK_F7         F7 key
VK_F8         F8 key
VK_F9         F9 key
VK_F10        F10 key
VK_F11        F11 key
VK_F12        F12 key
VK_F13        F13 key
VK_F14        F14 key
VK_F15        F15 key
VK_F16        F16 key
VK_F17        F17 key
VK_F18        F18 key
VK_F19        F19 key
VK_F20        F20 key
VK_F21        F21 key
VK_F22        F22 key
VK_F23        F23 key
VK_F24        F24 key
VK_NUMLOCK    Num Lock key
VK_SCROLL     Scroll Lock key
VK_LSHIFT     Left Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_RSHIFT     Right Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_LCONTROL   Left Ctrl key (only used with GetAsyncKeyState and GetKeyState)
VK_RCONTROL   Right Ctrl key (only used with GetAsyncKeyState and GetKeyState)
VK_LMENU      Left Alt key (only used with GetAsyncKeyState and GetKeyState)
VK_RMENU      Right Alt key (only used with GetAsyncKeyState and GetKeyState)
VK_PROCESSKEY Process key
VK_ATTN       Attn key
VK_CRSEL      CrSel key
VK_EXSEL      ExSel key
VK_EREOF      Erase EOF key
VK_PLAY       Play key
VK_ZOOM       Zoom key
VK_NONAME     Reserved for future use
VK_PA1        PA1 key
VK_OEM_CLEAR  Clear key
[ davornik @ 21.08.2009. 13:18 ] @
probaj ovako nesto

procedure TForm1.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['A'..'z']) or (Length(ComboBox3.Text) > 5) and (Ord(Key) <> VK_BACK) then Key:=#0;
end;