write(2);
end;
end.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ 21, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° p ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ un1.
ΠΠΎΠΈΡΠΊ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ: Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π·Π°ΡΠ΅ΠΌ Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ Ρ.Π΄. Π΄ΠΎ ΠΊΠ»Π°ΡΡΠ° Object, Π»ΠΈΠ±ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠ΅ΡΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ (ΠΈΠΌΡ ΠΏΠΎΠ»Ρ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°). ΠΠ· Π²ΡΠ΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΡΠ°Π·Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ; Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊ ΠΊΠ»Π°ΡΡΡ Object.
ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΡΠ²ΡΡΡ Π² ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠΌΠ΅ΡΡ Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ
procedure p(i: integer);
begin
write(1);
end;
procedure p(params a: array of integer);
begin
write(2);
end;
begin
p(1)
end.
Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°.
ΠΡΠ·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ· Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ dll
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ dll (ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ, Π° Π½Π΅ .NET-ΠΊΠΎΠ΄) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΠΈΠ΄Π°:
Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ external 'ΠΈΠΌΡ dll' name 'ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² dll';
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
function MessageBox(h: integer; m,c: string; t: integer): integer;
external 'User32.dll' name 'MessageBox';
...
MessageBox(0,'Hello!','Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅',0);
ΠΠΎΠ΄ΡΠ»ΠΈ
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ΄ΡΠ»ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΠΌΠΎΠ΄ΡΠ»ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΡΠΈΠΏΡ, ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ (ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°), ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠ΄ΡΠ»Ρ (Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ .pas) Π² ΡΠ°Π·Π΄Π΅Π»Π΅ uses Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. Π€Π°ΠΉΠ» ΠΌΠΎΠ΄ΡΠ»Ρ (.pas) ΠΈΠ»ΠΈ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠ΄ΡΠ»Ρ (.pcu) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π»ΠΈΠ±ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π»ΠΈΠ±ΠΎ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Lib ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ PascalABC.NET.
ΠΠΎΠ΄ΡΠ»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ:
unit ΠΈΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ;
interface
ΡΠ°Π·Π΄Π΅Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
implementation
ΡΠ°Π·Π΄Π΅Π» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
initialization
ΡΠ°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
finalization
ΡΠ°Π·Π΄Π΅Π» ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
end.
ΠΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π°.
Π Π°Π·Π΄Π΅Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΡΠ°Π·Π΄Π΅Π» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠ°Π·Π΄Π΅Π»Π° uses ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ .NET. ΠΠΌΠ΅Π½Π° Π² Π΄Π²ΡΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ uses Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ.
Π Π°Π·Π΄Π΅Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡΡΡ Π΄Π°Π½Π½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ uses). ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π°Π½Π° ΠΏΡΡΠΌΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
Π Π°Π·Π΄Π΅Π» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²ΠΈΠ΄Π½Ρ Π²Π½Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅.
Π Π°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π» ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ;. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ - ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌ. ΠΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΈ ΡΠ°Π·Π΄Π΅Π» ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΠΌΠ΅ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅
begin
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
end.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
unit Lib;
interface
uses GraphABC;
const Dim = 5;
var Colors: array [1..Dim] of integer;
function RandomColor: integer;
procedure FillByRandomColor;
implementation
function RandomColor: integer;
begin
Result := RGB(Random(255),Random(255),Random(255));
end;
procedure FillByRandomColor;
begin
for i: integer := 1 to Dim do
Colors[i] := RandomColor;
end;
initialization
FillByRandomColor;
end.
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ .
Π Π°Π·Π΄Π΅Π» uses
Π Π°Π·Π΄Π΅Π» uses ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄
uses ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½;
ΠΠΌΠ΅Π½Π° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PascalABC.NET, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½ .NET. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
uses System, System.Collections.Generic, MyUnit;
ΠΠ΄Π΅ΡΡ MyUnit - ΠΌΠΎΠ΄ΡΠ»Ρ PascalABC.NET, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ .pcu-ΠΌΠΎΠ΄ΡΠ»Ρ, System ΠΈ System.Collections.Generic - ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ .NET.
Π ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·Π΄Π΅Π» uses, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PascalABC.NET ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ .NET. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½ .NET ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄, Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ .NET ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π»ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° - Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° {$reference ΠΠΌΡΠ‘Π±ΠΎΡΠΊΠΈ}, Π³Π΄Π΅ ΠΠΌΡΠ‘Π±ΠΎΡΠΊΠΈ - ΠΈΠΌΡ dll-ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ .NET-ΠΊΠΎΠ΄. ΠΡΡΠ³ΠΎΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅, Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ uses. ΠΠ°ΠΏΡΠΎΡΠΈΠ², Π΅ΡΠ»ΠΈ ΡΠ±ΠΎΡΠΊΠ° .NET ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ $reference, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΈΠΌΠ΅Π½Π°, ΡΠ²Π½ΠΎ ΡΡΠΎΡΠ½ΡΡ ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΈΠΌΠ΅Π½, Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ uses. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
begin
System.Console.WriteLine('PascalABC.NET');
end.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ uses Π½Π΅ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ PABCSystem, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΡΠΈΠΏΡ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΠΈΡ uses ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΌΠΎΠ΄ΡΠ»Ρ PABCSystem ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ²Π½ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ $reference ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ System.dll, System.Core.dll ΠΈ mscorlib.dll, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ .NET-ΡΠΈΠΏΡ.
ΠΠΎΠΈΡΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈΠΌΠ΅Π½ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π½Π°ΡΠ°Π»Π΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π·Π°ΡΠ΅ΠΌ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΡ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π² ΡΠ΅ΠΊΡΠΈΠΈ uses ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠ°ΠΌΡΠΌ Π»Π΅Π²ΡΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π»ΠΎΠΆΠ΅Π½ΠΎ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π²ΠΎΠ³ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΠΌΠ΅Π½ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΡ
ΠΠΌΡΠΠΎΠ΄ΡΠ»Ρ.ΠΠΌΡ
ΠΈΠ»ΠΈ
ΠΠΌΡΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΠΌΠ΅Π½NET.ΠΠΌΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΠ»ΠΈ Ρ Π½Π΅Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ program.
Π£ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ
Π£ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄:
unit ΠΈΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ;
ΡΠ°Π·Π΄Π΅Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ
end.
ΠΈΠ»ΠΈ
unit ΠΈΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ;
ΡΠ°Π·Π΄Π΅Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ
begin
ΡΠ°Π·Π΄Π΅Π» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
end.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡΡΡ. Π£ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ - ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ
Π¦ΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΡΠ°ΡΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΡΠ½Π°:
unit A;
interface
uses B;
implementation
end.
unit B;
interface
uses A;
implementation
end.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π²Π° ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ° Π² ΡΠ°Π·Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, ΡΡΡΠ»Π°ΡΡΠΈΠΌΠΈΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΡΡΠ»ΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, Π° Π²ΡΠΎΡΠ°Ρ - Π² ΡΠ°ΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΠ»ΠΈ ΠΎΠ±Π΅ - Π² ΡΠ°ΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ:
unit A;
interface
implementation
uses B;
end.
unit B;
interface
uses A;
implementation
end.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ dll