Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈΒ»
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Delphi, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ «ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ». ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΡΠΌ Π² ΠΌΠΈΡΠ΅, Π΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΡΡΠ΅ 120 ΡΡΡΡΡ ΡΡΡΠΎΠΊ Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ 486DX33. ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π»Π΅Π³ΠΊΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π±ΡΡΡΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ»
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
1.2 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ°
1.3 ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Delphi Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π-ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° «ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Delphi — ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:
— ΠΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄;
— ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ;
— ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ (Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠ΅) ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ²;
— ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ;
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Delphi, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ «ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ». ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΡΠΌ Π² ΠΌΠΈΡΠ΅, Π΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΡΡΠ΅ 120 ΡΡΡΡΡ ΡΡΡΠΎΠΊ Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ 486DX33. ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π»Π΅Π³ΠΊΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π±ΡΡΡΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ (4GL) ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° 3GL. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Delphi ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π° C++ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° (Ρ ΠΎΡΡ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).
1. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ», ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈ ΠΊΠ»Π΅ΡΠΎΠΊ (ΠΏΠ°Π½Π΅Π»Π΅ΠΉ), ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ²Π°Π΄ΡΠ°Ρ. ΠΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠ³ΡΠΎΠΊ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π½Π°ΡΠ΅Π» Π²ΡΠ΅ ΠΏΠ°ΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
1.2 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ°
1.3 ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ³ΡΡ, ΠΈ Π½Π°ΠΉΡΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» DBLPIC.
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠΎΡΠΌΠ° Form1 (ΡΠΈΡΡΠ½ΠΎΠΊ 1), Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ: Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅.
ΠΠ³ΡΠ°, Ρ. Π΅. ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 1 ΠΠΈΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΡΠ½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.
Pole: array [1.MAX_H, 1. MAX_W] of integer;
{ Pole[i, j] < 100 — ΠΊΠΎΠ΄ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΊΠ»Π΅ΡΠΊΠ° Π·Π°ΠΊΡΡΡΠ°;
Pole[i, j] > 100 ΠΈ < 200 — ΠΊΠ»Π΅ΡΠΊΠ° ΠΎΡΠΊΡΡΡΠ°, Ρ. Π΅. ΠΈΠ³ΡΠΎΠΊ Π²ΠΈΠ΄ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ;
Π ΠΈΡΡΠ½ΠΎΠΊ 2 ΠΠΈΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π²ΡΠΈΠ³ΡΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TTimer.
ΠΠ΅ΠΆΠ΄Ρ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ try ΠΈ except ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π·Π°ΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ except ΠΈ end, ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠΌ Π±Π»ΠΎΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ. ΠΡΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ (Π±Π΅Π·ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠΌ) Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π»ΠΎΠΊ except… end ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ.
ΠΡΠ°ΠΊ, Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌ Π² Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠΈΠ»Ρ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. ΠΡΠ»ΠΈ Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ, ΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΄Π°. ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΄Π° Π½Π΅ ΡΠ°Π²Π½Ρ — ΠΈΠ³ΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, Π° Π΅ΡΠ»ΠΈ ΠΆΠ΅ Π²ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ°Π²Π½Ρ, ΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡΡΠ½ΠΊΠ΅ 3)
Π ΠΈΡΡΠ½ΠΎΠΊ 3 ΠΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
begin
Form1.Canvas.Font.Name := 'Times New Roman';
Form1.Canvas.Font.Size := 36;
Form1.Canvas.Font.Color := clBlack;
Form1.Canvas.TextOut (70,160,'ΠΠΎΠ½Π΅Ρ ΠΈΠ³ΡΡ!');
Form1.Canvas.Font.Size := 10;
Form1.Canvas.TextOut (120,210,'ΠΡ ΠΌΠ΅ΡΠΎΠ² Π.Π ., 2012'); end
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠΎΠ²Π°Ρ ΠΈΠ³ΡΠ°» Π² ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. ΠΠ½ΠΎΠΏΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΠ±ΡΡΠΈΠΈ OnClick:
procedure TForm1. N1Click (Sender: TObject);
begin
Pole[open1.col, open1. row] := Pole[open1.col, open1. row] + 100;
Pole[open2.col, open2. row] := Pole[open2.col, open2. row] + 100;
count := 0;
// ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ
Kletka (open2.col, open2. row);
Kletka (open1.col, open1. row);
// ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°
Form1.Timer1.Enabled := False;
Canvas.Rectangle (0,0,ClientWidth, ClientHeight);
NewGame;
clock:=0;
end;
Π ΠΈΡΡΠ½ΠΎΠΊ 4 ΠΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «?» ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠ±ΡΡΠΈΠΈ OnClick ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ «Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅» (Π ΠΈΡΡΠ½ΠΎΠΊ 5), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΡΠ°ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅:
procedure TForm1. N3Click (Sender: TObject);
begin
Form3.Show;
end;
Π ΠΈΡΡΠ½ΠΎΠΊ 5 ΠΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ «?»
ΠΠΎΠ΄ΡΠ»Ρ Unit3 ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΠΊΠ½Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΈΠ³ΡΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ» ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ (Π ΠΈΡΡΠ½ΠΎΠΊ 3). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
begin
Form1.Canvas.Font.Name := 'Times New Roman';
Form1.Canvas.Font.Size := 36;
Form1.Canvas.Font.Color := clBlack;
Form1.Canvas.TextOut (70,160,'ΠΠΎΠ½Π΅Ρ ΠΈΠ³ΡΡ!');
Form1.Canvas.Font.Size := 10;
Form1.Canvas.TextOut (120,210,'ΠΡ ΠΌΠ΅ΡΠΎΠ² Π.Π ., 2012');
form1.timer2.Enabled:=False;
clock:=0;
Form1.Caption:='ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ';
end;
2 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Delphi
2.1 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TMainMenu
TMainMenu — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ TMainMenu Π½Π° ΡΠΎΡΠΌΡ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ° (Π ΠΈΡΡΠ½ΠΎΠΊ 1). ΠΠΊΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π°Π·ΡΠ²Π°ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ (Π½Π΅Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 6 ΠΠΊΠΎΠ½ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠΈ ΡΠ°Π³Π°:
1) ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ TMainMenu Π½Π° ΡΠΎΡΠΌΡ;
2) Π²ΡΠ·ΠΎΠ² Menu Designer (Π ΠΈΡΡΠ½ΠΎΠΊ 7);
3) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ Π² Menu Designer.
Π ΠΈΡΡΠ½ΠΎΠΊ 7 Menu Designer
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ MENUS, ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Standard.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° TMenu. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π΅Π³ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅Π½Ρ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
1. ΠΡΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΌ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΌΠ΅Π½Ρ, ΡΠΎ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ Π² ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅Π½Ρ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ.
2. ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ MDI ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠΊΠ½Π°ΠΌΠΈ.
3. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ OLE, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌΠΈ ΠΏΠΎ ΠΌΠ΅ΡΡΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° OLE. ΠΠ°Π³ΡΡΠΆΠ°ΡΡΡ, ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊ ΠΌΠ΅Π½Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ, Ρ ΡΠ΅Ρ ΡΠΎΡΠΌ, ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² True ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ:
(Pb) property AutoMerge: Boolean;
ΠΡΠΈ ΡΡΠΎΠΌ Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠ°Π²Π½ΡΠΌ False, ΠΈΠ½Π°ΡΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ. ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² OLE. ΠΡΠΎΠΌΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°:
procedure Merge (Menu: TMainMenu);
1.2 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TLabel
TLabel — ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΡΡ ΠΈ ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Font Π² ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π² Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ ΠΊΠΎΠ΄Π°.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ STDCTRLS, ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Standard.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΈ Π΄ΡΡΠ³ΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ — Π΅ΡΠ»ΠΈ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ΅ΠΊΡΡΠ° TLabel Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ-Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΎΡ TLabel Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
1.3 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TPanel
TPanel — ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° TGroupBox, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄Π΅ΠΊΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ΅Π»ΡΡ . Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TPanel, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° ΡΠΎΡΠΌΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° Π½Π΅Π³ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ TPanel Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΈ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. TPanel ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΠΊΠ½Π° ΡΡΠ°ΡΡΡΠ°.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ EXTCTRLS, ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Standard.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ — ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΌΠΊΠΈ (TBevel) ΠΏΠ°Π½Π΅Π»Ρ ΡΠ°ΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠΎΠ½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π½Π° Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π§Π°ΡΡΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΡΠΎΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Ρ. ΠΏ.
ΠΠ° Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π΄Π²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ°ΠΉΠΌΠ»ΡΡΡΠΈΠ΅ ΡΠ°ΠΌΠΊΠΈ (bevels): BevelInner ΠΈ BevelOuter. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π±Π΅Π»ΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΡΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ² ΠΎΠ½ΠΈ ΠΈΠΌΠΈΡΠΈΡΡΡΡ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΡΡΡ — ΠΏΡΠΈΠΏΠΎΠ΄Π½ΡΡΠΎΡΡΡ (bvRaised) ΠΈΠ»ΠΈ ΡΡΠΎΠΏΠ»Π΅Π½Π½ΠΎΡΡΡ (bvLowered). Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΠΌΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ (bvNone).
ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
(Pb) property Alignment: TAlignment;
1.4 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TImage
TImage — ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅. ΠΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΌΠ°ΡΡ BMP, ICO, WMF. ΠΡΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ ΠΎΠ½Π° ΠΏΡΠΈΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΊ EXE ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ EXTCTRLS, ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Additional.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ»ΡΠΆΠΈΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π½Π°Π΄ ΠΊΠ»Π°ΡΡΠΎΠΌ TPicture ΠΈ Π·Π°ΠΌΡΠΊΠ°Π΅Ρ Π²ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² VCL. ΠΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° Π½Π° ΡΠΎΡΠΌΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ: Π±ΠΈΡΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ (TBitmap), ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Π° (TMetafile), Π·Π½Π°ΡΠΊΠ° (TIcon).
1.5 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TImageList
TImageList ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΈΡΡΠ½ΠΊΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡΠ΅ΠΊΡΠΈΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ. ΠΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΌΠ°ΡΡ BMP, ICO.
ΠΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ TImageList Π½Π° ΡΠΎΡΠΌΡ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ°. ΠΠΊΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π°Π·ΡΠ²Π°ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ (Π½Π΅Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Win 32.
1.6 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TTimer
TTimer (ΡΠ°ΠΉΠΌΠ΅Ρ) ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ interval ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ , ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΉΡΠΈ ΠΎΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π΄ΠΎ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ onTimer. Π’Π°ΠΉΠΌΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ True Π² Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Enabled. Π Π°Π· Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ onTimer Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Enabled Π½Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ False.
ΠΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ TTimer Π½Π° ΡΠΎΡΠΌΡ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ° (Π ΠΈΡΡΠ½ΠΎΠΊ 6). ΠΠΊΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π°Π·ΡΠ²Π°ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ (Π½Π΅Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² System.
3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
1) Π€Π°ΠΉΠ» > ΠΠΎΠ²Π°Ρ ΠΈΠ³ΡΠ° — Π½Π°ΡΠ°Π»ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ. (Π ΠΈΡΡΠ½ΠΎΠΊ 8)
Π ΠΈΡΡΠ½ΠΎΠΊ 8 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
2)Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ > … — ΠΡΠ±ΠΎΡ ΡΡΠΎΠ²Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ (Π ΠΈΡΡΠ½ΠΎΠΊ 9)
Π ΠΈΡΡΠ½ΠΎΠΊ 9 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
2) Π‘ΠΏΡΠ°Π²ΠΊΠ° > Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ — ΠΡΠ²ΠΎΠ΄ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΠΎ Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅. (Π ΠΈΡΡΠ½ΠΎΠΊ 10)
Π ΠΈΡΡΠ½ΠΎΠΊ 10 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΈΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ». ΠΡΠ»ΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Borland Delphi 6.0, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ: TMainMenu, TTimer.
Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
— Adobe Photoshop CS v8.0 — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΎ Π°Π²ΡΠΎΡΠ° Π΄Π»Ρ ΡΠΎΡΠΌΡ «Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅»;
— Restorator 2005 v3.50 build 1442 — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ EXE ΡΠ°ΠΉΠ»Π° ΠΈΠ³ΡΡ;
— Microsoft Paint v5.1 — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ½ΠΊΠΎΠ² ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
1. ΠΠΈΡ Π°ΠΈΠ» Π€Π»Π΅Π½ΠΎΠ² «ΠΠΈΠ±Π»ΠΈΡ Delphi» ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2004 Π³. 880Ρ.
2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi 6 ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ, Π.Π―. 2003 Π³.
3. ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Delphi 7 ΠΡΠ»ΡΡΠΈΠ½, ΠΠΈΠΊΠΈΡΠ° 2003 Π³.
4. Delphi 7 Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ² — Π. ΠΡΠ½ΡΡ Π‘Π°Π½ΠΊΡ — ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2004 Π³.
5. Delphi Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ — ΠΠ΅ΡΡΡΠΈΠΊΠΎΠ² Π. Π. ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2005 Π³.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
{ ΠΠ³ΡΠ° «ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ»
Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»: ΠΡ ΠΌΠ΅ΡΠΎΠ² Π.Π .}
unit dblpic_;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Menus;
type
TForm1 = class (TForm)
Timer1: TTimer;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Timer2: TTimer;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
procedure FormCreate (Sender: TObject);
procedure FormPaint (Sender: TObject);
procedure FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Timer1Timer (Sender: TObject);
procedure N1Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure Timer2Timer (Sender: TObject);
procedure FormClick (Sender: TObject);
procedure N6Click (Sender: TObject);
procedure N7Click (Sender: TObject);
procedure N8Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° col_row
col_row = record
col: integer;
row: integer;
end;
const
MAX_SIZE = 32; // ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΏΠ°ΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
MAX_H = 8; // ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»Ρ — 8Ρ 8
MAX_W = 8;
var
Form1: TForm1;
clock:Integer;
level:Integer;
Pole: array [1.MAX_H, 1. MAX_W] of integer;
{ Pole[i, j] < 100 — ΠΊΠΎΠ΄ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΊΠ»Π΅ΡΠΊΠ° Π·Π°ΠΊΡΡΡΠ°;
Pole[i, j] > 100 ΠΈ < 200 — ΠΊΠ»Π΅ΡΠΊΠ° ΠΎΡΠΊΡΡΡΠ°, Ρ. Π΅. ΠΈΠ³ΡΠΎΠΊ Π²ΠΈΠ΄ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ;
Pole[i, j] > 200 — ΠΈΠ³ΡΠΎΠΊ Π½Π°ΡΠ΅Π» ΠΏΠ°ΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ }
Pictures: TBitmap; // ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
n: integer; // ΠΊΠΎΠ»Π²ΠΎ ΠΎΡΠΊΡΡΡΡΡ ΠΏΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
count: integer; // ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΡΠΊΡΡΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ»Π΅ΡΠΎΠΊ
open1: col_row; // ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ 1-ΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ
open2: col_row; // ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ 2-ΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ
W: integer; // ΠΊΠΎΠ»-Π²ΠΎ ΠΊΠ»Π΅ΡΠΎΠΊ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
H: integer; // ΠΊΠΎΠ»-Π²ΠΎ ΠΊΠ»Π΅ΡΠΎΠΊ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
// ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ W ΠΈ H Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΊΡΠ°ΡΠ½ΠΎ 2-ΠΌ
WK: integer; // ΡΠΈΡΠΈΠ½Π° ΠΊΠ»Π΅ΡΠΊΠΈ
HK: integer; // Π²ΡΡΠΎΡΠ° ΠΊΠ»Π΅ΡΠΊΠΈ
implementation
uses Unit2, Unit3;
{$R *.dfm}
// ΡΠΈΡΡΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΡ ΠΏΠΎΠ»Ρ
procedure Kletka (col, row: integer);
var
x, y: integer; // Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ» ΠΊΠ»Π΅ΡΠΊΠΈ (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ)
src, dst: Trect; // ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π±ΠΈΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π°
begin
// ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ
// Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠΎΡΠΌΡ
x := (col-1)*WK;
y := (row-1)*HK;
if Pole[col, row] > 200 then
// Π΄Π»Ρ ΡΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΏΠ°ΡΠ°
// ΠΊΠ»Π΅ΡΠΊΡ Π½Π°Π΄ΠΎ ΡΠ±ΡΠ°ΡΡ Ρ ΠΏΠΎΠ»Ρ
begin
// ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²Π΅Ρ Π³ΡΠ°Π½ΠΈΡΡ, Π·Π°ΠΊΡΠ°ΡΠΊΠΈ ΠΈ ΡΠ΅ΠΊΡΡΠ°
Form1.Canvas.Brush.Color := clBtnFace;
Form1.Canvas.Pen.Color := clBtnFace;
Form1.Canvas.Font.Color := clBtnFace;
end;
if (Pole[col, row] > 100) and (Pole[col, row] < 200)
then
// ΠΊΠ»Π΅ΡΠΊΠ° ΠΎΡΠΊΡΡΡΠ° — Π²ΡΠ²Π΅ΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
begin
// Pole[col, row] = Π½ΠΎΠΌΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ + 100,
// Π³Π΄Π΅ 100 — ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΠ»Π΅ΡΠΊΠ° ΠΎΡΠΊΡΡΡΠ°
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Pictures
src := Bounds ((Pole[col, row]-100 -1)*WK, 0, WK, HK);
// ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ (ΠΊΠ»Π΅ΡΠΊΠΈ) Π½Π° ΡΠΎΡΠΌΠ΅
dst := Bounds (x, y, HK-2,WK-2);
// Π²ΡΠ²Π΅ΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² ΠΊΠ»Π΅ΡΠΊΡ
Form1.Canvas.CopyRect (dst, Pictures. Canvas, src);
// ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²Π΅Ρ Π³ΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΈΡΡΡ
Form1.Canvas.Pen.Color := clBlack;
Form1.Canvas.Font.Color := clBlack;
Form1.Canvas.Brush.Style := bsClear;
end;
if (Pole[col, row] > 0) and (Pole[col, row] < 100) then
// ΠΊΠ»Π΅ΡΠΊΠ° Π·Π°ΠΊΡΡΡΠ°, ΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΡ
begin
Form1.Canvas.Brush.Color := clBtnFace;
Form1.Canvas.Pen.Color := clBlack;
Form1.Canvas.Font.Color := clBtnFace;
end;
// ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π΅ΡΠΊΡ
Form1.Canvas.Rectangle (x, y, x+WK-2,y+HK-2);
//Form1.Canvas.TextOut (x+15,y+15, IntToStr (Pole[col, row]));
Form1.Canvas.Brush.Color := clBtnFace;
end;
// ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅
procedure ShowPole;
var
row, col: integer;
begin
for row:=1 to H do
for col:=1 to W do
Kletka (row, col);
end;
// Π½ΠΎΠ²Π°Ρ ΠΈΠ³ΡΠ°
Procedure NewGame;
var
k: integer; // ΠΊΠΎΠ»-Π²ΠΎ ΠΏΠ°ΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
r: integer; // ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
buf: array[1.MAX_SIZE] of integer;
// Π² buf[i] Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ΅Π» i
// Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² Pole
i, j: integer; // ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
begin
Randomize;
k := Trunc (H*W/2);
for i:=1 to k do
buf[i] := 0;
// Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ² Pole ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°
// ΠΎΡ 1 Π΄ΠΎ 2
// ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄Π²Π° ΡΠ°Π·Π°
for i:=1 to H do
for j:=1 to W do
begin
repeat
r := random (k) + 1;
until buf[r] < 2;
Pole[i, j] := r; // ΠΊΠΎΠ΄ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
inc (buf[r]);
end;
// Π·Π΄Π΅ΡΡ ΠΏΠΎΠ»Π΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ
n:=0;
ShowPole;
end;
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ
procedure TForm1. FormClick (Sender: TObject);
begin
form1.timer2.Enabled:=True; //clock:=0;
end;
procedure TForm1. FormCreate (Sender: TObject);
var
np: integer; // ΠΊΠΎΠ»-Π²ΠΎ ΠΏΠ°ΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
begin
level:=30;
Pictures := TBitmap. Create;
// Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
Pictures.LoadFromFile ('pictures.bmp');
HK := Pictures. Height-1; // Π²ΡΡΠΎΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
WK := HK; // ΡΠΈΡΠΈΠ½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
np:= Round (Pictures.Width / WK);
if np <= 15
then H := 4
else H :=5;
W := Round (np*2/H);
// ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎΠ»Ρ
Form1.ClientHeight := H * HK;
Form1.ClientWidth := W * WK;
Form1.Timer1.Enabled := False;
Form1.Timer1.Interval := 200;
n := 0;
NewGame;
end;
// ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ»Π΅ΡΠΎΠΊ Π½Π° ΠΏΠΎΠ»Π΅
procedure TForm1. FormPaint (Sender: TObject);
begin
ShowPole;
end;
// ΡΠ΅Π»ΡΠΎΠΊ Π² ΠΊΠ»Π΅ΡΠΊΠ΅
procedure TForm1. FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
col_: integer; // Π½ΠΎΠΌΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
row_: integer; //Π½ΠΎΠΌΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
begin
col_ := Trunc (X/WK) + 1;
row_ := Trunc (Y/HK) + 1;
if Pole[col_, row_] > 200 then
// ΡΠ΅Π»ΡΠΎΠΊ Π² Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ
// ΡΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΠΏΠ°ΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
exit;
// ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»Π΅ΡΠΎΠΊ Π½Π΅Ρ
if count = 0 then
begin
count := 1;
open1.col := col_;
open1.row := row_;
// ΠΊΠ»Π΅ΡΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΠ°Ρ
Pole[open1.col, open1. row] := Pole[open1.col, open1. row] + 100;
Kletka (open1.col, open1. row);
exit;
end;
// ΠΎΡΠΊΡΡΡΠ° ΠΎΠ΄Π½Π° ΠΊΠ»Π΅ΡΠΊΠ°, Π½Π°Π΄ΠΎ ΠΎΡΠΊΡΡΡΡ Π²ΡΠΎΡΡΡ
if count = 1 then begin
open2.col := col_;
open2.row := row_;
// Π΅ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΠ° ΠΎΠ΄Π½Π° ΠΊΠ»Π΅ΡΠΊΠ° ΠΈ ΡΠ΅Π»ΡΠΎΠΊ ΡΠ΄Π΅Π»Π°Π½
// Π² ΡΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ
if (open1.col = open2. col) and (open1.row = open2. row)
then exit
else begin
count := 2; // ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡ Π΄Π²Π΅ ΠΊΠ»Π΅ΡΠΊΠΈ
Pole[open2.col, open2. row] :=
Pole[open2.col, open2. row] + 100;
Kletka (open2.col, open2. row); // ΠΎΡΡΠΈΡΡΠ΅ΠΌ Π²ΡΠΎΡΡΡ ΠΊΠ»Π΅ΡΠΊΡ
// ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅?
if Pole[open1.col, open1. row] = Pole[open2.col, open2. row] then
// ΠΎΡΠΊΡΡΡΡ Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
begin
n := n+1;
Form1.Timer1.Enabled := True; // Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ
// ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΡ OnTimer
// «ΡΠΎΡΡΠ΅Ρ» Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
end;
end;
exit;
end;
if count = 2 then
begin
// ΠΎΡΠΊΡΡΡΡ 2 ΠΊΠ»Π΅ΡΠΊΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ
// Π·Π°ΠΊΡΠΎΠ΅ΠΌ ΠΈΡ ΠΈ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π½ΠΎΠ²ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ
// ΡΠ΄Π΅Π»Π°Π½ ΡΠ΅Π»ΡΠΎΠΊ
// Π·Π°ΠΊΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ
Pole[open1.col, open1. row] := Pole[open1.col, open1. row] - 100;
Pole[open2.col, open2. row] := Pole[open2.col, open2. row] - 100;
Kletka (open1.col, open1. row);
Kletka (open2.col, open2. row);
// Π·Π°ΠΏΠΈΡΡ Π² open1 Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ
open1.col := col_;
open1.row := row_;
count := 1; // ΡΡΠ΅ΡΡΠΈΠΊ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»Π΅ΡΠΎΠΊ
// ΠΎΡΠΊΡΡΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ
Pole[open1.col, open1. row] := Pole[open1.col, open1. row] + 100;
Kletka (open1.col, open1. row);
end;
end;
// ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
procedure TForm1. Timer1Timer (Sender: TObject);
begin
// Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Pole ΠΊΠ»Π΅ΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΏΠ°Π²ΡΠΈΠ΅
Pole[open1.col, open1. row] := Pole[open1.col, open1. row] + 100;
Pole[open2.col, open2. row] := Pole[open2.col, open2. row] + 100;
count := 0;
// ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ
Kletka (open2.col, open2. row);
Kletka (open1.col, open1. row);
// ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°
Form1.Timer1.Enabled := False;
if n = Trunc (W*H/2)
then // ΠΎΡΠΊΡΡΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΡ
begin
Form1.Canvas.Font.Name := 'Times New Roman';
Form1.Canvas.Font.Size := 36;
Form1.Canvas.Font.Color := clBlack;
Form1.Canvas.TextOut (70,160,'ΠΠΎΠ½Π΅Ρ ΠΈΠ³ΡΡ!');
Form1.Canvas.Font.Size := 10;
Form1.Canvas.TextOut (120,210,'ΠΡ ΠΌΠ΅ΡΠΎΠ² Π.Π ., 2012');
form1.timer2.Enabled:=False;
clock:=0;
Form1.Caption:='ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ';
end;
end;
procedure TForm1. Timer2Timer (Sender: TObject);
begin
clock:= clock+1;
Form1.Caption:='ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ [ΠΠ³ΡΠ° ΠΈΠ΄ΡΡ ! ' + inttostr (clock)+' Π‘Π΅ΠΊΡΠ½Π΄'+']';
if clock>level then
begin
Timer2.Enabled:=False;
Form1.Caption:='ΠΠ°ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ';
ShowMessage ('ΠΡΠ΅ΠΌΡ Π²ΡΡΠ»ΠΎ!');
end;
end;
// Π²ΡΠ±ΠΎΡ Π² ΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΠΎΠ²Π°Ρ ΠΈΠ³ΡΠ°
procedure TForm1. N1Click (Sender: TObject);
begin
Pole[open1.col, open1. row] := Pole[open1.col, open1. row] + 100;
Pole[open2.col, open2. row] := Pole[open2.col, open2. row] + 100;
count := 0;
// ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π΅ΡΠΊΠΈ
Kletka (open2.col, open2. row);
Kletka (open1.col, open1. row);
// ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠΌΠ΅ΡΠ°
Form1.Timer1.Enabled := False;
Canvas.Rectangle (0,0,ClientWidth, ClientHeight);
NewGame;
clock:=0;
end;
procedure TForm1. N4Click (Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1. N6Click (Sender: TObject);
begin
level:=50;
end;
procedure TForm1. N7Click (Sender: TObject);
begin
level:=30;
end;
procedure TForm1. N8Click (Sender: TObject);
begin
level:=18;
end;
procedure TForm1. N3Click (Sender: TObject);
begin
Form3.Show;
end;
end.