Einzelnen Beitrag anzeigen

LOMBI
(Gast)

n/a Beiträge
 
#12

Re: (N)umerisches Feld akzeptiert keinen Punkt

  Alt 26. Mai 2006, 17:29
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
  Mit Zitat antworten Zitat