PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → URGENT : Pb de Masque de Saisie limité
URGENT : Pb de Masque de Saisie limité
Iniciado por scatheli, set., 20 2005 2:08 AM - 4 respostas
Publicado em setembro, 20 2005 - 2:08 AM
Bonjour,
Je souhaite effectuer un controle "masque de saisie" sur un champ de type alpha/num avec pour uniques valeurs possibles :

A-B-C-D-0-1-2-3-4-5-6

sous la forme :

4 caractères + . + 4 caractères

Merci à tous pour votre aide...
ALexis
Publicado em setembro, 20 2005 - 8:10 AM
Il faut utiliser les expressions régulières (voir documentation)
Publicado em setembro, 20 2005 - 11:28 AM
Bonjour,

Avec un masque de saisie, je ne vois pas trop comment faire. Sinon, un
contrôle en cours de frappe, ou bien en sortie de champ, en utilisant
les expressions régulières, tu devrais t'en sortir non?

Bon courage,

Céline.

Alexis a écrit:
Bonjour,
Je souhaite effectuer un controle "masque de saisie" sur un champ de type alpha/num avec pour uniques valeurs possibles :

A-B-C-D-0-1-2-3-4-5-6

sous la forme :

4 caractères + . + 4 caractères

Merci à tous pour votre aide...
ALexis
Publicado em setembro, 20 2005 - 11:34 AM
Salut

Pour commencer tu peux définir le masque suivant : "AAAA.9999".
Un premier niveau de filtrage sera réalisé.

Ensuite il faudrait ajouter un contrôle dans le code "A chaque
modification du champ".

Peut-être qu'une expression régulière pourrait t'aider. Pas trop
utilisé, mais c'est une piste.

Ciao
Pat Biker
http://wdgotcha.atspace.com
Publicado em setembro, 21 2005 - 11:30 AM
Bonjour,
Ce code permet de controler la Saisie dans champs texte

// Contrôle du nom fourni
Chi est une chaîne
Pos est un entier
Err est un entier
Chi=moimeme
Err=Faux // Pour reprendre la saisie en cas d'erreur
// position du curseur
Pos=moimeme..Curseur
Pos=Pos-1
SI Pos>0
SI Milieu("LLLL.CCCC",Pos,1)="C" ALORS
SI Position("123456",Chi[[Pos]])<1 ALORS
Erreur("Il faut un chiffre (1 à 5) à cette position")
Err=Vrai
FIN
FIN
SI Milieu("LLLL.CCCC",Pos,1)="L" ALORS
SI Position("ABCD",Chi[[Pos]])<1 ALORS
Erreur("Il faut une lettre (A à Z) à cette position")
Err=Vrai
FIN

FIN
SI expos<Pos
SI Milieu("LLLL.CCCC",Pos+1,1)<>"L" ET Milieu("LLLL.CCCC",Pos+1,1)<>"C"
ALORS
SI Milieu(moimeme,Pos+1,1)<>Milieu("LLLL.CCCC",Pos+1,1)
moimeme=Milieu(moimeme,1,Pos+1)+Milieu("LLLL.CCCC",Pos+1,1)+Milieu(moimeme,Pos+1)
moimeme..Curseur=Taille(moimeme+1)
moimeme..FinCurseur=Taille(moimeme+1)
FIN
FIN
FIN
SI Err ALORS
// Retour de la dernière valeur valide et retour en saisie
Pos=moimeme..Curseur
moimeme=moimeme..Note // Utilise la sauvegarde dans les notes
moimeme..Curseur=Pos // Replace le curseur
RepriseSaisie("")
SINON
// Mémorise la valeur correcte pour la restituer en cas d'erreur
moimeme..Note=moimeme
FIN
expos=Pos
FIN

C'est de l'ancien code WD5.5 a revoir peut-etre
Patrick




e de news: 432f3e42$1@news.pcsoft.fr...

Bonjour,
Je souhaite effectuer un controle "masque de saisie" sur un champ de type
alpha/num avec pour uniques valeurs possibles :

A-B-C-D-0-1-2-3-4-5-6

sous la forme :

4 caractères + . + 4 caractères

Merci à tous pour votre aide...
ALexis