IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

WinDev - WebDev - WinDev Mobile : Année bissextile
Par dsr57

Le , par dsr57

0PARTAGES

Ce billet traite du cas de l'année est bissextile dans les EDI Pc-Soft.


Pc-Soft à travers le WLangage met à disposition des développeurs un très grand nombre de fonctions facilitant le quotidien du développeur.
Lors de la création d'un programme de gestion de date de fin de contrat, j'ai eu à identifier les années bissextiles. Le WLangage n'a pas de fonction permettant de savoir si le fameux 29 février existe pour une année.
C'est pour cette raison que je partage le code de la procédure que j'ai développé pour l'occasion

Code windev : Sélectionner tout
1
2
3
4
5
6
7
  
PROCEDURE AnnéeBissextile(pi_année est un entier) 
  
SI modulo(pi_année, 400) = 0 ALORS RENVOYER Vrai 
SI modulo(pi_année, 100) = 0 ALORS RENVOYER Faux 
SI modulo(pi_année, 4) = 0 ALORS RENVOYER Vrai 
RENVOYER Faux

L'algorithme mis en place dans cette fonction est celui d'écris sur wikipédia : http://fr.wikipedia.org/wiki/Ann%C3%A9e_bissextile et enseigné dans les écoles de programmation lors des premier TD.


Maintenant, voyons une écriture plus WinDevienne, en utilisant une variable de type date et la fonction DateValide

Code windev : Sélectionner tout
1
2
3
4
PROCEDURE AnnéeBissextile(pi_année est un entier) 
  
  
RENVOYER DateValide(NumériqueVersChaîne(pi_année,"04D") + "0229")

Attention aux limitations de la fonction DateValide, d'après la documentation officielle :
  • Si la date est antérieure au 4 octobre 1582, cette date est considérée comme appartenant au calendrier Julien. Cette date est valide.
  • Si la date est postérieure au 15 octobre 1582, cette date est considérée comme appartenant au calendrier Grégorien. Cette date est valide.


Vous avez maintenant le choix entre ces deux écritures, à vous de choisir.

Bon développement à tous

Une erreur dans cette actualité ? Signalez-nous-la !