Incrementation variable

Résolu
nico621985 Messages postés 10 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 13 mars 2009 - 11 mars 2009 à 14:52
anwar666 Messages postés 24 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 12 juillet 2010 - 8 août 2009 à 11:55
bonjour,
J'ai un petit souci!!
Voila, je dispose d'un bouton et d'un label, je desire incrementer une variable en boucle tant que le bouton est enfoncer. La valeur de cette variable doit etre afficher instantanément dans le label.
J'ai essayé avec le Timer, mais sans succes car on observer le resultat uniquement quand le bouton était relacher.
Merci d'avance

6 réponses

Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
11 mars 2009 à 15:26
Dim i As Long

Function LoopMe(bb As Boolean)
    If bb = True Then
        i = 0
        While Not i = -1
            i = i + 1
            Me.Caption = CStr(i)
            DoEvents
        Wend
    Else
        i = -1
    End If
End Function

Private Sub Command1_Click()
    i = -1
End Sub

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    LoopMe True
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    LoopMe False
End Sub
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 mars 2009 à 15:22
Salut
En fait, il n'y a pas de propriété qui te dise si un bouton est enfoncé par la souris ou pas.
Il faut donc le construire :
Dans la déclaration générale de ta forme, tu ajoutes :
   Private bBoutonOn As Boolean = False
Ensuite, dans le monBouton_MouseDown, tu montes la mémoire
   bBoutonOn = True
Et dans le monBouton_MouseUp, tu le fais disparaitre
   bBoutonOn = False
Dans ton Timer, tu n'as plus qu'à incrémenter ta valeur si le bBoutonON est à True

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
11 mars 2009 à 15:28
j'ai oublié un truc dans mon test ^^
tu peux enlever

Private Sub Command1_Click()
    i = -1
End Sub
0
nico621985 Messages postés 10 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 13 mars 2009
11 mars 2009 à 15:44
Merci bien, le morceau de code fonctionne impacablement!!! par contre, un petit changement en cas d'utilisation du vb net (petit oubli de ma part, je ne l'avais pas précisé)
Remplacer:
DoEvents
Par:
System.Windows.Forms.Application.DoEvents()
0

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

Posez votre question
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
12 mars 2009 à 00:25
De rien, et oui... je suis resterai au VB6

Au lieu de se rapprocher d'un langage machine simplifié à la nouvelle technologie,
Microsoft se met a cuisiner. Au plat du jour: des spaghettis à la sauce VB10 !

C'est du genre:

Dim MonTruc as Function(byref atyou as long) as String
                             private property Bordel as news List(of string) from {"c","vraiment","nimporte","koi"} with
                             cnull = {0,0,0}
                             from Bordel in { "c" } order by "vraiment" lenght Select "nimporte"
                             Array ForEach("koi" function(2010); msgbox("Au Secour !"))
                          End Function
0
anwar666 Messages postés 24 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 12 juillet 2010
8 août 2009 à 11:55
salut !!!

j'ai besoin du code d'incrémentation de la variable dans un label avec le code vb.net !!
il y'a quelqu'un qui a une solution ???
mèrci !!
0
Rejoignez-nous