Comment fonctionne la commande mask pour une rextbox?

nounours_ Messages postés 3 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 5 février 2005 - 3 févr. 2005 à 21:09
nounours_ Messages postés 3 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 5 février 2005 - 5 févr. 2005 à 13:45
Bonsoir,
mon prob est le suivant en vb6:
j'ai une textbox que je désire formetter de manière suivante poour que l'utilisateur entre les données de manière correcte :
###.##.###.###
Je crois savoir qu'il existe une "fontion" mask, mais je ne sais pas l'utiliser.

Merci d'avance pour tout conseil

nounours

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
3 févr. 2005 à 21:48
Salut, je pense que ce dont tu veux parler c'est un contrôle MaskedBox que tu peux avoir en cochant "Microsoft Maket Edit Control 6.0" dans le menu "Projet/Composants".
Mais comme je n'aime pas ce composant et que je ne l'utilise pas, je vais te laisser le découvrir.
Cherche sur le site, il doit bien y avoir un accro de ce genre de controle.

Cordialement, CanisLupus
0
ordipard Messages postés 155 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 12 novembre 2009
4 févr. 2005 à 18:27
ds les propriétés de ta textbox il ya une fonction password, tu met "true"

en esperant tavoir aider
+ + + +
0
nounours_ Messages postés 3 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 5 février 2005
4 févr. 2005 à 19:48
pas la peine de me répondre une connerie de ce genre. Si au moins tu disais pourquoi tu n'aimes pas ce genre de contrôle et par quoi tu l'as remplacé, resp. ce que tu préconises , tu serais utile. Sinon tais-toi et vas jouer ailleurs !!!

Bien à toi
nounours
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
4 févr. 2005 à 21:46
nounours, pas la peine d'être aussi hargneux, je t'ai indiqué un contrôle qui peut faire ce que tu as demandé.
J'ai juste ajouté que je ne m'en sers pas et que tu peux avoir des infos sur le site. La connerie, c'est pas ma réponse c'est ta fainéantise de chercher.
Et puis, pour paraphraser un autre intervenant du forum : "Un con qui marche va plus loin qu'un intello assis !"

D'ailleurs, compte le nombre de réponses que tu as eu. J'ai peut-être fait une erreur en répondant à ton post, finalement ! J'en connais d'autres qui auraient pu te répondre et qui ne s'y sont même pas abaissés !!!.

Mais, passons !

S'il faut que je m'explique, c'est bien simple, je l'ai testé ce contrôle et ça m'a toujours foutu le bordel car il faut que l'utilisateur saisisse exactement dans le format que tu as défini et là c'est pas gagné. (c pas à l'utilisateur de se conformer aux règles du programmeur mais au programmeur de prendre en compte les possibles erreurs de l'utilisateur. C'est ça le secret d'un bon prog.)

Un exemple :
Ton format : ###.##.###.### qui ressemble à un format d'IP (sauf que l'ip c plutôt, pour l'instant, ###.###.###.###)

si l'IP est 198.161.15.1 il faut que l'utilisateur saisisse 198.161.015.001 sinon, s'il saisit, comme tout le monde le fait, 198.161.15.1 dans ta textbox formattée, tu auras 198.161.151.___ et là ça marche plus et ça te plante ton prog.

tu comprends maintenant pourquoi je n'aime pas ce contrôle ?

tu peux faire l'essai avec le controle maskedbox en mettant ton format dans sa propriété mask.

perso, je préfère encore maitriser au maxi la saisie dans le keypress d'une textbox normale dans le genre pour l'exemple de la saisie d'une ip :

Private Sub Text1_KeyPress(KeyAscii As Integer)


' pour interdire les saisies autres que 0 à 9 et "."
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 Then KeyAscii = 0
' pour tester un minimum la saisie des .
' pas de "." au début, pas +sieurs "." de suite et pas + de 3 chiffres de suite
If KeyAscii = 46 Then If Len(Text1) 0 Or Right$(Text1, 1) "." Then KeyAscii = 0
Else
If Len(Text1) > 0 And InStrRev(Text1, ".") < (Len(Text1) - 2) Then KeyAscii = 0
End If

End Sub

Maintenant, à la validation, il faut que tu contrôles aussi si c'est une adresse IP valide. Mais ça sera pareil avec une Maskedbox.

Et si ma réponse ne te convient pas, j'en suis désolé mais lors de mon 1er post, je ne t'ai pas insulté, contrairement à toi !

Sois plus cool la prochaine fois.

Cordialement, CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nounours_ Messages postés 3 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 5 février 2005
5 févr. 2005 à 13:45
Salut CanisLupus

OK je me suis emporté, mais ça trois jours que je cherche des infos sur
ce foutu contrôle. Le Chat de VB tu peux l'oublier : aucune réponse. Et c'est
ce qui m'a mis en rogne dans ta réponse. Cherche toi-même et tu verras ce
que tu trouves ! Tu te fatigueras peut-être plus que moi.

Merci de t'être abaissé et à persister dans ce tu appelles "ta connerie".
Au moins maintenant j'ai un avis clair et que je peux partager. Et un bout de
code, ce qui est encore mieux.

Je ne suis pas un apprenti hacker, mais je me suis remis à la programmation
pour me divertir après quelques années à faires d'autres études.
J'ai programmé des tonnes d'applications commerciales sous, PL1, Turbo
Pascal et dBase3+ et j'ai dirigé aussi pas mal de gros projets informatiques
(ce qui ne veut que dire que je maîtrise la gestion de projet et non pas néces-
sairement leur objet).

Dans le cadre d'un nouveau job, j'ai eu l'idée de créer une appli qui calcule
un éventuel droit à une rente compensatoire lorsque la rente ne couvre pas le
minimum vital (t'inquiètes, c'est pas en France, mais dans un petit pays très
riche, où il existe bien plus de pauvres que l'on ne peut le soupçonner). En fait
le masque sert à saisir le numéro d'assuré social, l'équivalent de notre numéro
sécu. Les collaborateurs de ce bureau en sont encore à la calculette, crayon
et gomme et je te le donne en mille : pour quoi faire ? Eh bé, pour contrôler
si l'ordinateur affiche les mêmes résultats que ceux calculés à la main. Si, si ça
existe et c'est en Suisse. Interdiction de se marrer donc.

Merci à toi et bon weekend
Cordialement
nounours
0
Rejoignez-nous