Timer avec textbox heure et minute

Résolu
danielgipn - 27 nov. 2012 à 20:22
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 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,
A voir également:

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 nov. 2012 à 20:49
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 nov. 2012 à 20:51
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
3
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
27 nov. 2012 à 21:32
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
3
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,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
28 nov. 2012 à 10:20
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.
0
Rejoignez-nous