Comment creer un timer qui fait une action toutes les 5 minutes ?

Comment creer un timer qui fait une action toutes les 5 minutes ? - VB/VBA/VBS - Programmation

Marsh Posté le 22-09-2002 à 12:13:38    

Salut , leneuf avait donné une réponse a ma question , mais le bleme c ke je ne sais pas comment faire . Alors si vous pouviez m'expliquer la marche a suivre ca serait cool . MErci +²


---------------
«/¯Sh0uTzZ_/ /¯AfrOSkatinG_/»
Reply

Marsh Posté le 22-09-2002 à 12:13:38   

Reply

Marsh Posté le 22-09-2002 à 12:15:42    

j'avé oublié de vous dire sur koi je voulais des précision :
J'aimerais faire un timer qui effectue une action toutes les 5 minutes bye :)


---------------
«/¯Sh0uTzZ_/ /¯AfrOSkatinG_/»
Reply

Marsh Posté le 22-09-2002 à 12:32:45    

c la propriété Intervall de l'objet Timer
valeur en ms

Reply

Marsh Posté le 22-09-2002 à 17:43:21    

Faut mettre un objet (contrôle) Timer dans la feuille du projet. propriété Interval donne tempo (comme dit spike), il doit y avoir Timer.Enabled TRUE pour le lancer et FALSE pr l'arrêter.
 
Quand le timer ne peut atteindre la valeur qu'on veut, on peut fixer une horloge de durée facile à gérer (seconde par ex) et prévoir une variable compteur de tours.
 
Quand le timer provoque un signal (timer_timer()), on incrémente cette variable, on compare à la consigne désirée, si pas atteinte, on continue/passe (attente du prochain Timer). Si atteinte, on met cette variable à zéro, on fait ce qu'il faut faire.
 
Le pb à tester est si ce qu'il y a à faire demande plus que l'intervalle du Timer.
 
J'ai un prog en VB3 16 bits qui peut faire un point par heure, ou par jour sur des mois.

Reply

Marsh Posté le 22-09-2002 à 19:29:21    

Je m'explique :
 
(met l'intervalle à 60000)
 
Sub Timer1_timer()
Static compteur as integer 'static et pas dim !!
 
compteur = compteur + 1
 
if compteur = 5 then
'ici ton code (n'est exécuté qu'un fois les 5 minutes écoulées)
timer1.enabled = false
'on arrête le timer
end if
 
end sub

Reply

Marsh Posté le 23-09-2002 à 02:34:08    

Code :
  1. ' Timer
  2. Public Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  3. Public Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
  4. Public m_TimerID  as long
  5. Public Sub TimerProc(ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
  6.     Select Case idEvent
  7.        case 1:
  8.           call Send_Afk()
  9.     end Select
  10. End Sub
  11. ' Dans le form
  12. Private Sub Form_Load()
  13.       ' 300000 ms = 5 minutes
  14.       m_TimerID = SetTimer(Me.hwnd, 1, 300000, AddressOf TimerProc)
  15. End Sub
  16. Private Sub Form_Unload(ByRef Cancel As Integer)
  17.     If m_TimerID > 0 Then m_TimerID = KillTimer(Me.hwnd, lngTimerTime)
  18.     m_TimerID = 0
  19. End Sub


Message édité par karlkox le 23-09-2002 à 02:34:36
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed