Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - MaskEdit


Luncustaf - Mo 02.06.03 16:17
Titel: MaskEdit
Hi,

wie kann ich die mask eines MaskEdits so einstellen das nur zahlen zwischen 0 und 12 eingegeben werden können?


gr€€tz


Terra23 - Mo 02.06.03 17:47

Warum machst du nicht im OnKeyPress-Ereignis folgendes:


Delphi-Quelltext
1:
2:
If Not (Key In [0..9])
Then Key:='0;


Dieser Code sorgt doch zumindest mal dafür, daß nur Zahlen eingegeben werden können. Dann setzt du im OI die Eigenschaft MaxLength auf 2, so daß nur zwei Zahlen in deinem Feld sein können. Das hilft uns doch auch schon mal weiter. Im Hintergrund könntest du einen Timer laufen lassen, der einen kurzen Intervall hat (meinetwegen einen Intervall von 10). Der Timer überprüft wie folgt:


Delphi-Quelltext
1:
If (StrToInt(MaskEdit1.Text)>12) And (MaskEdit1.Text<>'') Then MaskEdit1.Text:='12';                    


Durch die Key-Abfrage, kriegst du hier auch keine Fehlermeldung, weil ja nur Zahlen im Feld sind und es nicht leer ist.

So hast du dein Problem gelöst, denke ich. Ich hab's nicht getestet, aber so aus dem Kopf heraus müßte es gehen, aber vielleicht findet sich noch jemand, der dir das mit Hilfe der Maske lösen kann.