Содержание

Графика в FPC, модуль Graph


Есть небольшие поправки в программах, написанных для Турбо Паскаля, хотя всё остаётся прежним.

Чтобы миновать консольное окно, нужно указать вначале программы (перед Uses)

{$ifdef Win32}
 {$apptype GUI}
{$endif}

Теперь в разделе Uses : CRT надо заменить на WinCrt, хотя лучше вообще удалить, если не используются функции KeyPressed, ReadKey. Windows - добавить, т.к будет использоваться дальше.

uses
{$ifdef Win32}
  WinCrt,
  Windows,
{$endif}
  Graph; // без изменений

Инициализация графики:

var
GraphDriver, GraphMode: SmallInt;
...
     {$ifdef Win32}
     ShowWindow(GetActiveWindow,0);
     {$endif}
 
     GraphDriver := d8bit;
     // количество бит цвета: 8-бит = 2^8 = 256 цветов, 16-бит = 2^16, 32-бит = 2^32
 
     GraphMode := m800x600; // графический режим
     InitGraph(GraphDriver,GraphMode,'');
     if Graphresult<>0 then
        exit;

Выход из графики:

Если присутствует Readln; в качестве ожидания завершения программы, то лучше заменить на этот код:

     {$ifndef Win32}
     readln;
     {$else: Win32}
     repeat
     until Keypressed;
     {$endif}
 
     CloseGraph; // как обычно