4D Write v16WR Direct find |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v16
WR Direct find
|
WR Direct find ( blob ; aChercher ; motEntier ; majuscules ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
blob | BLOB |
![]() |
Blob | |||||
aChercher | Alpha |
![]() |
Chaîne à rechercher | |||||
motEntier | Entier |
![]() |
0=partie de mot 1=mot entier | |||||
majuscules | Entier |
![]() |
0=ignorer majuscules 1=tient compte des majuscules | |||||
Résultat | Entier long |
![]() |
Etat de la recherche | |||||
La commande WR Chercher direct permet de rechercher une chaîne de caractères directement dans un BLOB contenant une zone 4D Write sans avoir besoin d'ouvrir la zone, d'où un gain en rapidité.
Si l'expression est trouvée, la fonction retourne la position de la chaine recherchée dans le texte.
Si la recherche a été infructueuse, la fonction retourne -1.
Si blob ne contient pas un document 4D Write, la fonction retourne -2.
Les arguments motEntier et majuscules vous permettent de spécifier la manière dont la recherche va s’effectuer.
Vous pouvez passer dans le paramètre motEntier l'une des constantes suivantes, placées dans le thème WR Paramètres :
Constante | Type | Valeur | Comment |
wr partie de mot | Entier long | 0 | Le mot peut faire partie d’une chaîne de caractères. |
wr mot entier | Entier long | 1 | Pour être trouvé, le mot doit être entouré de caractères séparateurs (espaces, caractères de ponctuation, etc.). |
Vous pouvez passer dans le paramètre majuscules l'une des constantes suivantes, placées dans le thème WR Paramètres :
Constante | Type | Valeur | Comment |
wr ignorer majuscules | Entier long | 0 | La recherche ne tiendra pas compte des majuscules et trouvera “Bonjour”, “Bonjour“, “BONJOUR“... si vous cherchez “BONJOUR”. |
wr tenir compte des majuscules | Entier long | 1 | La recherche tiendra compte des majuscules et ne trouvera pas “Bonjour” si vous cherchez “BONJOUR”. |
Cet exemple propose une méthode de recherche par mot-clé sur une sélection d'enregistrements, dans des zones 4D Write associées à des champs BLOB.
Note : Si vous avez opté pour l'association des zones 4D Write à des champs Images, vous pouvez également vous reporter à l'exemple présenté dans la description de la fonction WR Chercher.
Vous possédez une base contenant des recettes de cuisines. Celles-ci ont été enregistrées dans des champs BLOB. Vous désirez pouvoir extraire toutes les recettes contenant un ingrédient particulier. Voici l'exemple vous permettant d'obtenir très rapidement cette sélection :
Achercher:=Request("Quel ingrédient désirez-vous rechercher ?")
`Création d'un ensemble vide dans lequel vont être placés tous les enregistrements
`contenant l'ingrédient recherché
CREATE EMPTY SET([MesRecettes];"SélectionTrouvée")
ALL RECORDS([MesRecettes]) `On parcourt toute la sélection de la table
While(Not(End selection([MesRecettes])))
If(WR Direct find([MesRecettes]BlobRecette_;AChercher;wr whole word;wr case sensitive)>0)
`Lorsque l'ingrédient a été trouvé, l'enregistrement est ajouté à l'ensemble
ADD TO SET([MesRecettes];"SélectionTrouvée")
End if
NEXT RECORD([MesRecettes])
End while
USE SET("SélectionTrouvée")
OUTPUT FORM([MesRecettes];"Sortie")
MODIFY SELECTION([MesRecettes];*)
Produit : 4D Write
Thème : WR Gestion de texte
Numéro :
89494
Créé : 4D Write 6.5
4D Write - Langage ( 4D Write v16)