![]() |
Edit : string,char und Tasten
Hallo Leute,
habe mit Edit Feld so meine Probleme. Möchte das der User in den Editfeldern des Forms nur Zahlen eingeben kann. Nach eingabe ins Editfeld soll er dirkt ins nächste springen. Es sind nur Zahlen von 0-10 möglich, bei drücken des + vom Numpad soll eine 10 ins Editfeld. Hier schon mal ein bischen code:
Delphi-Quellcode:
Das mit der Zahlenprüfung funktioniert,
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not (Key in ['0'..'9',#8,#43]) then //auf Zahlen prüfen Key := #0; if Edit1.Text = '+' Then Edit1.Text := '10'; //bei eingabe von + eine 10 einfügen PostMessage(Handle, WM_NEXTDLGCTL, 0, 0); //automatisch nächstes Feld end; automatisch das nächste Feld auch, aber das mit + und 10 nicht. hoffe ihr könnt helfen! [edit=Christian Seehase]Delphi-Tags korrigiert. Mfg, Christian Seehase[/edit] |
Re: Edit : string,char und Tasten
Ich würde das so umstellen:
Delphi-Quellcode:
Evtl. musst du das PostMessage noch aus dem Block rausziehen, wenn du das immer haben willst.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key='+' then Edit1.Text := '10' else begin if not (Key in ['0'..'9',#8,#43]) then //auf Zahlen prüfen Key := #0; PostMessage(Handle, WM_NEXTDLGCTL, 0, 0); //automatisch nächstes Feld end; end; |
Re: Edit : string,char und Tasten
Hallo,
er schreibt so ins Edit +10 und springt nicht mehr ins nächste Feld. |
Re: Edit : string,char und Tasten
Zitat:
Zitat:
|
Re: Edit : string,char und Tasten
Hallo,
das Plus Zeichen muss nach dem ersten Test vernichtet und sollte aus dem zweiten Test entfernt werden. Hier mein Vorschlag:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.EditKeyPress(Sender: TObject; var Key: Char);
begin with Sender as TEdit do begin case Key of '0'..'9': Text := Key; '+': Text := '10'; else Text := ''; end; Key := #0; if Text = '' then Exit; end; PostMessage(Handle, WM_NEXTDLGCTL, 0, 0); end; |
Re: Edit : string,char und Tasten
Herzlichen Dank marabu und an allen,
läuft einewandfrei. :-D Guten Rutsch an alle !!!!!!!!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 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