![]() |
Re: Edit Problem
Hallo,
ich möchte nur zu DaddyHs Beitrag hinzufügen, dass eine Prüfung auch im OnExit stattfinden kann. Persönlich empfinde ich dass für den User manchmal als angenehmer, wenn nicht wegen eines Vertippens gleich eine Fehlermeldung kommt. Einfaches Beispiel ausgehend davon, dass Edit.Maxlength gesetzt wurde. Habe den Code hier geschrieben und hoffe dass er keine Fehler enthält
Delphi-Quellcode:
Schöner wäre es natürlich allgemeingültig für alle Edits das Edit zu ersetzen durch 'with sender as TEdit do' Habe das aber der einfachheit halber hier weggelassen
procedure EditExit(Sender: TObject);
var i: integer; s: string; begin Try Edit.Text := IntToStr(StrToInt(Edit.Text)); Except // Hier kann die Fehlermeldung rein und eventuell das Setzen eines gültigen Standardtextes z.B: Edit.Text := '000001'; End; if Length(Edit.Text) < Edit.Maxlength then Begin // führende Nullen schreiben s:=''; for i:= 1 to Edit.MaxLength - length(Edit.Text) do s:=s+'0'; Edit.Text := s + Edit.Text ; End; end; |
Re: Edit Problem
Wenn man diese Version verwenden möchte, würde ich lieber TryStrToInt verwenden, als mutwillig Exceptions zuzulassen.
Delphi-Quellcode:
Wobei man bei den StrToInt-Dingern beachten muss, dass z.B. '$A' akzeptiert wird.
var i : Integer;
begin if not tryStrToInt(Edit1.Text, i) then begin showMessage('Zahlen eingeben'); end; end; Daher würde ich doch die einzelnen Zeichen prüfen, wie oben schon vorgeschlagen, oder eine Komponenten verwenden, die nur die Eingaben aktzeptiert, die erlaubt sind (z.B. TMaskEdit). Gruß, Jens |
Re: Edit Problem
Hallo,
kannte ich noch gar nicht! Ich lerne nie aus :-) Danke! Hendrik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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-2025 by Thomas Breitkreuz