Intervalles de dates
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Intervalles de dates



  1. #1
    N-physpanish

    Intervalles de dates


    ------

    Bonsoir,

    Je programme en Pascal, et je voudrais savoir s'il existe une fonction ou une méthode rapide pour voir si lorsqu'on entre une date (jj/mm/aaaa) d'entree et de sortie elle appartient ou non à un intervalle donné ?

    Merci de votre aide, au revoir.

    -----

  2. #2
    kwariz

    Re : Intervalles de dates

    Bonsoir,

    ça fait un bail que je n'ai pas touché à du Pascal. Avec quoi développes-tu (free pascal, lazarus, ...) ?
    Tu as consulté la documentation si tu disposes de TDateTime ?

  3. #3
    dalfred

    Re : Intervalles de dates

    J utilise geany

  4. #4
    kwariz

    Re : Intervalles de dates

    geany est juste un éditeur, quel compilateur utilises-tu ?

  5. A voir en vidéo sur Futura
  6. #5
    dalfred

    Re : Intervalles de dates

    TDateTime (apparemment) permet juste de faire des choses du genre : obtenir l heure en temps réel, modifier l heure,... mais ne permet pas de comparer des intervalles de temps

  7. #6
    kwariz

    Re : Intervalles de dates

    Ça va dépendre de ton environnement ... regarde par exemple la doc de free pascal la partie sur l'unité dateutils en particulier la fonction CompareDate.

  8. #7
    N-physpanish

    Re : Intervalles de dates

    C'est aussi un compilateur geany, merci pour les liens je vais voir ca
    Dernière modification par N-physpanish ; 16/11/2012 à 18h24.

  9. #8
    kwariz

    Re : Intervalles de dates

    On parle bien du même Geany (http://www.geany.org/) ?

    Tu dois bien utiliser un compilateur comme free pascal ? Comment crées-tu ton exécutable ?

  10. #9
    N-physpanish

    Re : Intervalles de dates

    Oui c'est lui, mais quand je fais executer à partir de geany ca ouvre le cmd de windows (mais j ai aussi freepascal)

  11. #10
    kwariz

    Re : Intervalles de dates

    Si tu compiles avec freepascal alors ton bonheur pour manipuler les dates se trouve dans l'unité dateutils.

  12. #11
    N-physpanish

    Re : Intervalles de dates

    Le soucis c'est que je ne comprends pas certaines choses dans l exemple donné, notamment le TDateTime qui est défini comme un type, mais d'après ce que j'ai vu il s'intéresse à la date et l heure en temps reel

  13. #12
    kwariz

    Re : Intervalles de dates

    TDateTime permet de manipuler les dates au sens large (année mois jour heure minute seconde ....). Pour créer une date avec un format spécifique tu peux utiliser http://www.freepascal.org/docs-html/...ndatetime.html par exemple. Il y a une floppée de fonctions : http://www.freepascal.org/docs-html/...s/index-5.html.
    Il semble y avoir une convention de nommage, les fonctions dont le nom ne comporte que Date ne manipulent que la partie date, celles dont le nom ne comporte que Time ne manipulent que la partie heure, et celles dont le nom contient DateTime manipulent les deux parties.

  14. #13
    N-physpanish

    Re : Intervalles de dates

    Dans le programme d 'exemple donné dans le lien CompareDate je ne vois ou est ce qu il faut changer pour comparer deux dates que je souhaite, normalement c'est D et N mais sous quelle forme dois je l écrire ?
    Dernière modification par N-physpanish ; 16/11/2012 à 19h34.

  15. #14
    kwariz

    Re : Intervalles de dates

    Je suis rouillé du pascal, mais si tu as deux variables D1 et D2 de type TDateTime, tu appelles la fonction et CompareDate(D1,D2) renverra un -1 si D1 précède D2, 1 si D2 précède D1 et 0 si D1 et D2 sont la même date.

    Juste une question en passant, s'agit-il d'un exercice ? Car s'il s'agit d'apprendre à écrire une fonction qui fait ça c'est une autre histoire.

  16. #15
    N-physpanish

    Re : Intervalles de dates

    En fait je travaille sur un projet en informatique qui pour ma part correspond à la gestion d'un hotel, alors j ai du d abord créer un tableau dont le nombre de cases est egal au nombre de chambre et dans ce tableau pour chaque case je dois encore creer un tableau qui permettra de stocker toutes les dates de reservation pour chaque chambre (tableau dans un tableau, c'est une sorte de matrice). Cependant avant d 'ajouter une reservation il faut que je vérifie que la date de sejour demandée par un client n'appartient pas à un intervalle ( cet intervalle correspond aux autres reservations faites precedemment ).
    Je dois donc creer une fonction à laquelle je devrai faire appel pour comparer une date avec toutes les autres.
    Dernière modification par N-physpanish ; 17/11/2012 à 07h42.

  17. #16
    kwariz

    Re : Intervalles de dates

    ok, si le but de l'exercice n'est pas de recréer une fonction qui compare des dates autant utiliser les bilbiothèques dont tu diposes.
    Néanmoins pour ton projet il peut être intéressant de stocker la date simplement dans un entier sous la forme AAAAMMJJ, par exemple aujours'hui 17 novembre 2012 pourrait être stocké avec l'entier 20121117. Cela te simplefiera la vie car une comparaison de date revient à comparer des entiers : le 3 février vient avant aujourd'hui -> on a bien 20120203 < 20121117, et le 3 février 2013 vient après aujourd'hui -> on a bien 20130203 > 20121117.
    Tu peux même utiliser des chaînes pour ça toujours en stockant la date sous la forme "AAAA/MM/JJ", l'ordre lexicographique conserve l'ordre chronologique.
    Ensuite pour définir ce que tu appelles «une sorte de matrice» il va certainement falloir passer par les enregistrements. Tu as apparemment choisi de stocker les réservation dans ton type chambre donc je suppose que tu vas avoir quelque chose comme :
    Code:
    TResa : record
              start : integer;
              end : integer;
            end;
    
    TChambre : record
                 id : integer;
                 ... tout ce qui définit une chambre ...
                 reservations : array[1..Max_Resa] of TResa;
               end;
    
    THotel : record
               id : integer;
               nom : string;
               ....
               chambres : array[1..Max_Chambre] of TChambre;
             end;
    Ce n'est qu'un squelette de ce que tu pourrais utiliser, si tu ne pars pas avec une sdd claire tu vas t'embrouiller déjà que tu ne sembles pas avoir commencé par écrire les algos dont tu auras besoin.

Discussions similaires

  1. Intervalles
    Par invite49ddbe65 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 09/10/2011, 15h34
  2. exercice intervalles
    Par invitebad392a6 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 08/01/2009, 15h17
  3. Intervalles !
    Par invite8ca80c3d dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 29/01/2008, 18h59
  4. Intervalles
    Par Rammstein43 dans le forum Mathématiques du collège et du lycée
    Réponses: 10
    Dernier message: 22/11/2007, 21h04
  5. Intervalles compacts
    Par lolouki dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 20/09/2006, 08h39