Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour à tous
Voilà, j'ai 2 zones que je dois créer avec un mask.
Dans la première, on ne peut saisir que du numéric sur 4 positions maxi.
Donc, le Editmask dans la datawindow va prendre ####.
ça, ça marche
Par contre, ma deuxième colonne ne peut prendre que des caractères de A à Z. Donc, pas de numérique, la longueur est d'un caractère.
Quand je regarde les types de Editmask, i ly a 'a' pour alphanumeric et 'x' pour tout caractère .
Donc, je pensais que le 'x' allait être l'option à prendre, mais finalement, je peux toujours saisir un chiffre. Donc, d'une part, je ne vois pas la différence entre l'alphanumeric (a) et le tous caractères (x) et d'autre part, ça ne résoud pas mon problème.
Je ne vois pas quelle valeur mettre dans mon EditMask pour n'avoir que du caractère..
Je précise que là, je suis en Powerbuilder 8.
J'ai tenté dans le PowerScript, avec la propriété SetMask en la mettant à StringMask! comme indiqué ici:
http://infocenter.sybase.com/help/index … EEACAJ.htm
ça compile, mais ça plante à l'éxécution
J'ai essayé aussi le [a-z], mais ça ne fonctionne pas.
Avez-vous une solution pour que mon EditMask ne soit qu'un seul caractère de A à Z (pas de numéric)
Merci d'avance pour votre réponse.
Hors ligne
salut,
tu dois mettre ca, sur la colonne 'validation expression' de ta dw :
match(gettext(), '^[A-Z]$')
il faudra gerer le message d'erreur. dans la colonne 'validation message'
A++
ca marche sous pb7
Hors ligne
pick ouic a écrit:
salut,
tu dois mettre ca, sur la colonne 'validation expression' de ta dw :Code: pb
match(gettext(), '^[A-Z]$')
il faudra gerer le message d'erreur. dans la colonne 'validation message'
A++
ca marche sous pb7
Salut Pick ouic
Merci pour ta réponse..
Qu'appelles-tu colonne 'validation expression' ?
Hors ligne
tu ne connais pas 'initial value' et autres ?
tu peux voir cela, en affichant la vue "columns specifications" de ta dw.
sinon, tu regardes dans l'aide en ligne.
a+
Hors ligne
pick ouic a écrit:
tu ne connais pas 'initial value' et autres ?
tu peux voir cela, en affichant la vue "columns specifications" de ta dw.
sinon, tu regardes dans l'aide en ligne.
a+
Ah OK, d'accord.. merci de m'avoir éclairé.
Je connaissais bien Columns specifications, mais je l'avais toujours utilisé pour les Initial Value.
J'avais pas fait attention au reste.
Merci
Je vais tester ça..
Hors ligne
Donc, ça marche en grande partie. Merci beaucoup.
Dans Validation Expression, j'ai mis ceci comme tu m'as dit:
match(gettext(), '^[A-Z]$') or match(gettext(), '^[a-z]$')
A l'exécution, quand j'arrive dans la colonne concernée, si je tape un caractère autorisé, je peux passer à la saisie de la colonne suivante.
Par contre, si je saisi un chiffre, là, impossible de continuer tant que je n'ai pas modifié ma saisie. donc OK
J'ai donc rajouté un message dans 'Validation Message' du style 'veuillez ne saisir que des caractères de A à Z'.
ça marche bien quand je reste dans l'éditeur de PB, mais dès que j'exécute l'application, là, le message n'apparait pas. Je teste bloqué sur la colonne où j'ai saisi un numéric non autorisé comme avant, quand je n'avais pas mis un message d'erreur dans 'Validation message'
Ai-je oublié quelque chose ?
Hors ligne
match(gettext(),'^[a-zA-Z]$')
? :P
Hors ligne
Kalini a écrit:
Donc, ça marche en grande partie. Merci beaucoup.
Dans Validation Expression, j'ai mis ceci comme tu m'as dit:Code: pb
match(gettext(), '^[A-Z]$') or match(gettext(), '^[a-z]$')
A l'exécution, quand j'arrive dans la colonne concernée, si je tape un caractère autorisé, je peux passer à la saisie de la colonne suivante.
Par contre, si je saisi un chiffre, là, impossible de continuer tant que je n'ai pas modifié ma saisie. donc OK
J'ai donc rajouté un message dans 'Validation Message' du style 'veuillez ne saisir que des caractères de A à Z'.
ça marche bien quand je reste dans l'éditeur de PB, mais dès que j'exécute l'application, là, le message n'apparait pas. Je teste bloqué sur la colonne où j'ai saisi un numéric non autorisé comme avant, quand je n'avais pas mis un message d'erreur dans 'Validation message'
Ai-je oublié quelque chose ?
Attention au code retour de ton ItemError sur ton control DW.
0 (Default) Reject the data value and show an error message box
1 Reject the data value with no message box
2 Accept the data value
3 Reject the data value but allow focus to change
Car si tu demandes de ne pas afficher les messages d'erreur géré automatiquement, cela n'affichera pas non plus les messages que tu as ajouté dans l'objet DW. Dans ce cas, la gestion du message doit être codé dans l'itemerror...
Hors ligne
Pages: 1