![]() |
key press
hallo!
wie kann man in der Prozedur FormKeyPress, das so machen, dass wenn eine taste gedrückt wurde, dass man die nicht nochmal drücken kann? also bei mir steht jetzt z.B
Delphi-Quellcode:
Wenn man jetzt eine taste drückt ist sie im editfeld, wenn man die gleiche taste nochmal drückt sieht man zwar keine veränderung, aber sie wird auch "gesendet", kann man das verhindern? also ein befehl, dass man jeden buchstaben von A-Z nur einmal drücken kann???
Buchstabe:=Upcase(Key);
EdBuchstabe.Text:=Buchstabe; mfg, Sh4d0w |
Re: key press
Hi.
So müsste es gehen.
Delphi-Quellcode:
Wenn du die Menge der schon gedrückten Tasten wieder leeren willst, schreib einfach
var
schonGedrueckt : set of char; // globale Variable! procedure TForm1.Form1KeyPress(Sender: TObject; Key: char); begin if Key in schonGedrueckt then Exit; Include(schonGedrueckt, Key); EdBuchstabe.Text:=Upcase(Key); end;
Delphi-Quellcode:
schonGedrueckt := [];
|
Re: key press
geht nicht, jetzt sendet er gar nix! geht das nicht anders?
|
Re: key press
Überlege Dir die logische Aufgabe : irgendwo muß gespeichert werden, ob eine Taste gedrückt wurde. Ist das der Fall, dann muß es eben markiert werden. Als erstes fällt mir dazu folgendes ein : ARRAY. Zweidimensional, nämlich der Tastenwert und ein boolscher Wert "gedrueckt" J/N. 8)
|
Re: key press
ich hab erst seit kurzem angefangen, kannst du das vllt. näher erklären mit dem array??
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz