Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#35

Re: Nur Integer Werte im Edit Fenster zulassen

  Alt 22. Aug 2006, 12:23
Zitat von Cöster:
Warum nicht? Sicherlich ist der Code noch nicht perfekt (man sollte vor's Try noch If not (Edit1.Text = '') then setzen, aber er funzt. Am Anfang sollte das Edit-Feld natürlich leer sein. Dann kann man was eingeben. Es kann zu keinem Zeitpunkt etwas im Edit-Feld stehen, was kein Integer-Wert ist (wie es ja auch verlangt wurde).
Ok, wir fassen nochmal zusammen warum der Code nicht gut ist:

1. ein einfügen von Text erfolgt immernoch und würde bei dir eine Zuweisung mit undefinierten Daten ins edit bewirken (siehe Punkt 2)
2. Wenn StrToInt() einen Fehler meldet durch eine Exception, dann wird deine Variable EdText nicht initialisiert und du weist im Except-Block dem Edit einen undefinierten bzw. alten Wert zu.
3. Durch das Change Event wird es bei vielen Kombinationen die während der Eingabe auftreten (aber im Endeffekt gültig sind) zu Fehlern führen:
3a) führende Vorzeichen wie + und -
3b) Exponenten E
4. Welchen Sinn macht es bei einer fehlerhaften Eingabe den kompletten Inhalt des Edits zurück zu setzen? Das würde z.B. eine Eingabe verhindern bzw. unmöglich machen, welche während des Eingabevorgangs ungültig ist, aber im Zusammenhang mit der kompletten Eingabe wiederrum gültig.
  Mit Zitat antworten Zitat