WinRtfSearch
obj -> WinRtfSearch(alpha1[, int2[, range3[, alpha4[, var alpha5]]]]) : int
Zeichenfolge in einem Text suchen / Suchen und Ersetzen
Details
- obj: Deskriptor eines RtfEdit -Objekts
- alpha1: Suchtext
- int2:
- Optionen (optional):
_WinRtfSearchUp_WinRtfSearchCase_WinRtfSearchWord_WinRtfSearchReplace_WinRtfSearchDelete
- range3: Suchbereich (optional)
- alpha4: Ersetzungstext (optional)
varalpha5: Auf Suchtext folgende Zeichenkette (optional)- Resultat:
intPosition der gefundenen Zeichenfolge - Siehe: Verwandte Befehle ,
PrtRtfSearch (),TextSearch ()
Diese Funktion durchsucht einen Text in einem RtfEdit -Objekt. Der Deskriptor des Objektes wird in (obj) angegeben.
Die zu suchende Zeichenkette wird in (alpha1) angegeben. Alle weiteren Parameter sind optional. Werden keine weiteren Parameter angegeben, wird der gesamte Text von vorne nach hinten nach der Zeichenkette durchsucht. Wird der Begriff gefunden, wird die Position des ersten Zeichens innerhalb des Textes zurückgegeben. Befindet sich die zu suchende Zeichenkette mehrfach im Text, wird nur das erste Vorkommen zurückgegeben. Ist die Zeichenkette nicht vorhanden wird der Wert -1 zurückgegeben.
Beispiel:
tPos # $RtfEdit->WinRtfSearch('suche');
Die Suche kann mit folgenden Optionen beeinflusst werden:
_WinRtfSearchUpDer Suchbereich wird vom Ende zum Anfang durchsucht._WinRtfSearchCaseDie Groß- und Kleinschreibung des Suchbegriffes wird beachtet._WinRtfSearchWordEs wird nur nach ganzen Wörtern gesucht._WinRtfSearchReplaceDer Suchtext wird durch den Ersetzungstext in (alpha4) ersetzt._WinRtfSearchDeleteDer Bereich in (range3) wird aus dem RTF-Text entfernt.
Die Optionen können miteinander kombiniert werden. Der zu durchsuchende Text kann durch die Angabe eines Bereiches in (range3) bestimmt werden. Standardmäßig wird der Bereich (0, -1) (Anfang bis Ende) durchsucht.
Wird die Option _WinRtfSearchReplace angegeben, muss in (alpha4) ein entsprechender Ersetzungstext angegeben werden, da sonst der Suchbegriff aus dem Text entfernt wird. Wie beim Suchen wird nur die erste Fundstelle ersetzt.
Wird die Option _WinRtfSearchDelete angegeben, kann zusätzlich mit der Option _WinRtfSearchReplace der Bereich durch einen anderen Text ersetzt werden. Der entsprechende Ersetzungtext wird in (alpha4) angegeben.
Wird der optionale var-Parameter (alpha5) angegeben, dann wird in dieser Variable der Text hinterlegt, der hinter dem Suchtext (alpha1) steht. Wird der Suchtext nicht gefunden, ist die Variable nach dem Aufruf leer. Die Länge des Nachfolgenden Textes richtet sich nach der Dimension der Variable. Bei einem alpha( 10 ) beispielsweise, werden maximal 10 Zeichen zurückgegeben.
Beispiele:
// Suchen nach ganzem Wort mit Groß-/Kleinschreibung
tPos # $RtfEdit->WinRtfSearch('Suche', _WinRtfSearchCase | _WinRtfSearchWord);
// Durchsuchen der ersten 1000 Zeichen
tPos # $RtfEdit->WinRtfSearch('Suche', 0, RangeMake(0, 1000));
// Suchtext ersetzen
tPos # $RtfEdit->WinRtfSearch('suchen', _WinRtfSearchReplace, RangeMake(0, -1), 'ersetzen');
// Auf Suchbegriff folgenden 10 Zeichen ermitteln
local
{
tContent : alpha(10);
...
}
...
tPos # $RtfEdit->WinRtfSearch('Suche', 0, RangeMake(0, 1000), '', var tContent);
// Text von Zeichen 20 bis 30 ersetzen
tPos # $RtfEdit->WinRtfSearch('', _WinRtfSearchDelete | _WinRtfSearchReplace, RangeMake(20, 30), 'ersetzt');
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Der in (obj) übergebene Deskriptor ist ungültig._ErrValueInvalid: Optionen (int2) ungültig