Wenn du das Edit1.Tag nicht schon für was anderes brauchst (sonst halt eine extra Variable deklarieren):
Delphi-Quellcode:
var
s1, s2, s3: string;
l: Integer;
S: string;
begin
if Edit1.Tag > 0 then Exit;
Edit1.Tag := Edit1.Tag + 1;
try
S := Edit1.Text;
l := Pos(',', S);
if l > 0 then
Delete(S, l, 1);
l := length(S);
if l > 2 then
Insert(',', S, l - 1)
else
Exit;
Edit1.Text := S;
Edit1.SelStart := length(S);
finally
Edit1.Tag := Edit1.Tag - 1;
end;
end;