home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / mslang / cp1 / blinkoff.c < prev    next >
C/C++ Source or Header  |  1993-06-10  |  2KB  |  81 lines

  1. ===========================================================================
  2.  BBS: The Abacus * HST/DS * Potterville MI
  3. Date: 06-06-93 (19:18)             Number: 162
  4. From: SID ROGERS                   Refer#: 163
  5.   To: TONY CALDARONE                Recvd: NO  
  6. Subj: Changing Colours In C          Conf: (36) C Language
  7. ---------------------------------------------------------------------------
  8.  On 06-03-93 TONY CALDARONE wrote to ALL...
  9.  
  10.  TC> How do you change the text colour in C?  (foreground and background)
  11.  TC> ... also set blinking characters on or off in C?  Thanks for the help!
  12. Tony,
  13.  
  14. This should help ......
  15. #include <dos.h>
  16. #include <conio.h>
  17.  
  18. void blinkoff(void)
  19. {
  20.    union REGS in, out;
  21.  
  22.    in.h.ah = 0x10;
  23.    in.h.al = 0x03;
  24.    in.h.bl = 0x00;
  25.    int86(0x10,&in,&out);
  26. }
  27. void blinkon(void)
  28. {
  29.    union REGS in, out;
  30.  
  31.    in.h.ah = 0x10;
  32.    in.h.al = 0x03;
  33.    in.h.bl = 0x01;
  34.    int86(0x10,&in,&out);
  35. }
  36. int color(int fore, int back) /* similar to a BASIC call */
  37. {
  38.   int temp;
  39.   /* bounds check here if desired */
  40.   temp = (16*back)+fore;
  41.   if(fore > 15) temp = temp+112;
  42.   return temp;
  43. }
  44. #define STD_COLOR color(14,1)
  45. main()
  46. {
  47.   register int row, col;
  48.   int cur_color = 0;
  49.  
  50.   textattr(STD_COLOR);
  51.   clrscr();
  52.   window(20,4,36,21);
  53.   blinkon();
  54.   for(row = 0; row <=15;row++)
  55.     for(col = 0;col<=15;col++)
  56.     {
  57.       gotoxy(col+1,row+1);
  58.       cur_color = color(row,col);
  59.       textattr(cur_color);
  60.       cprintf("*");
  61.     }
  62.   textattr(STD_COLOR);
  63.   cprintf("\r\nHit a key");
  64.  
  65.   getch();
  66.   blinkoff();
  67.   getch();
  68.   blinkon();
  69.   window(1,1,25,80);
  70.   return 0;
  71. }
  72.  
  73.         === Sid ===
  74.  
  75. ... OFFLINE 1.39 * From here to nowhere..an eternity
  76. ---
  77.  * Origin: Fire Fly BBS (508)356-2469 Ipswich, MA USA (1:330/173)
  78. SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1
  79. SEEN-BY: 153/752 154/40 77 157/110 159/100 125 430 575 950 203/23 209/209
  80. SEEN-BY: 261/1023 280/1 390/1 396/1 5 15 2270/1 2440/5 3603/20
  81.