Einzelnen Beitrag anzeigen

Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#1

Teilstrings aus String herausfiltern.

  Alt 13. Dez 2007, 07:12
Hi DPler

Ich möchte in meiner Suchfunktion nach Einträgen in einer Listbox suchen. Das soll nat. auch funktionieren wenn in der LSB "Hallo_Welt" steht und ich in der Suchmaske "hallo Welt" schreibe. dafür muss ich ja die einzelnen Teilstrings "Hallo" und "Welt" aus dem Suchfeld rausfiltern und schauen ob das Ganze in der LSb ist (da er ja bei einem reinen vergleich beider Strings ein FALSE ausgeben würde, da "hallo Welt" <> "hallo_Welt").
Mein Problem ist dabei das Herausfiltern der Teilstrings. Ich nutze diesen Code:

Delphi-Quellcode:
 var Suchtext : String;
 u : integer;

 Suchtext := edSuchen.Text;
 u := 0;
 repeat
 begin
  Length(Teilstrings,u+1);
  if Pos(' ',Suchtext) > 0 then
   Teilstrings[u] := AnsiLeftStr(Suchtext,Pos(' ',Suchtext)-1)
  else
   Teilstrings[u] := Suchtext;
   Suchtext := AnsiRightStr(Suchtext,Length(Suchtext) - Pos(' ',Suchtext));
   u := u + 1;
 end
 until Pos(' ',Suchtext) = 0;
Logischerweise findet er aber dabei nicht den letzten Teilstringwenn schon ein Leerzeichen vorkommt, er findet diesen erst wenn nach dem letzten Teilstring ein Leerzeichen kommt. Ich weiß nat. woran das Problem liegt (an der UNTIL-Bedingung), aber mir fällt einfach keine Möglichkeit ein das zu lösen...
Jonas
  Mit Zitat antworten Zitat