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 :

[Debutant] Ajouter un temps à une date


Sujet :

MFC

  1. #1
    Membre du Club Avatar de Hokagge
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 149
    Points : 67
    Points
    67
    Par défaut [Debutant] Ajouter un temps à une date
    Salut à tous,

    Je cherche a ajouter une durée à la date courante, et récupérer la nouvelle date.

    Pour ce faire voila ca que j'ai réalisé grâce aux FAQ:

    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
    SYSTEMTIME SystemTime;	
    	GetSystemTime(&SystemTime);
     
    	CTime HCourante;
    	HCourante.GetAsSystemTime(SystemTime);
     
    	UpdateData(true);
     
    	CTimeSpan TpsTrajet(0, m_TpsTrajetH, m_TpsTrajetM, m_TpsTrajetS);
     
    	CTime HArrive = HCourante + TpsTrajet;
     
    	long Jour = HArrive.GetDay(),
    		 Mois = HArrive.GetMonth(),
    		 Anne = HArrive.GetYear(),
    		 Heure = HArrive.GetHour(),
    		 Minute = HArrive.GetMinute(),
    		 Second = HArrive.GetSecond();
     
    	m_HeureArrive.Format("le %i %i %i à %ih %im %is", Jour, Mois, Anne, Heure, Minute, Second);	
     
    	UpdateData(false);
    Soyez indulgent coté syntaxe et autre complexité du code, je ne suis encore qu'un novice en Visual .

    Lorsque j'exécute j'ai un message d'erreur (instruction à "0x...." emploi l'adresse mémoire "0x00000c". la mémoire ne peut pas etre "read")

    Lorsque je debug, le prog plante à la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long Jour = HArrive.GetDay(),
    Personnelement je ne vois pas ou ca coince, et je remercie d'avance une réponse pouvant méclairer

    @+

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Il ya 90% de chances que cela plante sur CTime::Format
    m_HeureArrive.Format("le %i %i %i à %ih %im %is", Jour, Mois, Anne, Heure, Minute, Second);
    Voir utilisation de printf et les formateurs
    %i c'est pour le type int et pas long que tu as déclaré

  3. #3
    Membre du Club Avatar de Hokagge
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 149
    Points : 67
    Points
    67
    Par défaut
    C bon c'est réparé

    en fait pour initialiser ma classe HCourante à la date courante, il fallait faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CTime HCourante = CTime::GetCurrentTime();
    au lieu de ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SYSTEMTIME SystemTime;   
       GetSystemTime(&SystemTime);
     
       CTime HCourante;
       HCourante.GetAsSystemTime(SystemTime);
    Voila maintenant ca marche

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

Discussions similaires

  1. Ajout de temps à une Date
    Par SrK dans le forum Flex
    Réponses: 1
    Dernier message: 09/12/2009, 13h36
  2. [MySQL] ajout de jour à une date
    Par mohican13 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/03/2006, 17h39
  3. [Dates] Ajouter un mois à une date
    Par Higestromm dans le forum Langage
    Réponses: 8
    Dernier message: 17/01/2006, 15h27
  4. [debutant] Ajouter un champ à une table.
    Par castaka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2005, 10h08
  5. ajouter 1 mois à une date dans une requete
    Par alain.lc dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 04/04/2005, 12h05

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