Hi leute!
leider ist mir kein gescheiter titel für das topic eingefallen, vielleicht fällt euch ja noch was ein

.
So nun zu meinen problem:
ich habe eine stringlist mit jeder menge string(wirklich viel über 5000) und die strings enthalten einen namen und eine koordinate, ich will nun zählen wieviele items es von jedem namen gibt, dazu hab ich folgenden code gemacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TWeiteresForm.ToplistButtonClick(Sender: TObject); var n,c:Tstringlist; name:string; count,lauf:integer; begin n:=Tstringlist.Create; c:=Tstringlist.Create; if listbox1.Items.Count=0 then exit; repeat name:=copy(listbox1.Items.Strings[0],0,pos('--',listbox1.Items.Strings[0])-1); lauf:=0; count:=0; repeat application.ProcessMessages; if pos(name,listbox1.Items.Strings[lauf])<>0 then begin listbox1.Items.Delete(lauf); count:=count+1; end; lauf:=lauf+1; until lauf>=listbox1.Items.Count-1; n.Add(name); c.Add(inttostr(count)); until listbox1.Items.Count-1=0; ... |
so, dieser code scheint zu funktionieren, jedoch ist er sehr langsam!
warum ist er so langsam und wie kann ich ihn viel schneller machen?
mfg huhn