![]() |
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:
Jetzt wird der String untersucht; das sieht so aus:
string:='Delphi Praxis Forum Code Center SQL XML Delphi-Forum Delphi'
Delphi-Quellcode:
Allerdings gibt es bei
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;
Delphi-Quellcode:
das Problem, dass die Einträge aus ListboxGesuchteWorte zerstückelt werden.
ListboxIstVorhanden.Items.Add(sl.Strings[ndx]);
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 ![]() Vielen Dank für eure Hilfe :coder2: |
Re: Listboxeinträge werden zerstückelt
Also bei mir funktioniert der Code :gruebel:
Edit: Doch nicht, sorry. Edit2: Das müsste funktionieren:
Delphi-Quellcode:
Das ist übrigens der ganze Code :)
for x:=0 to ListboxGesuchteWorte.Count-1 do
if Pos(ListboxGesuchteWorte.Items.Strings[x],langeString) > 0 then ListboxIstVorhanden.Items.Add(ListboxGesuchteWorte.Items.Strings[x]); |
Re: Listboxeinträge werden zerstückelt
Wow, astrein. Das funktioniert herrlich! Vielen vielen Dank :dp:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz