PENSSSIUMDK59
Messages postés10Date d'inscriptionvendredi 21 mai 2004StatutMembreDernière intervention 6 octobre 2004
-
28 juin 2004 à 09:57
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 2009
-
28 juin 2004 à 12:37
bonjour a tous !!
voila j'ai un petit prog qui tient sur 5 forms vb6.
et je voudrais qu il y a une temporisation qui se lance lorsque j exécute le programme et qui affiche le temps qui s'écoule ( 00:00 à 59:59) et qui s'affiche sur tts les forms
j ai essayer avec le timer mais j arrive pas a avoir quelque chose decorrect
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 28 juin 2004 à 10:26
Salut PENSSSIUMDK59,
Evite la fonction Sleep qui bloque ton programme pendant le temps voulue : plus aucune instruction ne se fait après l'appel à cette fonction, et je ne pense pas que c'est ce que tu veux.
Le timer permet de faire ce que tu veux : tu règle un intervalle, à 100 ms par exemple, puis dans l'événement Timer, tu lui fait afficher la différence entre l'heure actuelle et une heure de référence.
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 28 juin 2004 à 10:27
Pour ton Affichage du temps
Utiles un timer d'Intervalle 1000
et dans ton code :
Dim Seconde As Integer
Dim Minute As Integer
Private Sub Timer1_Timer()
If Seconde = 60 Then
Minute = Minute + 1
Seconde = 0
End If
Heure = Format(Minute, "00") & ":" & Format(Seconde, "00")
Seconde = Seconde + 1
Label1 = Heure
End Sub
a toi de voir aprés je te donne un debut
It@li@
Vous n’avez pas trouvé la réponse que vous recherchez ?
PENSSSIUMDK59
Messages postés10Date d'inscriptionvendredi 21 mai 2004StatutMembreDernière intervention 6 octobre 2004 28 juin 2004 à 11:50
merci italia c exactement ca que je voulais !!
Dim Seconde As Integer
Dim Minute As Integer
Private Sub Timer1_Timer()
If Seconde = 60 Then
Minute = Minute + 1
Seconde = 0
End If
Heure = Format(Minute, "00") & ":" & Format(Seconde, "00")
Seconde = Seconde + 1
Label1 = Heure
End Sub
Mais seulement je voudrais l'afficher sur plusieurs form !
Je m'explique :
lorsque je lance le prog ca m affiche la form1 et le temps écoulé est affiché
et ensuite je lance la form2 et je voudrais continuer a afficher le temps écoulé de tout a l heure et ainsi de suite sur ttes les forms de mon prog
faudrait enregistrer le temps écoulé dans une variable et relancé la tempo sur la form suivante mais ca je vois pas comment faire ???
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 28 juin 2004 à 12:03
Le fait de rendre les variable publiques permet de récupèrer leur valeur dans chaque feuilles, certes, mais ne permet par de mettre à jour les labels comme il faut ! Alors au lieu d'inclure un timer dans chaque feuille, ce qui est loin d'être optimisé, je te conseille plutôt de mettre à jour tes labels à partir de l'événement Timer de ton Timer :
Private Sub Timer1_Timer()
If Seconde = 60 Then
Minute = Minute + 1
Seconde = 0
End If
Heure = Format(Minute, "00") & ":" & Format(Seconde, "00")
Seconde = Seconde + 1
Label1.Caption = Heure
Form2.Label1.Caption = Heure
Form3.Label1.Caption = Heure
'etc.
End Sub
De plus, ne t'attend pas à avoir une heure qui se raffraichit en même temps que l'horloge système !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 28 juin 2004 à 12:23
Oui, le timer vient chercher les minutes et secondes, mais ca oblige, d'un, à utiliser 2 variables globales, ce qui n'est pas treès rigoureux, surtout pour ce genre de manip (on peux largement s'en passer !), et de deux : ca oblige de mettre un timer sur chaque feuille, ce qui donne au final une occupation processeur dont on peux se passer !
Ma méthode peut être optimisé en testant, pas exemple, si chaque feuille est visible, ainsi, pas besoin de les charger en mémoire, et on soulage l'occupation processeur !
Beaucoup de monde trouve le VB lent, mais si on n'optimise pas ses méthodes, c'est sur qu'il restera lent ! (sans vouloir te vexer bien entendu ;-)