Est-ce que vous avez des soucis avec les fonctions associ=E9es aux
Dur=E9es et aux Heures ? Moi oui, et je voudrais savoir o=F9 est le
probl=E8me... Pour info, je suis sur WinDev 12.
Je veux faire une petite appli de gestion de mon temps. Donc j'ai un
fichier qui stocke des heures de d=E9but et des heures de fin de t=E2ches,
+ un champ Dur=E9e. Et l=E0, j'ai deux soucis majeurs :
_________________________________________________
- souci 1: calcul de dur=E9e
Dans la doc PCSoft, il est =E9crit:
pour Heure:
"
HeureD=E9but est une heure=3D 1205
HeureFin est une heure =3D "2030" // 20 heures 30
"
---> On peut donc stocker dans les heures soit des valeurs num=E9riques
soit des chaines
et pour Dur=E9e
"
HeureD=E9but est une heure=3D "1330"
HeureFin est une heure=3D "1730"
Dur=E9eCongr=E8s est une Dur=E9e =3D HeureFin - HeureD=E9but
"
---> Idem, on peut stocker dans les heures soit des valeurs num=E9riques
soit des chaines
Alors quand je fais
//cas 1:
hD=E9but est une Heure
hD=E9but =3D 1000
hFin est une Heure
hFin =3D 1230
du=C9cart est une Dur=E9e =3D hFin - hD=E9but
Trace(hD=E9but) // renvoie 000010000
Trace(hFin) // renvoie 000012300
Trace(du=C9cart) // renvoie 0000002300 (2h30 ok)
Trace(Dur=E9eVersCha=EEne(du=C9cart,"HH h MM mn")) // renvoie 00 h 00
mn !!!!!
// cas 2:
hD=E9but =3D "1000"
hFin =3D "1230"
du=C9cart =3D hFin - hD=E9but
Trace(hD=E9but) // renvoie 100000000 !! pas la m=EAme valeur que ci-
dessus et pourtant c'est la m=EAme heure.
Trace(hFin) // renvoie 123000000 !! pas la m=EAme valeur que ci-
dessus et pourtant c'est la m=EAme heure.
Trace(du=C9cart) // renvoie 0023000000 !! pas la m=EAme valeur que ci-
dessus et pourtant c'est la m=EAme dur=E9e
Trace(Dur=E9eVersCha=EEne(du=C9cart,"HH h MM mn")) // renvoie 02 h 30 mn
(yes !)
// avec DateHeure =E7a a l'air de mieux fonctionner...
dhJourHeureD=E9but est un DateHeure =3D "201101011000"
dhJourHeureFin est un DateHeure =3D "201101011230"
du=C9cartDate est une Dur=E9e
du=C9cartDate =3D dhJourHeureFin - dhJourHeureD=E9but
Trace(du=C9cartDate) // renvoie 0023000000
Trace(Dur=E9eVersCha=EEne(du=C9cartDate, "HH h MM mn")) // renvoie 02 h 30
mn (yes !)
Pouvez-vous m'expliquez pourquoi je n'obtiens pas les m=EAmes/bons
r=E9sultats dans les deux premiers cas ?
_________________________________________________
- souci 2: affichage dans une table
Maintenant, je veux afficher mon heure de d=E9but, mon heure de fin et
ma dur=E9e dans une table. Donc logiquement :
- la colonne heure_d=E9but contient le champ heure_d=E9but de mon
fichier : ce champ est du format Heure et la colonne est du format
Heure aussi. Dans le cas 1, les heures affichent 00:00 ! Dans le cas
2, elles affichent bien 10:00 et 12:30. Pourquoi cette diff=E9rence ?
- la colonne dur=E9e contient le champ dur=E9e vu ci-dessus. La colonne
est du format Dur=E9e au format "HH:MM". Dans le cas 1, les dur=E9es
affichent " s" , et rien d'autre ! Dans le cas 2, les dur=E9es
affichent "02:30 h".
Pourquoi de tels r=E9sultats diff=E9rents ? J'y perds mon latin...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
erikflament
Le 20/01/2011 17:54, JC a écrit :
Bonjour
bonjour
Est-ce que vous avez des soucis avec les fonctions associées aux Durées et aux Heures ? Moi oui, et je voudrais savoir où est le problème... Pour info, je suis sur WinDev 12.
je suis en 7.5 et ne travaille qu'avec des dateheures exemple heure debut = "19:00" heure fin = "01:00" pas cool en heures alors que dateheures convient pil poil
sur une gestion de temps en entreprise une semaine ne peut dépasser 44 heures, il doit y avoir un repos de 11 heures entre 2 jours, etc.. dateheure est un format qui me convient mieux
eric
Le 20/01/2011 17:54, JC a écrit :
Bonjour
bonjour
Est-ce que vous avez des soucis avec les fonctions associées aux
Durées et aux Heures ? Moi oui, et je voudrais savoir où est le
problème... Pour info, je suis sur WinDev 12.
je suis en 7.5 et ne travaille qu'avec des dateheures
exemple heure debut = "19:00" heure fin = "01:00" pas cool en heures
alors que dateheures convient pil poil
sur une gestion de temps en entreprise
une semaine ne peut dépasser 44 heures, il doit y avoir un repos de 11
heures entre 2 jours, etc..
dateheure est un format qui me convient mieux
Est-ce que vous avez des soucis avec les fonctions associées aux Durées et aux Heures ? Moi oui, et je voudrais savoir où est le problème... Pour info, je suis sur WinDev 12.
je suis en 7.5 et ne travaille qu'avec des dateheures exemple heure debut = "19:00" heure fin = "01:00" pas cool en heures alors que dateheures convient pil poil
sur une gestion de temps en entreprise une semaine ne peut dépasser 44 heures, il doit y avoir un repos de 11 heures entre 2 jours, etc.. dateheure est un format qui me convient mieux
eric
Romain PETIT
JC avait soumis l'idée :
Bonjour
Bonjour,
---> On peut donc stocker dans les heures soit des valeurs numériques soit des chaines
Oui, mais attention, si c'est un entier 1000 ne correspond pas à 10h00 mais à 1000 centièmes de secondes, soit 10 secondes. (c'est pour cela que tu traces "000010000" et non "100000000" dans le 1er cas et que ton écart calculé est donc de 2 secondes 30 centièmes, secondes qui n'apparaissent pas dans ton formatage d'affichage)
Extrait de l'aide entier : l'heure correspondra alors au nombre de centièmes de secondes écoulés depuis minuit "00 :00 :00 :00". A minuit correspond l'entier 0. Ne peut dépasser 8.639.999 (24 heures - 1 centième de seconde).
A+
-- Romain PETIT contact : rompetit chez free fr +-+ posté sur Usenet avec MesNews et non depuis un forum web +-+ news:fr.comp.developpement.agl.windev http://www.mesnews.net/ http://fr.wikipedia.org/wiki/Newsgroup
JC avait soumis l'idée :
Bonjour
Bonjour,
---> On peut donc stocker dans les heures soit des valeurs numériques
soit des chaines
Oui, mais attention, si c'est un entier 1000 ne correspond pas à 10h00
mais à 1000 centièmes de secondes, soit 10 secondes.
(c'est pour cela que tu traces "000010000" et non "100000000" dans le
1er cas et que ton écart calculé est donc de 2 secondes 30 centièmes,
secondes qui n'apparaissent pas dans ton formatage d'affichage)
Extrait de l'aide
entier : l'heure correspondra alors au nombre de centièmes de secondes
écoulés depuis minuit "00 :00 :00 :00". A minuit correspond l'entier 0.
Ne peut dépasser 8.639.999 (24 heures - 1 centième de seconde).
A+
--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
---> On peut donc stocker dans les heures soit des valeurs numériques soit des chaines
Oui, mais attention, si c'est un entier 1000 ne correspond pas à 10h00 mais à 1000 centièmes de secondes, soit 10 secondes. (c'est pour cela que tu traces "000010000" et non "100000000" dans le 1er cas et que ton écart calculé est donc de 2 secondes 30 centièmes, secondes qui n'apparaissent pas dans ton formatage d'affichage)
Extrait de l'aide entier : l'heure correspondra alors au nombre de centièmes de secondes écoulés depuis minuit "00 :00 :00 :00". A minuit correspond l'entier 0. Ne peut dépasser 8.639.999 (24 heures - 1 centième de seconde).
A+
-- Romain PETIT contact : rompetit chez free fr +-+ posté sur Usenet avec MesNews et non depuis un forum web +-+ news:fr.comp.developpement.agl.windev http://www.mesnews.net/ http://fr.wikipedia.org/wiki/Newsgroup