program Colores;
{$APPTYPE CONSOLE}
uses
SysUtils, Windows;
const
Fondo_Rojo = BACKGROUND_RED;
Fondo_Azul = BACKGROUND_BLUE;
Fondo_Verde = BACKGROUND_GREEN;
Fondo_Amarillo = BACKGROUND_RED or BACKGROUND_GREEN;
Fondo_Magenta = BACKGROUND_RED or BACKGROUND_BLUE;
Fondo_Agua = BACKGROUND_BLUE or BACKGROUND_GREEN;
Fondo_Blanco = BACKGROUND_RED or BACKGROUND_BLUE or BACKGROUND_GREEN;
Fondo_Brillante = BACKGROUND_INTENSITY;
Texto_Rojo = FOREGROUND_RED;
Texto_Azul = FOREGROUND_BLUE;
Texto_Verde = FOREGROUND_GREEN;
Texto_Amarillo = FOREGROUND_RED or FOREGROUND_GREEN;
Texto_Magenta = FOREGROUND_RED or FOREGROUND_BLUE;
Texto_Agua = FOREGROUND_BLUE or FOREGROUND_GREEN;
Texto_Blanco = FOREGROUND_RED or FOREGROUND_BLUE or FOREGROUND_GREEN;
Texto_Brillante = FOREGROUND_INTENSITY;
var
ConsoleHandle: integer;
Coord: TCoord;
MaxX, MaxY: Short;
Numero: Cardinal;
procedure GotoXY(X, Y : Word);
begin
Coord.X := X;
Coord.Y := Y;
SetConsoleCursorPosition(ConsoleHandle, Coord);
end;
procedure cls;
begin
GotoXY(0, 0);
FillConsoleOutputCharacter(ConsoleHandle, ' ', MaxX * MaxY, Coord, Numero);
GotoXY(0, 0);
end;
procedure Texto_Y_Fondo(Atributos: Word);
begin
GotoXY (0, 0);
cls;
FillConsoleOutputAttribute(ConsoleHandle, Atributos, MaxX * MaxY, Coord, Numero);
SetConsoletextAttribute(ConsoleHandle, Atributos);
end;
begin
ConsoleHandle := GetStdhandle(STD_OUTPUT_HANDLE);
Coord := GetLargestConsoleWindowSize(ConsoleHandle);
MaxX := Coord.X;
MaxY := Coord.Y;
SetConsoleTitle('Demostracion de colores');
SetConsoleTextAttribute(ConsoleHandle, Fondo_Amarillo or Fondo_Brillante or Texto_Magenta or Texto_Brillante);
WriteLn('Texto magenta brillante sobre fondo amarillo brillante');
WriteLn;
SetConsoleTextAttribute(ConsoleHandle, Fondo_Rojo or Fondo_Brillante or Texto_Amarillo);
WriteLn('Texto amarillo mate sobre fondo rojo brillante');
WriteLn;
SetConsoleTextAttribute(ConsoleHandle, Texto_Blanco);
WriteLn('Pulsa Enter');
ReadLn;
Texto_Y_Fondo(Fondo_Magenta or Fondo_Brillante or Texto_Rojo);
WriteLn('Todo cambiado a texto en rojo mate sobre fondo magenta brillante');
WriteLn;
WriteLn('Pulsa Enter para borrar la pantalla');
ReadLn;
cls;
Texto_Y_Fondo(Texto_Blanco);
GotoXY(10,10);
Writeln('Esto es todo');
ReadLn;
GotoXY(10, 10);
FillConsoleOutputAttribute(ConsoleHandle, Texto_Rojo or Texto_Brillante, 4, Coord, Numero);
GotoXY(15, 10);
FillConsoleOutputAttribute(ConsoleHandle, Texto_Verde or Texto_Brillante, 2, Coord, Numero);
GotoXY(18, 10);
FillConsoleOutputAttribute(ConsoleHandle, Texto_Azul or Texto_Brillante, 4, Coord, Numero);
GotoXY(0,11);
ReadLn;
end.