Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Bledniss en 28 Abril 2011, 23:07 pm



Título: Temporizador
Publicado por: Bledniss en 28 Abril 2011, 23:07 pm
Hola!
¿Alguen me puede decir alguna funcion de temporizador o cronometro en C ?


Título: Re: Temporizador
Publicado por: ssaammuu en 28 Abril 2011, 23:39 pm
Al empezar el programa puedes declarar el tiempo de inicio
Código:
clock_t tiempo_inicio = clock();

A partir de ahí puedes calcular el número de milisegundos que han pasado con
Código:
clock()-tiempo_inicio


Título: Re: Temporizador
Publicado por: Akai en 29 Abril 2011, 01:22 am
ssaammuu: Eso puede o no ser correcto. clock mide clocks de CPU. SI se da el caso que tu CPU tiene un reloj de 1000 Hz, si, mide milisegundos. En otro caso, no.

http://www.cplusplus.com/reference/clibrary/ctime/clock/

si quieres cronometrar, esa es una forma.

Si quieres esperar un tiempo determinado, sleep puede ser otra.


Título: Re: Temporizador
Publicado por: Destro- en 29 Abril 2011, 03:37 am
yo uso esto y parece funcionar bien :).lo ise cuando se me tildava la ventana al poner un socket a la escucha :S.

HANDLE hThread;
int g_time;

unsigned long __stdcall task(void* nulo)
{
     Sleep(g_time);
     // funcion
     CloseHandle(hThread);
}

int set_task(int tiempo)
{
     g_time = tiempo;
     DWORD dwThreadId;
     hThread = CreateThread(NULL, 0, task, 0, 0, &dwThreadId);
}


Título: Re: Temporizador
Publicado por: Destro- en 29 Abril 2011, 03:39 am
yo uso esto y parece funcionar bien :).lo ise cuando se me tildava la ventana al poner un socket a la escucha :S.

HANDLE hThread;
int g_time;

unsigned long __stdcall task(void* nulo)
{
     Sleep(g_time);
     // funcion
     CloseHandle(hThread);
}

void set_task(int tiempo)
{
     g_time = tiempo;
     DWORD dwThreadId;
     hThread = CreateThread(NULL, 0, task, 0, 0, &dwThreadId);
}