jeudi, mars 30, 2006

WinDev : Fonction VérifieExpressionRégulière

Comment vérifier qu'une chaine de caractère de ne contient de caractère spéciaux et vérifie un format déterminé. La fonction VérifieExpressionRégulière permet de vérifier que la chaine passée en paramètre repond au format.

Par exemple : On veut faire une recherche sur des fichiers. Le filtre appliquer est de la forme :
Toto*.pdf

sfiltre est une chaine = "Toto*.pdf"
SI PAS VérifieExpressionRégulière(sfiltre ,"[-.\*a-z0-9]+[.][\*a-z0-9]{1,10}") ALORS
Erreur("Le filtre ne correspond pas au format",sfiltre )
SINON
gsExtCh = sDem
FIN

Explication de [-.\*a-z0-9]+[.][\*a-z0-9]{1,10}

1 - la première partie [-.\*a-z0-9]+ autorise les lettres a à z, les chiffres de 0 à 9 ainsi que les symboles '-', '.' et '*'. le caractère '\' est ici un caractèr d'échapement sinon '*' n'est pas considéré comme le symbole. le '+' signifie que l'on peut avoir plusieurs fois les caractères et symbole défini entre les crochets précédent

2 - la partie [.] indique que ce caractères doit correspondre à un point

3 - la dernière partie [\*a-z0-9]{1,10}. Le contenu entre crochets à la même signification que dans la première partie.
{1,10} signifie que la chaine peut contenir 1 à 10 caractères

Aucun commentaire: