home *** CD-ROM | disk | FTP | other *** search
/ PC Media 23 / PC MEDIA CD23.iso / share / prog / anubis / timer.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-04  |  3.5 KB  |  93 lines

  1. // TIMER
  2. // Esta libreria gestiona el uso de fechas y del tiempo.
  3. // (C) Anubis Software Junio 1995
  4.  
  5. #ifndef TIMER
  6. #define TIMER
  7.  
  8. // ---------------------------------+
  9. // Inclusion de Anubis Librairies   |
  10. // ---------------------------------+
  11. #include "mdefs.h"
  12.  
  13. // ---------------------------------+
  14. // Inclusion de librerias Borland   |
  15. // ---------------------------------+
  16.  
  17. // -----------------------------------+
  18. // Definicion de tipos de la librería |
  19. // -----------------------------------+
  20. typedef struct {
  21.    WORD any;         //Año; (1980 a 2099)
  22.    BYTE mes;         //mes (1 a 12)
  23.    BYTE dia;         //dia (1 a 31)
  24.    BYTE diasem;      //dia de la semana ( 0=domingo, 1=lunes ...)
  25. } Fecha;
  26.  
  27. typedef struct {
  28.    BYTE hora;        //hora (0 a 23)
  29.    BYTE minutos;     //minutos (0 a 59)
  30.    BYTE segundos;    //segundos (0 a 59)
  31.    BYTE centesimas;  //centesimas de segundo (0 a 99)
  32. } Tiempo;
  33.  
  34. // ---------------------------+
  35. // Definición de prototipos   |
  36. // ---------------------------+
  37. #define ObtenerFechaE(x) ObtenerFecha(&(x.any),&(x.mes),&(x.dia),&(x.diasem))
  38. // LLAMADA:    Fecha data;
  39. //             ObtenerFechaE(data);
  40. //    Esta función devuelve la fecha del sistema y la almacena
  41. // en la estructura Fecha que se le pasa como parametro.
  42. // Notese que es una forma especial de llamar al ObtenerFecha
  43.  
  44. void ObtenerFecha(WORD *,BYTE *,BYTE *,BYTE *);
  45. //    LLAMADA: ObtenerFecha(&any,&mes,&dia,&diasem);
  46. //    Esta función devuelve la  Fecha con los datos del
  47. // sistema. Para ello utiliza la función 2Ah del DOS.
  48.  
  49. #define AsignarFechaE(x) AsignarFecha(x.any,x.mes,x.dia)
  50. // LLAMADA:    Fecha data;
  51. //             AsignarFechaE(data);
  52. //    Esta función asigna a la fecha del sistema la fecha contenida
  53. // en la esturctura data. Notese que el parametro diasem es obviado.
  54. // También se debe notar que la función no es más que una llamada
  55. // a la funcion AsignarFecha
  56.  
  57. boolean AsignarFecha(WORD,BYTE,BYTE);
  58. // LLAMADA:      WORD ano;
  59. //               BYTE mes;
  60. //               BYTE dia;
  61. //               AsignarFecha(ano,mes,dia);
  62. //  Esta función asigna la fecha del sistema como la fecha que se
  63. // le pasa como parametro. Utiliza la función 2Bh del DOS
  64. // Si todo va bien devuelve TRUE.
  65. // Si la fecha no es correcta devuelve FALSE.
  66.  
  67. #define ObtenerTiempoE(x) ObtenerTiempo(&(x.hora),&(x.minutos),&(x.segundos),&(x.centesimas))
  68. // LLAMADA:      Tiempo time;
  69. //               ObtenerTiempoE(time);
  70. //   Esta función rellena la estructura Tiempo con los datos horarios
  71. // del sistema. Notese que llama a la funcion ObtenerTiempo
  72.  
  73. void ObtenerTiempo(BYTE *, BYTE *, BYTE *, BYTE *);
  74. // LLAMADA:      BYTE hora,minutos,segundos,centesimas;
  75. //               ObtenerTiempo(&hora,&minutos,&segundos,¢esimas);
  76. //   Esta funcion devuelve la hora del del sistema. Para ello utiliza
  77. // la funcion 2Ch del DOS.
  78.  
  79. #define AsignarTiempoE(x) AsignarTiempo(x.hora,x.minutos,x.segundos,x.centesimas)
  80. // LLAMADA:      Tiempo time;
  81. //               AsignarTiempoE(time);
  82. //   Esta función asigna el tiempo de la estructura time al sistema.
  83. // Para más información consultese AsignarTiempo
  84.  
  85. boolean AsignarTiempo(BYTE,BYTE,BYTE,BYTE);
  86. // LLAMADA:      BYTE hora,minutos,segundos,centesimas;
  87. //               AsignarTiempo(hora,minutos,segundos,centesimas);
  88. //  Esta función asigna como horario del sistema al horario que se
  89. // establece en los parametros. Para ello utiliza la función 2Dh del DOS
  90. // Si todo va bien devuelve TRUE. Si no devuelve FALSE.
  91.  
  92. #endif
  93.