Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Probleme mit Key bei KeyDown


Nano-Ware - So 20.03.11 20:28
Titel: Probleme mit Key bei KeyDown
Hey,


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure Tfrm_monitor.edit_ports_KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

  if Not ((Key in ['0'..'9']) Or (Key = VK_CLEAR)) then Key := #0;

end;


Wegen dem "Key = VK_CLEAR" sagt er mir, dass das nicht geht inkompatible Typen aber warum?


ALF - So 20.03.11 20:51

VK_ sind virtuelle Tastencode= Word. AscII is char= Byte.
Du must die Char mit ord setzen also ord('1') zb.
So müsste es gehen.

ALf


bummi - So 20.03.11 21:07

Zeichengebende Tasten müssen in OnKeyPress unterdrückt werden, dort Key gegf. auf #0 setzen

Nicht Zeichengebende Tasten in OnKeyDown ....

In Deinem Beispiel macht nicht VK_Clear den Ärgern sondern Key in ['0'..'9']
wegen var Key: Word;