begin process at 2010 02 09 21:04:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Modules

 > COMPTE À REBOURS INTÉGRÉ DANS UN MODULE !!

COMPTE À REBOURS INTÉGRÉ DANS UN MODULE !!


 Information sur la source

Note :
Aucune note
Catégorie :Modules Classé sous :timer, rebours Niveau :Débutant Date de création :12/08/2004 Vu / téléchargé :12 056 / 778

Auteur : Sharkiller

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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 ;)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) SUIVI DE TRAJECTOIRE
Source avec Zip Source avec une capture CGP TO HTML CONVERTER
Source avec Zip Source avec une capture GÉNÉRATEUR DE CLÉS ALÉATOIRE
Source avec Zip Source avec une capture ARACHNICIDE (GENRE JEU DE LA TAUPE, MAIS AVEC UNE ARAIGNÉE)
Source avec Zip Source avec une capture EURO CONVERTOR - CONVERTISSEUR EN EURO DE TOUS LES PAYS DE L...

 Sources de la même categorie

GÉNÉRATEUR DE MAIL LOTUS NOTES AVEC MISE EN FORME VIA UNE SY... par 8Tnerolf8
Source avec Zip Source avec une capture VB6 ADDIN - FAITES DISPARAITRE LES MSGBOX D'ERREUR IDE par EBArtSoft
MODULE DE COMMUNICATION ENTRE APPLICATION par PROTEUS91
REGISTRE WINDOWS par Duke49
Source avec Zip Source avec une capture LECTURE / ÉCRITURE SUR LE PORT PARALLÈLE FACILEMENT AVEC INP... par Moritus

 Sources en rapport avec celle ci

Source avec Zip DÉFILEMENT TEXTE par mimiZanzan
Source avec Zip Source .NET (Dotnet) DESSIN D'UN CERCLE A TRAVERS 3 POINT par infodevlo
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPTE À REBOUR par denpx
Source avec Zip Source avec une capture AVERTISSEUR DE MAILS par Niko2003
Source avec Zip Source avec une capture Source .NET (Dotnet) CASINO - SIMULATION DU JEUX CASINO (RANDOM EN VB.NET) par danie57_8

Commentaires et avis

Commentaire de RDX le 12/08/2004 16:07:49

Ok, j'ai pas regarder en detail ton code, mais je peut te dire qu'il y a beaucoup plus simple... et sans timer !

Utilise l'api gettickcount (renvoie le nombre de milisecondes écoulé depuis le debut de la journée) et tu peut déja te passer de timer.

Bye.

Commentaire de Sharkiller le 13/08/2004 13:49:55

oué, mais j'aime pas trop les api, je me suis pas familiarisé avec...

j'aurais aussi pu faire avec do et loop until...

mais bon, je trouvais que c'était plus simple avec les timers...

@+

Commentaire de Mopii9 le 25/05/2005 16:42:17

c'est peux etre plus simple avec les timer mais une accumulation de timer fais planter le pc en utilisant les ressources a 100% ! ! ! alors plus simple oui mais . . .

Commentaire de kallel026 le 02/09/2005 23:59:11

salut! moi je voudrai savoir si on peut que a la fin du compte a rebour on execute un fichier ou une page web??? sa m'interesserai pour mon site.


merci bien

Commentaire de Rukialilly le 21/09/2007 21:22:08

Salut j'aimerait savoir si il est possible que l'utilisateur puisse modifier l'heure du compte à rebours lui même, au lieu de le changer dans le programme.J'ai entendu parler du maskedbox, mais j'arrive pas bien a décrémenter, ça plante au bout d'un moment.Merçi d'avance

Commentaire de Sharkiller le 22/09/2007 16:28:05

Rukialilly> Il te suffirait de mettre des textbox (une pour les heures, l'autre pour les minutes et la dernière pour les secondes), puis une fois qu'on lance le compte à rebours, il suffit d'attribuer pour ces unités respectives les valeurs des textbox qui leur correspondent.

Ou alors tu te sers de Command$ et t'envoies en paramètre les valeurs lors du lancement de l'application.

 Ajouter un commentaire


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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales