Entwickler-Ecke
Sonstiges (Delphi) - Tastendruck
Delete - Sa 25.01.03 16:01
Titel: Tastendruck
Hey,
ich weiß ist ne doofe Frage, aber ich will, dass auf ein Tastendruck was passiert. Wie geht's? Also wenn man r drückt, soll sich zum Beispiel die Caption von nem Button verändern.
Ich hoffe, dass ihr mir schnell helfen könnt :)
nGerrit
Christian S. - Sa 25.01.03 16:30
Schau Dir mal das KeyPress-Ereignis und die KeyPreview-Eigenschaft einer Form an.
Delete - Sa 25.01.03 18:05
Hmm Tut mir leid. Kann ich nicht wirklich viel mit anfangen *G*
Kann mir einer n beispiel quellcode posten?
nGerrit
Christian S. - Sa 25.01.03 18:30
Na gut, aber nur ausnahmsweise:
Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = 'r' then Button1.Caption:='geändert'; end; |
Damit wird jedes Mal, wenn eine auf der Form eine Taste gedrückt wird, überprüft, ob es die Taste "r" war. Damit das aber auch geprüft wird, wenn sich der Benutzer gerade in einem Editfeld oder so befindet, musst Du einstellen, das jedes Tastensignal erstmal an die Form gesendet wird. Also: Form1.KeyPreview:=true. Oder ganz einfach im Object Inspector einstellen.
MfG,
Peter
Delete - So 26.01.03 20:31
Hmm.
Tut mir leid, aber klappt nicht *g*
| Zitat: |
[Error] Unit1.pas(31): Type of expression must be BOOLEAN
[Error] Unit1.pas(39): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' |
Woran liegts?
nGerrit
hansa - So 26.01.03 21:17
Hi,
als Denkanstoß (auch ausnahmsweise) :
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char); begin if key = 'r' then Button1.Caption:='Caption geändert auf r' else Button1.Caption:='Caption geändert auf '+key; end; |
Desweiteren vermute ich, daß in Deinem Programm BEGIN und END bzw. die ' falsch gesetzt sind :!:
Gruß
Hansa
Christian S. - So 26.01.03 21:19
Im Allgemeinen ist es immer ratsam, nicht nur die Fehlermeldung, sondern auch den Quelltext zu posten, auf den sich die Fehlermeldung bezieht.
hansa - So 26.01.03 21:24
... Dann wäre wahrscheinlich schon alles klar.
Delete - Mo 27.01.03 16:08
| Peter Lustig hat folgendes geschrieben: |
| Im Allgemeinen ist es immer ratsam, nicht nur die Fehlermeldung, sondern auch den Quelltext zu posten, auf den sich die Fehlermeldung bezieht. |
Ich hab genau den Quelltext genommen, den du mir gepostet hattest... Deswegen hab ich den nicht nochmal gepostet.
Naja. Danke erstmal
Matthias - Mo 27.01.03 17:40
Hy,
ich kann nur empfehlen, die Beispiele auch mal genau zu betrachten. Im ersten Bsp. wird das OnKeyDown Ereignis verwendet. Man erhält hier den virtuellen Key (Typ Word). Verglichen wird mit eine Char. Und schon knallts.
Im zweiten Bsp. wird das OnKeyPress Ereignis verwendet. Hier ist Key vom Typ char und alles klappt wunderbar.
Machmal frage ich mich wozu es F1 gibt. Hier steht im allgemeinen die Lösung des Problems.
ciao
Matthias
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!