Verweis: | AnsiCompareStr AnsiContainsStr AnsiEndsStr |
Uses: | StrUtils |
Eingabe: | GesamterText(String) und TextTeil(String) |
Ausgabe: | Vorhanden ? (Boolean) |
Funktion: | Vergleicht 2 Strings miteinander. Ohne Beachtung der Groß- und Kleinschreibung |
Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie einen TButton auf die Form. Binden Sie die Unit StrUtils in die Uses-Klausel ein. Doppelklicken sie auf den Button und ersetzen Sie das Ereignis durch folgenden Quelltext:
Beispiel 1
procedure TForm1.Button1Click(Sender: TObject);
var
GesamtText: string;
begin
GesamtText := 'Im Anhang befinden sich noch ein paar Bilder von unserem Sommerurlaub.';
//AnsiContainsText
if AnsiContainsText(GesamtText, 'anhang') then
ShowMessage('Es befindet sich das Wort Anhang in Ihrer' +
' E-Mail, Sie haben aber bisher noch keinen Anhang angefügt.')
else
ShowMessage('Die Nachricht wurde gesendet.');
end;
AnsiContainsText vergleicht einen Textteil mit einem Text und gibt true zurück wenn er übereinstimmt. Eine vernünftige Anwendung für diesen Befehl wäre die Abfrage nach einem Anhang. Hier in dem Beispiel wird natürlich nur die Message angezeigt und keine E-Mail verschickt. Es geht hier ja auch nur um das Erkennen im Text. Hierbei wird, wie man sieht, die Groß- und Kleinschreibung ignoriert.
Beispiel 2
Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie einen TButton auf die Form. Binden Sie die Unit StrUtils mit der Uses-Klausel in die Anwendung ein. Doppelklicken sie auf den Button und ersetzen Sie das Ereignis durch folgenden Quelltext:
procedure TForm1.Button1Click(Sender: TObject);
var
GesamtText: string;
begin
GesamtText := 'Es muss aber nicht zwangsweise nur ein einzelnes Wort sein.'+
'Hier kann mann auch nach einem Wortteil suchen.';
//Suche nach einem Teil
if AnsiContainsText(GesamtText, 'teil') then
ShowMessage('Es befindet sich das Wortfragment "teil" in Ihrem Text.')
else
ShowMessage('Ich habe nichts gefunden.');
//Suche nach einem Wort
if AnsiContainsText(GesamtText, ' teil ') then
ShowMessage('Es befindet sich das Wort "teil" in Ihrem Text.')
else
ShowMessage('Ich habe nichts gefunden.');
end;
AnsiContainsText kann auch einzelne Wortteile finden, denn eigentlich sucht der Befehl nicht nach Worten, sondern lediglich nach einer Übereinstimmung bestimmter Zeichenfolgen.

So wird in dem Beispiel bei der ersten Message, wie in dem Bild ein Treffer ausgegeben. Wenn sie nach Worten suchen dann müssen sie eigentlich nur vorne und hinten Leerzeichen einfügen. Eventuell muss diese Funktion noch erweitert werden, denn wenn ich das Wort “ Teil “ am Ende eines Satzes suche,dann steht ja “ Teil.“ in dem Text. Im Gegensatz zu AnsiContainsStr achtet der Befehl AnsiContainsText nicht auf die Groß- und Kleinschreibung.