Hallo,
ich möchte gerne in ein Edit-Feld einen Geldbetrag eingeben. Das Komma als Trennung zwischen Euro und Cent soll automatisch erscheinen. Ich gebe also z. B. folgendes ein und im Edit soll dann folgendes stehen:
bei
1 ---> 1
12 ---> 12
123 ---> 1,23
1234 ---> 12,34
usw.
Wenn ich es über das Change-Ereignis versuche, erhalte ich nur Mist, da durch das Ändern des Edit.Text in der Ereignisroutine das Change-Ereignis scheinbar wieder aufgerufen wird.
Delphi-Quellcode:
procedure TForm2.Edit1Change(Sender: TObject);
var s1,s2,s3:String;
l:Integer;
begin
l := length(Edit1.Text);
if l > 3 then
begin
s1 := copy(Edit1.Text,1,l-4);
s2 := copy(Edit1.Text,l-3,1);
s3 := copy(Edit1.Text,l-2,2);
Edit1.Text:= s1 + s2 + ',' + s3;
Edit1.SelStart := l;
end;
if l = 3 then
begin
s1 := copy(Edit1.Text,1,l-2);
s2 := copy(Edit1.Text,l-1,2);
Edit1.Text:= s1 + ',' + s2;
Edit1.SelStart := l;
end;
end;
Es gibt keine dummen Fragen ...