Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
18. Okt 2002
Der Geschwindigkeitsgewinn ist bei wenigen Durchläufen minimal. Bei meinem Test '10+20*10-x^2*234,5+(10+20)*30' mit 10000 Durchläufen waren es ca. 50 ms Gewinn;
Ändere mal meine pos0Ex Funktion in folgende um. Danach hatte ich einen Gewinn zu deiner Version von ca. 200 ms.
function pos0Ex(const c: Char; const s: string; out ResultValue: Integer): Integer;
//pos0Ex findet das Zeichen "+","-"...
Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
18. Okt 2002
Für meine Verhältnisse rufst du pos0 zu oft auf. Probiere es mal mit der von mir veränderten TermToReal-Version:
function pos0Ex(const c: Char; const s: string; out ResultValue: Integer): Integer;
begin
Result := pos0(c, s);
ResultValue := Result;
end;
function TermToReal(s:string):real;
// {Bisher '+' '-' '*' '/' Klammern und 'x' integriert,