Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
"Alex" a écrit dans le message de news:091501c3ad2d$189be7b0$
J'aimerai savoir s'il est possible d'utiliser dans un même programme, 2 timers en paralleles.
Ces 2 timers doivent lancer chacun un traitement particulier a des intervalles différents, et independemment de leur resultats respectifs.
Si c'est possible,
"ce serais sympa de m'expliquer comment",
là je rame un peu je dois dire.
Bonjour/soir,
les ActiveX Exe sont faits pour ça.
Voici un exemple:
'Dans la classe par défaut, Class1:
Private Sub Class_Initialize() Module1.StartTimer End Sub
Private Sub Class_Terminate() Module1.EndTimer End Sub
'Dans un module standard, Module1 Option Explicit
Declare Function SetTimer Lib "user32" _ ( _ ByVal hwnd As Long, _ ByVal nIDEvent As Long, _ ByVal uElapse As Long, _ ByVal lpTimerFunc As Long _ ) _ As Long
Private Declare Function _ KillTimer _ Lib "user32" _ ( _ ByVal hwnd As Long, _ ByVal nIDEvent As Long _ ) _ As Long
Private TimerID As Long
Public Function StartTimer(Optional interval As Long = 1000) If TimerID <> 0 Then EndTimer TimerID = SetTimer(0, 0, interval, AddressOf TimerProc) End Function
Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long) Debug.Print dwTime End Sub
Public Sub EndTimer() KillTimer 0, TimerID TimerID = 0 End Sub
"Alex" <alexandre.quinche@sgcib.com> a écrit dans le message de
news:091501c3ad2d$189be7b0$a501280a@phx.gbl
J'aimerai savoir s'il est possible d'utiliser dans
un même programme, 2 timers en paralleles.
Ces 2 timers doivent lancer chacun un traitement
particulier a des intervalles différents, et
independemment de leur resultats respectifs.
Si c'est possible,
"ce serais sympa de m'expliquer comment",
là je rame un peu je dois dire.
Bonjour/soir,
les ActiveX Exe sont faits pour ça.
Voici un exemple:
'Dans la classe par défaut, Class1:
Private Sub Class_Initialize()
Module1.StartTimer
End Sub
Private Sub Class_Terminate()
Module1.EndTimer
End Sub
'Dans un module standard, Module1
Option Explicit
Declare Function SetTimer Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
) _
As Long
Private Declare Function _
KillTimer _
Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long _
) _
As Long
Private TimerID As Long
Public Function StartTimer(Optional interval As Long = 1000)
If TimerID <> 0 Then EndTimer
TimerID = SetTimer(0, 0, interval, AddressOf TimerProc)
End Function
Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long,
ByVal dwTime As Long)
Debug.Print dwTime
End Sub
Public Sub EndTimer()
KillTimer 0, TimerID
TimerID = 0
End Sub
"Alex" a écrit dans le message de news:091501c3ad2d$189be7b0$
J'aimerai savoir s'il est possible d'utiliser dans un même programme, 2 timers en paralleles.
Ces 2 timers doivent lancer chacun un traitement particulier a des intervalles différents, et independemment de leur resultats respectifs.
Si c'est possible,
"ce serais sympa de m'expliquer comment",
là je rame un peu je dois dire.
Bonjour/soir,
les ActiveX Exe sont faits pour ça.
Voici un exemple:
'Dans la classe par défaut, Class1:
Private Sub Class_Initialize() Module1.StartTimer End Sub
Private Sub Class_Terminate() Module1.EndTimer End Sub
'Dans un module standard, Module1 Option Explicit
Declare Function SetTimer Lib "user32" _ ( _ ByVal hwnd As Long, _ ByVal nIDEvent As Long, _ ByVal uElapse As Long, _ ByVal lpTimerFunc As Long _ ) _ As Long
Private Declare Function _ KillTimer _ Lib "user32" _ ( _ ByVal hwnd As Long, _ ByVal nIDEvent As Long _ ) _ As Long
Private TimerID As Long
Public Function StartTimer(Optional interval As Long = 1000) If TimerID <> 0 Then EndTimer TimerID = SetTimer(0, 0, interval, AddressOf TimerProc) End Function
Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long) Debug.Print dwTime End Sub
Public Sub EndTimer() KillTimer 0, TimerID TimerID = 0 End Sub