CLASSE TIMER SOUS WINDOWS ( CHRONOMÈTRE )

Signaler
Messages postés
6
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
27 novembre 2002
-
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9980-classe-timer-sous-windows-chronometre

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
Afficher les 7 commentaires