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