Was soll die Funktion denn machen? Die einzelnen Strings zählen?
Dann mach das doch:
Code:
Für jede Zeile S in der StringListe:
Inc (Zähler [S]);
Als Zähler verwendest Du eine TStringlist. Jedem String in der Stringlist kann ein 'Object' zugeordnet werden. Man kann nun dieses Object einfach als Zähler verwenden:
Delphi-Quellcode:
i := ZaehlerListe.IndexOf(ZuZaehlenderString); // Finde Eintrag in der Zaehlerliste
If i=-1 then // Es existiert noch kein Eintrag,
ZaehlerListe.AddObject(ZuZaehlenderString, TObject(1)) // erstelle also einen mit dem Wert 1
else begin
n := Integer (ZaehlerListe.Objects[i]); // Ansonsten schnapp dir den Zähler und
ZaehlerListe.Objects[i] := TObject(n+1); // erhöhe ihn um 1.
end;
Wenn Du fertig mit Zählen bist, geh die Zaehlerliste durch und erzeuge deine Ergebnisliste.
[edit]Schusseligkeitsfehler korrigiert, die Hawkeye219 entdeckt hat. [/edit]