andreas_gierisch
Erfahrenes Mitglied
Hallo, ich möchte bei der Eingabe einer Gleitkommazahl über ein TEdit-Feld diese überwachen. Genaugenommen möchte ich, wenn der Benutzer eine Zahl mit "." eingibt, diese umwandeln in eine Zahl mit ",".
Ich habe dies bis jetzt mit einer OnChange - Methode des Edit-Feldes gelöst:
Kennt jemand vielleicht eine elegantere Lösung?
Ich habe dies bis jetzt mit einer OnChange - Methode des Edit-Feldes gelöst:
Code:
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
int length = Edit1->GetTextLen(); //Länge des eingebenen Strings
Edit1->SelStart = length -1; */Markieren des zuletzt eingegeben
Edit1->SelLength = 1; Zeichens im Edit-Feld*/
AnsiString buffer = Edit1->SelText; //Speichern des Zeichens
if(buffer == ".") //Überprüfen des Zeichens
{
buffer = ","; //eventuell Zeichen ändern
Edit1->SelStart = length - 1; /*Erneutes Markieren des
Edit1->SelLength = 1; Zeichens im Edit-Feld*/
Edit1->SelText = buffer; //Zeichen gegebenenfalls ersetzen
}
length = Edit1->GetTextLen(); /*Cursor wieder ans Ende
Edit1->SelStart = length; der Eingabe setzen*/
}