Classe timer sous windows ( chronomètre )

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 737 fois - Téléchargée 37 fois

Contenu du snippet

Aucune description n'est fournie pour ce projet

A voir également

Ajouter un commentaire Commentaires
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Au cas ou quelqu'un le voudrait :

#include <windows.h>
#include <mmsystem.h>
/***** Déclaration de la classe *****/
class Timer
{
LONGLONG start_time;
LONGLONG cur_time;
LONGLONG last_time;
float time_elapsed;
float time_scale;
float GetTimePerf();
//float GetTime();
public:
Timer(); // Constructeur
~Timer(); // Destructeur

void Start(); // Initialisation du timer
float GetTotalElapsedTime(); // Temps écoulé depuis l'initialisation du timer
float GetElapsedTime(); // Temps écoulé entre deux appels de la fonction
};
/***** Description des méthodes de la classe *****/
Timer::Timer()
{
}
Timer::~Timer()
{
}
void Timer::Start()
{
LONGLONG perf_cnt = 0;
//if (QueryPerformanceFrequency((LARGE_INTEGER *) &perf_cnt)){
time_scale = 1.0f / perf_cnt;
QueryPerformanceCounter((LARGE_INTEGER *) &start_time);
last_time = start_time;
//}else{
// start_time last_time timeGetTime();
// time_scale = 0.001f;
//}
}
//float Timer::GetTime()
//{
//return (float)timeGetTime();
//}
float Timer::GetTimePerf()
{
QueryPerformanceCounter((LARGE_INTEGER *) &cur_time);

return (float)cur_time;
}
float Timer::GetTotalElapsedTime()
{
cur_time = this->GetTimePerf();
time_elapsed = (cur_time - start_time) * time_scale;
last_time = cur_time;
return time_elapsed;
}
float Timer::GetElapsedTime()
{
cur_time = this->GetTimePerf();
time_elapsed = (cur_time - last_time) * time_scale;
last_time = cur_time;
return time_elapsed;
}
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Ca va je devrais avoir modifier le code correctement pour que ca fonctionne
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Bonjour,
C'est quoi ce DXPTimer ???
Personne ne l'a, même si c'était en 2004 ..., mais je l'ai toujours pas moi.
C'est plustôt ennuyant lorsqu'on vient juste de commencer le c++ et qu'on y connais pas encore grand chose :(.
Messages postés
19
Date d'inscription
samedi 20 octobre 2001
Statut
Membre
Dernière intervention
2 avril 2004

MAJ un peu tardive dsl
Messages postés
1
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
24 octobre 2003

Hi,
je suis un étudiant dZinformatique et je fais actuellement un stage. je suis entrain dZécrire un programme "Testdriver" qui permet déffectuer des tests pour les évaluer. Pour cela jZaurais besoin dZune fonction qui permet de calculer le temps duré par chaque teste ainsi que le temps de démarrage ...
Après avoir compilé cette classe, les erreurs suivantes ont été affichées:

c: error C2653: 'DXPTimer' : is not a class or namespace name
c: error C2645: no qualified name for pointer to member (found ':: *')
c: error C2653: 'DXPTimer' : is not a class or namespace name
c: error C2276: '&' : illegal operation on bound member function expression
c: error C2653: 'DXPTimer' : is not a class or namespace name
c: error C2276: '&' : illegal operation on bound member function expression
c: error C2297: '->*' : illegal, right operand has type 'float (__cdecl *)(void)'
c: error C2297: '->*' : illegal, right operand has type 'float (__cdecl *)(void)'
Error executing cl.exe.
Creating browse info file...

Test7.exe - 8 error(s), 0 warning(s)

je te serais trés reconnaissant, si tu pourrais mZaider.

merci dZavance

moh
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.