Un compteur Label ?

YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007 - 13 sept. 2005 à 21:48
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012 - 13 sept. 2005 à 23:54
Bonjour a tous,

J'ai tout essayé :( je suis pas capable de le faire...

Voici ce que j'essai de faire :
Je veux avoir une sorte de Compteur qui dit dans un Label 5.. 4.. 3.. 2.. 1.. GO !

donc voila ce que j'ai essayé...

Private Sub Form_Load()
Timer1.Interval = 1 ' Définit l'intervalle.

Private Sub Timer1_Timer()
lblReady.Caption = "5"

If lblReady.Caption = "5" Then
lblReady.Caption = "4"
End If

If lblReady.Caption = "4" Then
lblReady.Caption = "3"
End If

Etc...

If lblReady.Caption = "1" Then
lblReady.Caption = "GO"
End if

Alors quand j'arrive pour exécuter mon programme, il m'affiche seulement GO et ne compte pas ... Quelqu'un peut m'aider svp ?

4 réponses

phoenix_91 Messages postés 14 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 1 septembre 2008
13 sept. 2005 à 22:01
Dim cpt as integer

Private Sub Form_Load()
cpt = 5
lblReady.Caption = cpt
Timer1.Interval = 1000 'L'interval est en millisecondes
end sub

Private Sub Timer1_Timer()
cpt=cpt-1
lblReady.Caption = cpt
if cpt=0 then
timer1.interval=0
lblReady.caption="Go"
End if
end sub
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
13 sept. 2005 à 22:08
Heuuu essai déjà de mettr un interval plus long que 1 au timer car là tu n'a pas le temps de le voir passer, met par exemple 1000 (1sec)
Ensuite ne met pas la ligne lblReady.caption="5" définit le directement dans les propriétés.
ensuite utilise plutôt un Select Case pour afficher le nouveau numéro. comme ceci :

With lblReady
Select Case .caption
case "5"
.caption="4"
case "4"
.caption="3"
case "3"
.caption="2"
case "2"
.caption="1"
case "1"
.caption="Go !"
End select
end with

sinon tu as cette solution :

'[Propriétés du Timer]
Interval=1000
Enabled=false

'[Général]
Private Count as Byte

Private Sub From_Load()


timer1.enabled=true 'Active le timer
Count=5


End Sub

Private Sub Timer_Timer()


count=count-1


lblready.caption=count


if count=0 then


lblready.caption="Go !"


timer1.enabled=false


End sub


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
13 sept. 2005 à 22:09
Ok Phoenix, t le + rapide ;)


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
13 sept. 2005 à 23:54
Je te conseil d'utliser le mode PAS A PAS (F8) parce que si tu trouve l'erreur de toi meme tu aura fait un grand pas ;)

Que se passe t il dans ton code ... Timer1.Interval 1 ' Définit l'intervalle. [Erreur: c'est beaucoup trop rapide 1000 1 seconde]

Private Sub Timer1_Timer() ' [appel de procedure par ton timer, cette procedure est executé rapidement tout les X milliseconde (interval) ]
lblReady.Caption = "5" ' [ ton label contient maintenant "5" ]
If lblReady.Caption "5" Then '[ si label contien "5" (ce qui es le cas) alors label "4" ]
lblReady.Caption = "4"
End If

etc etc.... tu peux mettre des exit sub pour bien comprendre le fonctionnement
If lblReady.Caption "5" Then '[ si label contien "5" (ce qui es le cas) alors label "4" ]
lblReady.Caption = "4"
exit sub
End If
0
Rejoignez-nous