Accueil > > > COMPTE À REBOURS INTÉGRÉ DANS UN MODULE !!
COMPTE À REBOURS INTÉGRÉ DANS UN MODULE !!
Information sur la source
Description
Ben voilà, j'ai eu l'idée de faire un compte à rebours... Et j'ai fais mieux : vous pourrez l'intégrer dans votre programme sans difficulté : suffit de placer un label et 2 timers sur la form, de placer le code contenu dans la form dans la vôtre, et d'ajouter le module dans votre programme ! tout est clairement détaillé (du moins je le pense...)
Source
- '#####################
- '#####Code de la FORM#####
- '#####################
-
- 'Dans ce programme, je vais seulement faire appel à un module.
- 'Il faut juste mettre un label et 2 timers sur la form, et
- 'configurez ensuite selon vos préférences...
-
- Private Sub Form_Load()
- 'on va appeler les différentes fonctions :
- 'la fonction loading est la suivante : loading(nom_du_label dans le quel il faut
- 'afficher le compte à rebours, nombre_d'_heures à définir, nombre_de_minutes à
- 'définir, nombre_de_secondes à définir)
- 'Ici, le compte à rebours commence à 00:02:30 (soit 0 heure, 2 minutes et 30
- 'secondes)
- Loading Label1, "0", "2", "30"
- 'la fonction active est la suivante : active(nom_du_1er_timer à activer, nom_de_2eme_
- 'timer à activer, intervalle_du_1er_timer à définir, intervalle_du_2eme_timer
- 'à définir)
- Active Timer1, Timer2, 1, 1000
- End Sub
-
- Private Sub Timer1_Timer()
- 'la fonction defil est la suivante : defil(nom_du_label dans le quel il faut
- 'afficher le compte à rebours, nom_du_1er_timer, nom_du_2eme_timer, message à
- 'afficher, type_de_message (vbOK, vbOkCancel, etc...), titre_du_message)
- Defil Label1, Timer1, Timer2, "BOOM!! Le compte à rebours est écoulé !", vbOKOnly, "Compte à Rebours"
- End Sub
-
- Private Sub Timer2_Timer()
- 'la fonction initialise est la suivante : initialise(nom_du_2eme_timer)
- Initialise Timer2
- End Sub
-
-
- '#####################
- '#####Code du module######
- '#####################
-
- 'Voici le module qui gère tout :
- 'On déclare le nombre de secondes, de minutes et d'heures
- Dim sec As Integer
- Dim min As Integer
- Dim heure As Integer
-
- Public Function Defil(nom_du_label As Label, nom_du_timer1 As Timer, nom_du_timer2 As Timer, message As String, type_de_message As String, titre_du_message As String)
- 'Si le nombre de secondes est inférieur à 10,
- If sec < 10 Then
- 'et si le nombre de minutes aussi,
- If min < 10 Then
- 'alors on met le label qui doit contenir le compte à rebours au format :
- '"0H:0M:0S"
- nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & "0" & min & ":" & "0" & sec)
- Else
- 'sinon, si le nombre de minutes est supérieur à 10,
- 'on met le label qui doit contenir le compte à rebours au format :
- '"0H:MM:0S"
- nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & min & ":" & "0" & sec)
- End If
- 'On met fin à cette fonction.
- 'Sinon, si le nombre de secondes est supérieur à 10,
- Else
- 'et si le nombre de minutes est inférieur à 10,
- If min < 10 Then
- 'on met le label qui doit contenir le compte à rebours au format :
- '"0H:0M:SS"
- nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & "0" & min & ":" & sec)
- Else
- 'sinon, si le nombre de minutes est supérieur à 10 (le nombre de secondes aussi),
- 'on met le label qui doit contenir le compte à rebours au format :
- '"0H:MM:SS"
- nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & min & ":" & sec)
- End If
- End If
- 'On met fin aux fonctions.
- 'Si le label qui doit contenir le compte à rebours atteint 0 (dans tous les sens;
- '0 heure, 0 minute et 0 seconde),
- If nom_du_label.Caption = "00:00:00" Then
- 'Alors on lance un message d'erreur définit dans le code de la form (fonction
- 'defil) :
- 'Au format : message, type, titre
- MsgBox message, type_de_message, titre_du_message
- 'Puis on désactive les timers, pour ne pas que le compte à rebours continue...
- nom_du_timer1.Enabled = False
- nom_du_timer2.Enabled = False
- End If
- 'et on met fin à la fonction
- End Function
-
- Public Function Initialise(nom_du_timer As Timer)
- 'On vérifie régulièrement les valeurs du compte à rebours :
- 'si le nombre de secondes atteint 0,
- If sec = "00" Then
- 'et si le nombre d'heures est supérieur à 0, et si le nombre de minutes
- 'est égal à 0,
- If heure > 0 And min = "00" Then
- 'alors le nombre de secondes est 59, ainsi que le nombre de minutes,
- sec = 59
- min = 59
- 'et le nombre d'heures descend de 1
- heure = heure - 1
- Else
- 'sinon, si le nombre d'heure est égal à 0,
- 'alors le nombre de secondes est égal à 59, et le nombre de minutes chute de 1
- sec = 59
- min = min - 1
- End If
- 'on met fin à la fonction
- 'et sinon, si le nombre de secondes n'est pas égal à 0,
- Else
- 'alors il chute de 1
- sec = sec - 1
- End If
- 'on met fin à la fonction
- 'donc, ici, tout est géré :
- 'si le nombre de secondes est de 1, alors il égale 0 (car sec=sec-1)
- 'et si sec=0, alors sec=59, et le nombre de minutes chute de 1 et ainsi de suite
- 'c'est aussi géré pour les heures.
- 'et si heure=0, min=0 et sec=0, on reviens au 1er timer, qui contient la
- 'fonction : If nom_du_label.Caption = "00:00:00" Then...
- End Function
-
- Public Function Loading(nom_du_label As Label, heure_definie As Integer, min_definie As Integer, sec_definie As Integer)
- 'On détermine l'heure par défaut à partir du code de la form
- heure = heure_definie
- 'Puis on détermine les minutes par défaut
- min = min_definie
- 'Et on détermine enfin les secondes par défaut
- sec = sec_definie
- 'Puis on rempli les valeurs par défaut dans le label qui
- 'doit contenir le compte à rebours, pour déterminer à partir de combien il part
- nom_du_label = heure & ":" & min & ":" & sec
- End Function
-
- Public Function Active(nom_du_timer1 As Timer, nom_du_timer2 As Timer, interval_timer1 As Integer, interval_timer2 As Integer)
- 'On active les timers en indiquant leur intervalle, à partir du code de la form
- 'Pour le timer1
- nom_du_timer1.Interval = interval_timer1
- nom_du_timer1.Enabled = True
- 'et pour le timer2
- nom_du_timer2.Interval = interval_timer2
- nom_du_timer2.Enabled = True
- End Function
'#####################
'#####Code de la FORM#####
'#####################
'Dans ce programme, je vais seulement faire appel à un module.
'Il faut juste mettre un label et 2 timers sur la form, et
'configurez ensuite selon vos préférences...
Private Sub Form_Load()
'on va appeler les différentes fonctions :
'la fonction loading est la suivante : loading(nom_du_label dans le quel il faut
'afficher le compte à rebours, nombre_d'_heures à définir, nombre_de_minutes à
'définir, nombre_de_secondes à définir)
'Ici, le compte à rebours commence à 00:02:30 (soit 0 heure, 2 minutes et 30
'secondes)
Loading Label1, "0", "2", "30"
'la fonction active est la suivante : active(nom_du_1er_timer à activer, nom_de_2eme_
'timer à activer, intervalle_du_1er_timer à définir, intervalle_du_2eme_timer
'à définir)
Active Timer1, Timer2, 1, 1000
End Sub
Private Sub Timer1_Timer()
'la fonction defil est la suivante : defil(nom_du_label dans le quel il faut
'afficher le compte à rebours, nom_du_1er_timer, nom_du_2eme_timer, message à
'afficher, type_de_message (vbOK, vbOkCancel, etc...), titre_du_message)
Defil Label1, Timer1, Timer2, "BOOM!! Le compte à rebours est écoulé !", vbOKOnly, "Compte à Rebours"
End Sub
Private Sub Timer2_Timer()
'la fonction initialise est la suivante : initialise(nom_du_2eme_timer)
Initialise Timer2
End Sub
'#####################
'#####Code du module######
'#####################
'Voici le module qui gère tout :
'On déclare le nombre de secondes, de minutes et d'heures
Dim sec As Integer
Dim min As Integer
Dim heure As Integer
Public Function Defil(nom_du_label As Label, nom_du_timer1 As Timer, nom_du_timer2 As Timer, message As String, type_de_message As String, titre_du_message As String)
'Si le nombre de secondes est inférieur à 10,
If sec < 10 Then
'et si le nombre de minutes aussi,
If min < 10 Then
'alors on met le label qui doit contenir le compte à rebours au format :
'"0H:0M:0S"
nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & "0" & min & ":" & "0" & sec)
Else
'sinon, si le nombre de minutes est supérieur à 10,
'on met le label qui doit contenir le compte à rebours au format :
'"0H:MM:0S"
nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & min & ":" & "0" & sec)
End If
'On met fin à cette fonction.
'Sinon, si le nombre de secondes est supérieur à 10,
Else
'et si le nombre de minutes est inférieur à 10,
If min < 10 Then
'on met le label qui doit contenir le compte à rebours au format :
'"0H:0M:SS"
nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & "0" & min & ":" & sec)
Else
'sinon, si le nombre de minutes est supérieur à 10 (le nombre de secondes aussi),
'on met le label qui doit contenir le compte à rebours au format :
'"0H:MM:SS"
nom_du_label.Caption = Format(nom_du_label, "0" & heure & ":" & min & ":" & sec)
End If
End If
'On met fin aux fonctions.
'Si le label qui doit contenir le compte à rebours atteint 0 (dans tous les sens;
'0 heure, 0 minute et 0 seconde),
If nom_du_label.Caption = "00:00:00" Then
'Alors on lance un message d'erreur définit dans le code de la form (fonction
'defil) :
'Au format : message, type, titre
MsgBox message, type_de_message, titre_du_message
'Puis on désactive les timers, pour ne pas que le compte à rebours continue...
nom_du_timer1.Enabled = False
nom_du_timer2.Enabled = False
End If
'et on met fin à la fonction
End Function
Public Function Initialise(nom_du_timer As Timer)
'On vérifie régulièrement les valeurs du compte à rebours :
'si le nombre de secondes atteint 0,
If sec = "00" Then
'et si le nombre d'heures est supérieur à 0, et si le nombre de minutes
'est égal à 0,
If heure > 0 And min = "00" Then
'alors le nombre de secondes est 59, ainsi que le nombre de minutes,
sec = 59
min = 59
'et le nombre d'heures descend de 1
heure = heure - 1
Else
'sinon, si le nombre d'heure est égal à 0,
'alors le nombre de secondes est égal à 59, et le nombre de minutes chute de 1
sec = 59
min = min - 1
End If
'on met fin à la fonction
'et sinon, si le nombre de secondes n'est pas égal à 0,
Else
'alors il chute de 1
sec = sec - 1
End If
'on met fin à la fonction
'donc, ici, tout est géré :
'si le nombre de secondes est de 1, alors il égale 0 (car sec=sec-1)
'et si sec=0, alors sec=59, et le nombre de minutes chute de 1 et ainsi de suite
'c'est aussi géré pour les heures.
'et si heure=0, min=0 et sec=0, on reviens au 1er timer, qui contient la
'fonction : If nom_du_label.Caption = "00:00:00" Then...
End Function
Public Function Loading(nom_du_label As Label, heure_definie As Integer, min_definie As Integer, sec_definie As Integer)
'On détermine l'heure par défaut à partir du code de la form
heure = heure_definie
'Puis on détermine les minutes par défaut
min = min_definie
'Et on détermine enfin les secondes par défaut
sec = sec_definie
'Puis on rempli les valeurs par défaut dans le label qui
'doit contenir le compte à rebours, pour déterminer à partir de combien il part
nom_du_label = heure & ":" & min & ":" & sec
End Function
Public Function Active(nom_du_timer1 As Timer, nom_du_timer2 As Timer, interval_timer1 As Integer, interval_timer2 As Integer)
'On active les timers en indiquant leur intervalle, à partir du code de la form
'Pour le timer1
nom_du_timer1.Interval = interval_timer1
nom_du_timer1.Enabled = True
'et pour le timer2
nom_du_timer2.Interval = interval_timer2
nom_du_timer2.Enabled = True
End Function
Conclusion
je trouve ça vraiment pas mal, mais j'attend bien sûr votre point de vue...
ce code est là pour aider (et peut-être initier) toute personne dans le maniement des modules, car, il faut bien le dire, ce programme ne fonctionne que grâce au module...
@+, et bonne prog ;)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
timer [ par neuil ]
salut je souhaite reafficher ma fenetre lorsque je clique sur une autre application(par exemple un autre logiciel qui n'a rien a voir avec VB)!que doi
URGENT!!timer et affichage [ par neuil ]
salut je souhaite reafficher ma fenetre lorsque je clique sur une autre application(par exemple un autre logiciel qui n'a rien a voir avec VB)!que doi
timer [ par cat ]
je suis a la recherche d'une procedure permettant de definir l'intervalle d'un timer comme le temps necessaire à l'execution d'une procedure!je voudra
Timer [ par tony ]
Private Sub form_load()timer.Interval = 1000timer.Enabled = trueEnd SubPrivate Timer_Time()Label1.caption = timeEnd Sub'Malheureusement avec cette mét
renseignement sur le TIMER [ par fransoze ]
Bonjour à tousJe suis nouveau sur ce site et je le trouve superbe.Ma question est:Comment fonctionne le TIMER dans une application ?Je vous remercie d
Pb timer [ par juju ]
Les timers sont limités à tout au plus 1 minute (environ), existe t'il une astuce pour gérer le déclenchement d'un évenement toutes les 2 heures?Merci
Mouvement d'un picture box sans timer [ par chookoo ]
salut, jvoudrais savoir comment on fait la même chose que wite18 a demander mais sans timer !Merci bien !Chookoo
GetTickCount-Compte à rebours [ par Big Blue ]
Je souhaite réaliser un petit programme utilisant la fonction GetTickCount pour faire un compte à rebours. Je ne sais pas comment utiliser cette fonct
timer plus rapide [ par arnaud ]
comment fair pour qu l'interval d'un timer soit moin de 1 (pour une carte faite maison)merci arnaud
Des secondes trop longues! [ par bidules ]
je ne sais pas si c'est mon ordi qui fait ca mais quand je regle l'interval d'1 timer sur 1000ms et que j'incremente une variable de 1 toute les secon
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|