TEdit



  • Hallo,

    ich habe ein TEdit auf meinem Formular und möchte nun eine Kommazahl
    eingeben. Nachdem ich Edit anklicke soll das Feld gelöscht werden
    und der Text " , " ausgegeben werden, alles kein Problem.

    Wenn ich nun Zahlen eingebe soll an der Position des Kommas die Zahl erst
    nach dem Komma erscheinen.

    Ich habe mir bereits die Methoden der Klasse TEdit angeschaut aber
    nichts brauchbares gefunden.

    Gruß
    Johann



  • Also abgesehen davon, dass die Methoden von TEdit dir bestimmt helfen(Oder ist das schon eher Stringmanipulierung, was du willst?) verstehe ich noch nicht so ganz was du eigentlich willst.

    hermes schrieb:

    Nachdem ich Edit anklicke

    Soll das jetzt DAS Editfeld sein oder ein Button????

    hermes schrieb:

    Wenn ich nun Zahlen eingebe

    Wo? Da wo nur "," steht? Das Caret wird doch beim Anklicken des Editfeldes an das Ende des Textes springen. Und wenn der Text "," ist... Beschreib doch nochmal genauer, was du willst!



  • Ich möchte in das Editfeld eine Kommazahl eingeben.

    Also im Editfeld steht z.B. 28.50, nun klicke ich dieses Editfeld an die
    und es soll der Text " . " erscheinen.
    Der Cursor soll nun am Anfang des Editfeldes stehen.
    Nun mache ich meine Eingabe z.B. 1 "1 . " nun 2 "12. " nun 3, die 3 soll
    aber nicht den Punkt überschreiben sondern dahinter erscheinen "12.3 "
    nun gebe ich noch eine 4 ein "12.34", das ganze kann ich mit scanf in
    eine Float Variable schreiben. Der Punkt der nicht gelöscht werden soll
    verdeutlicht das es sich bei der Eingabe um eine Kommazahl handelt.



  • Vielleicht solltest du dir überlegen anstatt eines TEdits ein TMaskEdit zu nehmen und dann zur Laufzeit anhand der eingegebenen Zahl(zb. Ziffern vor bzw. nach dem Komma)eine Mask einzusetzten.



  • Danke für den Hinweis, mit MaskEdit erspare ich mir auch die Abfrage ob
    das eingegebene Zeichen gültig ist.

    Gruß
    Johann 🙂


Anmelden zum Antworten