1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Savoir si une année est bissextile [Code Source WD]

Discussion dans 'Windev' créé par Pascal, Fev 13, 2018.

  1. Pascal

    Pascal Active Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    82
    J'aime reçus:
    126
    Bonjour tout le monde,

    Si cela peut aider quelqu'un d'autre, vous trouverez ci-dessous mon petit code pour savoir si une année est bissextile.

    Code (Text):

    PROCEDURE IsLeapYear(LOCAL nYear est un entier sans signe sur 2 octets)

    LOCAL
       rLeapYear est un réel = 0
       
    SI (nYear = 0) ALORS RENVOYER(Faux)

    rLeapYear = modulo(nYear,400)
    SI (rLeapYear = 0) ALORS RENVOYER(Vrai)

    rLeapYear = modulo(nYear,100)
    SI (rLeapYear = 0) ALORS RENVOYER(Faux)

    rLeapYear = modulo(nYear,4)
    SI (rLeapYear = 0) ALORS RENVOYER(Vrai)

    RENVOYER(Faux)
     
    Bon Dev à vous tous

    Cordialement
    Pascal
     
  2. michel

    michel Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    174
    J'aime reçus:
    599
    merci pour le partage
     
    Pascal apprécie ceci.
  3. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    509
    J'aime reçus:
    739
    Merci bcp, C'est utile
     
    Pascal apprécie ceci.
  4. Yusep

    Yusep Active Member
    DUMP TEAM

    Inscrit:
    Jan 3, 2018
    Messages:
    215
    J'aime reçus:
    160
    Merci
    Je pensais que datevalide etait suffisant.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    Pascal apprécie ceci.
  5. Pascal

    Pascal Active Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    82
    J'aime reçus:
    126
    Salut Yusep,

    Tu peux le faire aussi avec DateValide en testant la date avec le 29 février. Ce code teste juste sur l'année.
    De plus si tu examines le code, maintenant tu sais comment calculer manuellement une année bissextile ;)

    Cordialement,
    Pascal
     
  6. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    509
    J'aime reçus:
    739
    Bonjour,
    Pour savoir si le mois de Février compte 28 ou 29 jours et par conséquent déterminer si l'année est bissextile ou non, voici un truc :
    Code (Text):

    _dMaDate est une Date=DateSys[[1 A 4]]+"0231"
    _dMaDate..Jour=31
    Trace(_dMaDate..Jour)
     
    A vous de jouer ;)

    Edito : Correction du code.
     
    #6 suenodesign, Fev 27, 2018
    Dernière édition: Fev 27, 2018
    gapplicat et Pascal aiment ça.
  7. michel

    michel Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    174
    J'aime reçus:
    599
    Intéressant, Merci..
     
    Pascal apprécie ceci.
  8. Yusep

    Yusep Active Member
    DUMP TEAM

    Inscrit:
    Jan 3, 2018
    Messages:
    215
    J'aime reçus:
    160

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Pour savoir si le mois de Février compte 28 ou 29 jours et par conséquent déterminer si l'année est bissextile
    Cliquez pour agrandir...
    C'est pour cela que plus haut je parlais de DateValide :
    <Résultat> = DateValide(<Date>)
    <Résultat> : Booléen
    • Vrai si la date est valide,
    • Faux dans le cas contraire. Une date est considérée comme invalide si :
      • La partie "MM" de la date n'est pas comprise entre "01" et "12".
      • La partie "JJ" de la date n'est pas comprise entre "01" et "30", entre "01" et "31", entre "01" et "28" ou entre "01" et "29" (selon le mois précisé).
      • La chaîne passée en paramètre a une taille différente de 8 caractères.
      • Cette date est comprise entre le 5 octobre 1582 inclus et le 14 octobre 1582 inclus. En effet, le changement de calendrier a été réalisé dans la nuit du 4 octobre au 15 octobre 1582 (Ajustement du calendrier grégorien : voir notes).
     
    Pascal et suenodesign aiment ça.
  • ProDev

    ProDev Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    372
    J'aime reçus:
    373
    Merci pour le partage
     
    Pascal apprécie ceci.
  • Tixa

    Tixa Active Member
    MEMBRE WX

    Inscrit:
    Mar 10, 2018
    Messages:
    124
    J'aime reçus:
    145
    je pensais que windev prenait en compte les années bissextile automatiquement .. car je sais que dans d'autre langage faut le faire par programmation est c'est chaud enfin c'est toujours plus facile quand c'est pris en compte !

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    merci pour le partage
     
    Pascal apprécie ceci.
  • Pascal

    Pascal Active Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    82
    J'aime reçus:
    126
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Tu peux aussi utiliser la fonction DateValide pour tester le 29 février. Ce code teste juste sur l'année.

    Une année est bissextile :
    - Si l'année est divisible par 4 et non divisible par 100, ou.
    - Si l'année est divisible par 400.

    J’utilise cette fonction dans cet exemple :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Cordialement,
    Pascal
     
    cyberripper et Tixa aiment ça.
  • Tixa

    Tixa Active Member
    MEMBRE WX

    Inscrit:
    Mar 10, 2018
    Messages:
    124
    J'aime reçus:
    145

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Tu peux aussi utiliser la fonction DateValide pour tester le 29 février. Ce code teste juste sur l'année.

    Une année est bissextile :
    - Si l'année est divisible par 4 et non divisible par 100, ou.
    - Si l'année est divisible par 400.

    J’utilise cette fonction dans cet exemple :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Cordialement,
    Pascal
    Cliquez pour agrandir...
    Merci infiniment pour ton exemple je vais sans doute en avoir besoin je jetterai un coup d’œil au code mais j'ai vu que c'était sous Windev15 alors que je suis sous Windev20 faut que je telecharge un ancien dump ou comment ? à l'aide de WD20Alive ?
     
    Pascal apprécie ceci.
  • Pascal

    Pascal Active Member
    MEMBRE WX

    Inscrit:
    Fev 11, 2018
    Messages:
    82
    J'aime reçus:
    126
    Salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Techniquement, tu peux ouvrir un projet WD15 avec WD20.
    Sinon, tu peux créer un nouveau projet et importer la FEN_MAIN.

    Cordialement,
    Pascal
     
  • Tixa

    Tixa Active Member
    MEMBRE WX

    Inscrit:
    Mar 10, 2018
    Messages:
    124
    J'aime reçus:
    145

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Techniquement, tu peux ouvrir un projet WD15 avec WD20.
    Sinon, tu peux créer un nouveau projet et importer la FEN_MAIN.

    Cordialement,
    Pascal
    Cliquez pour agrandir...
    Malheureusement non regarde l'erreur que j'obtiens en lançant le fichier source de ton projet :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    je pense il faut telecharger les dump à l'aide de WD20Alive voila ce que j'ai trouvé sur un support :

    Astuce :
    - pour importer un projet WD 18 (généré depuis un dump générique) vers WD 20, installez le dump WD19, lancez WD18, ouvrez votre projet puis : Menu projet >> Autre action >> Réparer le projet (mise à niveau).

    Mais je l'ai toujours pas fait car je sais pas trop comment ^^' par contre je vais essayé d'importé la fenêtre directement ;)

    Cdlt.
     
    Pascal apprécie ceci.
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    373
    Pourquoi personne n'utilise la fonction DernierJourDuMois(2018, 2) ?
     
    suenodesign et JHDSoft aiment ça.
  • trick

    trick Active Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 1, 2018
    Messages:
    170
    J'aime reçus:
    95
    PROCEDURE AnnéeBissextile(nannée est un entier)


    RENVOYER DateValide(NumériqueVersChaîne(nannée,"04D") + "0229")
     
    suenodesign apprécie ceci.
  • joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Malheureusement non regarde l'erreur que j'obtiens en lançant le fichier source de ton projet :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    je pense il faut telecharger les dump à l'aide de WD20Alive voila ce que j'ai trouvé sur un support :

    Astuce :
    - pour importer un projet WD 18 (généré depuis un dump générique) vers WD 20, installez le dump WD19, lancez WD18, ouvrez votre projet puis : Menu projet >> Autre action >> Réparer le projet (mise à niveau).

    Mais je l'ai toujours pas fait car je sais pas trop comment ^^' par contre je vais essayé d'importé la fenêtre directement ;)

    Cdlt.
    Cliquez pour agrandir...
    Tu peux aussi essayer ce post :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    Tixa apprécie ceci.
  • Tixa

    Tixa Active Member
    MEMBRE WX

    Inscrit:
    Mar 10, 2018
    Messages:
    124
    J'aime reçus:
    145

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Tu peux aussi essayer ce post :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Cliquez pour agrandir...
    Je vais voir et je te tiens au courant ! ;) merci
     
  • suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    509
    J'aime reçus:
    739

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Pourquoi personne n'utilise la fonction DernierJourDuMois(2018, 2) ?
    Cliquez pour agrandir...
    Excellente astuce.

    Reste à vérifier est-ce que cette fonction est reconnue par les ancienne mouture de WX
     
    joker apprécie ceci.
  • Partager cette page

    Chargement...