ΠΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
Π‘ΡΠ΅Π΄Π° Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (RAD — rapid application development), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ . VCL — Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ
ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ»Π»Π΅Π΄ΠΆ β
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ:__________________
__________________________________
__________________________________
ΠΠ£Π Π‘ΠΠΠΠ ΠΠ ΠΠΠΠ’
ΠΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π° __Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²_
Π’Π΅ΠΌΠ° _____ΠΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° «ΠΠ²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π³ΠΎΠ½ΠΊΠΈ"______
________________________________________________
(ΠΠ . 2203. 04. 35. ΠΠ)
Π ΠΠ‘Π§ΠΠ’ΠΠ-ΠΠΠ―Π‘ΠΠΠ’ΠΠΠ¬ΠΠΠ― ΠΠΠΠΠ‘ΠΠ
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ _______ ________________ _____________________
ΠΠ°ΡΠ° ΠΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ
ΠΠΎΡΠΌΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ ______ ____________ _____________________
ΠΠ°Π². ΠΊΠ°ΡΠ΅Π΄ΡΠΎΠΉ ______ ____________ _____________________
ΠΡΠΏΠΎΠ»Π½ΠΈΠ» ΡΡΡΠ΄Π΅Π½Ρ Π³ΡΡΠΏΠΏΡ ____________________________________
ΠΡΠ΅Π½ΠΊΠ° ____________________________________________________
ΠΠΎΠ²ΠΎΠΊΡΠ·Π½Π΅ΡΠΊ, 2005
ΠΠΠΠΠΠΠΠ3 1. ΠΠΠ©ΠΠ― Π§ΠΠ‘Π’Π¬ 4 1.1 Π―ΠΠ«Π ΠΠ ΠΠΠ ΠΠΠΠΠ ΠΠΠΠΠΠ― DELPHI 4 1.2 Delphi. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° 4 1.3 ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ 6 1.4 ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΠ 6 1.5 ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½Π«Ρ 8 1.6 ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Delphi 8 1.7 ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² 9 1.8 Π‘ΡΡΡΠΊΡΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 9 1.9 ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OLE 2.0, DDE ΠΈ VBX 10 2. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ 10 2.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ 10 2.2 ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΠ‘ 10 2.3 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΏ 11 2.4 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ 12 3. ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° 12 3.1 ΠΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ 12 3.2 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ 12 4. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 13 4.1 ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ΠΏΠΏ 13 5. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 15 5.1 ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΏ 15 5.2 ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ 15 ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 16 | ||||||||
ΠΠ. 2203. 04. 35. ΠΠ | ||||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ | ΠΠ°ΡΠ° | ||||
Π Π°Π·ΡΠ°Π±. | ΠΠ³ΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° «ΠΠ²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π³ΠΎΠ½ΠΊΠΈ» | ΠΠΈΡ | ΠΠΈΡΡ | ΠΠΈΡΡΠΎΠ² | ||||
ΠΡΠΎΠ². | ||||||||
Π. ΠΊΠΎΠ½ΡΡ | ||||||||
Π£ΡΠ². | ||||||||
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°ΡΠΊΠ°Π½Π½ΡΠΉ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ Π³ΠΎΠ½ΠΎΠΊ. ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΄ΠΎΡΠΎΠ³Π΅. Π¦Π΅Π»Ρ ΠΈΠ³ΡΡ ΠΏΡΠΎΠ΅Ρ Π°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ 20 ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΎΠ². ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ³ΡΡ Π½Π° Π΄ΠΎΡΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ: 1. ΠΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ (ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΈ) ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ Ρ Π²Π°Ρ 1 Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠΏΠ»ΠΈΠ²Π°; 2. ΠΠ½Π°ΡΠΎΠΊ Π² Π²ΠΈΠ΄Π΅ Π±ΠΎΡΠΊΠΈ (ΡΠΎΠΏΠ»ΠΈΠ²ΠΎ), Π²ΠΎΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΡΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΅Π·Π΄Π΅; 3. ΠΠΈΡΡΠΎ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΠΉ ΡΠ°Π·Π²ΠΈΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ. ΠΠ³ΡΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ Π² ΡΡΠ΅Π΄Π΅ Delphi 5 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenGL Π²Π΅ΡΡΠΈΡ 1.3.4582 ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠ΅ΠΉ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°, Pixia Π²Π΅ΡΡΠΈΡ 2.4g Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΡ, Image Editor Π²Π΅ΡΡΠΈΡ 3.0 Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ, 3D-Stydio Max Π²Π΅ΡΡΠΈΡ 5.0 Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½ (ΠΈΠ³ΡΠΎΠΊΠ°). | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ°. | |||
1. ΠΠ±ΡΠ°Ρ ΡΠ°ΡΡΡ 1.1 Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Delphi. Delphi — ΡΡΠΎ Π³ΡΠ΅ΡΠ΅ΡΠΊΠΈΠΉ Π³ΠΎΡΠΎΠ΄, Π³Π΄Π΅ ΠΆΠΈΠ» Π΄Π΅Π»ΡΡΠΈΠΉΡΠΊΠΈΠΉ ΠΎΡΠ°ΠΊΡΠ». Π ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ» Π½Π°Π·Π²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Ρ ΡΠ΅Π½ΠΎΠΌΠ΅Π½Π°Π»ΡΠ½ΡΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ. HΠ°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΡ ΠΎΠ΄Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΎΠ±ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΠΎΠΊΡΡΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Borland ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π»Π°ΡΡ Π½Π΅ Π»ΡΡΡΠΈΠΌ Π΄Π»Ρ Π½Π΅Π΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠΎΠ³ΠΎΠ²Π°ΡΠΈΠ²Π°Π»ΠΈ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΡΡΡ Π°ΠΊΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π΅ΡΠ΄Π΅ΡΠΆΠΈΠΌΠΎ ΠΊΠ°ΡΠΈΠ»ΡΡ Π²Π½ΠΈΠ·. Π‘Π΅ΠΉΡΠ°Ρ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠΉ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ·Π°Π΄ΠΈ. HΠ΅Π²Π΅ΡΠ½ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π±ΡΠ»ΠΎ Π±Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Delphi ΡΠ²ΠΈΠ»ΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠΌΠ΅Π½Π½ΠΎ Delphi ΡΡΠ°Π» ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ Ρ Borland Π΅ΡΡΡ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΡΠΉΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΊΠ°, ΠΈ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°ΡΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. 1.2 Delphi. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Delphi — ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: Β· ΠΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Β· ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Β· ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ (Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠ΅) ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² Β· ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
1.3 ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Delphi, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ «ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ». ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΡΠΌ Π² ΠΌΠΈΡΠ΅, Π΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΡΡΠ΅ 120 ΡΡΡΡΡ ΡΡΡΠΎΠΊ Π² ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ 486DX33. ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π»Π΅Π³ΠΊΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π±ΡΡΡΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ (4GL) ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° 3GL. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Delphi ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ Π²ΡΡΠ°Π²ΠΊΠΈ Π½Π° Π‘ΠΈ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° (Ρ ΠΎΡΡ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ). Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ°ΠΊ Ρ ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊ, Π΄Π΅Π»Π°ΡΡΠΈΠΉ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΌΠ°Π·ΠΊΠΈ ΠΊΠΈΡΡΡΡ. ΠΡΠ΅ Π΄ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ — ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΌΠΈ Π½Π° ΡΠΎΡΠΌΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π² ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi ΠΌΠ°Π»ΠΎ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² 10−20 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ-ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠ΄Π΅Π»Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠΎΠ·Π½Ρ, Π² Delphi ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ p-ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ p-ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ. ΠΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
1.4 ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΠ ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΏΠΎΡ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Delphi Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΡΠΌΠ° Π±ΡΡΡΡΠΎ ΠΈΠ· Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ Delphi. ΠΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠ΅ Π² Delphi Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Π½Π΅ΠΌ ΠΆΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ Borland ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΌΠΈ ΡΠΈΡΠΌΠ°ΠΌΠΈ, ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ. Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΡ Delphi Π²Ρ ΠΎΠ΄ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠ΄Π°ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈΠ· 270 Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° — Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° Delphi, ΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ «Ρ Π½ΡΠ»Ρ», ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΌΠΈ ΡΠΈΡΠΌΠ°ΠΌΠΈ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΈΡ ΡΠΈΡΠΌ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ 250, Ρ ΠΎΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π΅ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ Π·Π½Π°Ρ. Π‘ΠΊΠ΅ΠΏΡΠΈΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ ΠΏΠΎΠ²Π΅ΡΡΡ ΠΌΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ Π½Π° Delphi ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ ΡΠ°ΠΊ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π² ΡΡΠ΅Π΄Π΅ Windows Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π‘ΠΎΠ±ΡΡΠΈΠΉΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π² Windows Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° ΡΠ»ΠΎΠΆΠ½Π° Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Delphi ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
Π‘ΡΠ΅Π΄Π° Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (RAD — rapid application development), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ . VCL — Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ DDE ΠΈ OLE. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ½Ρ Delphi, ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Borland, ΠΌΠΎΠ³Π»ΠΎ Π±Ρ Π±ΡΡΡ ΠΈ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ freeware-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΡΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠΎΡΡΠΎΠΉΡΠ΅, — ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π²Ρ, Π²Π΅Π΄Ρ ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ. ΠΠ°, ΡΡΠΎ Π±ΡΠ»ΠΎ Π² Visual Basic. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°Π·ΡΠ²Π°Π»ΡΡ VBX. Π ΡΡΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Delphi. ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² Delphi ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΡΡ. ΠΡΠΏΠΎΠΌΠ½ΠΈΠΌ, Π² ΡΠ΅ΠΌ Π±ΡΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² VB. ΠΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π», Π²ΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π² ΡΡΠ΅Π΄Π΅ ΡΠ·ΡΠΊΠ° Π±ΡΠΉΡΠΈΠΊ. Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ VBX Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ Π΅ΠΌΡ Π΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ-ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ Π½Π° Π‘++. VBX’Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΈ, «ΠΊΠ°ΠΊ Π΅ΡΡΡ», ΠΈ Π½ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, Π½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΡΠ»ΠΎ Π½Π΅Π»ΡΠ·Ρ. Π Π΄Π»Ρ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ VBX Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ «ΠΊΡΡ Π½Ρ» ΡΠ·ΡΠΊΠ° C++. Π Delphi Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΈΡΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΠΠ°ΡΠΊΠ°Π»Π΅, Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΠΠ°ΡΠΊΠ°Π»Π΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΈΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Delphi ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π΄Π»Ρ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
1.5 ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΠ±ΡΠ΅ΠΊΡΡ ΠΠ Π² Delphi ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° SQL ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΌΠΎΡΡ Borland Database Engine. Π ΡΠΎΡΡΠ°Π² Delphi ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Borland SQL Link, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π‘Π£ΠΠ Oracle, Sybase, Informix ΠΈ InterBase ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Interbase Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π½Π° Π»ΡΠ±ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ SQL-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΡΠ»Π°ΠΉΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² ΡΡΠ΅Π΄Π΅ Delphi, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅ΡΠ° ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°), ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° .dbf (ΠΊΠ°ΠΊ Π² dBase ΠΈΠ»ΠΈ Clipper) ΠΈΠ»ΠΈ .db (Paradox). ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ InterBase for Windows 4.0 (ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ SQL-ΡΠ΅ΡΠ²Π΅Ρ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ), ΡΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎ Π²ΡΡΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² ΡΠΎΡΡΠ°Π²Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ. 1.6 ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Delphi ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ InterBase — ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² InterBase, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° InterBase. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Ρ Π»ΠΈΡ Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Team Development Support — ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Π³ΡΡΠΏΠΏΠ΅. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΊΠ°ΠΊ Intersolve PVCS 5.1 Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΡΠ΅Π΄Π΅ Delphi. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
1.7 ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ DDE ΠΈ OLE. 1.8 Π‘ΡΡΡΠΊΡΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Delphi ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ (Object Pascal), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠΎΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² 4GL, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° 3GL. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΈΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π² Windows. Delphi ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ. 1.9 ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OLE 2.0, DDE ΠΈ VBX ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ Windows, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Delphi. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
2. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ 2.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΠ ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenGL. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΈ ΡΡΠ°ΠΏΠ°: 1. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΠΊΡΡΡΡΡ (ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ) ΠΈΠ· ΡΠ°ΠΉΠ»Π°; 2. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ OpenGL); 3. ΠΡΠ²ΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΡΡ Π½Π° ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ ΠΈ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ). ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΡ ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·Π³ΠΎΠ½. 2.2 ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΠ‘ Β· ΠΡΠΎΡΠ΅ΡΡΠΎΡ Intel ® Pentium ® III 900 MHz ΠΈΠ»ΠΈ Π²ΡΡΠ΅; Β· ΠΠΠ£ 32MB SDRAM ΠΈΠ»ΠΈ Π²ΡΡΠ΅; Β· ΠΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ OpenGL v. 1.3.4582 Ρ. Π΅. ΠΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π΄Π°ΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ; Β· ΠΠ²ΡΠΊΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° AC' 97 ΠΈΠ»ΠΈ Π»ΡΡΡΠ΅; | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
2.3 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΏ ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΡΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ SpeedGL ΠΈ Π½Π° Π½Π΅ΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°: 1. MediaPlayer; 2. ActionList. MediaPlayer Π‘Π»ΡΠΆΠΈΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π²ΡΠΊΠΎΠ² (ΠΌΡΠ·ΡΠΊΠΈ) ΡΠΎΡΠΌΠ°ΡΠ° *.mp3, *.wav ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΡ Π΅Π΅. ActionList Π‘Π»ΡΠΆΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ Π½Π° ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΡΠΈΠΌΠ΅Ρ: Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ Alt+F4. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
2.4 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Π‘Π°ΠΌΡΠΉ Π³Π»Π°Π²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΎΡΠΌΠ΅ Π½Π° ΡΠΎΠ±ΡΡΠΈΠΈ OnPaint; Π‘ΠΎΠ±ΡΡΠΈΠ΅ OnPaint ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 0,010 ΡΠ΅ΠΊ. ΠΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ mmsystem. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ OnPaint ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: Β· ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΠΌΠ΅Π½Ρ; ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Selected_Menu_item='Start' ΡΠΎ ΡΠΎΠ³Π΄Π° ΠΈΠ³ΡΠ° Π½Π°ΡΠ½Π΅ΡΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π½ΡΠΆΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΡΡΡ ΠΈ Π½Π°ΡΠ½Π΅Ρ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π΅ΡΠ»ΠΈ: Selected_Menu_item=''; Selected_Menu_item='Car'; Selected_Menu_item='Actors'; Selected_Menu_item='Exit', ΡΠΎ ΡΡΠΎ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΌΠ΅Π½Ρ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡΠΌ Ρ ΡΠ΅ΠΊΡΡΡΡΠ°ΠΌΠΈ. 3. ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° 3.1 ΠΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π»Π°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Delphi 5 Ρ. ΠΊ. ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ Π±ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Delphi. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Delphi ΠΈ Π²ΡΡΠ΅ Π²Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenGL. 3.2 Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Π½Π° ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠΊΠ½Π° OnPaint. Π ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΠΈ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΡΠ΅ΠΊΡΡΡΡΡ. Π’Π°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 100 ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΡΠΎ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° ΠΈ ΡΠ΅Π°ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ Π·Π΄Π΅ΡΡ Π½Π΅ ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ ΠΈΠ³ΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Ρ. ΠΊ. ΡΠ΅ΠΌ Π²ΡΡΠ΅ Π΅Π³ΠΎ ΡΠ°ΡΡΠΎΡΠ° ΡΠ΅ΠΌ ΡΠ°ΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. 4. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 4.1 ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ΠΏΠΏ Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΌΠΎΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎ ΠΈΠ³ΡΡ ΡΠΎ Ρ ΠΎΠΏΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ»Π°Π²ΠΈΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΌΠ΅Π½Ρ: Β· «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π²Π΅ΡΡ » ΠΈ «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π½ΠΈΠ·» ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΠ·; Β· «Esc» Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΈΠ³ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ; Β· «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²ΠΏΡΠ°Π²ΠΎ» ΠΈ «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π»Π΅Π²ΠΎ» Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²ΡΠ±ΠΎΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ; ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ «Esc» Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Π°; Β· «Enter» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΈ Π½Π°ΡΠ°Π»Π° ΠΈΠ³ΡΡ; | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
ΠΠ»Π°Π²ΠΈΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΈΠ³ΡΠ΅: Β· «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π²Π΅ΡΡ » ΠΈ «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π½ΠΈΠ·» ΡΠ°Π·Π³ΠΎΠ½ ΠΈ ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ; Β· «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π»Π΅Π²ΠΎ» ΠΈ «Π‘ΡΡΠ΅Π»ΠΊΠ° Π²ΠΏΡΠ°Π²ΠΎ» ΠΏΠΎΠ²ΠΎΡΠΎΡ Π½Π°Π»Π΅Π²ΠΎ ΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡ Π½Π°ΠΏΡΠ°Π²ΠΎ; Β· «N» (Π°Π½Π³Π».) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ; Β· «P» ΠΈΠ»ΠΈ «Pause» ΠΏΠ°ΡΠ·Π° Π² ΠΈΠ³ΡΠ΅, ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΏΠ°ΡΠ·Π° ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ; Β· «Esc» Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ; ΠΠ»Π°Π²ΠΈΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈ Π² ΠΌΠ΅Π½Ρ ΠΈ Π² ΠΈΠ³ΡΠ΅: Β· «K» (Π°Π½Π³Π».) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΌΡΡΠΈ Π½Π° ΡΠΎΡΠΌΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΡΠΌΡ; Β· «F» (Π°Π½Π³Π».) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΡΠΌΡ; Β· «A» (Π°Π½Π³Π».) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ OpenGL, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠΎΡΠΌΡ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²Π΅ΡΡΠΈΡ OpenGL ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠ° ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄; | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
5. ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ 5.1 ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΏ ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ±ΠΎΠΉ Π±Π°Π» Π±Ρ ΡΡΠ°Π·Ρ Π·Π°ΠΌΠ΅ΡΠ΅Π½ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. 5.2 ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½Π° ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ. | |||||||
ΠΠ. 2203. 04. 35. ΠΠ | ΠΠΈΡΡ | ||||||
ΠΠ·ΠΌ | ΠΠΈΡΡ | β Π΄ΠΎΠΊΡΠΌ | ΠΠΎΠ΄ΠΏ. | ΠΠ°ΡΠ° | |||
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°:
procedure FNTimeCallBack (uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD) stdcall;
var
word:DWORD;
begin
Inc (CountTickTimer);
if (((PressedKey[19]=true)or
(PressedKey[80]=true))and (CountTickTimer>100))and (CountFuel>0) then
if (not Pause) then begin
Pause:=true;
CountTickTimer:=0;
end
else
begin
Pause:=false;
CountTickTimer:=0;
end;
if not Pause then begin
if Selected_Menu_item='Start' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Start
begin
if SpeedGL. MediaPlayer1.FileName<>'SoundRace.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='SoundRace.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
if (PressedKey[27]=true)and (CountTickTimer>100) then
begin
Selected_Menu_item:='';
SpeedGL.MediaPlayer1.Stop;
SpeedGL.MediaPlayer1.Close;
SpeedGL.MediaPlayer1.FileName:='';
Menu_item:=2;
CountTickTimer:=0;
Speed:=0.0;
sound:=false;
CountFuel:=8;
CountKM:=0;
end;
//ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅
if PressedKey[40]=true then
begin
Speed:=Speed+0.2;
GasDeley:=1;
end;
if (CountFuel>0)and (CountKM<20) then if PressedKey[38]=true then Speed:=Speed-0.5;//ΡΠ°Π·Π³ΠΎΠ½
if (PressedKey[39]=true)and (Speed<-0.1) then X_KordCar:=X_KordCar+0.5-Speed/5;//ΠΏΠΎΠ²ΠΎΡΠΎΡ Π²ΠΏΡΠ°Π²ΠΎ Ρ ΡΡΡΡΠΎΠΌ ΡΠΊΠΎΡΠΎΡΡΠΈ
if (PressedKey[37]=true)and (Speed<-0.1) then X_KordCar:=X_KordCar-0.5+Speed/5;//ΠΏΠΎΠ²ΠΎΡΠΎΡ Π²Π»Π΅Π²ΠΎ Ρ ΡΡΡΡΠΎΠΌ ΡΠΊΠΎΡΠΎΡΡΠΈ
if (PressedKey[40]=False)and (PressedKey[38]=False) then begin Speed:=Speed+0.3; GasDeley:=1; end;//ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΅ΡΡΠΈΠ΅ΠΉ
if Speed>0 then Speed:=0;//ΡΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΡ
if (Gas)and (CountFuel<>0) then
begin
GasDeley:=GasDeley+0.0005;
if GasDeley>=1 then Speed:=Speed+0.5 else Speed:=-0.025;
if Speed>-0.01 then
begin
Speed:=-0.01;
Gas:=false;
GasDeley:=1;
end;
end
else
if Speed<-0.01 then Speed:=-0.01;//ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ
Y_Kord:=Y_Kord+Speed;//Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ
if EnymiGoToWay then begin
Y_Enymi:=Y_Enymi+Speed+0.0085;
X_Enymi:=X_Enymi+(0.001*LR);
if X_Enymi>=Right_death_dot then LR:=-1;
if X_Enymi<=Left_death_dot then LR:=1;
if (Y_Enymi>1.2)or (Y_Enymi<-1.2)then EnymiGoToWay:=false;
end;
if FuelGoToWay then
Y_KordFuel:=Y_KordFuel+Speed; //ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
if (Speed<>0)and (Speed<-0.2)and (CountFuel>0) then
CountFuel:=CountFuel+MinusFuel/(Speed*50); //Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΏΠ»ΠΈΠ²Π°
if (CountFuel<=0)or (CountKM>=20) then begin Gas:=false; GasDeley:=1; Speed:=Speed+0.3; end;
if (Speed<-0.005)and (MinusFuel=0.2) then MinusFuel:=MinusFuel*10 else
if MinusFuel=0.0002 then MinusFuel:=MinusFuel/10;
if Y_Kord<=-2.0 then Y_Kord:=0;//ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠ°Π΄ΡΠΎΠ²
if X_KordCar>=Right_death_dot then
begin
X_KordCar:=Right_death_dot;//ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π°
if Speed<-0.001 then begin Speed:=Speed+0.2; GasDeley:=1; end;//Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊ Π±Π°ΡΠ΄ΡΡΡ ΡΠΏΡΠ°Π²Π°ΠΏ
end;
if X_KordCar<=Left_death_dot then
begin
X_KordCar:=Left_death_dot;//ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π²Π°
if Speed<-0.001 then begin Speed:=Speed+0.2; GasDeley:=1; end;//Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊ Π±Π°ΡΠ΄ΡΡΡ ΡΠ»Π΅Π²Π°
end;
end;
end
else
if (PressedKey[27]=true)and (CountTickTimer>100) then
begin
Selected_Menu_item:='';
Menu_item:=2;
CountTickTimer:=0;
Speed:=0.0;
Pause:=false;
sound:=false;
CountFuel:=8;
CountKM:=0;
end;
if Selected_Menu_item='' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Esc Π² ΠΈΠ³ΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ±ΡΠ°Π½ΠΎ
begin
if SpeedGL. MediaPlayer1.FileName<>'TexturesVideoSL_Start_Logo.avi' then
if SpeedGL. MediaPlayer1.FileName<>'SoundMain_Menu.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='SoundMain_Menu.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
if CountTickTimer>100 then begin
if PressedKey[27]=true then
begin
SpeedGL.MediaPlayer1.Stop;
SpeedGL.MediaPlayer1.Close;
SpeedGL.MediaPlayer1.FileName:='';
Selected_Menu_item:='Exit';
CountTickTimer:=0;
end;
if PressedKey[40]=true then
begin
Inc (Menu_item);
PlaySound ('SoundSelect_MainMenu.wav', 0, SND_ASYNC);
CountTickTimer:=0;
end; //Π²Π½ΠΈΠ·
if PressedKey[38]=true then
begin
Dec (Menu_item);
PlaySound ('SoundSelect_MainMenu.wav', 0, SND_ASYNC);
CountTickTimer:=0;
end;//Π²Π²Π΅ΡΡ
if CountTickTimer>1000 then CountTickTimer:=110;
end;
if Menu_item>4 then Menu_item:=1;//ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅
if Menu_item<1 then Menu_item:=4;// Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ 4 ΠΏΡΠ½ΠΊΡΠΎΠ²
if PressedKey[13]=true then begin
PlaySound ('SoundChoose_MainMenu.wav', 0, SND_ASYNC);
case Menu_item of
1:begin
Selected_Menu_item:='Start';
Score:=0;
FuelGoToWay:=false;
NextKM_GenerFuel:=1;
CountKM:=0;
CountFuel:=8;
CountNitro:=0;
MinusFuel:=0.2;
Y_KordFuel:=1.5;
FuelGoToWay:=false;
GasDeley:=1;
Gas:=false;
NextKmEnymy:=0.3;
Y_Enymi:=1.2;
end;
2:begin Selected_Menu_item:='Car'; end;
3:begin Selected_Menu_item:='Actors'; end;
4:begin Selected_Menu_item:='Exit'; end;
end;
end;
end;
if CountTickTimer>100 then begin
if Selected_Menu_item='Actors' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Sound
begin
if SpeedGL. MediaPlayer1.FileName<>'SoundActor.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='SoundActor.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
if PressedKey[27]=true then
begin
Selected_Menu_item:='';
SpeedGL.MediaPlayer1.Stop;
SpeedGL.MediaPlayer1.Close;
SpeedGL.MediaPlayer1.FileName:='';
CountTickTimer:=0;
end;
end;
if Selected_Menu_item='Car' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Car
begin //Car
if SpeedGL. MediaPlayer1.FileName<>'SoundGarage.mp3' then begin
SpeedGL.MediaPlayer1.FileName:='SoundGarage.mp3';
SpeedGL.MediaPlayer1.Open;
SpeedGL.MediaPlayer1.Play;
end;
if PressedKey[27]=true then
begin
Selected_Menu_item:='';
SpeedGL.MediaPlayer1.Stop;
SpeedGL.MediaPlayer1.Close;
SpeedGL.MediaPlayer1.FileName:='';
CountTickTimer:=0;
OldSelectMenyItem:='Car';
end;
if PressedKey[37]=true then
begin
Dec (CarMenuItem);
CountTickTimer:=0;
LeftButton:=true;
PlaySound ('SoundSelect_CarMenu.wav', 0, SND_ASYNC);
end;
if PressedKey[39]=true then
begin
Inc (CarMenuItem);
CountTickTimer:=0;
RightButton:=true;
PlaySound ('SoundSelect_CarMenu.wav', 0, SND_ASYNC);
end;
if CarMenuItem>4 then CarMenuItem:=1;
if CarMenuItem<1 then CarMenuItem:=4;
end; //Car
end;//CountTickTimer
if Selected_Menu_item='Exit' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Exit Π² Π³Π»Π°Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ
begin
SpeedGL.MediaPlayer1.Free;
Application.Terminate;
Application.ProcessMessages;
end;
InvalidateRect (SpeedGL.Handle, nil, False);//ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ°
if (Symvol=0)and
(PressedKey[78]=true)and
(CountNitro>0)and
(GasDeley=1) then
begin
Gas:=true;
CountNitro:=CountNitro-1;
GasDeley:=0;
PlaySound ('SoundStart_Nitro.wav', 0, SND_ASYNC);
end;
end;
ΡΠΎΠ±ΡΡΠΈΠ΅ OnPaint:
procedure TSpeedGL. FormPaint (Sender: TObject);
var
ps:TPaintStruct;
begin
BeginPaint (dc, ps);
if Selected_Menu_item='' then
begin
case Menu_item of
1:begin LeftTiresMeny:=-0.849; RightTiresMeny:=0.8; TopTiresMeny:=0.76; end;
2:begin LeftTiresMeny:=-1.1; RightTiresMeny:=1.0; TopTiresMeny:=0.4; end;
3:begin LeftTiresMeny:=-0.8; RightTiresMeny:=0.8; TopTiresMeny:=0.0; end;
4:begin LeftTiresMeny:=-0.8; RightTiresMeny:=0.8; TopTiresMeny:=-0.58; end;
end;
if OldSelectMenyItem='Car' then begin
if RemoveMeny>=0.0 then begin RemoveMeny:=0.0; OldSelectMenyItem:='' end else
RemoveMeny:=RemoveMeny+0.018;
glCallList (Background);
glPushMatrix;
glTranslatef (RemoveMeny, 0.0,0.0);
glCallList (StringMeny);
glPopMatrix;
end
else begin
glCallList (Background);//ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΠ½Π°
glCallList (StringMeny);//ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π½Π°Π΄ΠΏΠΈΡΠ΅ΠΉ Π² ΠΌΠ΅Π½Ρ
end;
if (Selected_Menu_item<>'Car')and (RemoveMeny=0.0) then begin
Angel:=Angel+1;
if Angel=360 then Angel:=0;
glCallList (8);//ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ»Π΅ΡΠ°
glPushMatrix;
glScalef (0.5,0.66,0.5);
glTranslatef (LeftTiresMeny, TopTiresMeny, 0.0);
glRotatef (Angel, 0.0,0.0,1.0);
glCallList (Tires);
glPopMatrix;
glPushMatrix;
glScalef (0.5,0.66,1.0);
glTranslatef (RightTiresMeny, TopTiresMeny, 0.0);
glRotatef (Angel, 0.0,0.0,1.0);
glCallList (Tires);
glPopMatrix;
end;
end;
if Selected_Menu_item='Start' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Start ΠΈΠ³ΡΠ° Π½Π°ΡΠ°Π»Π°ΡΡ
begin //Start
// glClear (GL_COLOR_BUFFER_BIT); //ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠΈΡΠ°Π½ΠΈΠ΅
glPushMatrix;
glTranslatef (0.0,Y_Kord, 0.0);
glCallList (WayDesert1);
glPopMatrix;
glPushMatrix;
glTranslatef (0.0,Y_Kord+1.99,0.0);
glCallList (WayDesert1);
glPopMatrix;
if not Pause then
if Speed<>0 then CountKM:=CountKM+abs (Speed/27);//ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠΎ ΠΏΡΠΎΠΉΠ΄Π΅Π½ΡΡ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΎΠ²
// Caption:=FloatToStrF (CountKM, ffNumber, 6,3);
//ΠΠ΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ΅Π½Π·ΠΈΠ½Π° ΠΈΠ»ΠΈ ΠΠΈΡΡΠΎ Π½Π° Π΄ΠΎΡΠΎΠ³Π΅
if (CountKM>NextKM_GenerFuel)and (FuelGoToWay=False)and (speed<>0) then
begin
if Random (2)=1 then X_KordFuel:=Random*0.5 else X_KordFuel:=-Random*0.5;
FuelGoToWay:=true;
Y_KordFuel:=1.5;
Inc (NextKM_GenerFuel, 1);
if not FuelOrNitro then FuelOrNitro:=true else FuelOrNitro:=false;
end;
if (FuelGoToWay)and (Y_KordFuel<-1.2) then FuelGoToWay:=False;
//ΠΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΠΠ΅Π½Π·ΠΈΠ½Π° ΠΈΠ»ΠΈ ΠΠΈΡΡΠΎ
if not KordObjectItems (X_KordFuel, Y_KordFuel, 0.05,0.065,X_KordCar, Y_KordCar, CarXPogresh, CarYPogresh) then
begin // KordObject
glPushMatrix;
glTranslatef (X_KordFuel, Y_KordFuel, 0.0);
if FuelOrNitro then glCallList (ItemFuelList) else glCallList (ItemNitroList);
glPopMatrix;
end//KordObject
else
begin
Y_KordFuel:=1.5;
FuelGoToWay:=False;
PlaySound ('SoundGet_Nitro_Fuel.wav', 0, SND_ASYNC);
if FuelOrNitro then if CountFuel<20 then CountFuel:=CountFuel+1;
if not FuelOrNitro then if CountNitro<=10 then CountNitro:=CountNitro+1;
end;
{Caption:=FloatToStrF (CountFuel, ffNumber, 6,3)+' '+
FloatToStrF (CountNitro, ffNumber, 6,3)+' '+
FloatToStrF (CountKM, ffNumber, 6,3)+' '+
FloatToStrF (GasDeley, ffNumber, 6,3);}
if (CountKM>NextKmEnymy)and (EnymiGoToWay=False)and (speed<>0) then
begin
NumbrCar:=random (9)+1;
EnymiGoToWay:=true;
NextKmEnymy:=NextKmEnymy+0.1;
Y_Enymi:=1.2;
end;
if (EnymiGoToWay)and (Y_Enymi<-1.2) then EnymiGoToWay:=False;
if not KordObjectEnimy (X_Enymi, Y_Enymi, 0.08,0.130,X_KordCar, Y_KordCar, CarXPogresh-0.05,CarYPogresh-0.05) then
begin // KordObject
glPushMatrix;
glTranslatef (X_Enymi, Y_Enymi, 0.0);
glCallList (EnymiCars[NumbrCar]);
glPopMatrix;
end//KordObject
else
begin
Y_Enymi:=1.2;
EnymiGoToWay:=False;
GasDeley:=1;
Gas:=false;
Speed:=-0.001;
PlaySound ('SoundDenger_Sound.wav', 0, SND_ASYNC);
if CountFuel>0 then CountFuel:=CountFuel-1;
if CountFuel<0 then CountFuel:=0;
end;
//ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ
if ChooseCar='ShotWarKiller' then begin
glPushMatrix;
glTranslatef (X_KordCar, Y_KordCar, 0.0);
glCallList (WarKiller);
glPopMatrix;
end;
if ChooseCar='ShotFlash' then begin
glPushMatrix;
glTranslatef (X_KordCar, Y_KordCar, 0.0);
glCallList (Flash);
glPopMatrix;
end;
if ChooseCar='ShotGembic' then begin
glPushMatrix;
glTranslatef (X_KordCar, Y_KordCar, 0.0);
glCallList (Gembic);
glPopMatrix;
end;
if ChooseCar='ShotGlass' then begin
glPushMatrix;
glTranslatef (X_KordCar, Y_KordCar, 0.0);
glCallList (Glass);
glPopMatrix;
end;
//ΠΡΠΎΠΈΠ³ΡΡΡ ΠΈ Π²ΡΠΈΠ³ΡΡΡΡ Π² ΠΈΠ³ΡΠ΅
if (CountFuel<=0)and (CountKM<20) then begin glCallList (GameOver); if not sound then sound:=true; end;
if CountKM>=20 then begin glCallList (YouWin); if not sound then sound:=true; end;
if ((CountFuel<=0)or (CountKM>=20))and (Speed>=0)then begin
glPushMatrix;
glTranslatef (0.0,-0.4,0.0);
glCallList (PressEsc);
glPopMatrix
end;
//ΠΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΌΠ΅Π½Ρ
glPushMatrix;
glTranslatef (0.7,0.58,0.0);
glScalef (1.5,1.5,1.0);
glCallList (GameMenu);
glPopMatrix;
//ΠΠ°Π΄ΠΏΠΈΡΠΈ Π½Π° ΠΌΠ΅Π½Ρ
glPushMatrix;
glTranslatef (0.64,0.68,1.0);
glCallList (FontList);
glPopMatrix;
if Pause then glCallList (PauseToGame);
end; //Start
if Selected_Menu_item='Car' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Car
begin //Car
if RemoveMeny<=-0.5 then RemoveMeny:=-0.5 else RemoveMeny:=RemoveMeny-0.018;
glCallList (Background);
glPushMatrix;
glTranslatef (RemoveMeny, 0.0,0.0);
glCallList (StringMeny);
glPopMatrix;
if RemoveMeny<=-0.5 then
begin
//ΠΠ΅Π½Ρ
glPushMatrix;
glTranslatef (0.5,0.2,0.0);
glCallList (SubMenuInCar);
glPopMatrix;
DeleyButtonInCarMeny;
//ΠΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΌΠ°ΡΠΈΠ½Π°
case CarMenuItem of
1:begin
//ShotWarKiller
glPushMatrix;
glTranslatef (0.5,0.12,0.0);
glCallList (ShotWarKiller);
glPopMatrix;
ChooseCar:='ShotWarKiller';
CarXPogresh:=XPogreshWarKiller;
CarYPogresh:=YPogreshWarKiller;
end;
2:begin
//ShotFlash
glPushMatrix;
glTranslatef (0.5,0.12,0.0);
glCallList (ShotFlash);
glPopMatrix;
ChooseCar:='ShotFlash';
CarXPogresh:=XPogreshFlash;
CarYPogresh:=YPogreshFlash;
end;
3:begin
//ShotGembic
glPushMatrix;
glTranslatef (0.5,0.12,0.0);
glCallList (ShotGembic);
glPopMatrix;
ChooseCar:='ShotGembic';
CarXPogresh:=XPogreshFlash;
CarYPogresh:=YPogreshFlash;
end;
4:begin
//ShotGlass
glPushMatrix;
glTranslatef (0.5,0.12,0.0);
glCallList (ShotGlass);
glPopMatrix;
ChooseCar:='ShotGlass';
CarXPogresh:=XPogreshFlash;
CarYPogresh:=YPogreshFlash;
end;
end;//Case
end;//RemoveMeny
end; //Car
if Selected_Menu_item='Actors' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Actors
begin
glCallList (Actor);
end;
if Selected_Menu_item='Exit' then //ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Exit
begin
end;
SwapBuffers (DC);
EndPaint (DC, ps);
{if Selected_Menu_item='Start'then begin
Canvas.Brush.Color:=clWhite;
Canvas.TextOut (500,40,'ΠΠ΅Π½Π·ΠΈΠ½: '+FloatToStrF (CountFuel, ffNumber, 6,3)+'Π»');
Canvas.TextOut (500,55,'ΠΠΈΡΡΠΎ: '+FloatToStrF (CountNitro, ffNumber, 6,3)+'ΠΊΠ³/ΡΠΌ');
Canvas.TextOut (500,70,'Π.ΠΌΠ΅ΡΡΡ: '+FloatToStrF (CountKM, ffNumber, 6,3)+'ΠΊΠΌ');
end;}
Caption:=StatisticCaption;
//ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ ΠΈ Π²Π΅ΡΡΠΈΡ OpenGL ΠΊΠ»Π°Π²ΠΈΡΠ° 'a'
if PressedKey[65]=true then
Caption:='OpenGL: '+
StrPas (glGetString (GL_VERSION))+
' '+
StrPas (glGetString (GL_VENDOR))+
' '+
StrPas (glGetString (GL_RENDERER));
if PressedKey[70]=true then //ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Fps — ΠΊΠ»Π°Π²ΠΈΡΠ° 'f'
begin
newCount:=GetTickCount;
Inc (frameCount);
If abs (newCount — lastCount) > 1000 then
begin
StatisticCaption:='FPS: '+FloatToStr (frameCount);
lastCount := newCount;
frameCount := 0;
end;
end;
if PressedKey[75]=true then
StatisticCaption:='X='+FloatToStrF (xpos, ffNumber, 4,3)+
' '+'Y='+FloatToStrF (ypos, ffNumber, 4,3);
if (PressedKey[70]=false)and
(PressedKey[75]=false)and
(PressedKey[65]=false)then StatisticCaption:='SpeedLine';
end;
procedure TSpeedGL. FormDestroy (Sender: TObject);
begin
//glDeleteLists (1,1);
timeKillEvent (uTimerID);
wglMakeCurrent (0, 0);
wglDeleteContext (hrc);
ReleaseDC (Handle, DC);
end;
procedure TSpeedGL. FormMouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
xpos:=2*X/ClientWidth-1;
ypos:=2*(ClientHeight-Y)/ClientHeight-1;
if Selected_Menu_item='' then begin //Selected_Menu_item
if (xpos>-0.3)and (ypos>0.4)and
(xpos<0.3)and (ypos>0.4)and
(xpos<0.3)and (ypos<0.6)and
(xpos>-0.3)and (ypos<0.6)then begin
if Menu_item<>1 then
PlaySound ('SoundSelect_MainMenu.wav', 0, SND_ASYNC);
Menu_item:=1;
end;
if (xpos>-0.3)and (ypos>0.15)and
(xpos<0.3)and (ypos>0.15)and
(xpos<0.3)and (ypos<0.35)and
(xpos>-0.3)and (ypos<0.35)then begin
if Menu_item<>2 then
PlaySound ('SoundSelect_MainMenu.wav', 0, SND_ASYNC);
Menu_item:=2;
end;
if (xpos>-0.3)and (ypos>-0.1)and
(xpos<0.3)and (ypos>-0.1)and
(xpos<0.3)and (ypos<0.1)and
(xpos>-0.3)and (ypos<0.1)then begin
if Menu_item<>3 then
PlaySound ('SoundSelect_MainMenu.wav', 0, SND_ASYNC);
Menu_item:=3;
end;
if (xpos>-0.3)and (ypos>-0.5)and
(xpos<0.3)and (ypos>-0.5)and
(xpos<0.3)and (ypos<-0.3)and
(xpos>-0.3)and (ypos<-0.3)then begin
if Menu_item<>4 then
PlaySound ('SoundSelect_MainMenu.wav', 0, SND_ASYNC);
Menu_item:=4;
end;
{if Selected_Menu_item='Start' then
begin
if
end;}
end; //Selected_Menu_item
end;