![]() |
String durchsuchen???
Hallo!
Ich möchte einen Memo-Feld auf mehrere Strings durchsuchen und zwar so, daß man in eine TEdit-Feld kommagetrennt mehrere Wörter eingibt und dann auf "Suchen" klickt. Wenn wenigstens ein Wort davon im Memo vorkommt, wird eine bestimmte Erreignis ausgrführt. Hört sich relativ einfach an, mann trennt die Strings, dann kann mann ja immer if..or..then verwenden wenn man genau weiß, auf wieviele Wörter durchgesucht werden soll
Delphi-Quellcode:
Aber wie definiere ich das, wenn ich nicht weiß, auf wieviele String durchgesucht werden soll? Wie würdet ihr das machen?
...
if (pos('Wort1', Memo1.Text) > 0) or (pos('Wort2', Memo.Text) > 0) or (pos('Wort3', Memo.Text) > 0) or ... then //Irgendwas machen |
Re: String durchsuchen???
Delphi-Quellcode:
Untested
function Search(Source, Words: string): Boolean;
var strings: array of String; i: Integer; begin Result := false; strings := (Words trennen); for i := 0 to High(strings) do begin Result := Result or (Pos(strings[i], Source) <> 0); if Result then Break; end; end; edit: Ein wenig verschnelltert |
Re: String durchsuchen???
Wow, das ist aber eine Blitz-Reaktion! Danke!
Zitat:
|
Re: String durchsuchen???
Du kannst Words als auch array of string deklarieren und gleich deine ganzen Wörter übergeben. Wenn du's aber so lässt, musst du den Words-String erst noch trennen, z.B. mit
![]() |
Re: String durchsuchen???
Danke! Es klappt!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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