Hallo marabu,
würdest Du bitte prüfen, was ich falsch mache:
Delphi-Quellcode:
implementation
...
function Translate(const s, sOld, sNew: String): String;
var
i, iPos, iLen: integer;
begin
SetLength(Result, Length(s));
Result := s;
iLen := 0;
for i := 1 to Length(s) do
begin
iPos := Pos(s[i], sOld);
if iPos > Length(sNew) then
Continue;
Inc(iLen);
if iPos > 0
then Result [iLen] := sNew[iPos]
else Result[iLen] := s[i];
end;
SetLength(Result, iLen);
end;
procedure TDemoForm.EditEKpreisExit(Sender: TObject);
// keine DBGridAnzeige, Code funktioniert auch ohne var e: Extended
var
e: Extended;
begin
e := StrToFloat(Translate('123,456.78', '.,', DecimalSeparator));
end;
oder
procedure TDemoForm.EditEKpreisExit(Sender: TObject);
// DBGridanzeige, nur mit ',' sonst Fehlermeldung
begin
QueryArtikel.FieldByName('EKpreis').AsFloat :=
StrToFloat(EditEKpreis.Text);
end;
Hab's ohne Erfolg auch mit Deiner Tax-Demo ausprobiert.
Was bedeutet: '123,456.78'?
Grüße
Lombi