Incrementation variable [Résolu]

nico621985 10 Messages postés vendredi 23 janvier 2009Date d'inscription 13 mars 2009 Dernière intervention - 11 mars 2009 à 14:52 - Dernière réponse : anwar666 24 Messages postés jeudi 21 février 2008Date d'inscription 12 juillet 2010 Dernière intervention
- 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
Afficher la suite 

Votre réponse

6 réponses

Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention - 11 mars 2009 à 15:26
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Duke49
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 11 mars 2009 à 15:22
0
Utile
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)
Commenter la réponse de cs_Jack
Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention - 11 mars 2009 à 15:28
0
Utile
j'ai oublié un truc dans mon test ^^
tu peux enlever

Private Sub Command1_Click()
    i = -1
End Sub
Commenter la réponse de Duke49
nico621985 10 Messages postés vendredi 23 janvier 2009Date d'inscription 13 mars 2009 Dernière intervention - 11 mars 2009 à 15:44
0
Utile
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()
Commenter la réponse de nico621985
Duke49 553 Messages postés jeudi 12 octobre 2006Date d'inscription 6 juin 2015 Dernière intervention - 12 mars 2009 à 00:25
0
Utile
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
Commenter la réponse de Duke49
anwar666 24 Messages postés jeudi 21 février 2008Date d'inscription 12 juillet 2010 Dernière intervention - 8 août 2009 à 11:55
0
Utile
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 !!
Commenter la réponse de anwar666

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.