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