AnsiContainsText

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.

AnsiContainsText findet auch Wortteile.
Aha „teil“ wurde also gefunden.

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.