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 :

Chronométrage d'une action réalisée


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Par défaut Chronométrage d'une action réalisée
    Bonjour,

    Avec Visual C++ 6 et un projet existant (un jeu) je souhaiterais pouvoir mesurer le temps nécessaire (en secondes, voire secondes et dixièmes) entre le début et la fin d'une partie.

    Mon souci concerne les fonctions à utiliser pour démarrer le "compteur", pouvoir le mettre en pause (par exemple quand l'application perd le focus) puis le redémarrer, enfin le stopper.

    Pouvez-vous me donner quelques éléments pour avancer ?

    D'avance merci.

  2. #2
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Puisqu'il s'agit d'une mesure de temps,
    Voilà ce que tu dois faire.
    1. Lorsque le jeu démarre il doit appeler une de tes fonctions où tu initialise une variable CTime ou COleDateTime à la date actuelle

    2. Et Lorsque le jeu prend fin, il doit appeler une de tes fonctions où tu initialise une variable CTime ou COleDateTime encore une fois à la date actuelle.

    3. Ensuite tu fais la différence des deux objets COleDateTime qui retourne un COleDateTimeSpan. De ce dernier objet tu appelles sa méthode GetTotalSeconds() qui te retourne la différence en secondes.

    Gabrielly

  3. #3
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Mon souci concerne les fonctions à utiliser pour démarrer le "compteur", pouvoir le mettre en pause (par exemple quand l'application perd le focus) puis le redémarrer, enfin le stopper.
    Ton programme doit lancer des avertissements pour chaque changement interne de démarrage, de pause, d'arrêter. Ces avertissemnts peuvent être des messages utilisateurs WM_USER (cas MFC) pour lequel tu défnis des gestionnaires pour faire des différences algébriques entre le temps actuellement lus et le temps récemment enregistré.

    Ensuite tu fais la somme de cet interval de temps pour trouver le temps total. (un jeu algébrique)

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    salut, tu peux regarder ici pour utiliser le compteur de haute précision : http://c.developpez.com/faq/vc/?page...esurePrecision

  5. #5
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Maintenant il ne reste qu'a synchronisé les appels des CMesurePrecision::Start() et CMesurePercision::GetTimeFromStart()
    avec les avertissements que devra lancer le programme de jeu lors qu'il veut commencer, ou lorsqu'il s'arrête ou lorsqu'il met une pause.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Par défaut
    Arghh ! Merci pour toutes vos réponses mais en regardant le manuel du programmeur je me suis rendu compte que le projet avait été fait en C, pas en C++ !

    Du coup ça ne devrait plus trop poser de problème...

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/10/2010, 11h30
  2. Réalise une action à chaque destruction d'une instance d'une classe
    Par zlaptop dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 09/07/2010, 11h23
  3. [Dojo] Réaliser une action à la suite d'un drop
    Par tapoutapou dans le forum Bibliothèques & Frameworks
    Réponses: 17
    Dernier message: 08/07/2010, 15h59
  4. Réaliser une action après une combinaison de touche
    Par Coussati dans le forum Débuter
    Réponses: 4
    Dernier message: 08/09/2009, 09h11
  5. Réaliser une action sur le serveur à une heure/date précise
    Par grenoult dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 22/02/2008, 15h50

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