constructor Create(x,y: integer; fname: string);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ², ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ fname. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y). ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ½ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Add
constructor Create(x,y: integer; p: Picture);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ², ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ p. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y). ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ½ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Add
constructor Create(x,y,w: integer; p: Picture);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° p ΡΠΈΠΏΠ° Picture. ΠΠ±ΡΠ΅ΠΊΡ p Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ w. ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ½ΠΊΠ° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ p Π½Π΅ ΠΊΡΠ°ΡΠ½Π° w, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y)
constructor Create(x,y,w: integer; fname: string);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ², Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° fname. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ w. ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ½ΠΊΠ° Π² ΡΠ°ΠΉΠ»Π΅ fname Π½Π΅ ΠΊΡΠ°ΡΠ½Π° w, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y)
constructor Create(g: MultiPictureABC);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² - ΠΊΠΎΠΏΠΈΡ Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΡΠ½ΠΊΠΎΠ² g
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ° MultiPictureABCproperty CurrentPicture: integer;
ΠΠΎΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°
property Count: integer;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π² Π½Π°Π±ΠΎΡΠ΅
ΠΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° MultiPictureABCprocedure Add(fname: string);
ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΊ Π½Π°Π±ΠΎΡΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° fname. Π ΠΈΡΡΠ½ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΈ Π²ΡΠ΅ ΡΠΈΡΡΠ½ΠΊΠΈ ΠΈΠ· Π½Π°Π±ΠΎΡΠ°
procedure ChangePicture(fname: string);
ΠΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π½Π° Π½Π°Π±ΠΎΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ fname
procedure ChangePicture(w: integer; fname: string);
ΠΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π½Π° Π½Π°Π±ΠΎΡ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ fname. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ w
procedure NextPicture;
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΡΡΠ½ΠΊΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ°
procedure PrevPicture;
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΡΡΠ½ΠΊΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ°
function Clone: MultiPictureABC;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΎΠ½ Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΡΠ½ΠΊΠΎΠ²
Π‘Π²ΠΎΠΉΡΡΠ²Π°, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ObjectABCproperty Left: integer;
ΠΡΡΡΡΠΏ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ
property Top: integer;
ΠΡΡΡΡΠΏ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΊΡΠ°Ρ
property Width: integer;
Π¨ΠΈΡΠΈΠ½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Height: integer;
ΠΡΡΠΎΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property dx: integer;
x-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Move. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² 0. ΠΠ»Ρ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ
property dy: integer;
y-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Move. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² 0. ΠΠ»Ρ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ
property Center: Point;
Π¦Π΅Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Position: Point;
ΠΠ΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Visible: boolean;
ΠΠΈΠ΄ΠΈΠΌ Π»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ
property Color: GColor;
Π¦Π²Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property FontColor: GColor;
Π¦Π²Π΅Ρ ΡΡΠΈΡΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Text: string;
Π’Π΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property TextVisible: boolean;
ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ° Π²Π½ΡΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property TextScale: real;
ΠΠ°ΡΡΡΠ°Π± ΡΠ΅ΠΊΡΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, 0<=TextScale<=1. ΠΡΠΈ TextScale=1 ΡΠ΅ΠΊΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΈΠ»ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ TextScale=0.8
property FontName: string;
ΠΠΌΡ ΡΡΠΈΡΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Text
property FontStyle: FontStyleType;
Π‘ΡΠΈΠ»Ρ ΡΡΠΈΡΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Text
property Number: integer;
Π¦Π΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΡΠ΅Π½ΡΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Text
property RealNumber: real;
ΠΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΡΠ΅Π½ΡΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Text. ΠΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ
property Owner: ContainerABC;
ΠΠ»Π°Π΄Π΅Π»Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π·Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ nil)
ΠΠ΅ΡΠΎΠ΄Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ObjectABCprocedure MoveTo(x,y: integer);
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊ ΡΠΎΡΠΊΠ΅ (x, y)
procedure MoveOn(a,b: integer);
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π° Π²Π΅ΠΊΡΠΎΡ (a, b)
procedure Move; override;
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π° Π²Π΅ΠΊΡΠΎΡ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ dx, dy
procedure Scale(f: real); override;
ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² f ΡΠ°Π· (f>1 - ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅, 0<f<1 - ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅)
procedure ToFront;
ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½
procedure ToBack;
ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π° Π·Π°Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½
function Bounds: System.Drawing.Rectangle;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π³ΡΠ°Π½ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
function PtInside(x,y: integer): boolean; override;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ ΡΠΎΡΠΊΠ° (x, y) Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ False Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
function Intersect(g: ObjectABC): boolean;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅ΡΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° g, ΠΈ False Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ΅Π»ΡΠΉ ΡΠ²Π΅Ρ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ ΠΈ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ
function IntersectRect(r: System.Drawing.Rectangle): boolean;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅ΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ r, ΠΈ False Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
function Clone0: ObjectABC; override;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΎΠ½ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
procedure Draw(x,y: integer; g: Graphics); override;
ΠΠ°ΡΠΈΡΠ΅Π½Π½Π°Ρ. ΠΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ²Π½ΠΎ. ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ g: Graphics
destructor Destroy;
Π£Π½ΠΈΡΡΠΎΠΆΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΠ»Π°ΡΡ BoardABC
ΠΠ»Π°ΡΡ BoardABC ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° BoundedObjectABC ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠΎΡΠΊΠ°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΎ ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ² ObjectABC ΠΈ BoundedObjectABC.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° BoardABCconstructor Create(x,y,nx,ny,szx,szy: integer; cl: GColor);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΎΡΠΊΡ nx Π½Π° ny ΠΊΠ»Π΅ΡΠΎΠΊ ΡΠ²Π΅ΡΠ° cl Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΊΠ»Π΅ΡΠΊΠΈ (szx,szy) Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (x,y).
constructor Create(g: BoardABC);
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΎΡΠΊΡ - ΠΊΠΎΠΏΠΈΡ Π΄ΠΎΡΠΊΠΈ g
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ° BoardABCproperty DimX: integer;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π΅ΡΠΎΠΊ Π΄ΠΎΡΠΊΠΈ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
property DimY: integer;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π΅ΡΠΎΠΊ Π΄ΠΎΡΠΊΠΈ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
property CellSizeX: integer;
Π Π°Π·ΠΌΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
property CellSizeY: integer;
Π Π°Π·ΠΌΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
ΠΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° BoardABCfunction Clone: BoardABC;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΎΠ½ Π΄ΠΎΡΠΊΠΈ
Π‘Π²ΠΎΠΉΡΡΠ²Π°, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° BoundedObjectABCproperty BorderColor: GColor;
Π¦Π²Π΅Ρ Π³ΡΠ°Π½ΠΈΡΡ
property BorderWidth: integer;
Π¨ΠΈΡΠΈΠ½Π° Π³ΡΠ°Π½ΠΈΡΡ
property Bordered: boolean;
ΠΠΌΠ΅Π΅Ρ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π³ΡΠ°Π½ΠΈΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ True)
property Filled: boolean;
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½Π° Π»ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ True)
ΠΠ΅ΡΠΎΠ΄Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° BoundedObjectABCprocedure SetDrawSettings;
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΠ΅ΡΠ° ΠΈ ΠΊΠΈΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
Π‘Π²ΠΎΠΉΡΡΠ²Π°, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ObjectABCproperty Left: integer;
ΠΡΡΡΡΠΏ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ
property Top: integer;
ΠΡΡΡΡΠΏ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΊΡΠ°Ρ
property Width: integer;
Π¨ΠΈΡΠΈΠ½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
property Height: integer;
ΠΡΡΠΎΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°