L4G >  pat  

Afficher tout Masquer tout

pat permet de vérifier la conformité d'une chaîne à un modèle (pattern).

 

Syntaxe

   pat( expr_c, modèle ) [ <> 0 ]

 

Paramètres

lément

Description

Restrictions

expr_c

Expression alphanumérique définissant la chaîne dont on désire tester la conformité au modèle donné.

Aucune.

modèle

Expression alphanumérique définissant le modèle de conformité.

Aucune.

 

Exemples

   # La chaîne CH1 contient-elle ADONIX ?
    If pat(CH1, "*ADONIX*")
       Infbox "La chaine CH1 contient ADONIX !"
    Endif
   # Vérifier que CH1 contient une lettre en premier, un chiffre en
   # fin de chaîne, et exactement 3 caractères entre les deux
    If pat(CH1, "!???#") : # Test vérifié
    Endif

 

Description

pat permet de vérifier la conformité d'une chaîne de caractères à un modèle donné. Cette conformité se fait avec les conventions suivantes pour les modèles :

  • le caractère '*' représente un nombre quelconque, éventuellement nul, de caractères,
  • le caractère '?' représente exactement un caractère,
  • le caractère '#' représente un chiffre,
  • le caractère '!' représente une lettre.

Tous les autres caractères présents dans un modèle doivent exister dans la chaîne de caractères à vérifier pour que la conformité soit reconnue.

pat renvoie un résultat de type Integer : lorsque la chaîne est conforme, pat renvoie 1, sinon 0 est renvoyé.

Lorsque la fonction pat se termine par "<>0", la fonction est transmise à la base. pat (chaîne,modèle)<>0 sera traduit à la base de données par chaîne like patern. Le fait de transmettre à la base cette expression, va, dans certains cas, améliorer les temps de réponses puisque c'est la base qui va effectuer le filtre et non X3. 

 

Remarques

Pour certains cas de conformité plus sophistiqués, on peut utiliser la fonction format$. En effet, celle-ci formate une chaîne à partir d'un format donné en la tronquant éventuellement; si le formatage ne peut être fait faute de conformité, la chaîne renvoyée sera vide. Par exemple, si l'on désire vérifier que CH1 est composée de 3 chiffres suivis de 5 caractères pris dans le jeu +, -, *, / et d'un nombre quelconque de caractères, on pourra définir un type de saisie (c par exemple) ne comprenant que les caractères énumérés ci-dessus et écrire le test:

If format$("K:3#5c", CH1) <> " " : # (huit espaces)
# La conformité est correcte
Endif

 

Erreurs associées

Erreur

Description

ERMODE (10)

Les arguments ne sont pas de type alphanumérique.

 

Mots-clés associés

FORMAT$