begin process at 2008 09 06 00:57:05
1 237 607 membres
9 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Textbox [ Divers / General ] (Sinsitrus)

Textbox le 04/06/2008 10:45:47

Sinsitrus
Salut !

Je voudrais que dans un textbox, quand je met 5 lettres ou chiffre, un tiret se met automatiquement.
C'est en fait pour effectuer un code d'activation.

XXXXX-XXXXX
- XXXXX - XXXXX - XXXXX

En fait, tout au long du code, tant que les caractère ateignent 5, un tiret se met au sixième et nous avons 25 caractère plus les 4 tirets.

Pouvez vous m'aider svp ?
Merci d'avance

----------
OS        : Windows XP SP2
Platforme : VB 6.0 + SP6

Ok VB6.0 c'est pas net !

Re : Textbox le 04/06/2008 10:54:02

Sinsitrus
Sans espace dsl :

XXXXX-XXXXX - XXXXX - XXXXX - XXXXX

Re : Textbox le 04/06/2008 11:00:20

sylvain230
tu pourrais pas créer 5 zones de textes ?

Re : Textbox le 04/06/2008 11:05:27

lillith212
Membre Club
Salut,

Je pense que tu vas devoir traiter ta zone de text à l'aide de la fonction mid
genre :
tu testes la longueur de ta chaine
si elle atteint 5 caracteres alors à la fin de ta chaine tu la concaténes avec un tiret

ou sinon en plus simple tu fait 5 zones de texte que tu bloques à une saisie à 5 et ensuite en traitement tu concatene l'ensemble de type :
dim clé as string
clé = vbnullstring
for i=0 to 4
   clé = clé & textbox1(i).text & "-"
next
Perso je choisirai plus cette deuxieme solution

slb
---------------------------------------------------------------
Il faut beaucoup donner pour recevoir un tout petit peu...
---------------------------------------------------------------

Re : Textbox le 04/06/2008 11:10:45

Exploreur
Membre Club

Salut,

Une autre solution :

Private Sub Text1_KeyPress(KeyAscii As Integer)

Static iNbChar As Integer

iNbChar = iNbChar + 1


If iNbChar = 5 Then
   Text1.Text = Text1.Text & "-"
   Text1.SelStart = Len(Text1.Text)
   iNbChar = 0
End If

End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin


Re : Textbox le 04/06/2008 11:29:18

gillardg
bonjour,
MaskedTextBox est peut-être la solution

édite simplement la propriétée mask selon ton désir je crois que ça donnerait :
mTB1.Mask="00000-00000-00000-00000-00000"

Re : Textbox le 04/06/2008 12:35:46

Sinsitrus
Salut !
Merci a tous !

Explorer, j'ai opté pour ta solution, mais il y'a un problème au début, il me met 4 caractères et 1 tiret puis il continue normal juska me donner 1 tiret a la fin :

KQD8-DU9ZQ-OZ6EC-KIZEY-QSJY7-L


Re : Textbox le 04/06/2008 13:02:59

Sinsitrus
Par contre si je met I=1

Static I As Integer
I = I + 1
If I = 5 Then
   Text1.Text = Text1.Text & "-"
   Text1.SelStart = Len(Text1.Text)

   I = 1
End If


Il me met ca :
2132-1321-3213-1321-3213-1313

Ce qui est juste mais j'aurai opté pour les 5 caractères plutot que 4 !

Re : Textbox le 04/06/2008 13:45:27

Exploreur
Membre Club
lol...car le premier carractère n'est pas encore validé dans le KeyPress ^^

A+
Exploreur

 Linux a un noyau, Windows un pépin


Re : Textbox le 04/06/2008 13:59:53

[Page 1 Page 2]
Classé sous : textbox, met, code, xxxxx, tiret

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS