{$omp parallel sections}
begin
ΡΠ΅ΠΊΡΠΈΡ 1;
ΡΠ΅ΠΊΡΠΈΡ 2;
...;
end;
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² Π±Π»ΠΎΠΊΠ΅ begin ... end, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠ΅ΠΉ.
{$omp parallel sections}
begin
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 1;
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 2;
begin
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 3;
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 4;
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 5;
end;
end;
ΠΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ²Π°Ρ β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 1, Π²ΡΠΎΡΠ°Ρ β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ 2 ΠΈ ΡΡΠ΅ΡΡΡ β Π±Π»ΠΎΠΊ begin ... end, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² 3-5.
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²Π½Π΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΊΡΠΈΠΉ, Π±ΡΠ΄ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΠΈΡΡ Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΠΎ ΠΏΠΎΡΠΎΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΠ΅ΠΊΡΠΈΠΈ, Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ΅ΠΉΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΊΡΠΈΠΈ, Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ.
ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΊΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΠΈΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° β Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ .
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° critical
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° critical ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½Π΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
{$omp critical ΠΈΠΌΡ}
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ;
ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ β ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ.
Π’ΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ, Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΠΎΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΠΈΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π½Π΅ Π²ΡΠΉΠ΄Π΅Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ.
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΎΠ±ΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ .
var a:integer:=0;
{$omp parallel for}
for var i:integer:=1 to 100 do
{$omp critical}
a:=a+1;
ΠΠ΄Π΅ΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π΄ΡΠΊΡΠΈΠΈ. ΠΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ a:=a+1 Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ β Π΄ΡΡΠ³ΠΈΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠΈΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π·Π° ΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΡΡΠ°ΡΡΠΊΠΎΠ². Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ΅ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π΅ΡΡ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠΎ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
var a:integer := 0;
{$omp parallel sections}
begin
{$omp critical}
a:=1;
{$omp critical}
a:=a+1;
end;
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ ΡΠ΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ΅ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΠ°Π½ΡΡΠ΅, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ a Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ Π΄Π²ΡΠΌ, ΠΈΠ½Π°ΡΠ΅ β Π΅Π΄ΠΈΠ½ΠΈΡΠ΅.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ A, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΊΡΠΈΡ B. ΠΡΠΎΡΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΊΡΠΈΡ B, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΊΡΠΈΡ A. ΠΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΊΡΠΈΡ Π ΠΈ Π½Π΅ ΡΡΠΏΠ΅Π²Π°Π΅Ρ Π²ΠΎΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΠΈΡ Π. ΠΡΠΎΡΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΊΡΠΈΡ Π ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΠΈΡ Π, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° ΡΠ΅ΠΊΡΠΈΡ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΠΈΡ Π ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ. ΠΠ±Π° ΠΏΠΎΡΠΎΠΊΠ° ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
ΠΠΎΠ΄ΡΠ»Ρ GraphABC
ΠΠΎΠ΄ΡΠ»Ρ GraphABC ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΌ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅. Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠΊΠ½Π°Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π² ΠΌΠΎΠ΄ΡΠ»Π΅ GraphABC ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΌΡΡΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ GraphABC - ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ΄ΡΠ»Ρ GraphABC ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ GDI+, Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠ΅ΡΠΎ, ΠΊΠΈΡΡΡ ΠΈ ΡΡΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ². Π ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΏΠ΅ΡΠ°, ΠΊΠΈΡΡΠΈ ΠΈ ΡΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ²Π΅ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° SetPenColor(c) ΠΈ ΡΡΠ½ΠΊΡΠΈΡ PenColor, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Pen.Color.
Π ΠΌΠΎΠ΄ΡΠ»Π΅ GraphABC ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ GraphABCControl, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ GraphABCControl Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΡΠ°ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΌΠ΅Π½ΡΡΠΈΠ² ΠΎΠ±Π»Π°ΡΡΡ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ Robot ΠΈ Drawman).
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ Picture, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ΅Π±Π΅ ΡΠ΅ ΠΆΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ, ΡΡΠΎ ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅.
Π Π΅ΠΆΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ (LockDrawing) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΡ Π»ΠΈΡΡ Π²ΠΎ Π²Π½Π΅ΡΠΊΡΠ°Π½Π½ΠΎΠΌ Π±ΡΡΠ΅ΡΠ΅, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Redraw Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±Π΅Π· ΠΌΠ΅ΡΡΠ°Π½ΠΈΡ.
Π ΠΌΠΎΠ΄ΡΠ»Π΅ GraphABC ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΡΠ΄ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΠΈΠΏΠΎΠ², ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠΠ½ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π³ΡΡΠΏΠΏΡ:
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ²Π΅ΡΠΎΠΌ
Π¦Π²Π΅ΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠ΅ΡΠΎΠΌ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠ΅ΡΠΎΠΌ: ΠΎΠ±ΡΠ΅ΠΊΡ Pen
Π‘ΡΠΈΠ»Ρ ΠΏΠ΅ΡΠ°
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΈΡΡΡΡ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΈΡΡΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ Brush
Π‘ΡΠΈΠ»ΠΈ ΠΊΠΈΡΡΠΈ
Π‘ΡΠΈΠ»ΠΈ ΡΡΡΠΈΡ ΠΎΠ²ΠΊΠΈ ΠΊΠΈΡΡΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΠΈΡΡΠΎΠΌ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΠΈΡΡΠΎΠΌ: ΠΎΠ±ΡΠ΅ΠΊΡ Font
Π‘ΡΠΈΠ»ΠΈ ΡΡΠΈΡΡΠ°
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌΠΈ: ΠΊΠ»Π°ΡΡ Picture
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ: ΠΎΠ±ΡΠ΅ΠΊΡ Window
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ: ΠΎΠ±ΡΠ΅ΠΊΡ Coordinate
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
Π Π΅ΠΆΠΈΠΌΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘ΠΎΠ±ΡΡΠΈΡ GraphABC
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΊΠ»Π°Π²ΠΈΡ
ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°
Π’ΠΈΠΏΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ GraphABC
Color = System.Drawing.Color;
Π’ΠΈΠΏ ΡΠ²Π΅ΡΠ°
Point = System.Drawing.Point;
Π’ΠΈΠΏ ΡΠΎΡΠΊΠΈ
GraphABCException = class(Exception) end;
Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ GraphABC
RedrawProc: procedure;
ΠΡΠΎΡΠ΅Π΄ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΡΠ»ΠΈ ΡΠ°Π²Π½Π° nil, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ°
DrawInBuffer: boolean;
Π‘Π»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎ Π²Π½Π΅ΡΠΊΡΠ°Π½Π½ΠΎΠΌ Π±ΡΡΠ΅ΡΠ΅
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠ΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅. Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠ΅ΡΠΎΠΌ (Π»ΠΈΠ½ΠΈΠΈ), ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΈΡΡΡΡ (Π·Π°Π»ΠΈΠ²ΠΊΠ° Π·Π°ΠΌΠΊΠ½ΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ) ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΡΠΈΡΡΠΎΠΌ (Π²ΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊ).
procedure SetPixel(x,y: integer; c: Color);
ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΈΠΊΡΠ΅Π» Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x,y) ΡΠ²Π΅ΡΠΎΠΌ c
procedure PutPixel(x,y: integer; c: Color);
ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΈΠΊΡΠ΅Π» Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x,y) ΡΠ²Π΅ΡΠΎΠΌ c
function GetPixel(x,y: integer): Color;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ²Π΅Ρ ΠΏΠΈΠΊΡΠ΅Π»Π° Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x,y)
procedure MoveTo(x,y: integer);
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΊΡ (x,y)
procedure LineTo(x,y: integer);
Π ΠΈΡΡΠ΅Ρ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π΄ΠΎ ΡΠΎΡΠΊΠΈ (x,y). Π’Π΅ΠΊΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π² ΡΠΎΡΠΊΡ (x,y)
procedure LineTo(x,y: integer; c: Color);
Π ΠΈΡΡΠ΅Ρ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π΄ΠΎ ΡΠΎΡΠΊΠΈ (x,y) ΡΠ²Π΅ΡΠΎΠΌ c. Π’Π΅ΠΊΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π² ΡΠΎΡΠΊΡ (x,y)
procedure Line(x1,y1,x2,y2: integer);
Π ΠΈΡΡΠ΅Ρ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΎΡ ΡΠΎΡΠΊΠΈ (x1,y1) Π΄ΠΎ ΡΠΎΡΠΊΠΈ (x2,y2)
procedure Line(x1,y1,x2,y2: integer; c: Color);
Π ΠΈΡΡΠ΅Ρ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΎΡ ΡΠΎΡΠΊΠΈ (x1,y1) Π΄ΠΎ ΡΠΎΡΠΊΠΈ (x2,y2) ΡΠ²Π΅ΡΠΎΠΌ c
procedure FillCircle(x,y,r: integer);
ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠ΅Π½ΡΡΠΎΠΌ (x,y) ΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ r
procedure DrawCircle(x,y,r: integer);
Π ΠΈΡΡΠ΅Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ΅Π½ΡΡΠΎΠΌ (x,y) ΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ r
procedure FillEllipse(x1,y1,x2,y2: integer);
ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡ ΡΠ»Π»ΠΈΠΏΡΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½ (x1,y1) ΠΈ (x2,y2)
procedure DrawEllipse(x1,y1,x2,y2: integer);
Π ΠΈΡΡΠ΅Ρ Π³ΡΠ°Π½ΠΈΡΡ ΡΠ»Π»ΠΈΠΏΡΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½ (x1,y1) ΠΈ (x2,y2)
procedure FillRectangle(x1,y1,x2,y2: integer);
ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½ (x1,y1) ΠΈ (x2,y2)
procedure FillRect(x1,y1,x2,y2: integer);
ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½ (x1,y1) ΠΈ (x2,y2)
procedure DrawRectangle(x1,y1,x2,y2: integer);
Π ΠΈΡΡΠ΅Ρ Π³ΡΠ°Π½ΠΈΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠ½ (x1,y1) ΠΈ (x2,y2)