Мерцание при обновлении экрана в модуле crt - Free Pascal

Формулировка задачи:

Здравствуйте, я столкнулся с проблемой. Я решил сделать ascii-скроллер в консоли при помощи модуля crt. Но вот проблема - практически все мерцает. Что с этим можно сделать? Пытался увеличивать задержку, но это не помогает.


textual

Код к задаче: «Мерцание при обновлении экрана в модуле crt - Free Pascal»

program TestWinAPI;
 
uses
  Windows;
 
var
  hConsoleOutput: HANDLE; {A handle to the console screen buffer.}
  hConsoleInput:  HANDLE; {A handle to the console screen buffer.}
 
  function InitConsole: boolean;
  begin
    hConsoleOutput := GetStdHandle(STD_OUTPUT_HANDLE);
    hConsoleInput := GetStdHandle(STD_INPUT_HANDLE);
    //    ScreenBuffer :=GetConsoleScreenBuffer
    InitConsole := (hConsoleOutput <> INVALID_HANDLE_VALUE) and
      (hConsoleInput <> INVALID_HANDLE_VALUE);
  end;
 
  function GoToXY(X, Y: SHORT): boolean;
  var
    dwCursorPosition: COORD;
  begin
    dwCursorPosition.X := X;
    dwCursorPosition.Y := Y;
    GoToXY := SetConsoleCursorPosition(hConsoleOutput, dwCursorPosition);
  end;
 
begin
  InitConsole;
  GoToXY(5, 5);
  writeln('text 5 5');
  GoToXY(15, 15);
  writeln('text 15 15');
  readln;
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

13   голосов, оценка 4.154 из 5

Источник
Похожие ответы