Einzelnen Beitrag anzeigen

frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#3

Re: Einträge in Listview / Stringlist vergleichen;Strings zä

  Alt 28. Feb 2009, 08:28
1) Hm, danke jaenicke, aber das klappt bei mir so nicht. Mein Problem ist ja, dass ich nur EINE Stringlist habe mit unterschiedlichen Strings. Die sollen in eine neue Stringlist zusammengefasst und mit der Häufigkeit ausgestattet werden. Ich hatte das bisher so versucht, dass ich

- Stringlist1 durchgegangen bin und z.B. WortX zusammenfassen wollte:
- Stringlist2 = Stringlist1 (einmalig)
- Stringlist2 durchgehen, ob WortX vorhanden; wenn ja, dann einen CounterInteger +1, den gefundenen Eintrag in Stringlist2 löschen und wieder von vorne Stringlist2 durchgehen, solange, bis in Stringlist2 alle WortX-Items gezählt und gelöscht sind.

Nur genau das bekomme ich so nicht hin. Ich bekommme (mit dem schon mal geposteten Code) eine Fehlermeldung, dass ich (vermutlich bei der Delete-Anweisung) einen ListCount überfordere.

Naja, hoffe, Du oder jemand anderes kann mir nochmal einen TIpp geben.

2) Eine Frage zu Deinem in dem anderen Thread geposteten Code:

Delphi-Quellcode:
  procedure CountOccurrences(const List1, List2: TStrings; var Result: TStrings);
  var
    i, CurIndex: Integer;
  begin
    for i := 0 to List1.Count - 1 do
      Result.AddObject(List1[i], TObject(0));
    for i := 0 to List2.Count - 1 do
    begin
      CurIndex := Result.IndexOf(List2[i]);
      if CurIndex >= 0 then
        Result.Objects[CurIndex] := TObject(Succ(Integer(Result.Objects[CurIndex])));
    end;
  end;
Ich wusste nicht, dass man einem TString ein "Object" beifügen kann; ich kenne diese Methode (als Anfänger) noch nicht; ich bin nur verwundert, weil ich dachte, dass man in einem TString eben nur 1 String, und zwar Zeile für Zeile fassen könnte.

Ich würd den Code gerne verstehen

Danke und viele Grüße zum Samstag,
frieder
  Mit Zitat antworten Zitat