PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Valeur simultanée de Date et Heure
Valeur simultanée de Date et Heure
Débuté par Daniel Gélinas, 13 oct. 2004 19:17 - 5 réponses
Posté le 13 octobre 2004 - 19:17
Bonjour,

Comment aller chercher SIMULTANEMENT,
c'est-à-dire en une seule opération, la date et
l'heure courante?

J'ai vu des fonctions permettants d'aller chercher
une date, des fonctions permettants d'aller chercher
une heure, j'ai vu le type dateheure, mais je n'ai pas
trouvé...

J'imagine que cela est possible car un "mauvais timing",
au changement de journée, est possible en aller chercher
la date et l'heure de façon séparée.

Merci

Daniel Gélinas
DGelinas@br.kruger.com
Posté le 14 octobre 2004 - 11:22
"Daniel Gélinas" <DGelinas@br.kruger.com> a écrit ...

Bonjour,

Comment aller chercher SIMULTANEMENT,
c'est-à-dire en une seule opération, la date et
l'heure courante?

J'ai vu des fonctions permettants d'aller chercher
une date, des fonctions permettants d'aller chercher
une heure, j'ai vu le type dateheure, mais je n'ai pas
trouvé...

J'imagine que cela est possible car un "mauvais timing",
au changement de journée, est possible en aller chercher
la date et l'heure de façon séparée.

Merci

Daniel Gélinas
DGelinas@br.kruger.com


Bonjour
Il suffit d'aller chercher la date, l'Heure puis de nouveau la Date, si les
deux dates sont identiques, alors l'heure est bonne, sinon recommencer.

@+
Vincent Barré
Le monde se divise en 10 catégories, ceux qui savent compter en binaire et
ceux qui ont des amis.
Posté le 14 octobre 2004 - 11:26
les deux fonction heuresys() et datesys() s'execute en un milliemme de
seconde il serait extremement peu probable que le cas de figure que tu donne
arrive.

toutefois tu peux toujours bricoler un controle pour etre sur, du genre:

jour_maintenant,heure_maintenant,dateheure_maintenant sont des chaines

jour_maintenant = datesys()
heure_maintenant = heuresys()
si jour_maintenant <> datesys() alors jour_maintenant = datesys() // la date
à changé entre datesys et heuresys --> correction de la date

dateheure_maintenant = jour_maintenant+heure_maintenant

// exemple tu fait datesys() a 23h59:999 le 31 décembre, ça te donne 31
décembre en date
// puis le jour passe et tu fais heuresys() et ça te donne 00h00:001
// puis le deuxieme datesys() te donne 1er janvier <> 31 décembre donc tu
corrige la date
// ça te donne 1er janvier 00h00:001 au lieu de 31 décembre 00h00:001 donc
une différence d'un millieme de seconde au lieu de 1 jour entier

"Daniel Gélinas" <DGelinas@br.kruger.com> a écrit dans le message de
news:416d3dd1@news.pcsoft.fr...


Bonjour,

Comment aller chercher SIMULTANEMENT,
c'est-à-dire en une seule opération, la date et
l'heure courante?

J'ai vu des fonctions permettants d'aller chercher
une date, des fonctions permettants d'aller chercher
une heure, j'ai vu le type dateheure, mais je n'ai pas
trouvé...

J'imagine que cela est possible car un "mauvais timing",
au changement de journée, est possible en aller chercher
la date et l'heure de façon séparée.

Merci

Daniel Gélinas
DGelinas@br.kruger.com
Posté le 14 octobre 2004 - 17:05
Merci beaucoup pour vos réponses,

Commentaire: Il ne me semble pas très approprié pour un langage dit de 5ième
génération, de faire un tel "tricotage" pour simplement aller chercher en
une phase, la date et l'heure courante.

Une telle façon d'aller chercher la date et l'heure, ne devrait-elle pas être un ajout dans une version future de WinDev?

Merci

Daniel
Posté le 14 octobre 2004 - 18:22
il n'est pas utile d'avoir la totalité des API windows (des milliers de
fonctions) transcrites chacunes en fonctions windev.
il vaux mieux avoir un large choix de fonctions elementaires à combiner
plutot que des tonnes de fonctions peu utiles combinant les unes les autres
et n'apportant rien de nouveau.
5e Generation ne veux pas dire qu'il ne faut plus taper une seule ligne de
code et qu'une seule fonction FaitMarcherMonProgramme() va remplacer toutes
les autres ;-)

si tu veux vraiment une fonction pour les 2 il faut appeler directement
l'API windows GetSystemTime() pour obtenir simultanement la date et l'heure
mais rien ne t'indique toutefois que Windows ne fait pas exactement comme tu
le redoute en prennant d'abord la date puis l'heure et en renvoyant le tout
ce qui te causerais alors toujours le même probleme de decalage.

au fait M. PCSoft à quand la fonction CorrigeBugs() ? :-)

http://msdn.microsoft.com/library/default.asp…


"Daniel Gélinas" <DGelinas@br.kruger.com> a écrit dans le message de
news:416e705d$2@news.pcsoft.fr...


Merci beaucoup pour vos réponses,

Commentaire: Il ne me semble pas très approprié pour un langage dit de

5ième
> génération, de faire un tel "tricotage" pour
simplement aller chercher en
une phase, la date et l'heure courante.

Une telle façon d'aller chercher la date et l'heure, ne devrait-elle pas

être un ajout dans une version future de WinDev?

Merci

Daniel



Posté le 19 octobre 2004 - 11:43
jour_maintenant,heure_maintenant,dateheure_maintenant sont des chaines

jour_maintenant = datesys()
heure_maintenant = heuresys()
si jour_maintenant <> datesys() alors jour_maintenant = datesys() // la

date
à changé entre datesys et heuresys --> correction de la date

dateheure_maintenant = jour_maintenant+heure_maintenant

// exemple tu fait datesys() a 23h59:999 le 31 décembre, ça te donne 31
décembre en date
// puis le jour passe et tu fais heuresys() et ça te donne 00h00:001
// puis le deuxieme datesys() te donne 1er janvier <> 31 décembre donc tu
corrige la date
// ça te donne 1er janvier 00h00:001 au lieu de 31 décembre 00h00:001 donc
une différence d'un millieme de seconde au lieu de 1 jour entier


Oui , mais si le datesys() est fait à 23h59:998 le 31/12., le heuresys() à
23h59:999 le 31/12 et que tu compare 1 millième après jour_maintenant avec
datesys() , tu vas effectuer le changement de date avec une heure de la
veille ...
clair ?