Danke für den Tipp!
Ich hab folgendes probiert, und bin leider auch daran gescheitert
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.onlyallownumbers(Sender: TObject; var Key: Char); begin if ( not (key in [#48..#57])) then key := #0; if TestTSpinEdit.Value = null then TestTSpinEdit.Value := 0; end; |
Damit will ich erreichen, dass das Feld direkt beim Tastendruck überprüft wird, ob nix drin ist und im Fall der Fälle korrigiert wird. Ich habe das zweit if Konstrukt auch beim OnChange Event des Widgets ausprobiert, wo es leider auch nicht funktioniert hat, und auch in der Subroutine, wo die Werte berechnet werden. Laut der Onlinehilfe von Delphi bedeuted null quasi nix, deshalb denke ich, dass das der richtige Weg wäre.
Warum ich das so haben will hat folgenden Grund: Ich bin dabei ein Programm zu basteln, das direkt bei der Eingabe die Caption von einem TLabel ändert (mit vorheriger Berechnungen der Ausgabe...).
Zuerst hatte ich ein Edit genommen, und auf den String '' geprüft, und den dann mit 0 "ausgebessert" (was auch funktioniert hat), allerdings find ich TSpinEdit einfach komfortabler.
Was mich dennoch an der ganzen Sache stört ist, dass anscheinend die Entfernen-Taste einen von mir ungewollten Sonderstatus besitzt, und das ist eigentlich der Punkt auf den ich hinaus will.
