Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«ΠΠ³ΡΠ° Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅Β»
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image (Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Additional) — cΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Π°. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ³Π°ΡΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ PaintBox. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ: Π² Π½Π΅ΠΌ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·-Π·Π° ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ OnPaint, Π² Image… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«ΠΠ³ΡΠ° Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅Β» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ «ΠΠ³ΡΠ° Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅»
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° delphi ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ³ΡΠ° Π’Π΅ΠΌΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Delphi. Π Delphi ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TDrawGrid ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΠΌ ΡΠ°Π·Π²ΠΈΡΡ ΠΈΠ³ΡΡ «Memory» (ΠΠ³ΡΠ° Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅).
Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°Π»Π΅Π΅ ΡΠ°Π·Π΄Π΅Π» Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π΅Π»Π°Π΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
1. ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ
1.1 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° delphi ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ³ΡΠ°
ΠΠ°Π½Π½Π°Ρ ΠΈΠ³ΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ³ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡΠΎΠ²Π½ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ (Difficulty level).
«ΠΠ³ΡΠ° Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π·Π°ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈ Π²Π΅Π΄Π΅Ρ ΠΊ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°.
1.2 Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ
1.2.1 ΠΠ°ΠΌΡΡΡ
ΠΠ°ΠΌΡΡΡ — ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π·Π°ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΡΠ°.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ «Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅» ΠΈ «Π·Π°Π±ΡΠ²Π°Π½ΠΈΠ΅» ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° «ΠΏΠ°ΠΌΡΡΡ» .
1.2.2 Π’Π΅ΠΎΡΠΈΠΈ Π·Π°Π±ΡΠ²Π°Π½ΠΈΡ
Π ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΈ ΡΠ΅Π½ΠΎΠΌΠ΅Π½Π° Π·Π°Π±ΡΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠΈΠ»ΠΈΡΡ Π΄Π²Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ΅ΠΎΡΠΈΠΈ. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ , Π³ΠΈΠΏΠΎΡΠ΅Π·Π΅ Π½Π΅ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ, Π·Π°Π±ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΡΡΠ΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ΠΉΡΠΎΡΠΈΠ·ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π΄ΠΎΠ² ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π²ΡΡΡΠ΅Π½ΠΎ. ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΈΡ ΡΠ»Π΅Π΄ΠΎΠ². Π£ ΡΡΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΎΠ², Ρ ΠΎΡΡ ΡΠ°ΠΌΠ° ΠΈΠ΄Π΅Ρ Π½Π΅ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΡΠ²Π½ΠΎ, Π² ΡΡΠ΄Π΅ ΡΡΠ°ΠΊΡΠΎΠ²ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π° ΡΠ΅ΠΎΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π±ΡΡΠΎΠ³ΠΎ (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΠΎΠ³ΠΎ) ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π½ΠΎΠ²Ρ ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΡΠΆΠ΅ ΡΠ»ΠΎΠΆΠΈΠ²ΡΠΈΠΌΠΈΡΡ ΠΏΡΠΈΠ²ΡΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈΡΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΈ Π΄Π²Π΅ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ Π² ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠ°ΠΌΡΡΠΈ.
1.2.3 ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ
ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅:
— ΠΏΡΠΎΡΡΠΎΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°
— Π·Π°ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π½ΠΎΠ²Ρ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΡΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΡΡΠΈΠ»ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ
— ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ»ΠΈΡΡ Π² Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
— ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π΅Π΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ Π½Π΅ΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ.
1.2.4 ΠΡΠΈΠ½ΡΠΈΠΏΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ
Π‘ΡΠ΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΡ ΠΈ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅: Π·Π°Π±ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΡΡΠΈΠ²Π°Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅ΡΡΡ; Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΌ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠ²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ. ΠΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΎΠ²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π΄ΡΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°; Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΠ΅ΠΌ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π·Π°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»; Π·Π°Π±ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΌ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡ ΠΎΠ΄Π½Π° (Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ) ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΡΠΎΠΉ, ΡΡΠΎ Π±ΡΠ»Π° ΡΠ°Π½Π΅Π΅, Π΄ΠΎ Π·Π°ΡΡΠΈΠ²Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°; ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠ²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ, ΡΠ΅ΠΌ Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°Π±ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ; ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½Π΅Π΅, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡ ΠΎΠ΄Π½Π° Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΎΠ²Π½Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»).
2. ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π²ΡΠ±ΡΠ°Π» ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Borland Delphi 7. ΠΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΡΠ·ΡΠΊΠ°, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π³ΡΠ°ΡΠΈΠΊΡ, ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΠΎΡΠ½ΠΎΠ²Π΅ Delphi Π»Π΅ΠΆΠΈΡ ΡΠ·ΡΠΊ Object Pascal, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ (ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ) ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Delphi ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠΌΡΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ (ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ), ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Delphi ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π ΠΠ-ΠΌΠΎΠ΄Π΅Π»Ρ (Property, Method, Events — ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠΎΠ±ΡΡΠΈΡ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ:
— ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image (Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Additional) — cΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Π°. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ³Π°ΡΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ PaintBox. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ: Π² Π½Π΅ΠΌ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·-Π·Π° ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ OnPaint, Π² Image ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Image ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΠΊΠ°Π½Π²Π΅ ΡΠΎΡΠΌΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈ Π½ΡΠ΄Π½ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΠ°Π½Π²Ρ ΡΠΎΡΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Ρ. Π΅. Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’Π°ΠΊ ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ Π»ΡΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠ°Π½Π²ΠΎΠΉ Image, ΡΠ΅ΠΌ Ρ ΠΊΠ°Π½Π²ΠΎΠΉ ΡΠΎΡΠΌΡ.
ΠΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Image ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Delphi ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ² — Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ, ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Ρ. ΠΡΠ΅ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ°Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ; ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ ΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π² ΡΡΠ΅Π΄ΡΡΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ. ΠΠΈΡΠΎΠ²Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° (ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .bmp) ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ²Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠ΅ΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .ico) — ΡΡΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ½ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠΊΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² Π±ΡΡΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ , Π² ΠΏΡΠ½ΠΊΡΠ°Ρ ΠΌΠ΅Π½Ρ, Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠ°Ρ . Π‘ΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΡ ΠΎΠΆ Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π±ΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡΠ°Ρ , Π½ΠΎ ΠΈΠΌΠ΅ΡΡΡΡ ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ½Π° ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°.
ΠΠ΅ΡΠ°ΡΠ°ΠΉΠ»Ρ (Metafiles) Ρ ΡΠ°Π½ΡΡ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΠΈΡΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΏΠΎΡΠΎΠ±Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΠ½ΠΈ Ρ ΡΠ°Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½Ρ ΠΏΡΠΈ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌΠΈ, ΡΠ΅ΠΌ Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ Π²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠΈΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Picture — ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° TPicture.
ΠΠΎΠ³Π΄Π° Π²Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image, ΠΎΠ½ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π³ΠΎ, Π½ΠΎ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π΅, Π² Image ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Image:
— autoSize. ΠΡΠ»ΠΈ ΠΎΠ½ Π² true, ΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Image Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΡΡΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π² Π½Π΅Π³ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ AutoSize ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² false, ΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
— stretch. ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΡΡ Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΈΡΡΠ½ΠΊΠ°, Π° ΡΠΈΡΡΠ½ΠΎΠΊ ΠΏΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Stretch Π² true ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ·ΠΎΡΠΎΠ², Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Stretch Π½Π΅ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
— center. Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π² true, ΡΠ΅Π½ΡΡΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ Image, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΈΡΡΠ½ΠΊΠ°.
— transparent (ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ). ΠΡΠ»ΠΈ Transparent ΡΠ°Π²Π½ΠΎ true, ΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Image ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°. ΠΠ΄Π½ΠΎ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° — Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π½Π°Π΄ΠΏΠΈΡΠ΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΡΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΈ Π½Π°Π΄ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² Delphi ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Image Editor. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Transparent Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ.
— height (Π²ΡΡΠΎΡΠ°) ΠΈ width (ΡΠΈΡΠΈΠ½Π°). ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ°Π·Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ, ΠΈ ΡΠΎΠ³Π΄Π° Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΠΈ ΡΠΎΠ³Π΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠΎΡΠΌΡ, ΠΎΡΡΠ°Π²Π»ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ², ΡΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ.
— ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° TSpinEdit (Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Samples) — ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΠ²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ΅Π». Π ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π²Π²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡ ΠΈ Π·Π½Π°ΠΊΠΎΠ² «ΠΏΠ»ΡΡ» (+) ΠΈ «ΠΌΠΈΠ½ΡΡ» (-).
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° SpinEdit:
— EditorEnabled. Π Π°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΡΡΡΠ½ΠΎΠΉ Π²Π²ΠΎΠ΄ ΡΠΈΡΠ΅Π».
— Increment. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΡΠ°Π³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1.
— MaxValue. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°.
— MinValue. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°.
— Value. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°.
— ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ DrawGrid ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ StringGrid, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ DrawGrid. ΠΠΎΡΡΠΎΠΌΡ Π² DrawGrid ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° StringGrid, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΡΠ΅ΠΊΡΡΡ, Ρ. Π΅. ΠΊΡΠΎΠΌΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² Cells, Cols, Rows, Objects.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TDrawGrid ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ ΠΈ ΡΡΠ΄Π°ΠΌ, ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΡΠΈΠ½Π½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π±ΡΠ»Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΉ, Π² Π½Π΅ΠΉ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ OnDrawCell, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΡΠ΅ΠΉΠΊΡ. ΠΠ»Ρ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Canvas.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ DrawGrid ΠΈΠΌΠ΅ΡΡ ΠΊΠ°Π½Π²Ρ Canvas, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΌΠ΅Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ CellRect, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΊΠ°Π½Π²Ρ, ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΡ.
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°Π½Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° DrawGrid, ΠΊΠ°ΠΊ ΠΈ Π½Π° ΠΊΠ°Π½Π²Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ΠΎ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
— TTimer — Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ System
ΠΡΠΎΡ Π½Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ± ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Windows ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡΠ»ΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ WM_TIMER.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ:
— property Enabled: Boolean. ΠΠΊΠ»ΡΡΠ°Π΅Ρ/Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ, Π²Π»ΠΈΡΡ Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠ΄ΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Enabled, ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ OnTimer ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
— property Interval: Word. ΠΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
— property OnTimer: TNotifyEvent. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΊΠ²Π°Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ EOutOfResources.
— TRadioGroup — Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Standart
ΠΠΎΡΠΎΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ° Π² Π³ΡΡΠΏΠΏΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° TRadioButton. Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ².
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ:
— property Columns: Integer; - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² Ρ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. ΠΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ 16. ΠΠ½Π΄Π΅ΠΊΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π³ΡΡΠΏΠΏΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ:
— property Itemlndex: Integer. ΠΠ½Π΄Π΅ΠΊΡ ΠΈΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΎΡ 0. ΠΡΠ»ΠΈ ΠΎΠ½ ΡΠ°Π²Π΅Π½ -1, Π½ΠΈ ΠΎΠ΄Π½Π° ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ° Π² Π³ΡΡΠΏΠΏΠ΅ Π½Π΅ Π½Π°ΠΆΠ°ΡΠ°.
— property Items: TStrings. ΠΠ°Π±ΠΎΡ ΡΡΡΠΎΠΊ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, Ρ. ΠΊ. ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ-ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠΊΡΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅.
— TMainMenu — Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Standart
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° TMenu. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π΅Π³ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅Π½Ρ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ: ΠΡΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΌ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΌΠ΅Π½Ρ, ΡΠΎ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ Π² ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅Π½Ρ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ. ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ MDI ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠΊΠ½Π°ΠΌΠΈ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ. OLE, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌΠΈ ΠΏΠΎ ΠΌΠ΅ΡΡΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° OLE. ΠΠ°Π³ΡΡΠΆΠ°ΡΡΡ, ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊ ΠΌΠ΅Π½Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ Π»Π΅ΠΆΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (ΡΠ²ΠΎΠΉΡΡΠ²Π° GroupIndex) ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° TMenuItem. Π£ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ GroupIndex ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠ±ΡΠ²Π°ΡΡΠΈΠΌ, Ρ. Π΅. Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ° Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ. ΠΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ OLE ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TOLEContainer Π·Π°Π³ΡΡΠΆΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ OLE, ΡΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Edit ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΡΠ»Π΅ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π² Π³Π»Π°Π²Π½ΠΎΠ΅, Π½ΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΊ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΌΠ΅Π½Ρ Delphi ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΠ΅Π½Ρ. Π Π½Π΅ΠΌ ΠΈΠΌΠ΅ΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ: File, Edit ΠΈ Π΄Ρ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ.
— TEdit — Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Standart
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² Π½Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠ° TCustomEdit. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΊΡ.
Π‘Π²ΠΎΠΉΡΡΠ²Π° Edit:
— property AutoSize: Boolean. ΠΡΠ»ΠΈ ΡΠ°Π²Π½ΠΎ True, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΡ Π²ΡΡΠΎΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΈΡΡΠ° (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Font).
— property OEMConvert: Boolean. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ OEM Π² ANSI ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. Π’Π°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΠΊΡΡΠ° Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ MS-DOS.
— property AutoSelect: Boolean. ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π°ΠΊΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΊΡΡΠ°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² True (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ ΡΠ°ΠΊ), ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΊΡΡΠ° Π²Π²ΠΎΠ΄Π° Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ Π² Π½Π΅ΠΌ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° SelText. ΠΡΠ»ΠΈ AutoSelect ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² False, ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΊΡΡΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π΄ΠΎ Π΅Π³ΠΎ ΡΡΠ΅ΡΠΈ.
— property HideSelection: Boolean. ΠΠΎΡΠ»Π΅ ΡΡΠ΅ΡΠΈ ΡΠΎΠΊΡΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² Π½Π΅ΠΌ ΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΡΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π² False Π²ΡΠΎΡΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ:
— property MaxLength: Integer. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ . ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°Π²Π½ΠΎ 0, ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° Π΄Π»ΠΈΠ½Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π΅Ρ.
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3.1 ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°
ΠΡΠΎΠ΅ΠΊΡ «ΠΠ³ΡΠ° Π½Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΡΠΌΡ, ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ Ρ. Π΄. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² Delphi Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
— Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ «ΡΠ°ΠΉΠ» — ΠΏΡΠΎΠ΅ΠΊΡ» (Memory.dpr) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π»ΠΎΠΊ — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π»ΠΎΠΌ. Π Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ *.dpr;
— ΡΡΠΈ «ΡΠ°ΠΉΠ»ΠΎΠ² — ΡΠΎΡΠΌΡ» (MainUnit.dfm, Unit2. dfm, Unit3. dfm), Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
— ΡΡΠΈ «ΡΠ°ΠΉΠ»ΠΎΠ² — ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ», Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ *.pas (MainUnit.pas, Unit2. pas, Unit3. pas), Π² Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΠΌΡ;
— ΡΠ°ΠΉΠ» ΠΎΠΏΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Memory.dof). Π Π½Π΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°;
— ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Memory.cfg). Π Π½Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ Ρ. Π΄;
— ΡΠ°ΠΉΠ» ΡΠ΅ΡΡΡΡΠΎΠ² (Memory.res) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ;
— ΡΠ°ΠΉΠ»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ (MainUnit.~ddp, MainUnit.~dfm, MainUnit.~pas, Unit2.~ddp, Unit2. dfm, Unit2.~pas, Unit3.~ddp, Unit3. dfm, Unit3.~pas).
Π€Π°ΠΉΠ»Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ:
— ΡΠ°ΠΉΠ» memory. exe, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
— ΡΠ°ΠΉΠ»Ρ MainUnit. dcu, Unit2. dcu, Unit3. dcu — ΡΡΠΎ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ MainUnit. pas, Unit2. pas, Unit3.pas.
3.2 Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°-ΠΈΠ³ΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π΅ΡΠ΅ΠΉ, ΡΡΡΠ΄Π΅Π½ΡΠΎΠ², ΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ 3 ΡΡΠΎΠ²Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ: Easy, Standart ΠΈ Hard.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅:
— procedure LoadImages — ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
var
i: integer;
begin
for i := 0 to 9 do
begin
Images[i] := TImage. Create (nil);
Images[i]. Picture. LoadFromFile (ImagePaths[i])
end
end;
— procedure RandomizeThePermutationArray — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ°Π·Π±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅.
4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ°Π½Π½ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Ρ Ρ ΡΠ΅Π»ΡΡ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π Ρ ΠΎΠ΄Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΠ³ΡΡ Π±ΡΠ»Π° Π²ΡΡΠ²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π²Π²ΠΎΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ (-) Π² SpinEdit. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΠ³ΡΠΎΠΉ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ (-). ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² SpinEdit Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²minValue ΠΏΠΎΡΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ (-).
ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ (-) ΡΡΠ°Π»ΠΎ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ.
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΏΡΠ°Π²ΠΊΠΈ Π±ΡΠ»Π° Π·Π°ΠΌΠ΅ΡΠ΅Π½Π° ΡΡΡΠ°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Π½Π΅ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΠ΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ»Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π°.
Π Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΡΠΏΠ΅Ρ ΠΎΠΌ Π±ΡΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ.
5. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
5 1 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Delphi ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΌΠΈΠ½ΠΈ-ΠΈΠ³Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ.
5.2 ΠΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΠΈΡΠ°Π½ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ° (ΡΠ°ΠΉΠ» «Setup.exe») ΠΈ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ Π΅Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΠΏΡΠ°Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° «Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ» ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
5.3 ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π²ΠΎΠΉΠ½ΡΠΌ ΡΠ΅Π»ΡΠΊΠΎΠΌ ΠΌΡΡΠΈ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΠΎ ΡΡΠ»ΡΠΊΡ «Memory» Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅ ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠ»ΡΠΊ ΠΈΠ· ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ «ΠΡΡΠΊ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΈΠ³ΡΠ° Π² ΡΡΠ΅Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Delphi. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅Π»ΠΈ, ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ.
ΠΠ°Π½Π½Π°Ρ ΠΈΠ³ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠ³Π° Π΄Π΅ΡΠ΅ΠΉ, ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², ΡΡΡΠ΄Π΅Π½ΡΠΎΠ².
Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡ Π² Delphi.
1. ΠΡΠΈΡΠ΅ΠΏΠΎΠ² Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ°Ρ Basic, Pascal ΠΈ Object Pascal Π² ΡΡΠ΅Π΄Π΅ Delphi / Π. Π. ΠΡΠΈΡΠ΅ΠΏΠΎΠ², Π. Π. Π‘Π΅Π²Π΅ΡΠ½ΡΠ²Π°, Π. Π. Π¨Π°ΠΊΠΈΡΠΈΠ½ — ΠΠΈΠ½ΡΠΊ: «Π’Π΅ΡΡΠ°Π‘ΠΈΡΡΠ΅ΠΌΡ», 2006. — 313 Ρ.
2. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Delphi [ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ]. -2009. — Π Π΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ°: http://www.cyberguru.ru/programming/delphi/delphi-components-part1.html
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
MainUnit:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ExtCtrls, Menus, StdCtrls;
type
TfrmMain = class (TForm)
DrawGrid: TDrawGrid;
MainMenu1: TMainMenu;
itemNewGame: TMenuItem;
Timer1: TTimer;
Edit1: TEdit;
N1: TMenuItem;
Newgame1: TMenuItem;
Restart1: TMenuItem;
Exit1: TMenuItem;
procedure FormCreate (Sender: TObject);
procedure itemNewGameClick (Sender: TObject);
procedure DrawGridDrawCell (Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure DrawGridSelectCell (Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure Timer1Timer (Sender: TObject);
procedure Exit1Click (Sender: TObject);
end;
type
TCellMode = (ALREADY_MATCHED, CELL_VISIBLE, CELL_INVISIBLE);
const
MAX_IMAGES = 10;
var
frmMain: TfrmMain;
tick:integer;
Images: array [0.MAX_IMAGES-1] of TImage;
RandomPermutationArray: array [0.19] of integer;
PartnerOf: array [0.19] of integer;
ImageOfCell: array [0.19] of integer;
ModeOfCell: array [0.19] of TCellMode;
FirstCell, SecondCell: integer;
NumberOfVisibleCells, n: integer;
ImagePaths: array [0.MAX_IMAGES-1] of string
= ('img0.bmp', 'img1.bmp', 'img2.bmp', 'img3.bmp', 'img4.bmp', 'img5.bmp',
'img6.bmp', 'img7.bmp', 'img8.bmp', 'img9.bmp');
implementation
{$R *.dfm}
procedure RedrawCell (index: integer);
var
Col, Row: integer;
begin
Row := index div 5;
Col := index mod 5;
frmMain.DrawGridDrawCell (frmMain, Col, Row, frmMain.DrawGrid.CellRect (Col, Row), [])
end;
procedure LoadImages;
var
i: integer;
begin
for i := 0 to MAX_IMAGES-1 do
begin
Images[i] := TImage. Create (nil);
Images[i]. Picture. LoadFromFile (ImagePaths[i])
end
end;
procedure TfrmMain. FormCreate (Sender: TObject);
var
i: integer;
begin
LoadImages;
for i := 0 to 19 do
RandomPermutationArray[i] := i;
Randomize;
itemNewGame.Click
end;
function LinearIndexOf (Row, Column: integer): integer;
begin
Result := 5 * Row + Column
end;
procedure RandomizeThePermutationArray;
var
i, RandomPosition, Temp: integer;
begin
for i := 0 to 18 do
begin
RandomPosition := i + Random (19 — i) + 1;
Temp := RandomPermutationArray[i];
RandomPermutationArray[i] := RandomPermutationArray[RandomPosition];
RandomPermutationArray[RandomPosition] := Temp
end;
end;
procedure AssignPartnerships;
var
i: integer;
begin
for i := 0 to 19 do
if i mod 2 = 0 then
PartnerOf[RandomPermutationArray[i]] := RandomPermutationArray[i + 1]
else
PartnerOf[RandomPermutationArray[i]] := RandomPermutationArray[i — 1]
end;
procedure AssignImagesToCells;
var
i: integer;
begin
for i := 0 to 19 do
ImageOfCell[RandomPermutationArray[i]] := i div 2
end;
procedure InitializeCellModes;
var
i: integer;
begin
for i := 0 to 19 do
ModeOfCell[i] := CELL_INVISIBLE
end;
procedure TfrmMain. itemNewGameClick (Sender: TObject);
var
i: integer;
begin
timer1.Enabled:=true;
tick:=30;
RandomizeThePermutationArray;
AssignPartnerships;
AssignImagesToCells;
InitializeCellModes;
NumberOfVisibleCells := 0;
for i := 0 to 19 do
RedrawCell (i);
end;
procedure TfrmMain. DrawGridDrawCell (Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
var
index: integer;
begin
index := LinearIndexOf (ARow, ACol);
if ModeOfCell[index] = CELL_INVISIBLE then
begin
DrawGrid.Canvas.Brush.Color := clBlack;
DrawGrid.Canvas.FillRect (Rect)
end
else if ModeOfCell[index] = ALREADY_MATCHED then
begin
DrawGrid.Canvas.Brush.Color := clWhite;
DrawGrid.Canvas.FillRect (Rect)
end
else begin
DrawGrid.Canvas.StretchDraw (Rect, Images[ImageOfCell[index]]. Picture. Graphic);
end
end;
procedure TfrmMain. DrawGridSelectCell (Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
var
index: integer;
begin
index := LinearIndexOf (ARow, ACol);
if ModeOfCell[index] = ALREADY_MATCHED then
exit;
if NumberOfVisibleCells = 0 then
begin
FirstCell := index;
ModeOfCell[FirstCell] := CELL_VISIBLE;
RedrawCell (FirstCell);
inc (NumberOfVisibleCells)
end
else if (NumberOfVisibleCells = 1) and (FirstCell <> index) then
begin
SecondCell := index;
ModeOfCell[SecondCell] := CELL_VISIBLE;
RedrawCell (SecondCell);
if PartnerOf[SecondCell] = FirstCell then
begin
Sleep (100);
ModeOfCell[FirstCell] := ALREADY_MATCHED;
RedrawCell (FirstCell);
ModeOfCell[SecondCell] := ALREADY_MATCHED;
RedrawCell (SecondCell);
NumberOfVisibleCells := 0
end
else
inc (NumberOfVisibleCells)
end
else begin
if (FirstCell <> index) and (SecondCell <> index) then
begin
ModeOfCell[index] := CELL_VISIBLE;
RedrawCell (index);
end;
if FirstCell <> index then
begin
ModeOfCell[FirstCell] := CELL_INVISIBLE;
RedrawCell (FirstCell);
end;
if SecondCell <> index then
begin
ModeOfCell[SecondCell] := CELL_INVISIBLE;
RedrawCell (SecondCell);
end;
FirstCell := index;
NumberOfVisibleCells := 1
end
end;
procedure TfrmMain. Timer1Timer (Sender: TObject);
var
i: integer;
begin
n := 0;
tick:=tick-1;
edit1.text:=inttostr (tick);
if edit1. text='0' then
begin
timer1.Enabled:=false;
Showmessage ('GAME OVER');
end;
for i := 0 to 19 do
begin
if ModeOfCell[i] = ALREADY_MATCHED then
n := n + 1;
end;
if n = 20 then
begin
timer1.Enabled:=false;
Showmessage ('You Win');
end;
end;
procedure TfrmMain. Exit1Click (Sender: TObject);
begin
close;
end;
end.
Unit2:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, MainUnit, Spin;
type
TForm2 = class (TForm)
RadioGroup1: TRadioGroup;
SpinEdit1: TSpinEdit;
Button1: TButton;
procedure RadioGroup1Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure SpinEdit1KeyPress (Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
i: integer;
implementation
{$R *.dfm}
procedure TForm2. RadioGroup1Click (Sender: TObject);
begin
{case RadioGroup1. ItemIndex of
0:
tick := 60;
1:
tick := 45;
2:
tick := 30;
3:
if SpinEdit1. Value <> 0 then
tick := SpinEdit1. Value;
end;
Form2.Hide;
Application.ProcessMessages;
frmMain.Timer1.Enabled := true;
frmMain.RandomizeThePermutationArray;
frmMain.AssignPartnerships;
frmMain.AssignImagesToCells;
frmMain.InitializeCellModes;
NumberOfVisibleCells := 0;
for i := 0 to 19 do
frmMain.RedrawCell (i);}
end;
procedure TForm2. Button1Click (Sender: TObject);
begin
case RadioGroup1. ItemIndex of
0:
tick := 60;
1:
tick := 45;
2:
tick := 30;
3:
if SpinEdit1. Value <> 0 then
tick := SpinEdit1. Value;
end;
Form2.Hide;
Application.ProcessMessages;
frmMain.Timer1.Enabled := true;
frmMain.RandomizeThePermutationArray;
frmMain.AssignPartnerships;
frmMain.AssignImagesToCells;
frmMain.InitializeCellModes;
NumberOfVisibleCells := 0;
for i := 0 to 19 do
frmMain.RedrawCell (i);
end;
procedure TForm2. SpinEdit1KeyPress (Sender: TObject; var Key: Char);
begin
if (key = '-') then
Key := #0;
end;
end.
Unit3:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, XPMan;
type
TForm3 = class (TForm)
Button1: TButton;
Image1: TImage;
XPManifest1: TXPManifest;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3. Button1Click (Sender: TObject);
begin
form3.Close;
end;
end.