1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| Option Explicit
'Événement se produit une fois, après uDelay millisecondes.
Public Const TIME_ONESHOT = 0
'Événement produit toutes les millisecondes uDelay.
Public Const TIME_PERIODIC = 1
'Lorsque le délai expire, Windows appelle la fonction thePulseEvent pour impulsez l'événement indiqué par le paramètre lpTimeProc.
'Le paramètre dwUser est ignoré.
Public Const TIME_CALLBACK_EVENT_PULSE = &H20
'Lorsque le délai expire, Windows appelle la fonction theSetEvent pour définir l'événement indiqué par le paramètre lpTimeProc.
'Le paramètre dwUser est ignoré.
Public Const TIME_CALLBACK_EVENT_SET = &H10
'Lorsque le délai expire, Windows appelle la fonction vers laquelle pointée le paramètre lpTimeProc. Il s'agit de la valeur par défaut.
Public Const TIME_CALLBACK_FUNCTION = &H0
Public Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Long, ByVal uResolution As Long, _
ByVal lpFunction As Long, ByVal dwUser As Long, ByVal uFlags As Long) As Long
'Udelay:
'Cas où un retard en millisecondes.
'Si cette valeur n'est pas dans la plage des retards minimal et maximal d'événements pris en charge par la minuterie,
'la fonction retourne une erreur.
'uResolution:
'Résolution de l'événement timer en millisecondes.
'La résolution augmente avec des valeurs plus petites,
'une résolution de 0 indique les événements périodiques doivent avoir lieu avec la plus grande précision possible.
'Pour réduire la charge du système, cependant, vous devez utiliser la valeur maximale appropriée pour votre application
'lpFunction:
'Adresse d'une fonction de rappel qui sera appelée une fois à l'expiration d'un événement unique ou périodique à l'expiration d'événements périodiques.
'Si fuEvent spécifie le TIME_CALLBACK_EVENT_SET ou le drapeau TIME_CALLBACK_EVENT_PULSE,
'le paramètre lpFunction est interprété comme un handle à un objet de l'événement.
'L'événement sera mis pulsé ou à la fin d'un événement unique ou périodique à l'issue d'événements périodiques.
'dwUser:
'Fourni par l'utilisateur des données de rappel.
'uFlags:
'Type d'événement Timer. Ce paramètre peut comporter l'une des valeurs suivantes.
'TIME_ONESHOT 'Événement se produit une fois, après millisecondes udelay.
'TIME_PERIODIC 'l'événement se produit toutes les millisecondes udelay.
'Le paramètre fuEvent peut également comprendre une des valeurs suivantes:
'TIME_CALLBACK_FUNCTION 'Lorsque le délai expire, Windows appelle la fonction pointée par le paramètre lpFunction.
' Il s'agit de la valeur par défaut.
'TIME_CALLBACK_EVENT_SET 'Lorsque le délai expire, Windows appelle la fonction theSetEvent pour définir l'événement pointé par le paramètre lpFunction.
' Le paramètre dwUser est ignoré.
'TIME_CALLBACK_EVENT_PULSE 'Lorsque le délai expire, Windows appelle la fonction thePulseEvent à pulser l'événement pointé par le paramètre lpFunction.
' Le paramètre dwUser est ignoré.
Public Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Long) As Long
'uID: (variable hMMTimer dans l'exemple)
'Identificateur de l'événement de minuterie pour annuler.
'Cet identifiant a été renvoyé par la fonction timeSetEvent lorsque la minuterie a été mis en place.
Public hMMTimer As Long
Public Frquence As Long ' maxi = 2147483 647 = + de 596 heures
Public MMTimer As Long
Public pBooDone As Boolean
Public Sub TimerProc(ByVal uID As Long, ByVal uMsg As Long, ByVal dwUser As Long, ByVal dw1 As Long, ByVal dw2 As Long)
' pour la demo increment MMTimer
MMTimer = MMTimer + 1
Form1.Label1.Caption = MMTimer & " passage dans la sub TimerProc"
'fin pour la demo
'------------------------ ton code ici -----------------------------------------------
If Not pBooDone Then
' Dim plIntI As Long
' Dim pStrFileName As String
' Dim pStrDestinationReelle As String
' If Hour(Now) = "12" Then
' pStrDestinationReelle = pStrDestination & "\" & GetDateDir
' MkDir pStrDestinationReelle
'
' For plIntI = 1 To UBound(pStrSource)
' pStrFileName = GetFileName(pStrSource(plIntI))
' FileCopy pStrSource(plIntI), pStrDestinationReelle & "\" & pStrFileName
' Next
'
' pBooDone = True
' End If
'Else
' If Hour(Now) <> "12" Then
' pBooDone = False
' End If
End If
'------------------------ fin ton code ici -----------------------------------------------
End Sub |
Partager