Hier als Lösungsvorschlag eine Funktion
ConvertStr um einen String in ein Double zu verwandeln
und dabei . und , alternativ zu akzeptieren sowie spaces zu ignorieren.
Um INI Dateien zu lesen meiner Ansicht nach recht zweckmässig, um beim Start eines Programmes Exceptions zu vermeiden.
Code:
function ConvertStr( const str : string ) : Double;
var i : Integer;
fNeg, fDez : Boolean;
c : Char;
fN, fDD : Double;
begin
fN := 0;
fNeg := FALSE;
fDez := FALSE;
fDD := 10;
for i := 1 to Length(str) do
begin
c := str[i];
if c = '-' then fNeg := not fNeg
else if c = '.' then fDez := true
else if c = ',' then fDez := true
else if c in ['0'..'9'] then
begin
if fDez then
begin
fN := fN + (Integer(c) - Integer('0'))/fDD;
fDD := fDD * 10;
end else
begin
fN := fN * 10 + (Integer(c) - Integer('0'));
end;
end
// Wenn auskommentiert werden unerwartete Zeichen einfach ignoriert
// else break
;
end;
if fNeg then Result := -fN
else Result := fN;
end;