home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / UTILITYS / XWP11SRC.ARC / XWPCLK.C < prev    next >
Text File  |  1990-07-21  |  3KB  |  136 lines

  1. /*    XWPCLK    - Executive Workbench Clock
  2. **
  3. */
  4.  
  5. #include "a:stdio.h"
  6. #include "b:oxege.h"
  7.  
  8. #define    CLOCK_LINE    20
  9. #define CLOCK_COLUMN    32
  10.  
  11. extern int hour, minute, second, year, month, day, jdate;
  12. extern char scratch[], GLname[];
  13.  
  14. int oldsec;
  15. char FLclock, FLbclock;
  16.  
  17. initclk()
  18.     {
  19.     FLbclock = 1;
  20.     cpoke( CLOCK_LINE,   CLOCK_COLUMN,    62 | ATTINV, ATTDIM | ATTALT );
  21.     cpoke( CLOCK_LINE+1, CLOCK_COLUMN,    62 | ATTINV, ATTDIM | ATTALT );
  22.     cpoke( CLOCK_LINE,   CLOCK_COLUMN+15, 63 | ATTINV, ATTDIM | ATTALT );
  23.     cpoke( CLOCK_LINE+1, CLOCK_COLUMN+15, 63 | ATTINV, ATTDIM | ATTALT );
  24.     cpoke( CLOCK_LINE,   CLOCK_COLUMN+5,  20 | ATTINV, ATTDIM | ATTALT );
  25.     cpoke( CLOCK_LINE+1, CLOCK_COLUMN+5,  84 | ATTINV, ATTDIM | ATTALT );
  26.     cpoke( CLOCK_LINE,   CLOCK_COLUMN+10, 20 | ATTINV, ATTDIM | ATTALT );
  27.     cpoke( CLOCK_LINE+1, CLOCK_COLUMN+10, 84 | ATTINV, ATTDIM | ATTALT );
  28.     oldsec = 61;
  29.     bclock();
  30.     }
  31.  
  32. bclock()
  33.     {
  34.     if (FLbclock == NULL)
  35.         {
  36.         return;
  37.         }
  38.  
  39.     gettime();
  40.     if ( second != oldsec )
  41.         {
  42.         bigdigit( hour/10,   CLOCK_LINE, CLOCK_COLUMN+1 );
  43.         bigdigit( hour%10,   CLOCK_LINE, CLOCK_COLUMN+3 );
  44.         bigdigit( minute/10, CLOCK_LINE, CLOCK_COLUMN+6 );
  45.         bigdigit( minute%10, CLOCK_LINE, CLOCK_COLUMN+8 );
  46.         bigdigit( second/10, CLOCK_LINE, CLOCK_COLUMN+11 );
  47.         bigdigit( second%10, CLOCK_LINE, CLOCK_COLUMN+13 );
  48.         }
  49.     oldsec = second;
  50.     }
  51.  
  52. clrclk()
  53.     {
  54.     FLbclock = NULL;
  55.     fill( CLOCK_LINE, CLOCK_COLUMN, CLOCK_LINE+1, 
  56.         CLOCK_COLUMN+15, FILL1, ATTDIM | ATTALT );
  57.     }
  58.  
  59. char pm[] = "GOOD MORNING";
  60. char pa[] = "GOOD AFTERNOON";
  61. char pe[] = "GOOD EVENING";
  62.  
  63. greeting()
  64.     {
  65.     gettime();
  66.     if ( hour < 12 )
  67.         { 
  68.         strcpy( scratch, pm );
  69.         }
  70.     if ( ( hour > 11 ) && ( hour < 18 ) )
  71.         { 
  72.         strcpy( scratch, pa );
  73.         }
  74.     if ( hour > 17 )
  75.         { 
  76.         strcpy( scratch, pe ); 
  77.         }
  78.     strcat( scratch, ", " );
  79.     strcat( scratch, GLname );
  80.     return scratch;
  81.     }
  82.  
  83. reset()
  84.     {
  85.     int line;
  86.     outline( 5, 40, 15, 60, OUTDIM | ATTINV, ATTDIM | ATTALT );
  87.     spoke(  6, 41, " SET DATE AND TIME ", ATTDIM | ATTUND );
  88.     fill( 7, 41, 7, 59, FILL3, ATTDIM | ATTALT );
  89.     spoke(  8, 41, "   YEAR: ", ATTDIM | ATTUND);
  90.     spoke(  9, 41, "  MONTH: ", ATTDIM | ATTUND);
  91.     spoke( 10, 41, "    DAY: ", ATTDIM | ATTUND);
  92.     spoke( 12, 41, "   HOUR: ", ATTDIM | ATTUND );
  93.     spoke( 13, 41, " MINUTE: ", ATTDIM | ATTUND );
  94.     spoke( 14, 41, " SECOND: ", ATTDIM | ATTUND );
  95.     line = 8;
  96.     while ( line < 15 )
  97.         {
  98.         spoke( line, 50, "          ", ATTBRT | INVATT );
  99.         ++line;
  100.         }
  101.     fill( 11, 41, 11, 59, FILL3, ATTDIM | ATTALT );
  102.     defcursor( 3 );
  103.     adr(  8, 51);
  104.     scanf("%d", &year );
  105.     adr(  9, 51);
  106.     scanf("%d", &month );
  107.     adr( 10, 51);
  108.     scanf("%d", &day );
  109.     adr( 12, 51 );
  110.     scanf("%d", &hour );
  111.     adr( 13, 51 );
  112.     scanf("%d", &minute );
  113.     adr( 14, 51 );
  114.     scanf("%d", &second );
  115.     defcursor( 0 );
  116.     ctoj();
  117.     hour = binbcd( hour );
  118.     minute = binbcd( minute );
  119.     second = binbcd( second );
  120.     *( DATELOC ) = jdate;
  121.     *( HOURLOC ) = hour;
  122.     *( MINUTELOC ) = minute;
  123.     *( SECONDLOC ) = second;
  124.     fill( 5, 40, 15, 65, FILL1, ATTDIM | ATTALT );
  125.     }
  126.  
  127. exclock()
  128.     {
  129.     doclock();
  130.     FLclock = !FLclock;
  131.     spoke( 23, 71, "         ", ATTDIM );
  132.     }
  133.  
  134. LL1, ATTDIM | ATTALT );
  135.     }
  136.