Clearing the window in a console application

Question:

How can I guarantee to clear my window in a console application?

Answer:

The following example demonstrates clearing the console window by using the screensize information passed back from the Windows API function GetConsoleScreenBufferInfo() to write several blank lines.

Example:

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.