Czyszczenie konsoli w delphi
Alvinek34
Wiele osób pewnie zadaje sobie pytanie na to, jak wyczyścić konsole w Delphi. Oczywiście to nie jest przykład ze sztuczką z przewinięciem konsoli. Tutaj daje wam przykład jak kompletnie ją wyczyścić. Używamy do tego procedury zapożyczonej z starej wersji Delphi bodajże 3:
uses
SysUtils, Windows;
procedure ClearScreen;
var
p : COORD;
nChars : DWORD;
buf_info : CONSOLE_SCREEN_BUFFER_INFO;
console : Cardinal;
begin
console := GetStdHandle(STD_OUTPUT_HANDLE);
p.X := 0;
p.Y := 0;
GetConsoleScreenBufferInfo(Console, buf_info);
FillConsoleOutputCharacter(Console, ' ', buf_info.dwSize.X * buf_info.dwSize.Y, p, nChars);
GetConsoleScreenBufferInfo(Console, buf_info);
FillConsoleOutputAttribute(Console, buf_info.wAttributes, buf_info.dwSize.X * buf_info.dwSize.Y, p, nChars);
SetConsoleCursorPosition(Console, P);
end;
Teraz możemy napisać coś bez zbędnego bałaganu w konsoli.
Ja tam wole taki sposób. Nie lubię upychać programów jakimiś modułami, bo to tylko zwiększa rozmiar. :)
IMO, prościej jest ściągnąć moduł CRT dla Delphi i użyć ClrScr...