Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010
-
16 avril 2007 à 18:50
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010
-
19 avril 2007 à 11:53
rebonjour, encore une bonne grosse question de débutant...
j'affiche betement dans un label le temps depuis lequel mon PC a demarré
grace à My.Computer.Clock.TickCount
seulement, avoir le temps en millisecondes c'est pas top et je bloque depuis un moment pour l'avoir
au fomat heures / minutes qui est quand meme beaucoup plus parlant...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 16 avril 2007 à 19:01
Bonjour !
Quand même !
1000 millisecondes dans 1 secondes
60 secondes dans une minute
60 minutes dans une heure ...
C'est un calcul pour un élève de CE2 !!! (de façon scolaire)
Si tu veux le faire autrement : utilise donc Mod et \ en commençant par les millisecondes (que tu as déjà)
Raisonnement simple (entre secondes et minutes, par exemple) :
Private Sub Command1_Click()
secondes = 75
minutes = secondes \ 60
secondes = secondes Mod 60
MsgBox minutes & " " & secondes
End Sub
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 16 avril 2007 à 19:49
En fait c'est vrai que c'est vraiment simple à calculer...
j'ai surtout perdu du temps dans mes recherches à chercher l'existance d'un code de conversion par framework (parce que c'est nul je trouve de ne donner que les millisecondes avec My.computer.etc... qui est bien pratique)
donc comme je suis obligé de faire par moi meme j'ai pondu ça :
c'est correct ou ya mieux encore d'apres toi / vous ? (en tout cas ça marche)
Dim Millisecondes
As
Integer =
My.Computer.Clock.TickCount
Dim heures, minutes, jours
As
Integerminutes = Millisecondes / 60000
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 18 avril 2007 à 22:43
Merci de penser que ça devrait etre tres facile pour moi... pour info mes debuts en programmation en vb.net commencent à decembre dernier, et ma "formation" à ce soft se resume en tout et pour tout à 1 semaine d'initiation... Je n'ai peut ete pas encore les bons mecanismes qui font que je te semble si "scolaire". Apres le reste, c'est du google , de la lecture perso ,et du vbfrance of course alors y a encore du boulot si tu vois ce que je veux dire...
sinon :
1/ non je ne vois pas l'ereur dans ma formule scolaire (si ce n'est que je ne gere que les minutes > à 60 pour incrementer les heures et donc que si elles depassent 120 ça affiche toujours un chiffre en minutes eroné (sup à 60) . y en a d'autres ?
2/ dans tes exemples tu part toujours d'un chiffre "minutes" ou "millisecondes" pré défini, alors que moi je me sert de la fonction
my.computer.clock.tickcount pour essayer d'avoir le temps ecoulé depuis l'allumage du PC. donc forcement c'est plus compliqué qu'une simple division à partir d'un chiffre connu.
il faut qu'avec un chiffre en milliseconde aléatoire (sur plusieurs jours par exemple) j'arrive à avoir un resultat coherent en "jours/ heures / minutes" (avec 23 heures max et 59 minutes max quoi)
merci de ton aide, je continue à reflechir à ça.
toute suggestion est forcement bienvenue.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 18 avril 2007 à 22:57
Ton erreur n'a absolument rien à voir avec tes connaissances de VB ou d'un quelconque langage de programmation....
La preuve ?
La voilà :
Ton code :
Dim Millisecondes AsInteger = My.Computer.Clock.TickCount
Dim heures, minutes, jours AsInteger
minutes = Millisecondes / 60000
'donc tu comptes les minutes ici à partir des millisecondes
heures = Millisecondes / 3600000
' et tu comptes les heures, maintenant, toujours à partir du même nombre de millisecondes (et quid des millisecondes qui ont déjà été utilisées à compter tes minutes ? elles font ici double emploi.
Comme tu le vois, celà relève d'autre chose que de la connaissance de VB.... il me semble ...