
Envoyé par
leomath
Dans la deuxième version, j'avais remplacé :
if (MOIS=3) and (JOUR >=25)
then if (JOUR-25 >=NUM)
then HIV:= false;
par if (MOIS=3) and (JOUR-25>=NUM)
then HIV:= false;
Ce qui est mathématiquement équivalent et si toutes les variables sont des bytes.
Dans une application que je développe sur un site météo, jai créé une fonction [I]hiverouete[/I, pour la clarté du programme. Mais les valeurs des variables ci-dessus étant issues de l'appel de la procédure GetDate, les arguments sont des words. Ce qui entraine que la différence JOUR-25 est évaluée par TP comme un word et JOUR-25 vaut 65000 et quelques , si JOUR-25 est négatif mathématiquement parlant.
Les solutions les plus élégantes ne sont pas toujours les plus portables.
Partager