Version 6.5
WR Find (Bereich; String; GanzesWort; Großschreibung; Umfang) Lange Ganzzahl
Parameter | Typ | Beschreibung | |
Bereich | Lange Ganzzahl | 4D Write Bereich | |
String | Alpha | Zu suchender String | |
GanzesWort | Ganzzahl | 0=Teilweise Übereinstimmung | |
1=Ganzes Wort | |||
Großschreibung | Ganzzahl | 0=Ignoriere Großschreibung | |
1=Berücksichtige Großschreibung | |||
Umfang | Ganzzahl | 0=Suche ab Einfügepunkt | |
1=Suche im ganzen Dokument | |||
Funktionsergebnis | Lange Ganzzahl | Status der Suche |
Beschreibung
Mit der Funktion WR Find suchen Sie nach einem String in einem 4D Write Bereich. Mit dem Befehl WR GET WORDS finden Sie die Position der gefundenen Wörter. Mit dem Befehl WR GET SELECTION finden Sie die Position der gefundenen Auswahl. Wurde ein String gefunden, gibt WR Find den Wert 1 zurück und wählt das erste Vorkommen aus.
War die Suche erfolglos, gibt WR Find den Wert Null (0) zurück. Die aktuelle Auswahl wird nicht verändert. Existiert Bereich nicht, gibt WR Find den Wert -1 zurück.
GanzesWort und Großschreibung grenzen die Suche ein:
Bei GanzesWort gleich 1 muss das gesuchte Wort zwischen Trennzeichen (Leerzeichen oder Satzzeichen) stehen. Bei GanzesWort gleich 0 kann der String entweder ein ganzes Wort oder Teil eines längeren Wortes sein.
Bei Großschreibung gleich 1 beachtet die Suchfunktion die Groß- und Kleinschreibung. Suchen Sie nach "HALLO", wird "Hallo" nicht gefunden.
Über Umfang definieren Sie, ob die Suche für das ganze Dokument gilt. Bei Umfang gleich 1 wird die Suche im ganzen Dokument ausgeführt. Bei Umfang gleich 0 wird die Suche ab der Einfügemarke oder der Auswahl bis zum Ende des Dokuments ausgeführt.
Beispiele
(1) Sie fordern den Benutzer auf, den Suchbegriff einzugeben und suchen dann danach:
Suchen:=Request("Gib gesuchte(n) Begriff(e) ein:") If(OK=1) WR SET SELECTION(Bereich;0;0) If(WR Find(Bereich;Finden;1;1;1)=0) ALERT("Kein Vorkommen gefunden.") End if End if
(2) Dieses Beispiel führt in einer Datensatzauswahl eine Suche nach Schlüsselwort aus. Die Suche erfolgt in Bildbereichen.
Wichtig: Haben Sie Ihre 4D Write Bereiche in BLOB Feldern gesichert, sehen Sie sich das Beispiel zur Funktion WR Find direct an. Es ist um einiges schneller.
Ihre Datenbank verwaltet Kochrezepte. Die 4D Write Bereiche sind in Datenfeldern vom Typ Bild gespeichert. Sie möchten alle Rezepte finden, die eine bestimmte Zutat verwenden. Die Methode lautet:
Suchen:=Request("Gib die gewünschte(n) Zutat(en) ein:") `Erstelle leere Menge, in die alle gefundenen Datensätze gelegt werden CREATE EMPTY SET([MeineRezepte];"Gefundene Datensätze") ALL RECORDS([MeineRezepte]) `Durchlaufe die gesamte Auswahl der Tabelle Virtueller Bereich:=WR New offscreen area While (Not(End selection([MeineRezepte]))) WR PICTURE TO AREA (Virtueller Bereich;[MeineRezepte]PictRezept_) If (WR Find (Virtueller Bereich;Suchen;1;1;1)=1) `Wird Zutat gefunden, füge Datensatz in Menge ein ADD TO SET([MeineRezepte];"Gefundene Datensätze") End if NEXT RECORD([MeineRezepte]) End while WR DELETE OFFSCREEN AREA (Virtueller Bereich) USE SET("Gefundene Datensätze") OUTPUT FORM([MeineRezepte];"Ausgabe") MODIFY SELECTION([MeineRezepte];*)
Referenz