| Autor |
Beitrag |
nGerrit
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.01.03 16:01
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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 25.01.03 16:30
Schau Dir mal das KeyPress-Ereignis und die KeyPreview-Eigenschaft einer Form an.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
nGerrit
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
nGerrit
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: 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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: So 26.01.03 21:24
... Dann wäre wahrscheinlich schon alles klar.
|
|
nGerrit
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      
Beiträge: 121
|
Verfasst: 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
|
|