Je tu ešte jedná vec, ktorá ma zaujala z linku, čo ste mi dali na grafiku. V tomto materiále je príklad na polygon. Problém však pri prepise mám v tom, že ak ho prepíšem do paskalu, tak ak tam nechám readln, tak grafické okno nakreslí iba polovicu a nevyšrafuje pozadie, okrem toho grafické okno sa tvárí ako keby tam žiadne readln neboli, grafické okno po stlačení enteru nezavrie a ani nespustí po stlačení enteru šrafovanie. No keď odstránim všetky readln, tak program spustí grafické okno, ale nečaká na enter, nakreslí, vyšrafuje a zavrie okno bez enteru. Keď zas prepíšem zdrojový kód do Lazarusa, tak zdrojový kód nechce skompilovať s hláškou, že má problém s fondom integer.
program Polygon;
{$mode objfpc}{$H+}
uses Graph;
const N = 8; { počet vrcholov polygonu }
Obrys = 15; { farva obrysu polygonu }
var Gd, Gm : Integer; { grafický driver a mód }
Seznam : array [0..N - 1] of { zoznam suradníc vrcholov pol. }
record
X, Y : Integer
end;
I : 0..N; { index vrcholu }
begin { program }
Gd := 9; Gm := 2; { 640 x 480 VGA }
InitGraph(Gd, Gm, ''); { inicializácia grafiky }
for I := 0 to N - 1 do { naplnenie zoznamu souradnicami}
with Seznam[I] do { vrcholov polygonu }
begin
X := 40 + I * 80;
if Odd(I) then Y := 100 { "cik-cak" }
else Y := 380
end;
SetColor(Obrys); { farva čiar }
SetFillStyle(8, 14); { štýl výplne polygonu }
FillPoly(N, Seznam); { krezba polygonu }
Readln; { čakanie na stlačenie klávesy ENTER }
SetFillStyle(11, 6); { štýl výplne okolia polygonu }
FloodFill(280, 300, Obrys); { vyplnenia okolia boduov [280,300] }
Readln; { čakanie na stlačenie klávesy ENTER }
CloseGraph { poriadok a obnovenie textového m. }
end. { program }