Tempsecoule (timeprogress)

Description

Ce petit code montre comment faire partir un compteur d'horloge étant initialisé à zéro qui peut être paramétré par l'utilisateur.
Ce code sert déjà dans mon logiciel PHONE99.
En plus, j'y ai mis une petit ProgressBar montre l'évolution du temps.
Cette dernière a été désactivée pour que le compteur du temps dépasse les limites de la ProgreeBar.
Il doit être possible de paramétrer le "MAX", mais, dans l'immédiat, je n'en ai pas vu la possibilité... donc, on se contente de ça !

Source / Exemple :


'=================================================================
' Créé par JL BOUCHEZ
' jl.bouchez@free.fr
' http://www;jlb59.net
' http://www.phone99.net
'Cet extrait de code est tiré de mon logiciel "PHONE99". Il est assez efficace.
'D'autre part, j'y ai mis une ProgressBar basé sur le Timer (c'est tout récent).
'=================================================================

Private Sub cmdStart_Click()
'----- Initialise la ProgressBar et le Label d'affichage pour le lancement ----
ProgressBar1.Min = 0
ProgressBar1.Max = 60
ProgressBar1.Value = 0
Label1 = "00:00:00"

' ----- Définit le timer de l'horloge -----
Timer1.Interval = 100 '--- Interval 1000 = 1 seconde
    
    sec = 0 '---------------------- Inititialise le compteur du timer (secondes dans le label)
    Stopchrono = 0 '---------- Inititialise le chrono pour lancer le timer
    h = 0 '------------------------- Inititialise les heures du Label1
    m = 0 '------------------------ Inititialise les minutes du Label1
    s = 0 '------------------------- Inititialise les secondes du Label1
    
End Sub

Private Sub cmdStop_Click() '----------- Picture 2 appel
    Stopchrono = 1 '----- Termine le timer
    ' -------- Stoppe le Timer
    Timer1.Interval = 0
End Sub

Private Sub Timer1_Timer()

Label3 = Time ' Affiche l'heure systeme (facultatif)
        
        If Stopchrono <> 1 Then '---- Si chrono <> 1 on décompte
            sec = sec + 1 '----- sec = compte du Timer

'----- Petit calcul pour l'horloge en partant de zéro (initialisation) ----
            h = Int(sec / 3600)
            m = Int((sec - (h * 3600)) / 60)
            s = Int(sec - (h * 3600) - (m * 60))

'----- Affiche du temps écoulé dans le Label1 -----
'----- Chaque position est définies -----
            Label1 = h & ":" & m & ":" & s

'---- Nécessaire pour avoir chaque chiffre en double (comme le Time) -----
'---- Sinon affiche sous le format "H:M:S" -----
            Label1 = Format(Label1, "HH:MM:SS")

'-----------------------------------------------------------------------------------
'----- OK pour quitter sur un temps défini par l'utilisateur -----
            '    If h = 1 Then Stop
            '    If m = 30 Then Stop
            '    If s = 10 Then Stop
'-----------------------------------------------------------------------------------

'            If ProgressBar1.Value = ProgressBar1.Max Then
'                Timer1.Enabled = False
'            Else
                
' Désactivé pour continuer le décompte du temps, sinon, s'arrête aux limites de la barre
'                ProgressBar1.Value = ProgressBar1.Value + 1
'                If ProgressBar1.Value = 60 Then cmdStop.Value = 1 'Timer1.Enabled = False 'exit sub

'            End If
        
        End If
End Sub

Private Sub Form_Load()
'----- Affichage only (sans importance) -----
Label1 = "00:00:00"
End Sub
Private Sub cmdQuitter_Click()
    Unload Me
End Sub

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.