Estoy haciendo un programilla donde necesito controlar el tiempo. Usando bucles consigo una aproximación bastante buena a los segundos. El problema viene cuando el tiempo se incrementa dentro de un bucle que dentro tiene un retardo que cada vez es mas pequeño. Eso me jode lo del tiempo.
Hay alguna función para obtener el tiempo directamente de la computadora??
PD Usando Allegro.
Temporizador
Moderador: CEZ
- AugustoRuiz
- 128 bits
- Mensajes: 1726
- Registrado: 24 May 2006 08:35
- Ubicación: Madrid
- Contactar:
Re: Temporizador
Si es para Windows, tienes la función QueryPerformanceCounter... La documentación está aquí:Floc escribió:Estoy haciendo un programilla donde necesito controlar el tiempo. Usando bucles consigo una aproximación bastante buena a los segundos. El problema viene cuando el tiempo se incrementa dentro de un bucle que dentro tiene un retardo que cada vez es mas pequeño. Eso me jode lo del tiempo.
Hay alguna función para obtener el tiempo directamente de la computadora??
PD Usando Allegro.
http://msdn2.microsoft.com/en-us/library/ms644904.aspx
Para usarla necesitarás poner #include "Windows.h". Recuerda antes de llamarla preguntar (basta con hacerlo una vez antes de empezar a llamar a la función) cada cuanta frecuencia se actualiza el contador. Para ello puedes llamar a la función QueryPerformanceFrequency. La documentación:
http://msdn2.microsoft.com/en-us/library/ms644905.aspx
Por último, la solución multiplataforma (pero con una resolución menor), la función time();
Código: Seleccionar todo
time_t now;
time(&now);
Are you linked in?
http://www.linkedin.com/in/augustoruiz
http://www.linkedin.com/in/augustoruiz
- na_th_an
- 256 bits
- Mensajes: 11874
- Registrado: 22 Abr 2005 13:25
- Contactar:
Usando bucles harás que el programa vaya más rápido en ordenadores más rápidos y más lento en ordenadores más lentos. Definitivamente no es una opción hoy día.
Para contar el tiempo puedes mirar cómo instalar una función callback que se ejecute cada cierto tiempo incrementando una variable volatile. En la documentación de Allegro viene paso por paso el código necesario.
Para contar el tiempo puedes mirar cómo instalar una función callback que se ejecute cada cierto tiempo incrementando una variable volatile. En la documentación de Allegro viene paso por paso el código necesario.
- Benway
- Site Admin
- Mensajes: 9241
- Registrado: 24 Dic 2005 10:18
- Ubicación: Madrid
- Contactar: