Decompte 10...9...8

wischristee Messages postés 4 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 10 octobre 2005 - 8 oct. 2005 à 12:35
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 8 oct. 2005 à 14:02
Salut,

Je cherche à faire un decompte en affichant le decompte dans un TextBox : 10...9...8...7...6...5...4...3...2...1 est ce que quelqu'un sais comment faire ?

Merci d'avance

7 réponses

draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
8 oct. 2005 à 12:42
pour un decompte a chaque seconde:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
dim depart as long
dim arrivee as long
dim i as long
Arrivee = 0
depart = 10

for i = depart to arrivee step -1
text1.text = i
Sleep 1000
doevents
next i

@+
Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
wischristee Messages postés 4 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 10 octobre 2005
8 oct. 2005 à 12:53
Merci de ta réponse...

Sa m'affiche un Compile error. Invalid outside procedure ?

Tu sais d'ou sa peux venir ? J'suis débutant en VB.
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
8 oct. 2005 à 12:55
Eh wai sorry change Public sub sleep...
par Private sub sleep ...... ;)
Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
8 oct. 2005 à 12:57
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Private Sub Command1_Click()
Dim depart As Long
Dim arrivee As Long
Dim i As Long
arrivee = 0
depart = 10


For i = depart To arrivee Step -1
Text1.Text = i
Sleep 1000
DoEvents
Next i



End Sub

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0

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

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
8 oct. 2005 à 13:32
Salut,

Humm, sleep suspend l'exécution du thread (du prog en cours) et le doevents ne sert pas à grand chose, vaut peut-être mieux utiliser un controle timer (ou les api timer) dans ce cas ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
8 oct. 2005 à 13:48
Tout a fait pour le Timer, bien que cela depend de ce quon doit faire...

Pour le Doevents, je ne l'aurai pas mis pour moi non plus dans ce cas mais si il venait a changer Sleep 1000 par Sleep 1 c'est preferable (il a presiser etre debutant ;) )

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
8 oct. 2005 à 14:02
Bonjour,

Je te conseil plutot un Label qu'un TextBox à cause du clignotement du
curseur, pendant le décompte. Tu places un contrôle Timer et un TextBox
(ou Label) sur ta Form.



Option Explicit

Dim compteur As Integer



Private Sub Form_Load()

compteur = 10

Text1.Text = compteur

Timer1.Interval = 1000 'L'interval est en millisecondes

End Sub



Private Sub Timer1_Timer()

compteur = compteur - 1

Text1.Text = compteur

If compteur = 0 Then

Timer1.Interval = 0

Text1.Text = "Go"

End If

End Sub



jpleroisse





Si une réponse vous convient, cliquez Réponse Acceptée.
0
Rejoignez-nous