Timer

MaCFerson Messages postés 21 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 4 décembre 2004 - 22 déc. 2002 à 03:32
MaCFerson Messages postés 21 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 4 décembre 2004 - 22 déc. 2002 à 14:01
Bonjour voila j'ai un ptit souci je débute en VB et j'ai besoin d'un chtit coup de pouce,

je fais un programme proche de UOloop (les fans de Ultima Online doivent le connaitre) pour les autres le programme doit faire une action toute les X temps (en milliseconde) mais a partir du moment ou j'appuye sur le bouton start et ce jusqu'au moment ou j'appuye sur le button stop

je sais que je dois utiliser un timer mais je ne sais pas comment je dois l'utiliser ni le programmer mes buttons.

si quelqu'un pourrait m'aider ca serait gentil merci

Mc Ferson

5 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
22 déc. 2002 à 04:38
Salut,
Le but est très simple... tu mets un bouton stop et un bouton depart... quand tu clique sur le bouton depart, ca ctive le timer et quand tu clique sur stop ca le desactive..

Pour ce faire procede comme suit :

Private Sub Command1_Click()timer1.interval 1000 ' en miliseconde 1000 ms 1sec
timer1.enabled = true
End Sub

Private Sub Command2_Click()
timer1.enabled = false
End Sub

Voili voilou... Si t'as besoin d'un code prècis fais moi signe...

DeAtH_-_CrAsH
0
MaCFerson Messages postés 21 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 4 décembre 2004
22 déc. 2002 à 06:09
oki, j'ai compris le principe mais ca marche pas comme je voudrais je joins mon code pour savoir quelle est la bétise que j'ai faites loll

Public counter As Integer
-------------------------------------------------------------------
Private Sub com_start_Click()
counter = -1
If Val(text_count) 0 Or IsNumeric(text_count) False Then 'Text_count contient le nombre de fois demandé
text_count_rest = "Infini"
Else
text_count_rest = text_count
counter = Val(text_count)
End If

com_stop.Enabled = True
combo_touche.Enabled = False
text_count.Enabled = False
text_delais.Enabled = False
com_start.Enabled = False

Timer1.Interval = Val(text_delais) 'text_delais contient le delais a tenir compte en milliseconde
if counter <> -1 then
Timer1.Enabled = True
end if

End Sub
-------------------------------------------------------------------
'il contient le traitement à faire tout les x temps
Private Sub Timer1_Timer()
Do While counter > 0
counter = counter - 1
text_count_rest = counter
Loop
End Sub

merci

Mc Ferson
0
MaCFerson Messages postés 21 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 4 décembre 2004
22 déc. 2002 à 06:17
Le prob ici c'est qu'il doit décompter 1 a counter toute les X milliseconde, or ici la premiere fois il me attend bien les x seconde mais après il reste dans la boucle et décompte le reste sans tenir compte du délais....

Mc Ferson
0
AraXeen Messages postés 36 Date d'inscription mardi 3 décembre 2002 Statut Membre Dernière intervention 24 juin 2004
22 déc. 2002 à 11:05
Je pense que ton problème est dans timer1_timer(),
en effet la première fois que ton temps en ms est
atteint, tout ton compteur est décompter à cause du do while
essai plutôt

Private Sub Timer1_Timer()
If counter > 0 then
counter = counter - 1
text_count_rest = counter
End if
End Sub

AraXeen
0

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

Posez votre question
MaCFerson Messages postés 21 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 4 décembre 2004
22 déc. 2002 à 14:01
Merci ca marche au poils :big)

Mc Ferson
0
Rejoignez-nous