SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: blacktux en Miércoles 7 de Junio de 2006, 18:22

Título: Calendario Y Scheduler En Ansi C
Publicado por: blacktux en Miércoles 7 de Junio de 2006, 18:22
Amigos, Necesito hacer una agenda en C (ya está casi lista) pero lo que me complica es que no conozco las instrucciones para que cada 1 minuto interrumpa el programa y vaya a una rutina que revisa si existe un evento asignado a esa hora y envie un mensaje.  :comp:
Título: Re: Calendario Y Scheduler En Ansi C
Publicado por: Geo en Jueves 8 de Junio de 2006, 05:29
Obtén la hora del sistema, usa un ciclo en el que obtienes de manera continua la hora y la comparas con la que obtuviste anteriormente, si ha pasado un minuto llamas a la rutina que deseas.

Para lo de la hora, checa en esta página:

http://c.conclase.net/librerias/libreria.php?lib=time (http://c.conclase.net/librerias/libreria.php?lib=time)

Saludos,
JJ (Geo).
Título: Re: Calendario Y Scheduler En Ansi C
Publicado por: Bicholey en Jueves 8 de Junio de 2006, 08:13
:P  :P  :P
Esto lo baje de no me acuerdo donde pero te puede servir , aunque la presicion no va mas alla de los segundos, pero para presicion con centesimas yo he usado asembler si teneis duda solo pregunta
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include<conio.h>
  5.  
  6. int main( void )
  7. {
  8.    long int i=0;
  9.    time_t comienzo, final;
  10.    struct tm *tiempoComienzoPtr, *tiempoFinalPtr;
  11.  
  12.    comienzo = time( NULL );
  13.    for( i=0; i<10000; i++ )   printf( "-" );
  14.    final = time( NULL );
  15.  
  16.    printf( "Comienzo: %u s\n", comienzo );
  17.    printf( "Final: %u s\n", final );
  18.    printf( "Número de segundos transcurridos desde el comienzo del programa: %f s\n", difftime(final, comienzo) );
  19.  
  20.    tiempoComienzoPtr = gmtime( &comienzo );
  21.    tiempoFinalPtr = gmtime( &final );
  22.    printf( "Comienzo: %s\n", asctime(tiempoComienzoPtr) );
  23.    printf( "Final: %s\n", asctime(tiempoFinalPtr) );
  24.  
  25.    return 0;          getch();
  26. }
  27.  
  28.