MaCFerson
Messages postés21Date d'inscriptiondimanche 20 octobre 2002StatutMembreDernière intervention 4 décembre 2004
-
22 déc. 2002 à 03:32
MaCFerson
Messages postés21Date d'inscriptiondimanche 20 octobre 2002StatutMembreDerniè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
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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...
MaCFerson
Messages postés21Date d'inscriptiondimanche 20 octobre 2002StatutMembreDerniè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
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
MaCFerson
Messages postés21Date d'inscriptiondimanche 20 octobre 2002StatutMembreDerniè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....
AraXeen
Messages postés36Date d'inscriptionmardi 3 décembre 2002StatutMembreDernière intervention24 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
Vous n’avez pas trouvé la réponse que vous recherchez ?