home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9202 / dbase / clockh.c next >
Encoding:
C/C++ Source or Header  |  1991-12-10  |  2.1 KB  |  83 lines

  1. /* ------------------------------------------------------ */
  2. /*                     CLOCKH.C                           */
  3. /* steuert die Uhrzeitanzeige in Position und Farbe sowie */
  4. /* den Screen Saver.                                      */
  5. /*        (c) 1991 Helmut Guttenberg & DMV-Verlag         */
  6. /* ------------------------------------------------------ */
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <dos.h>
  10. #include "serv.h"
  11.  
  12. extern int clock_on;            /* Variablen aus LOADER.C */
  13. extern int saver_on;
  14. extern int cdinit;
  15. extern int cl_pos_x;
  16. extern int cl_pos_y;
  17. extern int cl_col;
  18. extern int *videoseg;
  19.  
  20. /*
  21.   clockhandler : ---
  22.   Die sechs verschiedenen Funktionen teuern die Uhrzeitan-
  23.   zeige ja/nein und wo, sowie den Screen Saver ja/nein und
  24.   wielange bis zum Ansprechen.
  25. */
  26.  
  27. void clockhandler(int subfunc, unsigned ds, unsigned bx)
  28. {
  29.  char *cmdstr;
  30.  
  31.  switch (subfunc) {
  32.                        /* Uhr ein */
  33.   case 1 :
  34.    disable();
  35.    clock_on = 1;
  36.    enable();
  37.    break;
  38.                        /* Uhr aus */
  39.   case 0 :
  40.    disable();
  41.    clock_on = 0;
  42.    enable();
  43.    break;
  44.                        /* Uhr positionieren */
  45.   case 2 :
  46.   {
  47.    int  i;
  48.    char *pos;
  49.  
  50.    cmdstr = (char *) MK_FP(ds,bx);
  51.    cl_pos_y = atoi(cmdstr);
  52.    pos = strchr(cmdstr, ',');
  53.    cl_pos_x = atoi(pos+1);
  54.    pos=strchr(pos+1, ',');
  55.    cl_col = atoi(pos+1);
  56.    if (!(cl_pos_y >= 0 && cl_pos_y < 25))
  57.      cl_pos_y = 0;
  58.    if (!(cl_pos_x >= 0 && cl_pos_x < 80))
  59.      cl_pos_x = 65;
  60.    for (i = 0; i < 8; i++)
  61.                 /* lösche das Feld für die Uhrzeit */
  62.      dispchar(' ', cl_pos_x+i, cl_pos_y, cl_col);
  63.    break;
  64.   }
  65.                 /* ScrSaver ein */
  66.   case 4 :
  67.    saver_on = 1;
  68.    break;
  69.                 /* ScrSaver aus */
  70.   case 3 :
  71.    saver_on = 0;
  72.    break;
  73.                 /* ScrSaver Timeout Set */
  74.   case 5 :
  75.    cmdstr = (char *) MK_FP(ds,bx);
  76.    cdinit = atoi(cmdstr)+1;
  77.    break;
  78.  }
  79. }
  80. /* ------------------------------------------------------ */
  81. /*               Ende von CLOCKH.C                        */
  82.  
  83.