Delphi 控制台 XE7 Clearscreen

Delphi Console XE7 Clearscreen

如何在 delphi 控制台应用程序(delphi xe6 或更高版本)中清除控制台屏幕我已经搜索了互联网和帮助文件,但似乎找不到它?

I am trying to find out if there is a function already provided in the delphi units to provide this functionality.

Delphi运行时库没有提供这样的功能。您将需要使用操作系统服务编写您自己的函数。 MSDN 上的这篇文章解释了如何操作:https://support.microsoft.com/en-us/kb/99261

这样翻译:

procedure ClearScreen;
var
  stdout: THandle;
  csbi: TConsoleScreenBufferInfo;
  ConsoleSize: DWORD;
  NumWritten: DWORD;
  Origin: TCoord;
begin
  stdout := GetStdHandle(STD_OUTPUT_HANDLE);
  Win32Check(stdout<>INVALID_HANDLE_VALUE);
  Win32Check(GetConsoleScreenBufferInfo(stdout, csbi));
  ConsoleSize := csbi.dwSize.X * csbi.dwSize.Y;
  Origin.X := 0;
  Origin.Y := 0;
  Win32Check(FillConsoleOutputCharacter(stdout, ' ', ConsoleSize, Origin, 
    NumWritten));
  Win32Check(FillConsoleOutputAttribute(stdout, csbi.wAttributes, ConsoleSize, Origin, 
    NumWritten));
  Win32Check(SetConsoleCursorPosition(stdout, Origin));
end;