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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Calcul des jours feriés


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 106
    Points : 59
    Points
    59
    Par défaut Calcul des jours feriés
    Bonjour

    y a t-il une bonne ame qui possède dans un recoin de sa bécane le code (ou même seulement l'algorithme) du calcul des jours férié
    : :

    Merci beaucoup
    Delphi 6 entreprise & interbase 6

    Bonne journée 8)

    Tout programme non trivial contient au moins un bug.

  2. #2
    Seb
    Seb est déconnecté
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 81
    Points : 97
    Points
    97
    Par défaut
    Salut,

    Tu peux récupérer les o_fonctions...
    Dedans, tu as, entre autre, tout ce qu'il faut pour les fours fériés suivant le pays (France, Luxembourg, Suisse,...), y compris les jours non fixes (lundi de..., jeudi de...).

    A+,

    Seb.
    Avant de poser votre question merci de regarder :
    La FAQ Delphi (430 Questions / Réponses)
    ou les cours et tutoriels Delphi.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    Meric beaucoup
    Delphi 6 entreprise & interbase 6

    Bonne journée 8)

    Tout programme non trivial contient au moins un bug.

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Un code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    {---------------------------- Retourne La date de Paques ----------------------}
    function Paques( _Year: word = 0 ): TDateTime;
    // http://www.tondering.dk/claus/calendar.html
    var a, b, c, d, e, mois, jour: integer;
    begin
        if _Year = 0 then _Year := YearOf( Date );
        a     := _Year mod 19;
        b     := _Year div 100;
        c     := (b - (b div 4) - ((8 * b + 13) div 25) + (19 * a) + 15) mod 30;
        d     := c - (c div 28) * (1 - (c div 28) * (29 div (c + 1)) * ((21 - a) div 11));
        e     := d - ((_Year + (_Year div 4) + d + 2 - b + (b div 4)) mod 7);
        mois  := 3 + ((e + 40) div 44);
        jour  := e + 28 - (31 * (mois div 4));
        Result := EncodeDate( _Year, mois, jour );
    end;
     
    {------------------------ Lundi de paques -------------------------------------}
    function PaquesLundi( _Year: word = 0 ): TDateTime;
    begin
        Result := Paques( _Year ) + 1;
    end;
     
    {------------------------ Renvoi La date De Ascenssion ------------------------}
    function Ascension( _Year: word = 0 ): TDateTime;
    begin
        Result := Paques( _Year ) + 39;
    end;
     
    {------------------------ Renvoi Pentecote ------------------------------------}
    function Pentecote( _Year: word = 0 ): TDateTime;
    begin
        Result := Paques( _Year ) + 49;
    end;
     
    {--------------------------- Renvoi Lundi de Pentecote ------------------------}
    function PentecoteLundi( _Year: word = 0 ): TDateTime;
    begin
        Result := Paques( _Year ) + 50;
    end;
     
    {------------------------------ Liste des jours feriés ---------------------------}
    Procedure List_jour_feries(_Year : Word; Var List_jf : TStringList; var List_jfd : TStringList);
    begin
      List_jf.Clear;
      List_jfd.Clear;
          // jour de l'an
       if _Year = 0 then _Year:= YearOf(Date);
       List_jf.Add( floattostr( EncodeDate( _Year , 1 , 1 ) ) );
       List_jfd.add('Jour de l''an');
          // 1er mai (fête du Travail)
       List_jf.Add( floattostr( EncodeDate( _Year , 5 , 1 ) ) );
       List_jfd.add('Fête du travail');
          // 15 août (Assomption)
       List_jf.Add( floattostr( EncodeDate( _Year , 8 , 15 ) ) );
       List_jfd.add('Assomption');
         // 1er novembre (Toussaint)
       List_jf.Add( floattostr( EncodeDate( _Year , 11 , 1 ) ) );
       List_jfd.add('Toussaint');
         // 25 décembre (Noël)
       List_jf.Add( floattostr( EncodeDate( _Year , 12 , 25 ) ) );
       List_jfd.add('Noël');
    (****************************** Fêtes mobiles *********************************)
          // Pâques
       List_jf.Add( floattostr( Paques( _Year ) ) );
       List_jfd.add('Pâques');
          // Lundi de Pâques (lundi après Pâques)
       List_jf.Add( floattostr( PaquesLundi( _Year ) ) );
       List_jfd.add('Lundi de pâques');
          // Ascension (6e jeudi (39j) après Pâques)
       List_jf.Add( floattostr( Ascension( _Year ) ) );
       List_jfd.add('Ascension');
          // Pentecôte (7e dimanche (49j) après Pâques)
       List_jf.Add( floattostr( Pentecote( _Year ) ) );
       List_jfd.add('Pentecôte');
          // Lundi de la Pentecôte (lundi après la Pentecôte)
       List_jf.Add( floattostr( PentecoteLundi( _Year ) ) );
       List_jfd.add('Lundi de Pentecôte');
    end;
    On progresse .....

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 99
    Points : 126
    Points
    126
    Par défaut
    [Hors sujet]
    Ton code est faux Andry, le lundi de pentecôte c'est plus vraiment ferié
    [/Hors sujet]
    A+---------------> Nat <-------------------

  6. #6
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Peut être pour vous Rbag.
    Mais pour moi, bah ce sera tjs le cas chez moi.


    On progresse .....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Calcul d'une nouvelle date en tenant compte des jours ferie
    Par Phil37 dans le forum VBA Access
    Réponses: 6
    Dernier message: 19/09/2013, 08h11
  2. [MCD] calcul des jours ouvrables/année
    Par wikiele dans le forum Schéma
    Réponses: 1
    Dernier message: 04/09/2011, 19h04
  3. [WD15] calcul des Jours ouvrés
    Par FreeDo dans le forum WinDev
    Réponses: 10
    Dernier message: 19/04/2011, 12h45
  4. Réponses: 3
    Dernier message: 20/05/2010, 21h01
  5. [Excel] Calcul des jours de RTT
    Par cobra38 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 07/06/2008, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo