Programowanie w języku Delphi » FAQ

Czyszczenie konsoli w delphi

  • 2012-02-26 10:53
  • 2 komentarze
  • 1569 odsłon
  • Oceń ten tekst jako pierwszy
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.

2 komentarze

Alvinek34 2011-08-30 22:16

Ja tam wole taki sposób. Nie lubię upychać programów jakimiś modułami, bo to tylko zwiększa rozmiar. :)

Patryk27 2011-08-30 22:12

IMO, prościej jest ściągnąć moduł CRT dla Delphi i użyć ClrScr...