Entwickler-Ecke

Sonstiges (Delphi) - Tastaturbelegungen


hibbert - Di 03.09.02 20:18
Titel: Tastaturbelegungen
hallo,
gibt es irgendwo eine komplette auflistung der tastatur belegung? eine weiß ich schon : #13 (ha, das ist die enter taste !)
also, gibt es irgendwo solcheine auflistung?
DANKE
mfg hibbert


ShoAn - Di 03.09.02 20:38

http://delphi.about.com/library/blvkc.htm


Eberhard - Mi 04.09.02 09:17
Titel: Tastaturbelegung
Weil ich auch ständig dieses Problem habe, habe ich ein kleines Programm erstellt.
Du brauchst eine Edit-Komponente zur Eingabe der Taste und zwei Label-Komponenten zur Anzeige. Bei der Edit-Komponente gibst du unter OnKeyDown (im Objektinspektor-Eigenschaften) die Anweisung ein
Label1.caption:=IntToStr(key);
Bei OnKeyPress gibst du ein
Label2.caption:=IntToStr(Ord(key)); {das ist der ANSII-Code}
Damit werden die Codes angezeigt.
Mit weiteren Labels läßt sich das noch schön beschriften.
Wenn du das Zeichen als Zahl brauchst, solltest du den Key-Press-Code nehmen, der Key Down-Code ist mehr für die Steuerung der Programmabläufe geeignet (z.B. F5 startet den Druckvorgang).
viel Spaß


hibbert - Mi 04.09.02 14:16

danke schön zur 1. und 2. antwort.
zur 1. diese belegungen funzen bei mir leider nicht ! :cry:
zur 2. danke für dieses beispiel, aber das ist es leider nicht, wass ich möchte !
aber trozdem DANKE

mfg hibbert


Tino - Mi 04.09.02 15:35

hibbert hat folgendes geschrieben:
zur 1. diese belegungen funzen bei mir leider nicht !

Was funktioniert denn nicht? Gibt es eine Fehlermeldung?

Gruß
TINO


hibbert - Mi 04.09.02 17:48

nein, es gibt keine fehlermeldung !vielleicht mache ich es ja auch nur falsch ! (ich benutze delphi 6)
ich öffne Delphi und beginne mit der neuen form zu arbeiten.
ich erstelle über events > onkeydown (doppelklick)
der quelltext wird mir angezeigt. nun gebe ich ein:

Quelltext
1:
2:
if key= #13 then
showmessage('Das ist die Taste '+#13);

so das funktioniert auch, aber wenn ich von der liste eine andere zahl eingebe z.B. 30 (nach der liste ist das die taste 1) und die anwendung starte, und die taste 1 drücke passiert nichts. entweder mein code funzt nicht oder es sind die falschen bezeichnungen !
ich hoffe, dass ich das problem deutlich gemacht habe !
DANKE !
mfg hibbert


ShoAn - Mi 04.09.02 22:08

also ich würd sagen, dass nach der liste der wert 30 die "0"-taste ist und nicht die "1"-taste.
es kann aber auch sein das ja in der liste hexzahlen sind und nicht dezimalzahlen!!!