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 :

PB CDTPicker 29 Fevrier


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par défaut PB CDTPicker 29 Fevrier
    Bonjour,
    petit problème aujourd'hui en ce jour du 29/02/2008. en effet, le contrôle CDTpicker que j'initialise de cette manière (j'ai un peu modifié pour que ce soit compréhensible)

    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
     
    CDTPicker m_Date;
    CTime time = CTime::GetCurrentTime();
     
    VARIANT temp;
    temp.vt = VT_I2;
    temp.iVal = time.GetDay();
    m_Date.SetDay(temp);
    VARIANT temp2;
    temp2.vt = VT_I2;
    temp2.iVal = time.GetMonth();
    m_Date.SetMonth(temp2);
    VARIANT temp3;
    temp3.vt = VT_I2;
    temp3.iVal = time.GetYear();
    m_Date.SetYear(temp3);
    lors de l'initialisation de mon application j'ai un une dialog box, "Valeur de propriété non valide".
    En debug je me suis rendu compte que le bug s'applique au SetMonth(). ON dirait qu'il refuse qu'il y ait un 29 au mois de février...

    vous avez pas une solution? c'est peut être moi qui ait mal utilisé ce composant...

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par défaut
    bon c'est ce que je pensais, c 'est ma manière de faire qui est pourrie

    Par défaut mon CDTPicket est mis à la valeur 21/12/2007 dans mes ressources. Or je modifie le jour en faisant un SetDay donc la date du picker devient 29/12/2007, puis je modifie le mois donc la date devient 29/02/2007......ce qui provoque l'erreur...(pas de 29/02 en 2007!)

    Le truc plus propre c'est de passer directement la valeur de la date par une structure de type VARIANT avec un SetValue mais j'ai pas réussi... Je suis preneur si qqun sait faire ça. J'ai essayé qqchose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CDTPicker m_Date;
    CTime time = CTime::GetCurrentTime();
     
    VARIANT temp;
    temp.vt = VT_I2;
    temp.lVal = time.GetTime();
    m_Date.SetValue(temp);
    mais cela ne fonctionne pas. En attendant j'ai inverser la mise à jour en commençant par l'année ce qui résoud mon problème

  3. #3
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Bonjour,

    Tu as essayé ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CDTPicker m_Date;
    m_Date.SetTime(CTime::GetCurrentTime());

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par défaut
    il n'y a pas la fonction SetTime pour un CDTPicker...

  5. #5
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Ah pardon, je pensais à la classe CDateTimeCtrl.
    Mais si la méthode SetValue fonctionne avec un paramètre de type VARIANT, tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CDTPicker m_Date;
    m_Date.SetValue(CTime::GetCurrentTime());
    Ou, si ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CDTPicker m_Date;
    m_Date.SetValue(static_cast<COleVariant> (CTime::GetCurrentTime()))

Discussions similaires

  1. Mois de Fevrier non valide.
    Par momosan77 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/12/2010, 11h28
  2. [Stage] RENNES fevrier mars 2010 technicien ou administrateur reseaux
    Par sebastien-glippa dans le forum Demandes
    Réponses: 0
    Dernier message: 01/11/2009, 14h03
  3. Réponses: 6
    Dernier message: 17/01/2007, 01h39
  4. Ecole d'ingénieur session fevrier 2007
    Par nando94 dans le forum Etudes
    Réponses: 10
    Dernier message: 18/12/2006, 10h52

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