Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: double Werte aus Strings lesen

  Alt 24. Mär 2004, 14:38
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 *)
Andreas
  Mit Zitat antworten Zitat