Der Flaschenhals ist die Zeile
Hilf2 := Hilf2 + hilf1[aktpos];
Jedesmal wird Hilf2 um ein Zeichen verlängert, dabei wird dynamisch
neuer Speicher angefordert, der bisherige String an den neuen Platz kopiert,
das eine Zeichen angehängt und der alte Speicher freigemacht.
Das braucht Zeit !!
Delphi-Quellcode:
var
Hilf1 : Ansisring;
aktPos : Longint;
for i := 1 to AktMesszahl - 1 do
begin
while hilf1[aktpos] = ' ' do // alle Leerzeichen rausfiltern
inc(aktpos);
// die nächsten 15 Zeichen (oder weniger)
// als Float lesen
DatenArray[AktHeaderzahl-1,aktDatensatz-1,i] := StrToFloat(Copy(hilf1, 1, 15));
// bis zu nächsten Leerzeichen überlesen
while hilf1[aktpos] <> ' ' do
inc(aktPos);
end; (* for *)