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

Previous  Top  Next

    
 

 

 

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

 

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

 

Code:

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.

 

 

 

 

©Drkb::02192

       

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

 


 

Code:

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;

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

Автор: Krid

©Drkb::02193