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:
Im Parameter GanzesWort können Sie eine der folgenden Konstanten unter dem Thema WR Parameter übergeben:
| wr partial match (0) | Der String ist entweder ein ganzes Wort oder Teil eines längeren Wortes. |
| wr whole word (1) | Das gesuchte Wort muss zwischen Trennzeichen (Leerzeichen |
| oder Satzzeichen) stehen. |
Im Parameter Großschreibung können Sie eine der folgenden Konstanten unter dem Thema WR Parameter übergeben:
| wr ignore uppercase (0) | Die Suche unterscheidet nicht zwischen Groß- und Kleinschreibung. |
| Suchen Sie nach HALLO, wird Hallo, hallo und HALLO gefunden. | |
| wr case sensitive (1) | Die Suche unterscheiden zwischen Groß- und Kleinschreibung. |
| Suchen Sie nach "HALLO", wird "Hallo" nicht gefunden. |
Über Umfang definieren Sie, ob die Suche für das ganze Dokument gilt. In diesem Parameter können Sie eine der folgenden Konstanten unter dem Thema WR Parameter übergeben:
| wr after insertion point (0) | Die Suche wird ab der Einfügemarke bis zum Ende des Dokuments |
| ausgeführt. | |
| wr whole document (1) | Die Suche beginnt bei der Einfügemarke, läuft bis zum Ende des |
| Dokuments und weiter vom Anfang des Dokuments bis zur Einfügemarke. |
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;wr whole word;wr case sensitive;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