Einzelnen Beitrag anzeigen

ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#1

Komma automatisch setzen bei Geldbetrag im Edit

  Alt 24. Aug 2011, 15:38
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 ...
  Mit Zitat antworten Zitat