4D Write v16

WR Find

Accueil

 
4D Write v16
WR Find

WR Find 


 

WR Find ( zone ; aChercher ; motEntier ; majuscules ; toutLeDoc ) -> Résultat 
Paramètre Type   Description
zone  Entier long in Zone 4D Write
aChercher  Alpha in Chaîne à chercher
motEntier  Entier in 0=Partie de mot 1=Mot entier
majuscules  Entier in 0=Ignorer majuscules 1=Ne pas ignorer majuscules
toutLeDoc  Entier in 0=Chercher du curseur à la fin du document 1=Chercher dans tout le document
Résultat  Entier long in 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”.

L'argument toutLeDoc permet de spécifier si la recherche porte sur l'intégralité du document ou uniquement sur la portion comprise entre le curseur et la fin du document.Vous pouvez passer dans le paramètre toutLeDoc l'une des constantes suivantes, placées dans le thème WR Paramètres :

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];*)



Voir aussi  

WR Direct find

 
PROPRIÉTÉS 

Produit : 4D Write
Thème : WR Gestion de texte
Numéro : 89495

 
HISTORIQUE 

Créé : 4D Write 6.5

 
UTILISATION DE L'ARTICLE

4D Write - Langage ( 4D Write v16)