Timer (fiabilité) [Résolu]

Utilisateur anonyme - 27 déc. 2010 à 11:21 - Dernière réponse : cs_akzo 133 Messages postés dimanche 23 juin 2002Date d'inscription 3 janvier 2015 Dernière intervention
- 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 ?

Merci :)

A++
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 27 déc. 2010 à 14:05
3
Merci
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

Merci cs_ShayW 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_ShayW
0
Merci
Oui je pense que c'est la seule solution pour être sur qu'il exécute ma tâche.

ou Agrandir l'interval du Tick toutes les minutes, et ne plus parler en secondes ?

Merci pour ta réponse,
Commenter la réponse de Utilisateur anonyme
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 27 déc. 2010 à 22:42
0
Merci
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
Commenter la réponse de cs_ShayW
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 28 déc. 2010 à 00:17
0
Merci
Consomme trop de ressources ... Ne serait-ce pas une meilleure idée d'utiliser les tâches planifiées de Windows pour ce genre d'actions ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
0
Merci
Hello,

Bonne idée, mais non, j'exécute des codes bien précis. Ca aurait été plus simple en effet :-)

A++
Commenter la réponse de Utilisateur anonyme
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 28 déc. 2010 à 00:27
0
Merci
Ca ne marcherait pas en utilisant les arguments en ligne de commande ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
0
Merci
Non plus.

Je compare dorénavant juste l'heure et les minutes pour être sur.

Merci pour vos réponses

A++
Commenter la réponse de Utilisateur anonyme
cs_akzo 133 Messages postés dimanche 23 juin 2002Date d'inscription 3 janvier 2015 Dernière intervention - 30 déc. 2010 à 15:09
0
Merci
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
Commenter la réponse de cs_akzo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.