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 de nombre de jour


Sujet :

Langage Delphi

  1. #1
    Membre du Club Avatar de lassmust
    Inscrit en
    Avril 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 105
    Points : 57
    Points
    57
    Par défaut Calcul de nombre de jour
    salut tout le monde
    mon problème est le suivant
    je n'arrive pas a faire une fonction congé que je lui insère une date plus une durée par mois et me donne la date de retour plus le nombre de dimanche
    excusé mon ignorance
    merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour, je n'ai rien compris à votre problème, pourriez-vous s'il vous plait reformuler votre question ?

  3. #3
    Membre du Club Avatar de lassmust
    Inscrit en
    Avril 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 105
    Points : 57
    Points
    57
    Par défaut
    voila ma source
    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
    procedure TForm1.Button1Click(Sender: TObject);
    var
     
      Date1  : TdateTime;
      Nbombre,diff : Integer;
     
     
    begin
     
      Nbombre:=strtoint(edit2.Text); //edit c'est la date de debut congé
     
      if RadioButton1.Checked=true then
        Edit3.Text := datetostr(IncMonth(strtodate(Edit1.Text), Nbombre));
      if RadioButton2.Checked=true then
        Edit3.Text := datetostr(IncDay(strtodate(Edit1.Text), Nbombre));
      if RadioButton3.Checked=true then
        Edit3.Text := datetostr(IncWeek(strtodate(Edit1.Text), Nbombre));
      if RadioButton4.Checked=true then
        Edit3.Text := datetostr(IncYear(strtodate(Edit1.Text), Nbombre));
     
    //edit3 c'est la date de fin congé
    end;
    or mon problème c'est de calculer le nombre des dimanche dans cette intervalle ou le nombre des samedi

    j'espère que vous m'avez compris
    merci d'avance

  4. #4
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 290
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 290
    Points : 1 941
    Points
    1 941
    Par défaut
    Sûrement quelque chose du genre (pas testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DateFin := DateDebut + NbConges
    for i:=0 to NbConges - 1 do
    begin
      if DayOfWeek = 1 then // Dimanche
        Inc(DateFin);
    end;

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Attention à l'erreur classique avec la routine DayOfWeek dans le code donné par Linkin. En effet cette routine renvoit le type de jour pour un DataTime passé mais il n'est pas conforme à la norme dans le sens où Dimache est considéré comme le jour 1 et Samedi le jour 7. Utilisez plutôt DayOfTheWeek qui elle est ISO 8601 et retourne 1 pour Lundi et 7 pour Dimanche.

    Sinon la solution se trouve effectivement dans l'utilisation de cette routine pour typer chaque jour compris entre la date de début et de fin et ainsi incrémenter le nombre de jours de congés.

  6. #6
    Membre du Club Avatar de lassmust
    Inscrit en
    Avril 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 105
    Points : 57
    Points
    57
    Par défaut
    Merci tout le monde

  7. #7
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 290
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 290
    Points : 1 941
    Points
    1 941
    Par défaut
    Désolé, je le savais et en relisant l'aide pour être sûr, j'ai lu l'aide de DayOfTheWeek.

    Corrigé dans mon post précédent.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/08/2006, 14h43
  2. [Dates] Calculer le nombre de jours dans le mois suivant...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 00h01
  3. Calculer le nombre de jours restants
    Par localhost dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/01/2006, 17h31
  4. [Optimisation][Fonction]calcul du nombre de jours ...
    Par m-mas dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/10/2005, 14h39
  5. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22

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