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

MFC Discussion :

[MFC][Visual C++ 6]Travail sur les dates


Sujet :

MFC

  1. #1
    Membre régulier Avatar de tus01
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 191
    Points : 80
    Points
    80
    Par défaut [MFC][Visual C++ 6]Travail sur les dates
    Bonjour je souhaiterai travailler sur les dates.
    J’ai pu voir qu’on pouvait formater les dates selon si on veut afficher le jour en premier, puis la date et le mois et l’heure éventuellement.
    Ce que je cherche à faire ici est un peu différent :
    A l’ouverture de mon application, que ce soit le lundi, le mardi,… jusqu’au dimanche, je souhaiterai que la semaine en cours s’affiche dans les static box.
    L’edit box lundi devra se reconnaître et afficher sa date dans la semaine en cours. Et ainsi de suite pou les autres jours.
    Comment est-il possible de faire ceci ?



    J’ai pu remarquer qu’en C on peut récupérer le numéro de la semaine commençant par un lundi avec %W, mais je n’ai pas trouvé comment on fait en Visual C++ 6.
    Après ça comment faire pour que le lundi apparaisse dans la case lundi le mardi dans la case mardi… J'ai pensé à une boucle de test qui comparerait deux cstring! Mais ce serait beaucoup trop long pour chaque jour de la semaine!

    En ce qui concerne les boutons semaine suivante et précédente, faut il créer une fonction qui ajoute +7 jours à chaque contrôle de date ?

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pour travailler avec les dates utilise la classe CTime,
    pour retrouver le jour en fonction d'une date on utilise GetDayOfWeek()
    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
     
    UINT DayOfWeek[] = {
       LOCALE_SDAYNAME7,   // Sunday
       LOCALE_SDAYNAME1,   
       LOCALE_SDAYNAME2,
       LOCALE_SDAYNAME3,
       LOCALE_SDAYNAME4, 
       LOCALE_SDAYNAME5, 
       LOCALE_SDAYNAME6   // Saturday
    };
    TCHAR strWeekday[256];
    CTime time(CTime::GetCurrentTime());   // Date du jour
    ::GetLocaleInfo(LOCALE_USER_DEFAULT,   // récupére le libéllé du jour en cours 
       DayOfWeek[time.GetDayOfWeek()-1],   // recupere le jour de la semaine avec le CTime.
       strWeekday, sizeof(strWeekday));
    AfxMessageBox(strWeekday);
    pour rajouter un nombre de jour a une date voir faq:

    http://c.developpez.com/faq/vc/?page=Dates#AddDays
    voir aussi les autres psot de la faq
    http://c.developpez.com/faq/vc/?page=Dates


  3. #3
    Membre régulier Avatar de tus01
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 191
    Points : 80
    Points
    80
    Par défaut
    Tu m'a devancé! C'est ce que je viens de trouver dans MSDN!

    Merci pour ton aide je vais aller voir ce que nous dit la faq..
    Merci beaucoup!


  4. #4
    Membre régulier Avatar de tus01
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 191
    Points : 80
    Points
    80
    Par défaut
    Quoique pas tout à fait!

    Moi j'ai plutôt:

    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
    UINT DayOfWeek[] = {
       LOCALE_SDAYNAME7,   // Sunday
       LOCALE_SDAYNAME1,   
       LOCALE_SDAYNAME2,
       LOCALE_SDAYNAME3,
       LOCALE_SDAYNAME4, 
       LOCALE_SDAYNAME5, 
       LOCALE_SDAYNAME6   // Saturday
    };
     
    TCHAR strWeekday[256];
    CTime time(CTime::GetCurrentTime());   // Initialize CTime with current time
    ::GetLocaleInfo(LOCALE_USER_DEFAULT,   // Get string for day of the week from system
       DayOfWeek[time.GetDayOfWeek()-1],   // Get day of week from CTime
       strWeekday, sizeof(strWeekday));
     
    TRACE("%s\n", strWeekday);               // Print out day of the week
    Peut être que si je met un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AfxMessageBox(strWeekday);
    à la fin comme toi je verrai une petite boite de dialogue apparaître lors du clic sur un bouton!
    Je vais essayer ça!

    Merci beaucoup...

  5. #5
    Membre régulier Avatar de tus01
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 191
    Points : 80
    Points
    80
    Par défaut
    Oui c'est bien ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fxMessageBox(strWeekday);
    qui change tout. Je ne sais pas encore pourquoi MSDN mettait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TRACE("%s\n", strWeekday);
    mais bon!
    Maintenant je vais aller jetter un oeil sur la Faq
    Merci encore

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    ben si tu regardes le code posté c'est celui de msdn modifié avec un afxmessageBox
    msdn met un trace pour que le resultat apparaisse dans la fenetre trace debug donc uniquement en debug.

  7. #7
    Membre régulier Avatar de tus01
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 191
    Points : 80
    Points
    80
    Par défaut
    Oui c'est ce que j'ai remarqué!
    J'étais d"ailleurs en train de l'étudier avant que tu ne le poste!
    Je n'avais pas pensé à mettre un afxmessageBox et donc rien ne s'affichait!!

Discussions similaires

  1. Besoin d'aide pour un travail sur les dates
    Par LeMeD dans le forum VB.NET
    Réponses: 0
    Dernier message: 09/02/2010, 16h56
  2. travail sur les dates
    Par debutant007 dans le forum VBA Access
    Réponses: 1
    Dernier message: 31/08/2008, 17h42
  3. Requête avec travail sur les dates
    Par masseur dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/07/2008, 12h11
  4. travailler sur les dates
    Par black_hole dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 24/04/2008, 17h01

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