Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как в консольном приложении можно задать цвет текста?

01.01.2007

Цвет Текста задается командой SetTextColor(Color), параметр Color - целое число от 0 до 15.

Вывод текста в указанном месте экрана задается командой GotoXY(X,Y,Text).

X,Y-координаты экрана.

Text - переменная типа String.

Ответ 3:

Вот текст модуля, напоминающего про наш любимый ДОС (CRT-like):

unit UffCRT;
// written by Michael Uskoff, Apr 2001, St.Petersburg, RUSSIA
 
interface
 
procedure
ClrScr;
procedure
SetAttr(attr: word);
function GetAttr: word;
procedure
GotoXY(aX, aY: integer); // zero-based coords
function WhereX: integer;
function WhereY: integer;
 
implementation
 
uses
Windows;
 
var
 
UpperLeft: TCoord = (X: 0; Y: 0);
  hCon
: integer;
 
procedure
GotoXY(aX, aY: integer);
var aCoord: TCoord;
begin
  aCoord
.x := aX;
  aCoord
.y := aY;
 
SetConsoleCursorPosition(hCon, aCoord);
end;
 
procedure
SetAttr(attr: word);
begin
 
SetConsoleTextAttribute(hCon, attr);
end;
 
function WhereX: integer;
var ScrBufInfo: TConsoleScreenBufferInfo;
begin
 
GetConsoleScreenBufferInfo(hCon, ScrBufInfo);
 
Result := ScrBufInfo.dwCursorPosition.x;
end;
 
function WhereY: integer;
var ScrBufInfo: TConsoleScreenBufferInfo;
begin
 
GetConsoleScreenBufferInfo(hCon, ScrBufInfo);
 
Result := ScrBufInfo.dwCursorPosition.y;
end;
 
function GetAttr: word;
var ScrBufInfo: TConsoleScreenBufferInfo;
begin
 
GetConsoleScreenBufferInfo(hCon, ScrBufInfo);
 
Result := ScrBufInfo.wAttributes;
end;
 
procedure
ClrScr;
var fill: integer;
 
ScrBufInfo: TConsoleScreenBufferInfo;
begin
 
GetConsoleScreenBufferInfo(hCon, ScrBufInfo);
  fill
:= ScrBufInfo.dwSize.x * ScrBufInfo.dwSize.y;
 
FillConsoleOutputCharacter(hCon, ' ', fill, UpperLeft, fill);
 
FillConsoleOutputAttribute(hCon, ScrBufInfo.wAttributes, fill, UpperLeft, fill);
 
GotoXY(0, 0);
end;
 
initialization
  hCon
:= GetStdHandle(STD_OUTPUT_HANDLE);
end.
 
Теперь можно творить такое:
 
uses
UffCRT;
....
ClrScr;
SetAttr($1E);
GotoXY(32, 12);
Write('Hello, master !');
ReadLn;
...

Взято с сайта https://blackman.wp-club.net/