Soustraction d'heure minute seconde pour faire un decompte
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013
-
28 oct. 2009 à 08:43
Marroubi
Messages postés51Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention30 octobre 2009
-
28 oct. 2009 à 13:28
Bonjour a tous,
Me revoilà en stage et je continu mon projet.
Je fait de l'acquisition de donnée pendant un certain temps(de quelques minutes à plusieurs heures)
Je veux afficher le temps restant avant la fin de l'acquisition
Pour avoir le temps j'utilise la fonction Now:
Dim MaDate As Date
Madate = Now
Et ensuite je récupère l'heure les minute et seconde par
Heure = Madate.Hour 'Heure déclarer en integer
Minute = MaDate.Minute 'Minute déclarer en integer
Seconde = MaDate.Second 'Seconde déclarer en integer
Je stocke donc les infos en début d'acquisition puis je refait un Now que je compare avec mes infos stocker
Mon problème c'est que j'arrive pas à faire le décompte proprement vu que parfois j'ai des nombres négatif.
je peut bien sur changer le code si vous avez quelque chose de plus simple a me proposé
Merci de votre aide
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 2er année.
Actuellement en stage dans mon entreprise en R&D.
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013 28 oct. 2009 à 10:47
Enfaite je viens de trouver une solution toute simple en gardant le principe de mon code.
Je transforme le tout en seconde et je compare le moment présent avec le moment du début + le temps d'acquisition.
Mon comptage marche bien du coup. (reste a voir si l'acquisition se fait sur 2 jours).
Par contre pour le moment j'arrive pas à afficher le restant correctement car je divise des secondes (integer) pour retrouver mes heures minutes seconde.
Mais la règles de conversion de Visio fait que
par exemple:
414 / 60 = 7 au lieu de 6
puis que le résultat est 6.9
je continu à chercher mais le GetTickCount ne m'aide pas plus pour le moment vu ce que j'ai trouver mais je regarde encore si il y a des solutions
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013 28 oct. 2009 à 10:50
Salut Marroubi
Vi je veux comparer 2 dates, pour le moment cela marche mais je gère pas le jour qu'il va falloir que je prenne en compte.
Mais j'ai des problème pour afficher ce qu'il reste avant la fin.(voir mon précédent Post
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013 28 oct. 2009 à 12:59
Je suis pas très clair non plus a vrais dire, donc j'explique:
voila le contexte:
Le programme sert a faire de l'acquisition de donnée d'un système de supervision que je stock en .csv ainsi que créer une courbe en temps réel. Cela concerne par exemple mesurer la tension batterie, le courant batterie, la température des batterie etc..
L'utilisateur défini les mesures à faire et informe donc le la durée maximum de l'acquisition(De quelques minutes à plusieurs heures).
Pour le moment on informe cette durée en heure et minute.
En imaginant que l'on commence l'acquisition à 18h et que l'on a défini une durer de 10h , il va falloir que je gère aussi les jours puisque cela va se terminer le lendemain pour 4h du matin.
Maintenant vu que l'on a une visualisation en temps réel je voudrais informer l'utilisateur de la durée restant.
voila
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 2éme année.Actuellement en stage dans mon entreprise en R&D.
Marroubi
Messages postés51Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention30 octobre 20092 28 oct. 2009 à 13:28
slt,
dans le même exemple que t'as donné :
l'acquisition commence à 18h et, que l'on a défini une durer de 10h.
dans ce cas par exemple tu veut afficher un message dans une label(..) comme ca:
la durée restante est :hh:mm:ss
dans un instant par exemple le message sera
la durée restante est :01:10:50
après une seconde:
la durée restante est :01:10:49
et ainsi de suite..
c'est ca??