home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TOOL_INC.ZIP / ANSICOLR.INC < prev    next >
Encoding:
Text File  |  1988-01-29  |  2.2 KB  |  89 lines

  1.  
  2. (*
  3.  * Generation of ANSI codes for color
  4.  *
  5.  * (C) 1987 Samuel H. Smith, 14-Dec-87 (rev. 15-Dec-87)
  6.  *
  7.  *)
  8.  
  9. (* ------------------------------------------------------------ *)
  10.  
  11. procedure position(x,y: byte);
  12.    {position cursor}
  13. begin
  14.    disp(#27'[' + itoa(y) + ';' + itoa(x) + 'f');
  15. end;
  16.  
  17. procedure clear_screen;
  18.    {easee screen in current color}
  19. begin
  20.    disp(#27'[2J');
  21. end;
  22.  
  23. procedure clear_eol;
  24.    {clear to end of line}
  25. begin
  26.    disp(#27'[2K');
  27. end;
  28.  
  29.  
  30. (* ------------------------------------------------------------ *)
  31. function color(control: anystring): longstring;
  32.    {form an ansi color command}
  33. var
  34.    newcolor: longstring;
  35. const
  36.    oldcolor: longstring = 'none';
  37.  
  38. begin
  39.    if GRAPHICS then
  40.       newcolor := #27'[' + control + 'm'
  41.    else
  42.       newcolor := '';
  43.  
  44.    if newcolor = oldcolor then
  45.       color := ''
  46.    else
  47.    begin
  48.       oldcolor := newcolor;
  49.       color := newcolor;
  50.    end;
  51. end;
  52.  
  53.  
  54.  
  55. (* ------------------------------------------------------------ *)
  56. {color selection macros}
  57. function RED:     longstring; begin RED     := color(ansi_RED); end;
  58. function GREEN:   longstring; begin GREEN   := color(ansi_GREEN); end;
  59. function YELLOW:  longstring; begin YELLOW  := color(ansi_YELLOW); end;
  60. function BLUE:    longstring; begin BLUE    := color(ansi_BLUE); end;
  61. function MAGENTA: longstring; begin MAGENTA := color(ansi_MAGENTA); end;
  62. function CYAN:    longstring; begin CYAN    := color(ansi_CYAN); end;
  63. function WHITE:   longstring; begin WHITE   := color(ansi_WHITE); end;
  64. function GRAY:    longstring; begin GRAY    := color(ansi_GRAY); end;
  65. function GREY:    longstring; begin GREY    := color(ansi_GRAY); end;
  66.  
  67.  
  68. (* ------------------------------------------------------------ *)
  69. procedure load_color_constants(name: string);
  70.    {load a new set of color constants}
  71. var
  72.    fd:  text;
  73. begin
  74.    assignText(fd,name);
  75.    {$i-} reset(fd); {$i+}
  76.    if ioresult <> 0 then exit;
  77.  
  78.    readln(fd);
  79.    readln(fd,ansi_RED);
  80.    readln(fd,ansi_GREEN);
  81.    readln(fd,ansi_YELLOW);
  82.    readln(fd,ansi_BLUE);
  83.    readln(fd,ansi_MAGENTA);
  84.    readln(fd,ansi_CYAN);
  85.    readln(fd,ansi_WHITE);
  86.    readln(fd,ansi_GRAY);
  87.    close(fd);
  88. end;
  89.