Thema: Delphi string durch ; getrennt

Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#11

Re: string durch ; getrennt

  Alt 8. Sep 2004, 15:43
Zitat von Dax:
aber Explode ist faktisch effektiver.
Ja? Aber nicht bei der Geschwindigkeit!

Ein Beispiel zum Beweis.

Delphi-Quellcode:
{--------------------------------------------------------------------------------------------------}

procedure TForm1.Button1Click(Sender: TObject);
var
  S: String;
  I: Integer;
  List: TStringList;
  Start, Stop, Frequenzy: Int64;
begin

  for I := 1 to 10000 do
    S := S + '0123456789;';

  QueryPerformanceFrequency(Frequenzy);
  QueryPerformanceCounter(Start);

  List := TStringList.Create;

  try

    List.Delimiter := ';';
    List.DelimitedText := S;

    QueryPerformanceCounter(Stop);
    ShowMessage(FormatFloat('0.00', (Stop - Start) * 1000 / Frequenzy) + ' Millisekunden');

  finally
    List.Free;
  end;

end;

{--------------------------------------------------------------------------------------------------}

procedure TForm1.Button2Click(Sender: TObject);
var
  S: String;
  I: Integer;
  StrArry: TStringDynArray;
  Start, Stop, Frequenzy: Int64;
begin

  for I := 1 to 10000 do
    S := S + '0123456789;';

  QueryPerformanceFrequency(Frequenzy);
  QueryPerformanceCounter(Start);

  StrArry := Explode(';', S);

  QueryPerformanceCounter(Stop);
  ShowMessage(FormatFloat('0.00', (Stop - Start) * 1000 / Frequenzy) + ' Millisekunden');

end;

{--------------------------------------------------------------------------------------------------}
Mit TStringList ist das ganze so 150 mal schneller auf meinem PC.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat