![]() |
mehrere strings im String suchen
Guten abend :)
Ich suche mittels pos() in der geladenen filelistbox, nach dem wort "test". Wurde ein dateiname mit dem wert gefunden..wird es in die Listbox geladen. Ok
Code:
funktioniert auch sehr gut..
for i := 0 to FileListBox1.Count-1 do
begin if pos('test',FileListBox1.Items.Strings[i]) <> 0 then ListBox3.Items.Add(FileListBox1.Items.Strings[i]); end; Aber wie kann ich jetz mehrere suchbegriffe angeben .. damit es zusätzlich auch noch nach dem wort "text" sucht bzw prüfft. Kann ich eine so Art Arrayliste erstellen für die Suchbegriffe? grüße |
Re: mehrere strings im String suchen
Du benötigst ein Pos()-Aufruf pro Suchbegriff. Du kannst die Begriffe natürlich in einen Array oder eine Liste ablegen
|
Re: mehrere strings im String suchen
Alternativ kannst Du auch eine eigene POS Variante bauen, die ein array of string akzeptiert als Parameter. Wäre insbesondere bei einer großen Menge an Strings definitiv performanter.
|
Re: mehrere strings im String suchen
das käme in etwa aufs selbe raus, er muss durch liste a und durch liste b also
Delphi-Quellcode:
anderes wäre es, wenn er die suchliste bereits vorsortiert und weitere informationen darin speichert, damit er ab den delta eintrag einen neuen pfad beschreidet... aber das wäre schon viel aufwändiger umzusetzen und nicht in 1 minute erledigt (wie das oben).
for eA in A do
for eB in B do something(); |
Re: mehrere strings im String suchen
Kommt auf die Implementierung an
|
Re: mehrere strings im String suchen
mh
also muss ich für jeden suchbegriff eine eigene pos() funktion aufrufen ? mh ich will die suchbegriffe aber irgendwie in einem .*txt angeben ohne das script zu erweitern.. mh geht das nicht? |
Re: mehrere strings im String suchen
Jein. Nur für die Einträge, die der Vorgängerbegriff enthalten.
|
Re: mehrere strings im String suchen
und, wo liegt das problem?
Delphi-Quellcode:
hier mal 'n pseudocode...
sl_suchbegriffe.loadfromfile(blabla);
for s in sl_suchbegriffe.items do for f in filelistbox.items do if pos(s in f) then add(f to listbox); |
Re: mehrere strings im String suchen
Willst du eine AND oder OR-Verknüpfung der Suchbegriffe?
|
Re: mehrere strings im String suchen
Wenn du viele Strings simultan suchen willst, dann gibt es dafür spezielle Suchalgorithmen. Einer davon wurde von Wu & Manber entwickelt, der sich als einer der schnellsten herausgestellt hat. Eine Implementierung findet sich
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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 by Thomas Breitkreuz