Announcement

Collapse
No announcement yet.

EditMask

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EditMask

    Hallo NG,

    hat jemand eine Idee wie ich EditMask Währungsfähig mache?

    Ich würde auch ein normales Edit nehmen, aber wie kann ich überprüfen ob es
    sich um einen Preis handelt?

    Vielen Dank, schonmal im voraus.
    Michael

  • #2
    Hi Michael,<p>
    ich würde einfach ein TEdit nehmen.<br>
    Ich gehe mal davon aus, dass das Währungssymbol nicht von Interesse ist, somit kann die Eingabe (Währung) nur aus Zahlen und evtl. einem Punkt/Komma bestehen.<p>
    Also fängst du einfach das <b>OnKeyPress</b>-Event ab:<p>
    <code>
    <b>procedure</b> TForm1.OnKeyPress(Sender: TObject; <b>var</b> Key: Char);<br>
    <b>begin</b><br>
    &nbsp;&nbsp;<b>if not</b> (Key <b>in</b> [#8, #44, #48..#57]) <b>then</b> := #0;<br>
    <b>end;</b><br>
    </code><p>
    Somit hast du erreicht, dass nur die Backspacetaste, Kommata und Zahlen von 0..9 angenommen werden.<br>
    Jetzt musst du nur noch darauf achten, dass keine zwei Kommata eingegeben werden können und erzwingen, dass der Wert immer ein bestimmtes Format hat (z.B. 0,99 bei Eingabe ',99').<br>
    Das kannst du etwa so machen:<p>
    <code>
    <b>procedure</b> TForm1.OnExit(Sender: TObject);<br>
    <b>begin</b><br>
    &nbsp;&nbsp;Label1.Caption := FloatToStr(StrToCurr(Edit1.Text));<br>
    <b>end;</b><br>
    </code><p>
    Ich hoffe ich konnte dir helfen.<p>
    Gruß,<br>
    Marku

    Comment

    Working...
    X