Affichage de l'heure en dixième, centième de secondes ?? [Résolu]

Messages postés
63
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
22 juin 2011
- - Dernière réponse : cs_Orohena
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
- 6 janv. 2009 à 13:56
Bonjour à tous ,

Je voudrais savoir s'il serait possible d'afficher l'heure du système de mon PC en dixième de secondes voire plus a la place de l' affichage classique  hh:mm:ss ??

Merci
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
3
Merci
salut,

possible oui, par API

te reste à adapter :






Option Explicit


'


Private Type 
SYSTEMTIME

    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
End Type
Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
'
Private Sub Form_Load()
    Timer1.Interval = 50
End Sub
'
Private Sub Timer1_Timer()
    Dim SysTime As SYSTEMTIME
    Call GetSystemTime(SysTime)
    With SysTime
        Me.Caption = .wHour & ":" & .wMinute & ":" & .wSecond & " - " & .wMilliseconds
    End With
End Sub





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>






++


Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
3
3
Merci
Bonjour Jacky7

Oui, le système d'exploitation de Windows gère son horloge temps réel avec une précision de l'ordre de la milliseconde.

Voici un exemple d'affichage de l'heure locale dans une zone de texte TextBox1 à la milliseconde près (avec les réserves indiquées plus bas), au moyen de la fonction GetSystemTime.

    Option Explicit
    Private Type SYSTEMTIME
        wYear As Integer
        wMonth As Integer
        wDayOfWeek As Integer
        wDay As Integer
        wHour As Integer
        wMinute As Integer
        wSecond As Integer
        wMilliseconds As Integer
    End Type
    Private Declare Sub GetLocalTime Lib "kernel32" (SYSTEMTIME As SYSTEMTIME)
Sub afficheHeure()
    Dim systime As SYSTEMTIME, Msg As String
    Do                                          ' boucle sans fin d'affichage de l'heure
       DoEvents
       Call GetLocalTime(systime)   ' lecture de l'heure locale du système
       With systime
           Msg = "Heure locale : " & .wDay & "/" & .wMonth & "/" & .wYear & " " _
              & .wHour & ":" & .wMinute & ":" & .wSecond & ":" & .wMilliseconds
       End With
       Me.TextBox1.Value = Msg   ' affichage de l'heure avec une précision de l'ordre de la milliseconde
    Loop
End Sub



Private Sub UserForm_Activate()
   afficheHeure
End Sub



Dans la pratique, je ne pense pas que ce soit très utilisable étant donné que l'indispensable fonction DoEvents "rend la main" au système, et donc affecte plus ou moins le fonctionnement de l'horloge selon les tâches en attente.

Amicalement

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Orohena
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
3
0
Merci
Désolé pour ces messages croisés.
Commenter la réponse de cs_Orohena