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 :

Chronometre dans visual c++


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Chronometre dans visual c++
    Bonjour,

    Je voudrais incrémenter un compteur (de temps) dans un jeu de casse brique.
    C'est a dire que lorsque je clique sur la barre d'espace pour commencer je voudrais que le compteur commence a tourner puis qu'il s'arrete a un certain moment (quand c'est fini par exemple).

    Ceal me semblais assez simple mais je bute dessus.

    J'ai instancié une donné membre dans ma vue appelé start;
    J'ai rajouté au debut de mon view.cpp <time.h>
    J'ai déclenché le compteur comme ceci time(&start) lorsque j'appuye sur la barre espace.

    Mais le compteur ne marche pas Il affiche toujours la meme valeur completement incoherente.

    Help please, qu'est ce que j'ai mal fait ou pas fait? Ou y a t'il une autre methode avec visual c++ peut etre?

  2. #2
    Membre actif Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Points : 257
    Points
    257
    Par défaut
    Quel est le code que tu utilises pour formetter et afficher l'heure

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Il faut que tu le rafraîchisses et incrémentes sa valeur dans l'événement OnTimer().

    J'espère que cela pourra t'aider.

    Marie.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    en fait pour l'instant je ve juste evaluer le temps que met la balle pour toucher la premier brique donc des que cette condition est verifié j'ouvre une boite de dialogue me communiquant le temps
    je fais pour cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CString affich;
    char buffeur&#91;100&#93;;
    gcvt&#40;start,2,buffeur&#41;;
    affich=buffeur;
    AfxMessageBox&#40;affich,MB_OK,NULL&#41;;
    Il m'affiche tjs le meme resultat : 1.1e+009

    Si mon compteur marche j'envisage de le rafraichir dans la vue, mais... si il marche

    Voila, merci pour tt vos reponse en tt cas

  5. #5
    Membre actif Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Points : 257
    Points
    257
    Par défaut
    Tu peux utiliser ftime() je pense.
    tu stockes une premiere valeur pour l'heure de debut
    puis quand tu veux afficher le temps ecoulé, tu fais pareil avec une autre
    variable, et tu fais la difference entre les deux, et avec les fonctions de formattage de l'API, tu dois pouvoir afficher quelque chose de correct.

    regarde la :
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt__ftime.asp


    ca sera deja un point d'entree sur toutes les fonctions de gestion de l'heure...

  6. #6
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 136
    Points : 115
    Points
    115
    Par défaut
    salut,

    pour ma part, dans le programme que je gere, j'ai codé le temps avec les fonctions de comptage des cycles µc.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		//on lit la fréquence
    		QueryPerformanceFrequency&#40;&#40;LARGE_INTEGER*&#41;&Freq&#41;;
    		//on recuper le compteur actuel.
    		QueryPerformanceCounter&#40;&#40;LARGE_INTEGER*&#41;&Start&#41;;
    		//on calcule la fin.
    		Stop = Start + &#40; &#40;TempPause * Freq&#41; &#41; / 1000;
     
    		do
    		&#123;
    			QueryPerformanceCounter&#40;&#40;LARGE_INTEGER*&#41;&Current&#41;;
    		&#125;while &#40; Current < Stop &#41;;
    le temps de la pause est dans la variables TempsPause.

    Tu pourrais utiliser ce genre de mecanisme. tu lit le compteur au démarage, tu le lit lors du premier "impact", et tu converti...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Merci pour toutes vos reponses

    Je pense avoir trouvé une methode assez simple :

    Vue que je fesait deja appel a la fonction Ontimer() pour l'animation de la balle. Cette fonction était appelé avec la fonction settimer(1,300,NULL);

    J'ai donc créer une donnée membre qui est incrémenter de 300ms a chaque fois que la fonction ontimer s'execute. Et s'a a l'air de super bien fonctionner.

    Voila,

Discussions similaires

  1. ERREUR PRJ0019 dans visual -> ????
    Par cathar_rhythm dans le forum MFC
    Réponses: 1
    Dernier message: 07/06/2005, 14h00
  2. insertion d'une date dans visual foxpro
    Par yvescollet dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/05/2005, 15h39
  3. Intégration d'un SDK dans Visual Basic
    Par <-NicO-> dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/02/2005, 22h53
  4. Comment utiliser Opengl dans Visual Basic 6
    Par fun31 dans le forum OpenGL
    Réponses: 1
    Dernier message: 03/12/2004, 10h17
  5. Version de Windows dans Visual Studio !!!
    Par Jasmine dans le forum MFC
    Réponses: 3
    Dernier message: 18/03/2004, 17h40

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