Utilisateur anonyme
-
Modifié le 30 déc. 2010 à 15:09
cs_akzo
Messages postés133Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 3 janvier 2015
-
30 déc. 2010 à 15:09
Bonjour,
J'ai écris un programme VB.net qui tourne 24h/24h et qui dois exécuter des actions à des heures précises.
Je veut par exemple que tous les jours à 15:25:00 il m'ouvre une playlist musicale.
J'ai donc créé un timer à Interval de 1000 pour vérifier à chaque "Tick" si l'heure de maintenant est égale à 15:25:00.
Généralement ça fonctionne très bien, seulement, parfois, comme hier, il a passé l'heure sans exécuter l'action. Comme s'il avait passé ma seconde sans rien faire.
Comment est-ce possible ? Y a t'il une solution plus précise ?
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 27 déc. 2010 à 14:05
Salut
C'est possible que quand l'évenement timer_tick
a été relevé et que tu verifies l'heure
l'heure à comparer est déjà passer
l'évenement du timer est relevé en théorie toute
les timer.interval que tu as défini mais seulement pas avant d'avoir terminé la sub ou la
fonction
Faut il que le playlist soit executé à la seconde précise ?
Si non
Tu peux peut etre verifier si l'heure est entre
15:25:00 et 15:25:03 et exécuter le playlist
un truc du genre
if time >= 15:25:00 and time <= 15:25:03 then
if not playlistjoue then 'playlistjoue boolean variable indique si le playlist joue
exécute playlist
end if
end if
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 27 déc. 2010 à 22:42
non au contraire diminues ton interval à 1
comme ça tu as plus de chance de saisir l'heure
parce que dans ce cas l'évenement tick est relevé
tous les 1 milisecondes environ
donc tous les millisecondes tu verifies l'heure
cs_akzo
Messages postés133Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 3 janvier 20153 30 déc. 2010 à 15:09
Salutation,
En connaissant l'heure de ton action tu pourrais ne pas faire de teste sur l'heure au niveau de ton timer durant les 24 heures car cela prend de la ressource.
Fait donc un teste juste 15 secondes avant l'heure choisie
15:25:00 = 55500 donc a 55485 secondes tu controles ton heure jusqu'a ce que l'action soit faite tu compare ton 55485 a heure du PC tranformer en seconde comme ca pas besoin de compter sur le timer.
bonne continuation