Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listboxeinträge werden zerstückelt (https://www.delphipraxis.net/37174-listboxeintraege-werden-zerstueckelt.html)

Aike 1. Jan 2005 21:52


Listboxeinträge werden zerstückelt
 
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:
Delphi-Quellcode:
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
Delphi-Quellcode:
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 :coder2:

Torpedo 1. Jan 2005 22:02

Re: Listboxeinträge werden zerstückelt
 
Also bei mir funktioniert der Code :gruebel:
Edit: Doch nicht, sorry.

Edit2:
Das müsste funktionieren:
Delphi-Quellcode:
  for x:=0 to ListboxGesuchteWorte.Count-1 do
      if Pos(ListboxGesuchteWorte.Items.Strings[x],langeString) > 0 then
        ListboxIstVorhanden.Items.Add(ListboxGesuchteWorte.Items.Strings[x]);
Das ist übrigens der ganze Code :)

Aike 2. Jan 2005 13:55

Re: Listboxeinträge werden zerstückelt
 
Wow, astrein. Das funktioniert herrlich! Vielen vielen Dank :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz