home *** CD-ROM | disk | FTP | other *** search
-
- (*
- * Generation of ANSI codes for color
- *
- * (C) 1987 Samuel H. Smith, 14-Dec-87 (rev. 15-Dec-87)
- *
- *)
-
- (* ------------------------------------------------------------ *)
-
- procedure position(x,y: byte);
- {position cursor}
- begin
- disp(#27'[' + itoa(y) + ';' + itoa(x) + 'f');
- end;
-
- procedure clear_screen;
- {easee screen in current color}
- begin
- disp(#27'[2J');
- end;
-
- procedure clear_eol;
- {clear to end of line}
- begin
- disp(#27'[2K');
- end;
-
-
- (* ------------------------------------------------------------ *)
- function color(control: anystring): longstring;
- {form an ansi color command}
- var
- newcolor: longstring;
- const
- oldcolor: longstring = 'none';
-
- begin
- if GRAPHICS then
- newcolor := #27'[' + control + 'm'
- else
- newcolor := '';
-
- if newcolor = oldcolor then
- color := ''
- else
- begin
- oldcolor := newcolor;
- color := newcolor;
- end;
- end;
-
-
-
- (* ------------------------------------------------------------ *)
- {color selection macros}
- function RED: longstring; begin RED := color(ansi_RED); end;
- function GREEN: longstring; begin GREEN := color(ansi_GREEN); end;
- function YELLOW: longstring; begin YELLOW := color(ansi_YELLOW); end;
- function BLUE: longstring; begin BLUE := color(ansi_BLUE); end;
- function MAGENTA: longstring; begin MAGENTA := color(ansi_MAGENTA); end;
- function CYAN: longstring; begin CYAN := color(ansi_CYAN); end;
- function WHITE: longstring; begin WHITE := color(ansi_WHITE); end;
- function GRAY: longstring; begin GRAY := color(ansi_GRAY); end;
- function GREY: longstring; begin GREY := color(ansi_GRAY); end;
-
-
- (* ------------------------------------------------------------ *)
- procedure load_color_constants(name: string);
- {load a new set of color constants}
- var
- fd: text;
- begin
- assignText(fd,name);
- {$i-} reset(fd); {$i+}
- if ioresult <> 0 then exit;
-
- readln(fd);
- readln(fd,ansi_RED);
- readln(fd,ansi_GREEN);
- readln(fd,ansi_YELLOW);
- readln(fd,ansi_BLUE);
- readln(fd,ansi_MAGENTA);
- readln(fd,ansi_CYAN);
- readln(fd,ansi_WHITE);
- readln(fd,ansi_GRAY);
- close(fd);
- end;
-