Soustraction d'heure minute seconde pour faire un decompte

cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 février 2013 - 28 oct. 2009 à 08:43
Marroubi Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 30 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.

9 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
28 oct. 2009 à 09:07
Bonjour,

As-tu fais une recherche sur ce site, j'y ai récupéré ce même genre de code en 30 secondes (en VB6 mais certainement adaptable) ?


Calade
0
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 février 2013
28 oct. 2009 à 09:12
J'ai fait une recherche bien sur mais peut être pas avec les bon thermes. Je vais continuer a rechercher

Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
28 oct. 2009 à 09:21
Si je me souviens bien, le seul mot clé employé était GetTickCount comme l'API du même nom.


Calade
0
Marroubi Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 30 octobre 2009 2
28 oct. 2009 à 09:58
slt tout le monde,

si j'ai bien compris, il s'agit d'une comparaison de deux date?
oui? ou non?

Bonne Casse-tête.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 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.
0
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 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.
0
Marroubi Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 30 octobre 2009 2
28 oct. 2009 à 11:24
slt,
ok même j'ai pas encours compris !! pas de concentration ce jour!!

mais je peut te dire quelque chose:

Dim MaDate As Date 
Madate = Now


et une deuxieme fois ,

Dim MaDate2 As Date 
Madate2 = Now


je force le jour des deux dates pour que je peut comparer seulement les heurs et les minutes et les secondes.

MaDate.Day=Valeur
MaDate2.Day=Valeur2

\ Valeur=Valeur2

Bonne Casse-tête.
0
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 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.
0
Marroubi Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 30 octobre 2009 2
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??

Bonne Casse-tête.
0
Rejoignez-nous