| |
Posté le 30 novembre 2005 - 12:28 |
Bonjour à tous. J'ai un problème de calcul avec les heures. La syntaxe 1 me retourne une erreur, alors que la syntaxe 2 fonctionne. Ce qui est déroutant est que les deux devraient marcher...
Exemple: heure1, heure2 sont des heures heure1="0945" heure2="0130"
//syntaxe 1 ne marche pas heure1..heure=heure1..heure+ heure2..heure heure1..minute=heure1..minute+ heure2..minute
//syntaxe 2 correct heure1..heure+=heure2..heure heure1..minute+=heure2..minute
Avez vous une explication ?
-- Bon développement à tous Christian
cciochir@ _ at _ cmii.fr |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 13:06 |
Christian avait écrit le 30/11/2005 :
Bonjour à tous. J'ai un problème de calcul avec les heures. La syntaxe 1 me retourne une erreur, alors que la syntaxe 2 fonctionne. Ce qui est déroutant est que les deux devraient marcher...
Exemple: heure1, heure2 sont des heures heure1="0945" heure2="0130"
//syntaxe 1 ne marche pas heure1..heure=heure1..heure+ heure2..heure heure1..minute=heure1..minute+ heure2..minute
//syntaxe 2 correct heure1..heure+=heure2..heure heure1..minute+=heure2..minute
Avez vous une explication ?
Je n'ai pas d'explication mais par contre pour ma part je privilégie toujours l'utilisation des opérateurs ++, +=, --, -= car étant moins consommateur de cycles et plus succint comme code, mais sans doute des habitudes personnelles ^^.
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 13:13 |
Pascal F vient de nous annoncer :
Christian avait écrit le 30/11/2005 : Bonjour à tous. J'ai un problème de calcul avec les heures. La syntaxe 1 me retourne une erreur, alors que la syntaxe 2 fonctionne. Ce qui est déroutant est que les deux devraient marcher...
Exemple: heure1, heure2 sont des heures heure1="0945" heure2="0130"
//syntaxe 1 ne marche pas heure1..heure=heure1..heure+ heure2..heure heure1..minute=heure1..minute+ heure2..minute
//syntaxe 2 correct heure1..heure+=heure2..heure heure1..minute+=heure2..minute
Avez vous une explication ?
Je n'ai pas d'explication mais par contre pour ma part je privilégie toujours l'utilisation des opérateurs ++, +=, --, -= car étant moins consommateur de cycles et plus succint comme code, mais sans doute des habitudes personnelles ^^.
Je suis d'accord avec toi mais dans le cas où je veux faire heure3..heure=heure1..heure+heure2..heure je suis dans l'impasse !
-- Bon développement à tous Christian
cciochir@ _ at _ cmii.fr |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 13:43 |
Christian a formulé la demande :
Pascal F vient de nous annoncer : Christian avait écrit le 30/11/2005 : Bonjour à tous. J'ai un problème de calcul avec les heures. La syntaxe 1 me retourne une erreur, alors que la syntaxe 2 fonctionne. Ce qui est déroutant est que les deux devraient marcher...
Exemple: heure1, heure2 sont des heures heure1="0945" heure2="0130"
//syntaxe 1 ne marche pas heure1..heure=heure1..heure+ heure2..heure heure1..minute=heure1..minute+ heure2..minute
//syntaxe 2 correct heure1..heure+=heure2..heure heure1..minute+=heure2..minute
Avez vous une explication ?
Je n'ai pas d'explication mais par contre pour ma part je privilégie toujours l'utilisation des opérateurs ++, +=, --, -= car étant moins consommateur de cycles et plus succint comme code, mais sans doute des habitudes personnelles ^^. Je suis d'accord avec toi mais dans le cas où je veux faire heure3..heure=heure1..heure+heure2..heure je suis dans l'impasse !
dans ce cas heure3..heure+=heure1..heure heure3..heure+=heure2..heure
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 14:27 |
Salut
C'est comme ça, parce que ...
Charles Petzold évoque un phénomène similaire concernant C# dans son livre "Programming Microsoft Windows with C#". Et il explique en substance qu'une personne n'ayant jamais écrit un compilateur ne peut pas comprendre pourquoi c'est comme ça.
J'ai malheureusement oublié de noter la page.
-- Ciao Pat Biker http://aaa.windev.free.fr/ |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 15:11 |
Si tu peux apporter des précisions ? C'est bien intéressant cette affaire !
eric l
"Patrick Biker" <pat.biker@wdgotcha.atspace.com> a écrit dans le message de news: k36ro15ge82sq0f46orqq999qt1umod3ms@4ax.com...
Salut C'est comme ça, parce que ... Charles Petzold évoque un phénomène similaire concernant C# dans son livre "Programming Microsoft Windows with C#". Et il explique en substance qu'une personne n'ayant jamais écrit un compilateur ne peut pas comprendre pourquoi c'est comme ça. J'ai malheureusement oublié de noter la page. -- Ciao Pat Biker http://aaa.windev.free.fr/ |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 15:37 |
Salut
Je n'ai jamais écrit de compilateur et je n'ai certainement pas le niveau de monsieur Petzold.
Je ne me risquerait pas à une explication.
Il faut savoir qu'il y a un piège (gotcha) et comment le contourner.
-- Ciao Pat Biker http://aaa.windev.free.fr/ http://wdgotcha.atspace.com/
On Wed, 30 Nov 2005 14:11:05 +0100, "Eric L." <aze@qsd.com> wrote:
Si tu peux apporter des précisions ? C'est bien intéressant cette affaire ! eric l "Patrick Biker" <pat.biker@wdgotcha.atspace.com> a écrit dans le message de news: k36ro15ge82sq0f46orqq999qt1umod3ms@4ax.com... Salut C'est comme ça, parce que ... Charles Petzold évoque un phénomène similaire concernant C# dans son livre "Programming Microsoft Windows with C#". Et il explique en substance qu'une personne n'ayant jamais écrit un compilateur ne peut pas comprendre pourquoi c'est comme ça. J'ai malheureusement oublié de noter la page. -- Ciao Pat Biker http://aaa.windev.free.fr/ |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 16:18 |
Je pencherais pour quelquechose de plus sioux.
Dans le cas 1 vous ajoutez 2 heures heure1..heure=heure1..heure+ heure2..heure (Heure1 et Heure2 sont déclarées de type heure)
Par contre dans le cas 2 heure1..heure+=heure2..heure le compilateur doit implicitement faire un cast de la valeur de Heure2 en type duree et vous ajoutez la durée Heure2 à l'heure l'heure1
Ce qui est rend le résultat logique.
Voir dans l'aide en ligne le type durée à ne pas confondre avec le type heure |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2005 - 19:13 |
Bernard Berguer a couché sur son écran :
Je pencherais pour quelquechose de plus sioux.
Dans le cas 1 vous ajoutez 2 heures heure1..heure=heure1..heure+ heure2..heure (Heure1 et Heure2 sont déclarées de type heure)
Par contre dans le cas 2 heure1..heure+=heure2..heure le compilateur doit implicitement faire un cast de la valeur de Heure2 en type duree et vous ajoutez la durée Heure2 à l'heure l'heure1
Ce qui est rend le résultat logique.
Voir dans l'aide en ligne le type durée à ne pas confondre avec le type heure
Je pensais que les deux expressions étaient identiques, mais que pour faciliter l'écriture on avait "condensé" la syntaxe a=a+b en a+=b Apparemment ca va plus loin que ca!
-- Bon développement à tous Christian
cciochir@ _ at _ cmii.fr |
| |
| |
| | | |
|
| | |
| |
Posté le 01 décembre 2005 - 07:57 |
En fait les 2 types Heure et Duree sont différents Et dans la plus part des cas, c'est une durée que tu souhaites ajouter à une heure pour déterminer une nouvelle heure.
Faire la somme de duree pour obtenir une durée totale je comprends. Faire la somme d'une Heure + une duree donne une nouvelle heure. Mais faire la somme de 2 heures, j'ai du mal à imaginer ce qu'on peut obtenir.
Change tes types heures en type duree, je pense que cela va mieux correspondre à ce que tu souhaites faire.
Bon dev |
| |
| |
| | | |
|
| | |