![]() |
Real-Edit, in dem man nur gültige Eintragungen machen kann
Da die Frage, wie man in Edit nur Zahlen zulassen kann, recht häufig auftaucht und ich einen passenden Code mal für ein Projekt geschrieben hab, veröffentlich ich den mal hier:
Delphi-Quellcode:
Leider kann man sich nicht immer darauf verlassen dass eine strtofloat funktioniert, da
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var string1: string; begin string1:=edit1.text; //allgemeine Sperrung von allen Zeichen ausser //backspace, (-) , (,) und Zahlen if not (key in[#8,#44,#45,#48..#57]) then key:=#0; // das Minus darf nur am Anfang benutzt werden if (edit1.selstart <> 0) and( key=#45) then key:=#0; // nur ein Komma if (pos(#44,string1)>0) and (key=#44) then key:=#0; // kein Komma am Anfang if (edit1.SelStart=0) and (key= #44) then key:=#0; // Kein -,xxx if (edit1.selstart=1) and (string1[1]='-') and (key=#44) then key:=#0; end; - auch nur ein Komma oder - eingegeben werden könnte - Copy & Paste nicht abgefangen werden kann. Hier könnte man vielleicht Buchstaben rausnehmen, aber bei mehreren Kommata kann man nichts mehr machen. [edit=Matze]Code formatiert. Mfg, Matze[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 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