Einzelnen Beitrag anzeigen

Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#1

Listboxeinträge werden zerstückelt

  Alt 1. Jan 2005, 22:52
Hallöchen!

ich habe in meinem Programm zwei Listboxen und einen großen String. Dieser String soll untersucht werden, ob Worte aus Listbox1 drin stehen, und falls Ja, sollen sie in Listbox2 eingetragen werden.

Das sieht etwas so aus:
string:='Delphi Praxis Forum Code Center SQL XML Delphi-Forum Delphi' Jetzt wird der String untersucht; das sieht so aus:
Delphi-Quellcode:
sl := TStringList.Create;

try
  sl.Delimiter := #9;
  sl.Sorted:=True;

  for x:=0 to ListboxGesuchteWorte.Count-1 do
  begin
    sl.DelimitedText := ListboxGesuchteWorte.Items[x];
    sl.Duplicates:=dupIgnore;

    for ndx := 0 to pred (sl.Count) do
    begin
      okay := Pos (sl.Strings[ndx],MeinGrosserString) > 0; // Wort ist vorhanden
      if okay then
        ListboxIstVorhanden.Items.Add(sl.Strings[ndx]);
    end;
  end;
finally
  FreeAndNil (sl);
end;
Allerdings gibt es bei ListboxIstVorhanden.Items.Add(sl.Strings[ndx]); das Problem, dass die Einträge aus ListboxGesuchteWorte zerstückelt werden.

Wenn ich im String von oben nach "Delphi Forum" suche, wird mir zurückgegeben, dass sowohl "Delphi" als auch "Forum" vorkommen. Das ist aber nicht richtig (in meinem Fall), denn "Delphi Forum" soll als eine Zeichenkette gewertet werden.

Ich hab das schonmal ein bisschen in diesem Thread angeschnitten.

Vielen Dank für eure Hilfe
Achim
  Mit Zitat antworten Zitat