Delphi Console XE7 Clearscreen

Mar*_*rio 3 delphi console screen clear

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

Dav*_*nan 8

我试图找出是否已经在delphi单元中提供了一个功能来提供此功能.

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;
Run Code Online (Sandbox Code Playgroud)