Ich bin misstrauisch - hast du die Funktion so abgeändert?
Delphi-Quellcode:
// function type changed for better StrToFloat() experience...
function StrToBytes(s: string; fs: TFormatSettings; decimal: boolean = true): extended;
var
sValue: string;
factor: integer;
begin
if decimal
then factor := 1000
else factor := 1024;
sValue := ParseStr(s, ' ');
Result := SysUtils.StrToFloat(sValue, fs); // watch this !
case s[1] of
'G': Result := Result * factor * factor;
'K': Result := Result * factor;
end;
end;
Hier noch die Funktion ParseStr() für alle die sie noch nicht gefunden haben:
Delphi-Quellcode:
function ParseStr(var s: string; delimiters: string; purge: boolean = true): string;
var
i: integer;
begin
i := 0;
while (i < Length(s)) and (Pos(s[Succ(i)], delimiters) = 0) do
Inc(i);
Result := Copy(s, 1, i);
Delete(s, 1, i + Ord(purge));
end;
marabu