Einzelnen Beitrag anzeigen

Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#8

Re: TStringlist mit 60000 Einträgen zu langsam

  Alt 10. Feb 2010, 13:24
Zitat von Daniel G:
Zitat von himitsu:
Und jetzt kann man erstmal nur noch deine Verarbeitung versuchen zu optimieren, aber diese kenne wir noch nicht.
Eben. Ich denke, hier liegt der Flaschenhals. Vielleicht zeigts du mal etwas Code.
Genau dies wird die Stelle sein, die Zeit kostet, da Stringoperationen nicht gerade sehr schnell sind.

Wenn ich in blaue rate, würde ich sagen, daß das Benutzen der StringListe selbt auch schon ein Fehler ist.
Du sagst in jedem Listeintrag steht ein String, der mit TAB getrennt drei Wörter enthält und du nur
diesen String auseinandernimmst, um an deinen gewünschten String zu kommen.

Du solltest eher eine Datenklasse mit drei Feldern benutzen und diese dann in TObjectList schreiben.
Der Vorteil der Datenklasse ist, daß du nicht mühsam etwas aueinander nimmst, sondern direkt den gewünschten Wert hast.

Beispiel:
Delphi-Quellcode:

type
  TMeineDaten = class
   public
     property Bezeichner: String;
     property Strasse: String;
     property Ort: String;
  end;

  ....

  ....
var
  myList: TObjectList;
...
  neueDaten := TMeineDaten.Create();
  neueDaten.Bezeichner := "Stefan";
...
  myList.add(neueDaten);
...
...
  for i := 0 to myList.Count-1 do
  begin
    datenAusListe := TMeinDaten(myList[i]);
    Edit1.Text := datenAusListe.Bezeichner;
    ....
  end;
...
Alles nur ein Beispiel. Ich denke das wird dein Problem sein.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat