bonjour, j'ai fais un petit programmes en vb qui doit tourné toutes les
heures à une heure fixe et envoier les fichiers résultats vers un site ftp...
Que dois je faire?? qqn aurait t'il des pistes?? Timer ou pas?? comparé
l'heure du système??
merci d'avance pour vos réponse
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
Drizzit
Si c'est à heure fixe, , un timer, executé toute les 60 sec suffit. Dans l'évènement Timer de ton timer, tu peux comparer l'heure système, si elle est supérieure ou égale à l'une de tes heures d'exécution qui n'ont pas encore été faite. A toi de voir comment tu veux sauver l'information comme quoi ton exécution de hh:mm est faite (dans un fichier ini, dans une base de données, dans la base de registre, ....)
Maintenant, si tu veux exécuter tes les mm minutes une procédure, un timer suffit aussi (sauf si tu veux travailler au millième de seconde près...) Dans l'évènement Timer de ton timer tu peux faire un truc dans le genre:
Private Sub timMonTimer_Timer() Const lngIntervalMinute As Long = 60 Static blnExecutionEnCours As Boolean Static datDerniereExecution As Date On Error GoTo Erreur if blnExecutionEnCours Then Exit Sub ' On fait une vérification toutes les 60 minutes If DateDiff("n", datDerniereExecution , Now) >= lngIntervalMinute Then blnExecutionEnCours = True ' Je fais mon traitement
datDerniereExecution = Now blnExecutionEnCours = False End if Exit Sub Erreur: blnNotificationEnCours = False Msgbox Err.Number & " - " & Err.Description, vbCritical End Sub
Si c'est à heure fixe, , un timer, executé toute les 60 sec suffit.
Dans l'évènement Timer de ton timer, tu peux comparer l'heure
système, si elle est supérieure ou égale à l'une de tes heures
d'exécution qui n'ont pas encore été faite. A toi de voir comment tu
veux sauver l'information comme quoi ton exécution de hh:mm est faite
(dans un fichier ini, dans une base de données, dans la base de
registre, ....)
Maintenant, si tu veux exécuter tes les mm minutes une procédure, un
timer suffit aussi (sauf si tu veux travailler au millième de seconde
près...) Dans l'évènement Timer de ton timer tu peux faire un truc
dans le genre:
Private Sub timMonTimer_Timer()
Const lngIntervalMinute As Long = 60
Static blnExecutionEnCours As Boolean
Static datDerniereExecution As Date
On Error GoTo Erreur
if blnExecutionEnCours Then Exit Sub
' On fait une vérification toutes les 60 minutes
If DateDiff("n", datDerniereExecution , Now) >= lngIntervalMinute
Then
blnExecutionEnCours = True
' Je fais mon traitement
datDerniereExecution = Now
blnExecutionEnCours = False
End if
Exit Sub
Erreur:
blnNotificationEnCours = False
Msgbox Err.Number & " - " & Err.Description, vbCritical
End Sub
Si c'est à heure fixe, , un timer, executé toute les 60 sec suffit. Dans l'évènement Timer de ton timer, tu peux comparer l'heure système, si elle est supérieure ou égale à l'une de tes heures d'exécution qui n'ont pas encore été faite. A toi de voir comment tu veux sauver l'information comme quoi ton exécution de hh:mm est faite (dans un fichier ini, dans une base de données, dans la base de registre, ....)
Maintenant, si tu veux exécuter tes les mm minutes une procédure, un timer suffit aussi (sauf si tu veux travailler au millième de seconde près...) Dans l'évènement Timer de ton timer tu peux faire un truc dans le genre:
Private Sub timMonTimer_Timer() Const lngIntervalMinute As Long = 60 Static blnExecutionEnCours As Boolean Static datDerniereExecution As Date On Error GoTo Erreur if blnExecutionEnCours Then Exit Sub ' On fait une vérification toutes les 60 minutes If DateDiff("n", datDerniereExecution , Now) >= lngIntervalMinute Then blnExecutionEnCours = True ' Je fais mon traitement
datDerniereExecution = Now blnExecutionEnCours = False End if Exit Sub Erreur: blnNotificationEnCours = False Msgbox Err.Number & " - " & Err.Description, vbCritical End Sub
michael
désolé mais les timer ne me sont pas tres familié, j'ai qqe petites questions: l'evènement se déclenche à quel moment??? comment le programme rentre t'il dedans?? le "n" dans DateDiff(DateDiff("n", datDerniereExecution , Now)?? Const lngIntervalMinute As Long = 60??? il connait cette constante le timer??? comment il sais que c'est des minutes?? si on veux des secondes?? merci d'avance
"Drizzit" a écrit :
Si c'est à heure fixe, , un timer, executé toute les 60 sec suffit. Dans l'évènement Timer de ton timer, tu peux comparer l'heure système, si elle est supérieure ou égale à l'une de tes heures d'exécution qui n'ont pas encore été faite. A toi de voir comment tu veux sauver l'information comme quoi ton exécution de hh:mm est faite (dans un fichier ini, dans une base de données, dans la base de registre, ....)
Maintenant, si tu veux exécuter tes les mm minutes une procédure, un timer suffit aussi (sauf si tu veux travailler au millième de seconde près...) Dans l'évènement Timer de ton timer tu peux faire un truc dans le genre:
Private Sub timMonTimer_Timer() Const lngIntervalMinute As Long = 60 Static blnExecutionEnCours As Boolean Static datDerniereExecution As Date On Error GoTo Erreur if blnExecutionEnCours Then Exit Sub ' On fait une vérification toutes les 60 minutes If DateDiff("n", datDerniereExecution , Now) >= lngIntervalMinute Then blnExecutionEnCours = True ' Je fais mon traitement
datDerniereExecution = Now blnExecutionEnCours = False End if Exit Sub Erreur: blnNotificationEnCours = False Msgbox Err.Number & " - " & Err.Description, vbCritical End Sub
désolé mais les timer ne me sont pas tres familié, j'ai qqe petites questions:
l'evènement se déclenche à quel moment??? comment le programme rentre t'il
dedans??
le "n" dans DateDiff(DateDiff("n", datDerniereExecution , Now)??
Const lngIntervalMinute As Long = 60??? il connait cette constante le
timer??? comment il sais que c'est des minutes?? si on veux des secondes??
merci d'avance
"Drizzit" a écrit :
Si c'est à heure fixe, , un timer, executé toute les 60 sec suffit.
Dans l'évènement Timer de ton timer, tu peux comparer l'heure
système, si elle est supérieure ou égale à l'une de tes heures
d'exécution qui n'ont pas encore été faite. A toi de voir comment tu
veux sauver l'information comme quoi ton exécution de hh:mm est faite
(dans un fichier ini, dans une base de données, dans la base de
registre, ....)
Maintenant, si tu veux exécuter tes les mm minutes une procédure, un
timer suffit aussi (sauf si tu veux travailler au millième de seconde
près...) Dans l'évènement Timer de ton timer tu peux faire un truc
dans le genre:
Private Sub timMonTimer_Timer()
Const lngIntervalMinute As Long = 60
Static blnExecutionEnCours As Boolean
Static datDerniereExecution As Date
On Error GoTo Erreur
if blnExecutionEnCours Then Exit Sub
' On fait une vérification toutes les 60 minutes
If DateDiff("n", datDerniereExecution , Now) >= lngIntervalMinute
Then
blnExecutionEnCours = True
' Je fais mon traitement
datDerniereExecution = Now
blnExecutionEnCours = False
End if
Exit Sub
Erreur:
blnNotificationEnCours = False
Msgbox Err.Number & " - " & Err.Description, vbCritical
End Sub
désolé mais les timer ne me sont pas tres familié, j'ai qqe petites questions: l'evènement se déclenche à quel moment??? comment le programme rentre t'il dedans?? le "n" dans DateDiff(DateDiff("n", datDerniereExecution , Now)?? Const lngIntervalMinute As Long = 60??? il connait cette constante le timer??? comment il sais que c'est des minutes?? si on veux des secondes?? merci d'avance
"Drizzit" a écrit :
Si c'est à heure fixe, , un timer, executé toute les 60 sec suffit. Dans l'évènement Timer de ton timer, tu peux comparer l'heure système, si elle est supérieure ou égale à l'une de tes heures d'exécution qui n'ont pas encore été faite. A toi de voir comment tu veux sauver l'information comme quoi ton exécution de hh:mm est faite (dans un fichier ini, dans une base de données, dans la base de registre, ....)
Maintenant, si tu veux exécuter tes les mm minutes une procédure, un timer suffit aussi (sauf si tu veux travailler au millième de seconde près...) Dans l'évènement Timer de ton timer tu peux faire un truc dans le genre:
Private Sub timMonTimer_Timer() Const lngIntervalMinute As Long = 60 Static blnExecutionEnCours As Boolean Static datDerniereExecution As Date On Error GoTo Erreur if blnExecutionEnCours Then Exit Sub ' On fait une vérification toutes les 60 minutes If DateDiff("n", datDerniereExecution , Now) >= lngIntervalMinute Then blnExecutionEnCours = True ' Je fais mon traitement
datDerniereExecution = Now blnExecutionEnCours = False End if Exit Sub Erreur: blnNotificationEnCours = False Msgbox Err.Number & " - " & Err.Description, vbCritical End Sub
Drizzit
Le timer fonctionne de la manière suivante : - Tu le mets sur une fenêtre, qui doit être chargée en mémoire, ou affichée. - Tu dois mettre sa propriété Enabled = True - Tu dois définir une intervale (attention, c'est en milliseconde) avec comme valeur maximum 65535 (c'est un integer...) - De là l'évènement Timer va se déclancher (approximativement, voir très approximativement... :o) ) tous les n (ton intervale) millième de seconde.
Le "n" dans DateDiff("n" ... , ca permet de connaitre le nombre de minutes entre deux dates.. Si tu veux des minutes ("n"), secondes ("s"), des heures ("h"), des jours ("d"), des cacahouettes (heu y a pas...), ben tu adaptes le "n" par le caractère adéquat
En espérant que cela va t'aider
Le timer fonctionne de la manière suivante :
- Tu le mets sur une fenêtre, qui doit être chargée en mémoire, ou
affichée.
- Tu dois mettre sa propriété Enabled = True
- Tu dois définir une intervale (attention, c'est en milliseconde)
avec comme valeur maximum 65535 (c'est un integer...)
- De là l'évènement Timer va se déclancher (approximativement, voir
très approximativement... :o) ) tous les n (ton intervale) millième
de seconde.
Le "n" dans DateDiff("n" ... , ca permet de connaitre le nombre de
minutes entre deux dates..
Si tu veux des minutes ("n"), secondes ("s"), des heures ("h"), des
jours ("d"), des cacahouettes (heu y a pas...), ben tu adaptes le "n"
par le caractère adéquat
Le timer fonctionne de la manière suivante : - Tu le mets sur une fenêtre, qui doit être chargée en mémoire, ou affichée. - Tu dois mettre sa propriété Enabled = True - Tu dois définir une intervale (attention, c'est en milliseconde) avec comme valeur maximum 65535 (c'est un integer...) - De là l'évènement Timer va se déclancher (approximativement, voir très approximativement... :o) ) tous les n (ton intervale) millième de seconde.
Le "n" dans DateDiff("n" ... , ca permet de connaitre le nombre de minutes entre deux dates.. Si tu veux des minutes ("n"), secondes ("s"), des heures ("h"), des jours ("d"), des cacahouettes (heu y a pas...), ben tu adaptes le "n" par le caractère adéquat
En espérant que cela va t'aider
michael
merci je crois que ca marche ;-)
"Drizzit" a écrit :
Le timer fonctionne de la manière suivante : - Tu le mets sur une fenêtre, qui doit être chargée en mémoire, ou affichée. - Tu dois mettre sa propriété Enabled = True - Tu dois définir une intervale (attention, c'est en milliseconde) avec comme valeur maximum 65535 (c'est un integer...) - De là l'évènement Timer va se déclancher (approximativement, voir très approximativement... :o) ) tous les n (ton intervale) millième de seconde.
Le "n" dans DateDiff("n" ... , ca permet de connaitre le nombre de minutes entre deux dates.. Si tu veux des minutes ("n"), secondes ("s"), des heures ("h"), des jours ("d"), des cacahouettes (heu y a pas...), ben tu adaptes le "n" par le caractère adéquat
En espérant que cela va t'aider
merci je crois que ca marche ;-)
"Drizzit" a écrit :
Le timer fonctionne de la manière suivante :
- Tu le mets sur une fenêtre, qui doit être chargée en mémoire, ou
affichée.
- Tu dois mettre sa propriété Enabled = True
- Tu dois définir une intervale (attention, c'est en milliseconde)
avec comme valeur maximum 65535 (c'est un integer...)
- De là l'évènement Timer va se déclancher (approximativement, voir
très approximativement... :o) ) tous les n (ton intervale) millième
de seconde.
Le "n" dans DateDiff("n" ... , ca permet de connaitre le nombre de
minutes entre deux dates..
Si tu veux des minutes ("n"), secondes ("s"), des heures ("h"), des
jours ("d"), des cacahouettes (heu y a pas...), ben tu adaptes le "n"
par le caractère adéquat
Le timer fonctionne de la manière suivante : - Tu le mets sur une fenêtre, qui doit être chargée en mémoire, ou affichée. - Tu dois mettre sa propriété Enabled = True - Tu dois définir une intervale (attention, c'est en milliseconde) avec comme valeur maximum 65535 (c'est un integer...) - De là l'évènement Timer va se déclancher (approximativement, voir très approximativement... :o) ) tous les n (ton intervale) millième de seconde.
Le "n" dans DateDiff("n" ... , ca permet de connaitre le nombre de minutes entre deux dates.. Si tu veux des minutes ("n"), secondes ("s"), des heures ("h"), des jours ("d"), des cacahouettes (heu y a pas...), ben tu adaptes le "n" par le caractère adéquat