cs_tino67
Messages postés15Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention23 mars 2015
-
1 juin 2010 à 13:08
cs_tino67
Messages postés15Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention23 mars 2015
-
6 juin 2010 à 19:46
Bonjour j'ai cette procédure pour transformer un long en mode 00h 00mn 00s 00ms
mais le problème que ça affiche 1mn 60 au lieu de 2mn 00 et pareil pour les ms 1s 100ms au lieu de 2s 00ms.
auriez vous un idée pour ce problème ou existerait_il un fonction toute faite qui transforme directement un long ou un string en format horaire voulu (j'ai une procedure avec le ms et une autre sans)
je travaille sur VB 2008
Public Function horloge(ByVal t As Long) As String 'temps en ms
Dim h As Long 'heures
Dim m As Long 'minutes
Dim s As Long 'secondes
Dim millis As Long 'ms
h = t \ 3600000
m = ((t \ 1000) Mod 3600) \ 60
s = (t \ 1000) Mod 60
millis = (t Mod 1000) / 10 ' au centieme
If h = 0 Then
horloge = (m & "mn " & s & "s " & millis) 'temps de course en direct
Else
horloge = (h & "h " & m & "mn " & s & "s " & millis) 'temps de course en direct
End If
End Function
j'ai pensé mettre des if s= 60 then s=0 et m = m +1 .... mais risque de faire perdre du temps à mon programme et c'est une peu du bricolage
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 1 juin 2010 à 13:40
Bonjour,
J'utilise une autre méthode :
Public Function horloge(ByVal t As Long) As String 'temps en ms
Dim h As Long 'heures
Dim m As Long 'minutes
Dim s As Long 'secondes
Dim millis As Long 'ms
millis = (t Mod 1000) / 10 ' au centieme
t=t\1000
s = t Mod 60
t=t\60
m = t Mod 60
t=t\60
h = t
If h = 0 Then
horloge = (m & "mn " & s & "s " & millis) 'temps de course en direct
Else
horloge = (h & "h " & m & "mn " & s & "s " & millis) 'temps de course en direct
End If
End Function