| 4D v13WR Chercher | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D Write v13
 WR Chercher 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WR Chercher ( 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 | Commentaire | 
| 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 | Commentaire | 
| 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 | Commentaire | 
| 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 siCet 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];*)
	Produit :  4D
	Thème :  WR Gestion de texte
	Numéro :  
        89495
        
        
        
	Nom intl. :  WR Find
     Liste alphabétique des commandes
    Liste alphabétique des commandes
	Créé :  4D Write 6.5