4D Write v16WR Find |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v16
WR Find
|
WR Find ( zone ; aChercher ; motEntier ; majuscules ; toutLeDoc ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
zone | Entier long |
![]() |
Zone 4D Write | |||||
aChercher | Alpha |
![]() |
Chaîne à chercher | |||||
motEntier | Entier |
![]() |
0=Partie de mot 1=Mot entier | |||||
majuscules | Entier |
![]() |
0=Ignorer majuscules 1=Ne pas ignorer majuscules | |||||
toutLeDoc | Entier |
![]() |
0=Chercher du curseur à la fin du document 1=Chercher dans tout le document | |||||
Résultat | Entier long |
![]() |
Statut de la recherche | |||||
La commande WR Chercher permet de rechercher une chaîne de caractères dans une zone 4D Write. Vous pouvez obtenir la position des mots trouvés grâce à WR LIRE MOTS ou la position de la sélection trouvée par WR LIRE SELECTION. Si l'expression est trouvée, la fonction retourne 1 et sélectionne la première occurence trouvée.
Si la recherche a été infructueuse, la fonction retourne 0 et la sélection courante ne change pas. Si zone n'existe pas, la fonction retourne -1.
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”. |
Constante | Type | Valeur | Comment |
wr du curseur à la fin | Entier long | 0 | La recherche commence à la position du curseur puis s'arrêtera en fin de document. |
wr tout le document | Entier long | 1 | La recherche commence à la position du curseur puis se poursuivra du début du texte à la position du curseur. |
Vous demandez à l’utilisateur ce qu’il veut chercher, puis lancez la recherche sur ce texte :
AChercher:=Request("Saisissez le texte à rechercher :")
If(OK=1)
WR SET SELECTION(LaZone;0;0)
If(WR Find(LaZone;AChercher;wr whole word;wr case sensitive;1)=0)
ALERT("Aucun mot ne correspond à votre demande.")
End if
End if
Cet exemple propose une méthode de recherche par mot-clé dans des zones Images sur une sélection d'enregistrements.
Note : Si vous avez opté pour l'association des zones 4D Write à des champs BLOB, veuillez vous reporter à l'exemple présenté dans la description de la commande WR Chercher direct, beaucoup plus rapide.
Vous possédez une base contenant des recettes de cuisines. Celles-ci ont été enregistrées dans des champs Images. Vous désirez pouvoir extraire toutes les recettes contenant un ingrédient particulier. Voici l'exemple vous permettant d'obtenir 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
MonHorsEcran:=WR New offscreen area
While(Not(End selection([MesRecettes])))
WR PICTURE TO AREA(MonHorsEcran;[MesRecettes]ImageRecette_)
If(WR Find(MonHorsEcran;AChercher;1;1;1)=1)
`Lorsque l'ingrédient est trouvé, l'enregistrement est ajouté dans l'ensemble
ADD TO SET([MesRecettes];"SélectionTrouvée")
End if
NEXT RECORD([MesRecettes])
End while
WR DELETE OFFSCREEN AREA(MonHorsEcran)
USE SET("SélectionTrouvée")
OUTPUT FORM([MesRecettes];"Sortie")
MODIFY SELECTION([MesRecettes];*)
Produit : 4D Write
Thème : WR Gestion de texte
Numéro :
89495
Créé : 4D Write 6.5
4D Write - Langage ( 4D Write v16)