Timer avec textbox heure et minute [Résolu]

- - Dernière réponse : cs_ShayW
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
- 28 nov. 2012 à 10:20
bonjour, je suis sur un projet de player radio et j'aimerai mettre un timer qui permettra d'arrêter la lecture et/ou de fermer le programme. Pour cela, j'ai donc fait une textbox pour que l'utilisateur puisse entrer le nombre d'heure et idem pour les minutes, donc 2 textbox. une fois ces textbox complétées, je voudrais qu'elles soient "redirigé" vers un Timer1.interval = (ici ce serais le nombre d'heure et de minutes converties en millisecondes). comment peut-on convertir à partir d'une textbox "heure" et d'une autre textbox "minute" ces données en millisecondes pour être compatible avec Timer1.interval = ... ?

Merci d'avance,

Cordialement,
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
3
Merci
Bonjour,
Pazr une simple opération arithmérque :
60 minutes par heure
60 secondes par minute
1 seconde par seconde !
1000 millisecondes par seconde

et du coup :
comment peut-on convertir à partir d'une textbox "heure" et d'une autre textbox "minute" ces données en millisecondes pour être compatible avec Timer1.interval = ... ?

n'a plus vraiment de sens, puisque tu limites ainsi ta précision à des minutes !!!
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
3
Merci
J'appelle par ailleurs ton attention sur le fait que dans un tel cas, ce n'est pas l'interval du timer, qui importe. Mets-le donc à ce que tu veux (au minimum, si tu le souhaites)à et vérifie à chaque tick si l'heure est dépassée ou non ... Non ???

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
3
Merci
Salut
exactement comme dit Ucfoutu
parce si tu écris
t = h*3600*1000
Timer1.interval = h
cela veut dire que l'évenement tick de ton timer
se relevé toute les h et ce n'est pas ce que tu veux mais verifier toutes les laps de temps
disons 1 milli si l'heure n'est pas dépasser
utilise la class datetime
Dim thetime As New DateTime
'obtenir l'heure actuel
thetime = DateTime.Now

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_ShayW
0
Merci
Bonjour ,et merci à tous pour vos réponses. En fait je pensais faire ce timer pour qu'après une heure et 2 minutes par exemple, le programme se ferme. L'utilisateur aura effectivement programmé l'heure et les minutes dans 2 textbox. Donc visiblement, d'après vos réponses , je ne doit pas utiliser timer1.interval = ...
Comment puis-je alors programmer un timer depuis 2 textbox pour effectuer une action comme arrêter le programme ou éteindre l'ordinateur ?

Merci par avance,

Cordialement,
Commenter la réponse de danielgipn
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
0
Merci
D'abord ne clique pas réponse acceptée si la
discussion continue

je ne doit pas utiliser timer1.interval = ...


si tu dois l'utiliser d'abord il faut que tu comprennes le fonctionnement du timer
citation du cours de Lassere

Pour déclencher un évènement à intervalle régulier, il faut utiliser les minuteries ou 'Timer'.

Prendre le contrôle Timer dans la Boite à outils, l'ajouter à la fenêtre. Il apparaît en bas sous la fenêtre dans la barre d'état des composants.

Il n'apparaît pas à l'utilisateur dans la fenêtre en mode Run.

Il est très simple à utiliser.

La propriété Interval contient la périodicité de l'événement Ticks , évènement qui se déclenche régulièrement.

Interval est en millisecondes. Pour Interval=500 l'évènement Ticks se déclenche toutes les 1/2 secondes.

Start et Stop déclenche et arrête la minuterie (De même Enabled active ou non ).


Exemple:

Faire clignoter un label toutes les 1/2 secondes.

Créer le label1

Ajouter un Timer1 (qui se place en bas sous la fenêtre).


Private Sub Form3_Load(...)

    Timer1.Interval = 500

    Timer1.Start()

End Sub
 

Private Sub Timer1_Tick(..)

    Label1.Visible = Not (Label1.Visible)

End Sub

Un évènement Timer_Tick se produit toutes les 1/2 secondes et inverse la valeur de la propriété visible du label. (Si elle était égale à True, elle devient égale à False et vice versa.)


Mais attention: Timer à des restrictions de taille:
Si votre application ou une autre demande beaucoup au système (boucles longues, calculs complexes, accès intensifs à un périphérique, un réseau ou un port, par exemple), les événements de minuterie peuvent être moins fréquent que spécifié dans la propriété Interval. Il n'est pas garanti que l'intervalle s'écoule dans le temps exact!!
L'intervalle peut être compris entre 1 et 64 767 millisecondes: l'intervalle le plus long ne dépasse pas de beaucoup la minute (64,8 secondes).
Le système génère 18 graduations à la seconde (même si la valeur de la propriété Interval est mesurée en millisecondes, la véritable précision d'un intervalle ne dépassera pas un dix-huitième de seconde).
Donc pour faire clignoter un label :OUI

Pour compter précisément un intervalle de temps:NON

Mais il y a d'autres méthodes.
Commenter la réponse de cs_ShayW

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.