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

Как очистить экран в консольном приложении?

01.01.2007

Автор: Олег Кулабухов 

Нужно просто использовать GetConsoleScreenBufferInfo() для ввода нескольких пустых строк.

program Project1;
{$APPTYPE CONSOLE}
uses
 
Windows;
{$R *.RES}
var
  sbi
: TConsoleScreenBufferInfo;
  i
: integer;
begin
 
Writeln('A Console Applicaiton');
 
Writeln('Press Enter To Clear The Screen');
 
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),
    sbi
);
 
Readln;
 
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),
    sbi
);
 
for i := 0 to sbi.dwSize.y do
    writeln
;
 
Writeln('Press Enter To End');
 
Readln;
end.

Взято с https://delphiworld.narod.ru


uses
 
Windows;
 
procedure
ClearConsoleWindow;
var
 
ConsoleHandle:THandle;
 
ConsoleInfo: TConsoleScreenBufferInfo;
 
Coord:TCoord;
 
WrittenChars:DWORD;
begin
 
FillChar(ConsoleInfo,SizeOf(TConsoleScreenBufferInfo),0);
 
FillChar(Coord,SizeOf(TCoord),0);
 
ConsoleHandle:=GetStdHandle(STD_OUTPUT_HANDLE);
 
GetConsoleScreenBufferInfo(ConsoleHandle, ConsoleInfo);
 
FillConsoleOutputCharacter(ConsoleHandle,' ', ConsoleInfo.dwSize.X * ConsoleInfo.dwSize.Y, Coord, WrittenChars);
 
SetConsoleCursorPosition(ConsoleHandle,ConsoleInfo.dwCursorPosition)
end;

Взято из https://forum.sources.ru

Автор: Krid