ΠΠ½Π°Π»ΠΈΠ· Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ»Π°ΡΡ Π’Π‘2 Π¦Π ΠΠ¦ Β«ΠΠΈΠ½ΡΠΊΒ»
Π€ΡΠ½ΠΊΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° TgrapthicControl1 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΡΠΈΠΈ. Π ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ SERIAL, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΠ΅ΡΠΈΠΈ (Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²ΡΠ±ΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ Π155 ΠΈ ΠΠΠΠ). ΠΠΎΠ±ΠΎΡΠ½ΠΎ Ρ ΡΡΠΈΠΌ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ½Π°Π»ΠΈΠ· Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ»Π°ΡΡ Π’Π‘2 Π¦Π ΠΠ¦ Β«ΠΠΈΠ½ΡΠΊΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ 1
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ 2
- 1. Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ 4
- 1.1 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡ Π΅ΠΌ 4
- 1.2 ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ 10
- 2. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² 16
- 2.1 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡ Π΅ΠΌ 16
- 2.2 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° 17
- 2.3 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² 17
- 3. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ»Π°ΡΡ Π’Π‘ Π¦Π ΠΠ¦ ΠΠΈΠ½ΡΠΊ 18
- 3.1 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»Π°ΡΡ Π’Π‘2 19
- 3.2 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ 20
- 4. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² 21
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π 22
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π 27
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ 40
ΡΠΈΡΡΠΎΠ²Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠΉ
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈ (ΠΈΠ»ΠΈ) Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ (ΠΈΠΌΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅) ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΎΠ± Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° ΠΌΠ°Π»ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΡΠΈΠ½ΡΠ΅Π·Π°, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ·-Π·Π° Π½Π°Π»ΠΈΡΠΈΡ ΡΠΎΡΡΡΠ·Π°Π½ΠΈΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΡΡΠΎΠ³ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ°Π·Π±ΡΠΎΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΎΠ³Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡ Π΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΠΠΠ.
ΠΡΠΏΡΡΠ°Π½ΠΈΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ:
ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ;
ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ Π²ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ;
ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡΠΊΠ°Π·ΠΎΠ² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΡΡΠΎ Π½Π΅ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΠΎ ΠΏΡΠΈ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ;
ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΠΠ; ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΠ²; ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ ΡΠ±ΠΎΠ΅Π² Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ;
ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΏΡΡΠ°Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΈΠΌΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΠΈ ΡΡΠ΅Π½Π΄ΠΎΠ²ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΠΎΠΏΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ°.
ΠΠΌΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ , Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΡΠΈ Π²ΠΈΠ΄Π°:
ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²;
ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΡΠΈ ΡΠ±ΠΎΡΡ ΠΈ ΠΎΡΠΊΠ°Π·Π°Ρ ;
ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ².
Π¦Π΅Π»ΡΡ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π² ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡ Π΅ΠΌ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π’Π’Π ΠΈ ΠΠΠΠ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ Π±ΡΠ»ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Ρ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΌ Π² ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ .
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ»Π°ΡΡ Π’Π‘2 Π¦Π ΠΠ¦ «ΠΠΈΠ½ΡΠΊ» Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΡΡΠ°Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ.
1. Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
1.1 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡ Π΅ΠΌ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠ΄ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΡΠΈΠ³Π³Π΅ΡΡ, ΡΡΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ΅Π³ΠΈΡΡΡΡ, Π΄Π΅ΡΠΈΡΡΠ°ΡΠΎΡΡ, ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ ΠΈ ΠΌΡΠ»ΡΡΠΈΠ²ΠΈΠ±ΡΠ°ΡΠΎΡ, ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ², ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ²), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΡΠ·Π½ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ — Π»ΠΈΠ½ΠΈΡ ΠΈ ΡΠΎΡΠΊΠ°, ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ±ΡΠΈΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π°Π»ΡΠ°Π²ΠΈΡ, Π½Π°Π±ΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ Π²ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΡΠΈΡΠ»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π°ΠΊΠΎΠ½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Ρ ΠΎΠ΄ΠΎΠ² ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ΅ΠΉ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Ρ ΠΎΠ΄ΠΎΠ² ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΏΠΎ ΠΎΡΠΎΠ±ΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΠΊΠ»Π°ΡΡΠ°, Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ.
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ TGraphicControl1 (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2) ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. Π ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° (property), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (pure virtual functions), ΠΈΠ»ΠΈ «Π·Π°Π³Π»ΡΡΠΊΠΈ».
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠΎΠΌ ΠΠ±ΡΠ΅ΠΊΡΠΎΠ² (Object Inspector) C++ Builder, Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ TGraphicControl1 Π½ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° TGraphicControl. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ VCL (Visual Component Library). ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° TGraphicControl ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΡΡΡ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π°, Ρ.ΠΊ. Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ. ΠΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Ρ. Π΅. Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²Π»Π°Π΄Π΅ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠΈΡ «Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²», Π½Π΅ΠΆΠ΅Π»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ (Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Standard Π² C++ Builder) ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ (Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TWinControl) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° TGraphicControl1 ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Windows (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ OnPaint, OnMouseMove) ΠΏΡΠΎΡΡΡΠΌ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΡΠΎΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TExperimentManager (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2). ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ VCL TWinControl. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π·Π°ΡΡΠ°Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΠΠ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΊΠΎΠ½Π½ΡΠ΅ (Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, Ρ. Π΅. ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TExperimentManager Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π° ΡΠΎΡΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅. ΠΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° TTestFile (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2);
Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΡΠ±ΠΎΠ΅Π² ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ;
Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅
Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ΅ΠΉ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡ Π΅ΠΌΡ;
ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ;
Π·Π°ΠΏΡΡΠΊ Π² ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡ Π΅ΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΠ°Π±ΠΎΡΡ;
ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡ Π΅ΠΌΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° TLogFile (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2).
ΠΠ»ΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ TEditBox, TLabel ΠΈ TButton (ΡΠΈΡΡΠ½ΠΎΠΊ 1.1). ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.1 — ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° «ΠΠ»ΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ»
ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΡΠ° Π·Π°Π΄Π°Π΅ΡΡΡ Π² ΡΡΡΡΡΠ½ΡΡ Π΄ΠΎΠ»ΡΡ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄Ρ. Π’Π°ΠΊΠΎΠΉ Π·Π°ΠΏΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΡΠΎΠΊΠΈΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ .
ΠΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° Π²ΡΠ΅ΠΌΡ:
(1.1)
Π³Π΄Π΅ N — ΡΠΈΡΠ»ΠΎ ΡΠ°ΠΊΡΠΎΠ²;
tΠ΄ΠΈΡΠΊΡΠ΅Ρ. — Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΡΠ° (Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ).
ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ΅ΠΉ, ΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TConnection. ΠΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°, ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»Ρ Π² ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡ Π΅ΠΌΠ΅. ΠΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠ΅Π³ΠΎ Π½Π° Π΅Π³ΠΎ Π²Ρ ΠΎΠ΄. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ (ΡΠΈΡΡΠ½ΠΎΠΊ 1.2) ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΠ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TLogFile ΠΈ TSection), ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TatfParser), Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (TTestTimer). ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π΅ Π²Ρ ΠΎΠ΄ΡΡ Π² ΠΎΠ±ΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΊΠ»Π°ΡΡ TTestTimer. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠ»Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ TTestTimer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° TTestTimer ΠΈΠ»ΠΈ TTestTimer ΠΈ long;
Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° TTestTimer ΠΈΠ»ΠΈ TTestTimer ΠΈ long;
ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° 1 ΠΏΠΈΠΊΠΎΡΠ΅ΠΊΡΠ½Π΄Ρ;
ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° 1 ΠΏΠΈΠΊΠΎΡΠ΅ΠΊΡΠ½Π΄Ρ;
ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ;
ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΡΠ΅ΠΌΡ Π² ΠΏΠΈΠΊΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π΄ΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ TLogFile ΠΈ TSection. Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ini-ΡΠ°ΠΉΠ»Π° Windows. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ Π² 64 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°, ΡΡΠΎ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ TLogFile ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΡΠ΅ΠΌ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ini-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. Π’Π°ΠΊΠΎΠΉ ΡΡΡΠ΅ΠΊΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π³ΠΈΠ±ΠΊΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊ ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΠΈΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° TatfParser. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Process ():
void __fastcall Process (TGraphicControl1*, char*);
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π±ΡΡΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π°Π½Π°Π»ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΡΠ°ΠΉΠ»Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ (ΡΠΊΡΠΈΠΏΡΠ°) Ρ ΡΡΠ΅ΡΠΎΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π£ΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ — «ΠΠ»ΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ» (ΠΊΠ»Π°ΡΡ TExperimentManager).
ΠΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠ°ΡΡΠΈΡΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² Π·Π½Π°Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΡ Π΅ΠΌΡ ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π΅Π΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.2 — ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
1.2 ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΠΏΠΎΠ²:
ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²;
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡ Π΅ΠΌΡ;
Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
Π°Π½Π°Π»ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π΅ Π²Π½ΠΈΠΊΠ°Ρ Π² Π½Π°ΡΠΈΠ½ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ, Π·Π°Π΄Π°Π²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΠΈ ΠΈ ΠΎΡΠΊΠ°Π·Ρ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ°Ρ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ C++Builder ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π· ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΡΡΠ΄Π° ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΡ Π΅ΠΌΡ. Π Π°Π±ΠΎΡΠ° ΡΡ Π΅ΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΊΡΠΈΠΏΡΠ°, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. Π―Π·ΡΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»ΠΎΠ². Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡ Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡ Π΅ΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅.
ΠΠ»ΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ (TExperimentManager) ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡ Π΅ΠΌΡ ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ Run () ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΄Π°ΡΠ° Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ°ΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ:
ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π‘ΠΠΠ’ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ C++ Builder, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ: ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΡΡΡΠΎΠ³ΠΎ Π² ΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π½ΠΈΠΆΠ΅):
ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²Π°Ρ Π±ΡΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°) ΠΈΠ· C++ Builder IDE (Integrated Development Environment);
ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ Elements. bpl Ρ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°;
ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ProjectOptionsLinker) Π²ΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ Π»ΠΈΠ½ΠΊΠ΅ΡΠ° «Use dynamic RTL»;
ΠΎΡΠΊΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Elements. bpk (ΠΌΠ΅Π½Ρ FileOpen);
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ «ProjectMake…» ΠΈΠ»ΠΈ «ProjectBuild…» Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Elements. bpk;
ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Elements. bpl Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ %PATH% ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (design-time packages) Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ C++ Builder IDE. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ «Packages», Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ «ComponentInstall packages…», Π·Π°ΡΠ΅ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «Add…», ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Elements. bpl ΠΈ Π½Π°ΠΆΠ°ΡΡ «OK» Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π² IDE.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ VCL. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π½ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ (Elements.bpk) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠ½ΠΊΡ 6 ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΡΠ΅Π΄Ρ Borland C++ Builder. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ C++ Builder Π²Π΅ΡΡΠΈΠΈ 4.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡ Π΅ΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ (FileNew Project) Π² C++ Builder, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΠ΅ΠΌ «ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ» (drag&drop) ΠΈΡ Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² C++ Builder. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Experiment Tools», ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ — Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Base», ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ — Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Elements», ΡΡΠΈΠ³Π³Π΅ΡΡ, ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΡΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π΄Π΅ΡΠΈΡΡΠ°ΡΠΎΡΡ — Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Triggers».
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΠ±ΡΠ΅ΠΊΡΠΎΠ² (Object Inspector) C++ Builder ΠΏΡΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠΎΡΠ»Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π½Π° ΡΠΎΡΠΌΠ΅ Π»ΠΈΠ½ΠΈΠΈ (ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠ΅ «ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ» ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ Π²ΡΠ²ΠΎΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΡΠ΅ΠΌ Π²ΡΠ±ΠΎΡΠ° Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, In ΠΈ Out Π΄Π»Ρ ΠΈΠ½Π²Π΅ΡΡΠΎΡΠ°).
ΠΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² (ΡΠΎΡΠΊΠΈ) ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΡΠΎΡΠΌΠ΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎΡΠΊΠΈ Π²Π»Π°Π΄Π΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊ ΡΠΎΡΠΊΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄ΠΎ ΡΠ΅ΡΡΡΠ΅Ρ Π»ΠΈΠ½ΠΈΠΉ (ΠΎΠ΄ΠΈΠ½ Π²Ρ ΠΎΠ΄ — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ «In» ΠΈ ΡΡΠΈ Π²ΡΡ ΠΎΠ΄Π° — ΡΠ²ΠΎΠΉΡΡΠ²Π° «Out1», «Out2», «Out3»).
ΠΠ° ΡΠΎΡΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠΎΠ³Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» — Π³ΠΎΡΠΎΠ²Π°Ρ ΠΊ Π·Π°ΠΏΡΡΠΊΡ Π² ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡ Π΅ΠΌΡ. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π³Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΊΠ»ΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠ°ΠΏΡΡΠΊ». ΠΠ°ΡΠ½Π΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡ Π΅ΠΌΡ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡ Π΅ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠ΅ΡΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ. ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.7.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.3 — ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ± ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΊΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (MessageBox).
Π ΠΈΡΡΠ½ΠΎΠΊ1.4 — ΠΠΊΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ LOG ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡ Π΅ΠΌΡ. Π ΡΠ°ΠΉΠ»Π°Ρ *.log, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΡΡΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π°Ρ ΡΡ Π΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ.
Π€Π°ΠΉΠ» ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ — ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ (ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΡ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Ρ ΠΎΠ΄ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΊΠ°Π·ΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TExperimentManager («ΠΠ»ΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ») ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° TatfParser.
Π€Π°ΠΉΠ» ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΡ tw. cfg ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΡ.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ (ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΡ) — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΡ Π΅ΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΠ°. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ «main» (Π² ΡΠ°ΠΉΠ»Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «script main»). ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠΎΠΌΠ°Π½Π΄Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
set <οΏ½ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ> <οΏ½Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅> - ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ, ΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
if <οΏ½ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°|ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°|Π²ΡΠ΅ΠΌΡ> - ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. ΠΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ endif. ΠΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ if. ΠΠ»ΡΠ±ΠΈΠ½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°.
exec <οΏ½ΠΈΠΌΡ ΡΠΊΡΠΈΠΏΡΠ°> - Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ <οΏ½ΠΈΠΌΡ ΡΠΊΡΠΈΠΏΡΠ°> ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠΎΡΠΊΡ Π²ΡΠ·ΠΎΠ²Π°. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π±ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ (main) ΠΈ Π΄ΡΡΠ³ ΠΈΠ· Π΄ΡΡΠ³Π° (Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°).
script <οΏ½ΠΈΠΌΡ ΡΠΊΡΠΈΠΏΡΠ°> - Π½Π°ΡΠ°Π»ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ <οΏ½ΠΈΠΌΡ ΡΠΊΡΠΈΠΏΡΠ°>. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ endscript.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° «;».
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ ΡΠΎΡΠΊΠΈ ΡΡ Π΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΊΡΠ΅ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TTestDestination (Π²ΠΊΠ»Π°Π΄ΠΊΠ° «Experiment Tools»).
Π ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΊΡΠΎΠΌΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Ρ ΡΡ Π΅ΠΌΡ. Π ΡΡ Π΅ΠΌΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄Π°ΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TTestSource. ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡ Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ (ΡΠΎΡ ΡΠΈΡΠ°Π΅Ρ Π΅Π΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π½Π°ΡΠΈΡ).
Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ (TTestSource) ΠΈΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ (TTestDestination) Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π±Π»ΠΎΠΊΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ (TExperimentManager).
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ (tw.cfg), Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ LOG ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠΠΎ ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΡΠΈΠΊΠ»Π°, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅:
CorrectRezult*.log — ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡ Π΅ΠΌΡ Π±Π΅Π· ΡΠ±ΠΎΠ΅Π² ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΠ²;
ScriptOnlyRuns*.log — ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡ Π΅ΠΌΡ Π±Π΅Π· ΠΎΡΠΊΠ°Π·ΠΎΠ², Π½ΠΎ Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°;
FaultRezult*.log — ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡ Π΅ΠΌΡ Ρ ΠΎΡΠΊΠ°Π·Π°ΠΌΠΈ.
2. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
2.1 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡ Π΅ΠΌ
ΠΠΏΠΈΡΠ°Π½Π½Π°Ρ Π² ΠΏΡΠ½ΠΊΡΠ΅ 1.1 ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²), ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ — Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
/* Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π»ΠΈΠ½ΠΈΠΈ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ (ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²) ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΡΠ΄Π°Π»ΡΡΡΡΡ. ΠΡΠ»ΠΈ Π½Π΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠ°ΠΊΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° TConnection, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ Π°Π΄ΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠ±ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. */
void __fastcall TElementInvertor: LineRemoved (TComponent* NameOfElement)
/*Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° */
void __fastcall TElementInvertor: Paint (void)
/*Π€ΡΠ½ΠΊΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΡΠ·ΠΈ Π²Ρ ΠΎΠ΄ΠΎΠ² Ρ Π»ΠΈΠ½ΠΈΡΠΌΠΈ*/
void __fastcall TElementInvertor: SetIn (TConnection* cl)
/*Π€ΡΠ½ΠΊΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΡΠ·ΠΈ Π²ΡΡ ΠΎΠ΄Π°ΠΌΠΈ Ρ Π»ΠΈΠ½ΠΈΡΠΌΠΈ*/
void __fastcall TElementInvertor: SetOut (TConnection* cl)
/*Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°*/
void __fastcall TElementInvertor: Run (void)
/*Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ±ΠΎΡ */
void __fastcall TElementInvertor: ErrorRun (void)
/* Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΊΠ°Π·Π°, ΡΠΈΠΏ ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. */
void __fastcall TElementInvertor: FailRun (void)
ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ Paint () ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡ Π΅ΠΌΡ, Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Run ().
2.2 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°
ΠΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° ΡΠΎΡΠΌΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Paint (). ΠΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ΅ΠΉ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Windows OnPaint. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΠ2 Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π.
2.3 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°ΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΠ2 (Π ΠΈΡΡΠ½ΠΎΠΊ 2.1). ΠΠΈΡΡΠΈΠ½Π³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Run () ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 — ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°
3. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ»Π°ΡΡ Π’Π‘ Π¦Π ΠΠ¦ ΠΠΈΠ½ΡΠΊ
3.1 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»Π°ΡΡ Π’Π‘2
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΠ»Π°ΡΡ Π’Π‘2 Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ. Π Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ° Π³ΡΡΠΏΠΏΡ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΡΡΠΎΠ±ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ° Π½Π° Π²Ρ ΠΎΠ΄Π΅ DR ΡΠ΄Π²ΠΈΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» «1». ΠΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» «1» ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΡΠΈΠ³Π³Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°, Π° Π² ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ° ΠΈ Ρ. Π΄. Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π³ΡΡΠΏΠΏΡ. ΠΡΠ»ΠΈ Π³ΡΡΠΏΠΏΠ° ΠΏΡΠΈΠ½ΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ Π½Π° Π²ΡΡ ΠΎΠ΄Π°Ρ Q0 ΠΈ Q21 ΠΏΠ»Π°ΡΡ Π’Π‘2 Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Ρ «1», ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΠΎΠ² «1» Π² ΡΡΠ°ΡΡΠ΅ΠΌ ΠΈ ΠΌΠ»Π°Π΄ΡΠ΅ΠΌ ΡΠ°Π·ΡΡΠ΄Π°Ρ ΡΠ΄Π²ΠΈΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ»Π°ΡΡ Π’Π‘ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ 22-Ρ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π΄Π»ΠΈΠ½Ρ 22 ΡΠ°Π·ΡΡΠ΄Π°. ΠΠ΅ΡΠ²ΡΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·ΡΡΠ΄ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π²Π½ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ Π½Π° Π²ΡΠ΅ΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ 220 ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ, ΡΡΠΎ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΡΡΠ°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
ΠΠ»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ:
ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ;
ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ;
ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ;
ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ Ρ. ΠΏ.
Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ»Π°ΡΠ° Π’Π‘ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄Π²Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ Π΄ΠΎ ΡΠ΅ΡΡΡΠ΅Ρ . ΠΡΠΏΡΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΡΠ΅Π΄ΡΡΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «0» ΠΈ «1». ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π·ΡΡΠ΄ΠΎΠ² ΡΠ°Π²Π½Ρ «1».
— 1 101 010 101 010 101 043 200;
— 1 010 101 010 101 010 038 784;
3.2 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 — ΠΠΎΠ΄Π΅Π»Ρ ΠΠ»Π°ΡΡ Π’Π‘2
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡ Π΅ΠΌΡ (Π ΠΈΡΡΠ½ΠΎΠΊ 2.2) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°, Π·Π°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΡ.
4. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π€ΡΠ½ΠΊΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° TgrapthicControl1 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΡΠΈΠΈ. Π ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ SERIAL, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΠ΅ΡΠΈΠΈ (Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²ΡΠ±ΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ Π155 ΠΈ ΠΠΠΠ). ΠΠΎΠ±ΠΎΡΠ½ΠΎ Ρ ΡΡΠΈΠΌ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅ΡΠΈΠΈ (Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ, Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°ΡΡΠ°Π½ΠΈΡ (ΡΠΏΠ°Π΄Π°) ΠΈΠΌΠΏΡΠ»ΡΡΠ°, Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ (Π½ΡΠ»Ρ)…). Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠΈΡΡΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° (ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΠ²ΠΈΠ±ΡΠ°ΡΠΎΡΠ° (Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ°).
Π TGrapthicControl1 ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ (ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ), ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ° ΠΠ±ΡΠ΅ΠΊΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΡ Π΅ΠΌΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΡΠ΅ΠΊΡΠΈΠΈ protected Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
__property TGraphicControl1SERIAL SERIAL = { read = FSERIAL, write = SetSERIAL, default = NULL };
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
ΠΠΎΠ΄ΡΠ»Ρ: Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΠ2
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: ct2. cpp
ΠΠ²ΡΠΎΡ: ΠΡΠ·Π½Π΅ΡΠΎΠ²Π° Π. Π
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Paint () ΠΊΠ»Π°ΡΡΠ° Tct2
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°
void __fastcall Tct2: Paint (void) {
XC0In = XC1In = X2In = X3In = X6In = X7In = 0;
YC0In = 0.5*div ((Height-Canvas->TextHeight («D»)), 4).quot + Canvas->TextHeight («D»);
YC1In = div ((Height-Canvas->TextHeight («D»)), 4).quot + Canvas->TextHeight («D»);
Y2In = 1.5*div ((Height-Canvas->TextHeight («D»)), 4).quot + Canvas->TextHeight («D»);
Y3In = 2*div ((Height-Canvas->TextHeight («D»)), 4).quot + Canvas->TextHeight («D»);
Y6In = 2.5*div ((Height-Canvas->TextHeight («D»)), 4).quot + Canvas->TextHeight («D»);
Y7In = 3*div ((Height-Canvas->TextHeight («D»)), 4).quot + Canvas->TextHeight («D»);
YR0In = Y2In+(Y3In-Y2In)/2;
YR9In = Y6In+(Y7In-Y6In)/2;
Y3CircleCenter=YR0In;
Y4CircleCenter=YR9In;
Y1CircleCenter=YC0In;
Y2CircleCenter=YC1In;
X1CircleCenter=X2CircleCenter=OutletLength+60;
X3CircleCenter=X4CircleCenter=OutletLength+30;
Canvas->Pen->Color = clWindowText;
Canvas->Brush->Color = clWindow;
Canvas->Rectangle (OutletLength + 60, (Canvas->TextHeight («D»)+1), Width-OutletLength, Height);
Canvas->Rectangle (OutletLength, Y2In-10, OutletLength+30,Y3In+10);
Canvas->Rectangle (OutletLength, Y6In-10, OutletLength+30,Y7In+10);
Canvas->TextOut ((Width-45-OutletLength),(5+Canvas->TextHeight («CT2″)),» CT2″);
Canvas->TextOut (OutletLength+15,Y2In," &");
Canvas->TextOut (OutletLength+15,Y6In," &");
Canvas->TextOut (OutletLength + 63, YC0In — div (Canvas->TextHeight («C0″), 2).quot,» C0″);
Canvas->TextOut (OutletLength + 63, YC1In — div (Canvas->TextHeight («C1″), 2).quot,» C1″);
Canvas->TextOut (OutletLength + 63, YR0In — div (Canvas->TextHeight («R0″), 2).quot,» R0″);
Canvas->TextOut (OutletLength + 63, YR9In — div (Canvas->TextHeight («R9″), 2).quot,» R9″);
Canvas->MoveTo (OutletLength + 70 + Canvas->TextWidth («R»), Canvas->TextHeight («D») + 1);
Canvas->LineTo (OutletLength + 70 + Canvas->TextWidth («R»), Height);
Canvas->MoveTo (Width — 25 -OutletLength + Canvas->TextWidth («S»), Canvas->TextHeight («D») + 1);
Canvas->LineTo (Width — 25 -OutletLength + Canvas->TextWidth («S»), Height);
X1Out=X2Out=X4Out=X8Out=Width-OutletLength;
Y1Out = Canvas->TextHeight («D») + 0.5*div ((Height-Canvas->TextHeight («D»)), 3).quot;
Y2Out = Canvas->TextHeight («D») + div ((Height-Canvas->TextHeight («D»)), 3).quot;
Y4Out = Canvas->TextHeight («D») + 1.5*div ((Height-Canvas->TextHeight («D»)), 3).quot;
Y8Out = Canvas->TextHeight («D») + 2*div ((Height-Canvas->TextHeight («D»)), 3).quot;
Canvas->TextOut (Width — 10-OutletLength, Y1Out — div (Canvas->TextHeight («1″), 2).quot,» 1″);
Canvas->TextOut (Width — 10-OutletLength, Y2Outdiv (Canvas->TextHeight («2″), 2).quot,» 2″);
Canvas->TextOut (Width — 10-OutletLength, Y4Out — div (Canvas->TextHeight («4″), 2).quot,» 4″);
Canvas->TextOut (Width — 10-OutletLength, Y8Out — div (Canvas->TextHeight («8″), 2).quot,» 8″);
Canvas->Brush->Color = clBtnFace;
Canvas->TextOut (OutletLength, 0, FSymbol);
Canvas->MoveTo (X1Out, Y1Out);
Canvas->LineTo (Width, Y1Out);
Canvas->MoveTo (X2Out, Y2Out);
Canvas->LineTo (Width, Y2Out);
Canvas->MoveTo (X4Out, Y4Out);
Canvas->LineTo (Width, Y4Out);
Canvas->MoveTo (X8Out, Y8Out);
Canvas->LineTo (Width, Y8Out);
Canvas->MoveTo (X3CircleCenter+30, Y3CircleCenter);
Canvas->LineTo (X3CircleCenter, Y3CircleCenter);
Canvas->MoveTo (X4CircleCenter+30, Y4CircleCenter);
Canvas->LineTo (X4CircleCenter, Y4CircleCenter);
Canvas->MoveTo (XC0In+OutletLength+60, YC0In);
Canvas->LineTo (XC0In, YC0In);
Canvas->MoveTo (XC1In+OutletLength+60, YC1In);
Canvas->LineTo (XC1In, YC1In);
Canvas->MoveTo (X2In+OutletLength, Y2In);
Canvas->LineTo (X2In, Y2In);
Canvas->MoveTo (X3In+OutletLength, Y3In);
Canvas->LineTo (X3In, Y3In);
Canvas->MoveTo (X6In+OutletLength, Y6In);
Canvas->LineTo (X6In, Y6In);
Canvas->MoveTo (X7In+OutletLength, Y7In);
Canvas->LineTo (X7In, Y7In);
Canvas->Brush->Color = clWindow;
Canvas->Ellipse (X1CircleCenter-4, Y1CircleCenter-4,
X1CircleCenter+4, Y1CircleCenter+4);
Canvas->Ellipse (X2CircleCenter-4, Y2CircleCenter-4,
X2CircleCenter+4, Y2CircleCenter+4);
Canvas->Ellipse (X3CircleCenter-4, Y3CircleCenter-4,
X3CircleCenter+4, Y3CircleCenter+4);
Canvas->Ellipse (X4CircleCenter-4, Y4CircleCenter-4,
X4CircleCenter+4, Y4CircleCenter+4);
if (InC0Connected){
FInC0->XOut = XC0In+Left;
FInC0->YOut = YC0In+Top;
}
if (InC1Connected){
FInC1->XOut = XC1In+Left;
FInC1->YOut = YC1In+Top;
}
if (In2Connected){
FIn2->XOut = X2In+Left;
FIn2->YOut = Y2In+Top;
}
if (In3Connected){
FIn3->XOut = X3In+Left;
FIn3->YOut = Y3In+Top;
}
if (In6Connected){
FIn6->XOut = X6In+Left;
FIn6->YOut = Y6In+Top;
}
if (In7Connected){
FIn7->XOut = X7In+Left;
FIn7->YOut = Y7In+Top;
}
if (Out1Connected) {
F1Out->XIn = Width+Left;
F1Out->YIn = Y1Out+Top;
}
if (Out2Connected) {
F2Out->XIn = Width+Left;
F2Out->YIn = Y2Out+Top;
}
if (Out4Connected) {
F4Out->XIn = Width+Left;
F4Out->YIn = Y4Out+Top;
}
if (Out8Connected) {
F8Out->XIn = Width+Left;
F8Out->YIn = Y8Out+Top;
}
}
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
ΠΠΎΠ΄ΡΠ»Ρ: Π‘ΡΠ΅ΡΡΠΈΠΊ
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: ct2. cpp
ΠΠ²ΡΠΎΡ: ΠΡΠ·Π½Π΅ΡΠΎΠ²Π° Π.Π.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Run ()
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°
void __fastcall Tct2: Run (void)
{
if (!InC0Connected || !InC1Connected || !In3Connected || !In2Connected || !In6Connected || !In7Connected ||!Out1Connected ||!Out2Connected ||!Out4Connected ||!Out8Connected) return;
TTestTimer tmp;
if ((FerrType ≠ etNone) || (ErrTimeRest > tmp)) { ErrorRun (); return; }
if ((FfltType ≠ etNone) || (ErrTimeRest > tmp)) { FailRun (); return; }
if ((FInC0->Value >= epThreshold1) && LogicInputC0) {
LogicInputC0=false;
Modify=true;
}
else
if ((FInC0->Value <= epThreshold0) && !LogicInputC0) {
LogicInputC0=true;
Modify=true;
Chang1=true;
k++;
}
if ((FInC1->Value >= epThreshold1) && LogicInputC1) {
LogicInputC1=false;
Modify=true;
}
else
if ((FInC1->Value <= epThreshold0) && !LogicInputC1) {
LogicInputC1=true;
Modify=true;
Chang2=true;
}
if ((FIn2->Value >= epThreshold1) && !LogicInput2) {
LogicInput2=true;
Modify=true;
}
else
if ((FIn2->Value <= epThreshold0) && LogicInput2) {
LogicInput2=false;
Modify=true;
}
if ((FIn3->Value >= epThreshold1) && !LogicInput3) {
LogicInput3=true;
Modify=true;
}
else
if ((FIn3->Value <= epThreshold0) && LogicInput3) {
LogicInput3=false;
Modify=true;
}
if ((FIn6->Value >= epThreshold1) && !LogicInput6) {
LogicInput6=true;
Modify=true;
}
else
if ((FIn6->Value <= epThreshold0) && LogicInput6) {
LogicInput6=false;
Modify=true;
}
if ((FIn7->Value >= epThreshold1) && !LogicInput7) {
LogicInput7=true;
Modify=true;
}
else
if ((FIn7->Value <= epThreshold0) && LogicInput7) {
LogicInput7=false;
Modify=true;
}
LogicInputR9=!(LogicInput6*LogicInput7);
LogicInputR0=!(LogicInput2*LogicInput3);
if (!LogicInputR9)
{
if (!LogicInputR0)
{
if (Chang1)
{Chang1=false;
if (k≠0 && k≠10)
if (k%8==0)
{
LogicOutput8=!LogicOutput8;
LogicOutput4=!LogicOutput4;
LogicOutput2=!LogicOutput2;
LogicOutput1=!LogicOutput1;
goto metka;
}
else
if (k%4==0)
{
LogicOutput4=!LogicOutput4;
LogicOutput2=!LogicOutput2;
LogicOutput1=!LogicOutput1;
goto metka;
}
else
if (k%2==0)
{
LogicOutput2=!LogicOutput2;
LogicOutput1=!LogicOutput1;
goto metka;
}
else
{
LogicOutput1=!LogicOutput1;
goto metka;
}
else
if (k==10){k=0;goto metka1;}
}
}
else
{
LogicOutput1=true;
LogicOutput2=false;
LogicOutput4=false;
LogicOutput8=true;
}
}
else
{
metka1: LogicOutput1=false;
LogicOutput2=false;
LogicOutput4=false;
LogicOutput8=false;
}
metka:
if (Modify)
{
CurrentTimeHold=0;
Modify = false;
}
if (CurrentTimeHold <= tpTimeHold*1000)
CurrentTimeHold += TimeDigit;
else
{
if (Out1Connected)
{
if (LogicOutput1&&(F1Out->Value < FepVolt1))
F1Out->Value += (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans01);
else
if ((!LogicOutput1)&&(F1Out->Value > FepVolt0))
{
F1Out->Value -= (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans10);
if (F1Out->Value<0) F1Out->Value = 0;
}
}
if (Out2Connected)
{
if (LogicOutput2&&(F2Out->Value < FepVolt1))
F2Out->Value += (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans01);
else
if ((!LogicOutput2)&&(F2Out->Value > FepVolt0))
{
F2Out->Value -= (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans10);
if ((F2Out->Value)<0) F2Out->Value = 0;
}
}
if (Out4Connected)
{
if (LogicOutput4&&(F4Out->Value < FepVolt1))
F4Out->Value += (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans01);
else
if ((!LogicOutput4)&&(F4Out->Value > FepVolt0))
{
F4Out->Value -= (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans10);
if ((F4Out->Value)<0) F4Out->Value = 0;
}
}
if (Out8Connected)
{
if (LogicOutput8&&(F8Out->Value < FepVolt1))
F8Out->Value += (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans01);
else
if ((!LogicOutput8)&&(F8Out->Value > FepVolt0))
{
F8Out->Value -= (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans10);
if ((F8Out->Value)<0) F8Out->Value = 0;
}
}
}
}
ΠΠΎΠ΄ΡΠ»Ρ: ΠΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: kp7. cpp
ΠΠ²ΡΠΎΡ: ΠΡΠ·Π½Π΅ΡΠΎΠ²Π° Π.Π.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Run ()
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΎΡΠ°
void __fastcall Tkp7: Run (void)
{
if (!In1Connected || !In2Connected || !In3Connected || !In4Connected || !In5Connected || !In6Connected || !In7Connected || !In8Connected || !InAConnected || !InBConnected || !InCConnected || !InStrobConnected || !OutPosConnected || !OutNegConnected) return;
TTestTimer tmp;
if ((FerrType ≠ etNone) || (ErrTimeRest > tmp)) { ErrorRun (); return; }
if ((FfltType ≠ etNone) || (ErrTimeRest > tmp)) { FailRun (); return; }
if ((FIn1->Value >= epThreshold1) && !LogicInput1) {
LogicInput1=true;
Modify=true;
}
else
if ((FIn1->Value <= epThreshold0) && LogicInput1) {
LogicInput1=false;
Modify=true;
}
if ((FIn2->Value >= epThreshold1) && !LogicInput2) {
LogicInput2=true;
Modify=true;
}
else
if ((FIn2->Value <= epThreshold0) && LogicInput2) {
LogicInput2=false;
Modify=true;
}
if ((FIn3->Value >= epThreshold1) && !LogicInput3) {
LogicInput3=true;
Modify=true;
}
else
if ((FIn3->Value <= epThreshold0) && LogicInput3) {
LogicInput3=false;
Modify=true;
}
if ((FIn4->Value >= epThreshold1) && !LogicInput4) {
LogicInput4=true;
Modify=true;
}
else
if ((FIn4->Value <= epThreshold0) && LogicInput4) {
LogicInput4=false;
Modify=true;
}
if ((FIn5->Value >= epThreshold1) && !LogicInput5) {
LogicInput5=true;
Modify=true;
}
else
if ((FIn5->Value <= epThreshold0) && LogicInput5) {
LogicInput5=false;
Modify=true;
}
if ((FIn6->Value >= epThreshold1) && !LogicInput6) {
LogicInput6=true;
Modify=true;
}
else
if ((FIn6->Value <= epThreshold0) && LogicInput6) {
LogicInput6=false;
Modify=true;
}
if ((FIn7->Value >= epThreshold1) && !LogicInput7) {
LogicInput7=true;
Modify=true;
}
else
if ((FIn7->Value <= epThreshold0) && LogicInput7) {
LogicInput7=false;
Modify=true;
}
if ((FIn8->Value >= epThreshold1) && !LogicInput8) {
LogicInput8=true;
Modify=true;
}
else
if ((FIn8->Value <= epThreshold0) && LogicInput8) {
LogicInput8=false;
Modify=true;
}
if ((FInStrob->Value >= epThreshold1) && !LogicInputStrob) {
LogicInputStrob=true;
Modify=true;
}
else
if ((FInStrob->Value <= epThreshold0) && LogicInputStrob) {
LogicInputStrob=false;
Modify=true;
}
if ((FInA->Value >= epThreshold1) && !LogicInputA) {
LogicInputA=true;
Modify=true;
}
else
if ((FInA->Value <= epThreshold0) && LogicInputA) {
LogicInputA=false;
Modify=true;
}
if ((FInB->Value >= epThreshold1) && !LogicInputB) {
LogicInputB=true;
Modify=true;
}
else
if ((FInB->Value <= epThreshold0) && LogicInputB) {
LogicInputB=false;
Modify=true;
}
if ((FInC->Value >= epThreshold1) && !LogicInputC) {
LogicInputC=true;
Modify=true;
}
else
if ((FInC->Value <= epThreshold0) && LogicInputC) {
LogicInputC=false;
Modify=true;
}
if (!LogicInputStrob)
{
LogicPosOutput=LogicInput1*!LogicInputA*!LogicInputB*!LogicInputC+LogicInput2*LogicInputA*!LogicInputB*!LogicInputC+LogicInput3*!LogicInputA*LogicInputB*!LogicInputC+LogicInput4*LogicInputA*LogicInputB*!LogicInputC+LogicInput5*!LogicInputA*!LogicInputB*LogicInputC+LogicInput6*LogicInputA*!LogicInputB*LogicInputC+LogicInput7*!LogicInputA*LogicInputB*LogicInputC+LogicInput8*LogicInputA*LogicInputB*LogicInputC;
LogicNegOutput=!LogicPosOutput;
}
else
{
LogicPosOutput=false;
LogicNegOutput=true;
}
if (Modify)
{
CurrentTimeHold=0;
Modify = false;
}
if (CurrentTimeHold <= tpTimeHold*1000)
CurrentTimeHold += TimeDigit;
else
{
if (OutPosConnected)
{
if (LogicPosOutput&&(FPosOut->Value < FepVolt1))
FPosOut->Value += (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans01);
else
if ((!LogicPosOutput)&&(FPosOut->Value > epVolt0))
{
FPosOut->Value -= (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans10);
if (FPosOut->Value<0) FPosOut->Value = 0;
}
}
if (OutNegConnected)
{
if (LogicNegOutput&&(FNegOut->Value < FepVolt1))
FNegOut->Value += (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans01);
else
if ((!LogicNegOutput)&&(FNegOut->Value > epVolt0))
{
FNegOut->Value -= (FepVolt1 — FepVolt0) * TimeDigit / (1000 * tpTimeTrans10);
if ((FNegOut->Value)<0) FNegOut->Value = 0;
}
}
}
}
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘
void __fastcall TGraphicControl1: Setep_Volt1(TGraphicControl1ep_Volt1 Aep_Volt1)
{
if (FSERIAL==k155)
{
Fep_Volt1=Aep_Volt1;
if (Fep_Volt1==low){SetParam (low);FepVolt1=2.4;}else{if (Fep_Volt1==high){SetParam (high);;FepVolt1=4.8;}}
}
else
{FepVolt1=2.4;SetParam (No);}
Invalidate ();
}
void __fastcall TGraphicControl1: SetSERIAL (TGraphicControl1SERIAL ASERIAL)
{
FSERIAL=ASERIAL;
if (FSERIAL==k155)
{
FepPowerSupplyVoltage = 5; // ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ
FepMaxInputVoltage = 10; // ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅
FepThreshold0 = 0.2;
FepThreshold1 = 4.8; // ΠΠΎΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ 0 ΠΈ 1 Π½Π° Π²Ρ ΠΎΠ΄Π΅
FepVolt0 = 0.1; // ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ 1 (Π½Π΅ ΠΌΠ΅Π½Π΅Π΅) ΠΈ 0 (Π½Π΅ Π±ΠΎΠ»Π΅Π΅)
FtpTimeHold = 8; // ΠΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ
FtpTimeTrans01 = 3;
FtpTimeTrans10 = 3; /* (Time of transition)*/
}
else
if (FSERIAL==kmop)
{
FepPowerSupplyVoltage = 5;
FepMaxInputVoltage = 18;
FepThreshold0 = 0.4;
FepThreshold1 = 3.2;
FepVolt1 = 5;
FepVolt0 = 0.1;
FtpTimeHold = 10;
FtpTimeTrans01 = 3;
FtpTimeTrans10 = 3;
}
else
{
FepPowerSupplyVoltage = 5;
FepMaxInputVoltage = 15;
FepThreshold0 = 0.4;
FepThreshold1 = 2.4;
FepVolt1 = 5;
FepVolt0 = 0;
FtpTimeHold = 10;
FtpTimeTrans01 = 5;
FtpTimeTrans10 = 6;
}
Invalidate ();
}