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

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

01.01.2007

Вариант 1:

Author: Олег Кулабухов

Source: https://delphiworld.narod.ru

Нужно просто использовать 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.

Вариант 2:

Author: Krid

Source: https://forum.sources.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;
Previous page:
Как писать консольные приложения в Delphi?
Top:
DRKB
Next page:
CRT для консольного приложения