4D Write v16

WR Chercher

Accueil

 
4D Write v16
WR Chercher

WR Chercher 


 

WR Chercher ( 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:=Demander("Saisissez le texte à rechercher :")
 Si(OK=1)
    WR FIXER SELECTION(LaZone;0;0)
    Si(WR Chercher(LaZone;AChercher;wr mot entier;wr tenir compte des majuscules;1)=0)
       ALERTE("Aucun mot ne correspond à votre demande.")
    Fin de si
 Fin de si

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:=Demander("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é
 ENSEMBLE VIDE([MesRecettes];"SélectionTrouvée")
 TOUT SELECTIONNER([MesRecettes]`On parcourt toute la sélection de la table
 MonHorsEcran:=WR Hors ecran
 Tant que(Non(Fin de selection([MesRecettes])))
    WR IMAGE VERS ZONE(MonHorsEcran;[MesRecettes]ImageRecette_)
    Si(WR Chercher(MonHorsEcran;AChercher;1;1;1)=1)
  `Lorsque l'ingrédient est trouvé, l'enregistrement est ajouté dans l'ensemble
       ADJOINDRE ELEMENT([MesRecettes];"SélectionTrouvée")
    Fin de si
    ENREGISTREMENT SUIVANT([MesRecettes])
 Fin tant que
 WR DETRUIRE HORS ECRAN(MonHorsEcran)
 UTILISER ENSEMBLE("SélectionTrouvée")
 FORMULAIRE SORTIE([MesRecettes];"Sortie")
 MODIFIER SELECTION([MesRecettes];*)



Voir aussi  

WR Chercher direct

 
PROPRIÉTÉS 

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

 
HISTORIQUE 

Créé : 4D Write 6.5

 
UTILISATION DE L'ARTICLE

4D Write - Langage ( 4D Write v16)