![]() |
Eingabe von Buchstaben in Editfelder verhindern
Hi!
Wir brauchen dringend Hilfe und sind 2 absolute Anfängerinnen :coder2: , wir haben bereits die Eingabe von bestimmten Werten ausgeschlossen, allerdings wissen wir nicht, wie man die Eingabe von Buchstaben in die 3 Editfelder verhindert.
Delphi-Quellcode:
--> dann folgt unsere Rechnung
procedure TForm1.ButtonBerechnenClick(Sender: TObject);
var a: Integer; begin // Ungültige Eingaben werden ausgeschlossen if (editpalettenlast.text='')or(strtoint(editpalettenlast.text)>1000) then begin showmessage('Ungültiger Wert für die Palettenlast!'); end else if (editlagerhoehe.text='')or(strtoint(editlagerhoehe.text)>15) or (editlagerhoehe.text='#13') then begin showmessage('Ungültiger Wert für die Lagerhoehe !'); end else if (editregallaenge.text='')or(strtoint(editregallaenge.text)>75)or (editregallaenge.text='#13') then begin showmessage('Ungültiger Wert für die Lagerlänge !'); end else begin wir würden den Befehl gerne direkt mit in den bereits vorhandenen Text einbauen. Kann uns da irgendjemand helfen???? LG [edit=Sharky]Delphi-Tags eingefügt. Mfg, Sharky[/edit] |
Re: Eingabe von Buchstaben in Editfelder verhindern
ganz einfach:
![]()
Delphi-Quellcode:
Der Code ist auch viel kürzer und du verhinderst somit von Anfang an, das dort ein Buchstabe eingeben werden kann!
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin If not(key in [#48..#57,#8]) then key := #0; end; // #8 ist Backspace |
Re: Eingabe von Buchstaben in Editfelder verhindern
überprüf trotzdem nochma den inhalt, weil man noch per copy&paste buchstaben reinbekommt
|
Re: Eingabe von Buchstaben in Editfelder verhindern
@jokerface - ...Oder man weist dem Edit ein leeres Popup-Menü zu =)
|
Re: Eingabe von Buchstaben in Editfelder verhindern
Zitat:
aber such doch mal im forum, da hab ich schon eine passende komponente offeriert, die aber noch in ein paar stellen fehlerhaft ist ;) aber dort kannst dir anhaltspunkte einholen! |
Re: Eingabe von Buchstaben in Editfelder verhindern
Zitat:
;) ;) ;) PS: ... und die taste Strg ja auch. |
Re: Eingabe von Buchstaben in Editfelder verhindern
Also die Überprüfung würde ich wie folgt schreiben (kürzer und knackiger und fehlertoleranter).
StrToIntDef( Str, Value ) macht eigentlich das gleiche wie StrToInt( Str ), nur dass bei StrToIntDef, wenn in Str keine brauchbare Ziffern stehen (also z.B. Buchstaben), dann wird als Ergebnis Value ausgegeben.
Delphi-Quellcode:
cu
procedure TForm1.ButtonBerechnenClick(Sender: TObject);
var a : Integer; begin // Ungültige Eingaben werden ausgeschlossen if StrToIntDef( EditPalettenLast.Text, 1001 ) > 1000 ) then ShowMessage( 'Ungültiger Wert für die Palettenlast!' ) else if StrToIntDef( EditLagerHoehe.Text, 16 ) > 15 then ShowMessage( 'Ungültiger Wert für die Lagerhoehe !' ) else if StrToIntDef( EditRegalLaenge.Text, 76 ) > 75 then ShowMessage( 'Ungültiger Wert für die Lagerlänge !' ) else begin --> dann folgt unsere Rechnung Oliver |
Re: Eingabe von Buchstaben in Editfelder verhindern
Dankeschön!! Das funktioniert jetzt schonmal :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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-2025 by Thomas Breitkreuz