Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠ²ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΡΠΎΠ² ΡΡΠ°Π΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ»Π»Π΅ΡΠΈΠΉΡΠΊΠΈΡ ΡΠ½Π°ΡΡΠ΄ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΎΡΠΎΠΉ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠΉΠ½Ρ, Π±ΡΠ»Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ. Π Π°Π½ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΡΠ°ΠΌΡΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²ΡΠΈΠΌΠΈ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΡΠΎΡΠ»ΠΈ ΠΈΠ· Π΄Π»ΠΈΠ½Π½ΡΡ ΡΡΡΠΎΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈ Π½ΡΠ»Π΅ΠΉ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
2. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ΅Π΄Ρ Visual C++
2.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ° ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ²ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΡΠΎΠ² ΡΡΠ°Π΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ»Π»Π΅ΡΠΈΠΉΡΠΊΠΈΡ ΡΠ½Π°ΡΡΠ΄ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΎΡΠΎΠΉ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠΉΠ½Ρ, Π±ΡΠ»Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ. Π Π°Π½ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΡΠ°ΠΌΡΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²ΡΠΈΠΌΠΈ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΡΠΎΡΠ»ΠΈ ΠΈΠ· Π΄Π»ΠΈΠ½Π½ΡΡ ΡΡΡΠΎΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈ Π½ΡΠ»Π΅ΠΉ. ΠΡΠΊΠΎΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ADD ΠΈΠ»ΠΈ MOV).
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠ°ΠΊ BASIC ΠΈ COBOL. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠΌ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· ΡΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ integer I = 100. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ·ΡΠΊ ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ. ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΆΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π³ΠΎΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π»ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ Visual C++, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Ρ ΠΈΡ ΡΠ°ΠΌΠΎΠΌΡ, Π° Π±ΡΠ°ΡΡ ΠΈΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ Windows, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΠ²ΡΠ·ΠΈ Ρ Π²ΡΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π½Π°ΠΌΠΈ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΠ΅Π΄Π° Visual C++ 6.0
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡΡΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MFC:
— Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ;
— ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡ ΡΠ·ΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°;
— Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π² ΡΠ°ΠΉΠ».
2. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ΅Π΄Ρ Visual C++
Π‘ΡΠ΅Π΄Π° Visual C++ - ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²ΡΡΠΎΠΊΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ IDE (Integrated Development Environment). IDE ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠ΄ ΠΎΠΊΠΎΠ½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² IDE.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual C++ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΈΠ΄ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ) ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΡΠΎΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΠΊΠΎΠ½, Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΊΠ½Π°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Image Editor (Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ). ΠΠΊΠ½Π° Visual C++ (Π½ΠΎ Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠ΅) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ, ΡΠ±ΠΈΡΠ°ΡΡ Ρ ΡΠΊΡΠ°Π½Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΡΡΠ°Π» Microsoft Visual C++ 6.0. Visual C++ 6.0, Π²ΠΎΠ±ΡΠ°Π² Π² ΡΠ΅Π±Ρ Π²ΡΡ ΡΠ°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅Π΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΄ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π» Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Visual C++ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
Visual C++ 6.0 ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠ΅Π΄Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΎΡ Windows 95 Π΄ΠΎ Windows 2000 ΠΈ Windows XP. ΠΡΠΎΠ±Π΅Π½Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΠΏΠ° Pentium, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ — Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 32 ΠΠ±Π°ΠΉΡ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (ΠΏΠΎΡΡΠ΄ΠΊΠ° 200 ΠΠ±Π°ΠΉΡ).
2.1 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π‘ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ», ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ·ΡΠΊΠ°Ρ : C ΠΈ Π‘++, Pascal, Basic ΠΈ Assembler.
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ²: CKursApp, CKursDlg ΠΈ CSelectLangDlg. ΠΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, Ρ.ΠΊ. ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Π Π°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π΄Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ : RemoveOneLineComments ΠΈ RemoveMultiLineComments. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ. Π Π½Π΅Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ ΠΏΠ°ΡΠ½ΡΡ ΠΈΠΌ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΡ , ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΠ΅ΠΉΡΠΈΠΊΠ΅, ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡΡ ΠΈ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠΌΡ. Π ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠ² ΠΈ ΡΠ°ΠΌ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°. Π Π°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ². ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Π½, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, Π΅ΡΡΡ Π»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ. Π‘ΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ Π΅Π΅ ΡΠ°ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΄Π°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
3. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° kurs. exe, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅ΡΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΎΠΊΠ½ΠΎ, Π² Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° Π½Π°Π΄ΠΏΠΈΡΡ «Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «- ΡΡΠΎ ΠΈΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»Ρ, Π²Π²Π΅Π΄Ρ ΠΈΡ ΠΏΡΡΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°Π² ΠΈΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Π²ΡΠ±ΠΎΡΠ°. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ·ΡΠΊ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π°. ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ». ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Π²ΡΠ΄Π°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ: Pentium 100, 16 MB RAM, Windows 95/98/2000 NT/XP.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Visual C++. Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡΡΠ΅Π½Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΠΠ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌ ΠΊΡΡΡΠ° «ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅». ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠ΅ΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΆΡΡΠ½Π°Π»Π°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ΅Π»ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠ»ΡΡΠ΅Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ΅Π΄Π΅ Visual C++ ΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
1. ΠΠ΅ΡΠ·ΠΎΠ»ΡΠ΄ Π§. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Windows 95. Π Π΄Π²ΡΡ ΠΊΠ½ΠΈΠ³Π°Ρ : BHV — Π‘Π°Π½ΠΊΡ — ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2007, silt.
2. Π ΠΈΡΠ°ΡΠ΄ Π‘. ΠΠΈΠ½ΠΊΠ΅Ρ, Π’ΠΎΠΌ ΠΡΡΠ΅Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Windows 7. ΠΠΈΠ±Π»ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. «ΠΠΈΠ°Π»Π΅ΠΊΡΠΈΠΊΠ° «- ΠΠΎΡΠΊΠ²Π°, 2009.-864 Ρ.: ΠΈΠ».- ΠΠ°ΡΠ°Π». ΡΠΈΡ. Π°Π½Π³Π». Π£Ρ.ΠΏΠΎΡ.
3. ΠΠΆΠ΅ΡΡ ΠΠΈΠ±Π΅ΡΡΠΈ. Π‘++ Π·Π° 21 Π΄Π΅Π½Ρ. «ΠΠΈΠ»ΡΡΠΌΡ» — ΠΠΎΡΠΊΠ²Π°, 2000.-816 Ρ.: ΠΈΠ». .- ΠΠ°ΡΠ°Π».ΡΠΈΡ. Π°Π½Π³Π».
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π€Π°ΠΉΠ» kursDlg. cpp
// kursDlg. cpp: implementation file
#include «stdafx.h»
#include «kurs.h»
#include «kursDlg.h»
#include «SelectLangDlg.h»
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define LANG_CPP 1
#define LANG_PASCAL 2
#define LANG_BASIC 3
#define LANG_ASM 4
// CKursDlg dialog
CKursDlg:CKursDlg (CWnd* pParent /*=NULL*/)
: CDialog (CKursDlg:IDD, pParent)
{
//{{AFX_DATA_INIT (CKursDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp ()->LoadIcon (IDR_MAINFRAME);
}
void CKursDlg: DoDataExchange (CDataExchange* pDX)
{
CDialog:DoDataExchange (pDX);
//{{AFX_DATA_MAP (CKursDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP (CKursDlg, CDialog)
//{{AFX_MSG_MAP (CKursDlg)
ON_WM_SYSCOMMAND ()
ON_WM_PAINT ()
ON_WM_QUERYDRAGICON ()
ON_BN_CLICKED (IDC_BTNSOURCE, OnBtnsource)
ON_BN_CLICKED (IDC_BTNMAKE, OnBtnmake)
ON_BN_CLICKED (IDC_BTNDEST, OnBtndest)
//}}AFX_MSG_MAP
END_MESSAGE_MAP ()
// CKursDlg message handlers
BOOL CKursDlg: OnInitDialog ()
{
CDialog:OnInitDialog ();
/ Set the icon for this dialog. The framework does this automatically
// when the application’s main window is not a dialog
SetIcon (m_hIcon, TRUE);// Set big icon
SetIcon (m_hIcon, FALSE);// Set small icon
m_lang = LANG_CPP;
m_name = «» ;
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CKursDlg: OnSysCommand (UINT nID, LPARAM lParam)
{
CDialog:OnSysCommand (nID, lParam);
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CKursDlg: OnPaint ()
{
if (IsIconic ())
{
CPaintDC dc (this); // device context for painting
SendMessage (WM_ICONERASEBKGND, (WPARAM) dc. GetSafeHdc (), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics (SM_CXICON);
int cyIcon = GetSystemMetrics (SM_CYICON);
CRect rect;
GetClientRect (&rect);
int x = (rect.Width () — cxIcon + 1) / 2;
int y = (rect.Height () — cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon (x, y, m_hIcon);
}
else
{
CDialog:OnPaint ();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CKursDlg: OnQueryDragIcon ()
{
return (HCURSOR) m_hIcon;
}
void CKursDlg: OnBtnsource ()
{
CFileDialog dlg (TRUE, NULL, NULL, 0,
" C++ and C files (*.cpp; *.c; *.h; *.hpp)|*.cpp;*.c;*.h;*.hpp|Pascal files (*.pas)|*.pas|Basic files (*.bas)|*.bas|Assembler files (*.asm)|*.asm|All files|*.*||", this);
CString lang;
CSelectLangDlg select;
if (dlg.DoModal () == IDOK)
{
m_name = dlg. GetPathName ();
SetDlgItemText (IDC_SOURCE, m_name);
int point_pos = m_name.ReverseFind ('.');
if (point_pos == -1)
{
if (select.DoModal ())
m_lang = select. m_language + 1;
else
m_lang = LANG_CPP;
}
else
{
lang = m_name.Right (m_name.GetLength () — point_pos — 1);
if ((lang == «c») || (lang == «cpp») || (lang == «h») || (lang == «hpp»))
m_lang = LANG_CPP;
else if (lang == «pas»)
m_lang = LANG_PASCAL;
else if (lang == «bas»)
m_lang = LANG_BASIC;
else if (lang == «asm»)
m_lang = LANG_ASM;
else
{
if (select.DoModal ())
m_lang = select. m_language + 1;
else
m_lang = LANG_CPP;
}
}
point_pos = m_name.ReverseFind ('\');
m_dest = m_name.Left (point_pos);
m_dest += «\output.» ;
m_dest += lang;
SetDlgItemText (IDC_DEST, m_dest);
}
}
void CKursDlg: OnBtnmake ()
{
GetDlgItemText (IDC_SOURCE, m_name);
GetDlgItemText (IDC_DEST, m_dest);
CFile source (m_name, CFile: modeRead | CFile: shareDenyRead | CFile: shareDenyWrite | CFile: normal);
CString text;
char buffer;
UINT i;
for (i = 0; i < source. GetLength (); i++)
{
source.Read (&buffer, 1);
text += buffer;
}
text.GetBuffer (0)[source.GetLength ()] = 0;
switch (m_lang)
{
case LANG_CPP:
{
RemoveOneLineComments (text, «//», FALSE, «»);
if (RemoveMultiLineComments (text, «/*», «*/») == -1)
{
AfxMessageBox («ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ», MB_ICONERROR);
return;
}
break;
}
case LANG_PASCAL:
{
RemoveOneLineComments (text, «//», FALSE, «»);
if (RemoveMultiLineComments (text, «{», «}») == -1)
{
AfxMessageBox («ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ», MB_ICONERROR);
return;
}
break;
}
case LANG_BASIC:
{
RemoveOneLineComments (text, «'», TRUE, «_»);
RemoveOneLineComments (text, «REM «, TRUE, «_»);
RemoveOneLineComments (text, «rem «, TRUE, «_»);
RemoveOneLineComments (text, «Rem «, TRUE, «_»);
break;
}
case LANG_ASM:
{
RemoveOneLineComments (text, «;», FALSE, «»);
break;
}
}
source.Close ();
CFile dest (m_dest, CFile: modeCreate | CFile: modeReadWrite | CFile: normal);
dest.Write (text.GetBuffer (0), text. GetLength ());
AfxMessageBox («ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ», MB_ICONINFORMATION);
}
int CKursDlg: RemoveOneLineComments (CString& text, CString comment, BOOL bHasLineWraps, CString wrap)
{
CArray linelist;
CString line, full = text;
char *buffer = full. LockBuffer ();
char *token = strtok (buffer, «rn»);
while (token)
{
linelist.Add (CString (token));
token = strtok (NULL, «rn»);
}
full.UnlockBuffer ();
int i, find, count;
BOOL bWrap = FALSE;
for (i = 0; i < linelist. GetSize (); i++)
{
if (linelist[i]. Find (comment, 0) == 0)
{
if (bHasLineWraps)
{
if (linelist[i]. Find (wrap, 0) == linelist[i]. GetLength () — wrap. GetLength ())
bWrap = TRUE;
}
linelist.RemoveAt (i);
i—;
continue;
}
else if ((find = linelist[i]. Find (comment, 0)) > 0)
{
if (bHasLineWraps)
{
if (linelist[i]. Find (wrap, 0) == linelist[i]. GetLength () — wrap. GetLength ())
bWrap = TRUE;
}
count = linelist[i]. GetLength () — find;
linelist[i]. Delete (find, count);
continue;
}
if (bHasLineWraps && bWrap)
{
if (linelist[i]. Find (wrap, 0) == linelist[i]. GetLength () — wrap. GetLength ())
bWrap = TRUE;
else
bWrap = FALSE;
linelist.RemoveAt (i);
i—;
}
}
text = «» ;
for (i = 0; i < linelist. GetSize (); i++)
{
text += linelist[i];
text += «rn» ;
}
linelist.RemoveAll ();
return 0;
}
int CKursDlg: RemoveMultiLineComments (CString &text, CString opencomment, CString closecomment)
{
int open, close;
while ((open = text. Find (opencomment, 0)) ≠ -1)
{
if ((close = text. Find (closecomment, open)) ≠ -1)
{
text.Delete (open, close — open + closecomment. GetLength ());
}
else
return -1;
}
return 0;
}
void CKursDlg: OnBtndest ()
{
CFileDialog dlg (FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
" C++ and C files (*.cpp; *.c; *.h; *.hpp)|*.cpp;*.c;*.h;*.hpp|Pascal files (*.pas)|*.pas|Basic files (*.bas)|*.bas|Assembler files (*.asm)|*.asm|All files|*.*||", this);
if (dlg.DoModal () == IDOK)
{
m_dest = dlg. GetPathName ();
SetDlgItemText (IDC_DEST, m_dest);
}
}
Π€Π°ΠΉΠ» SelectLangDlg;
// SelectLangDlg. cpp: implementation file
#include «stdafx.h»
#include «kurs.h»
#include «SelectLangDlg.h»
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CSelectLangDlg dialog
CSelectLangDlg:CSelectLangDlg (CWnd* pParent /*=NULL*/)
: CDialog (CSelectLangDlg:IDD, pParent)
{
//{{AFX_DATA_INIT (CSelectLangDlg)
m_language = 0;
//}}AFX_DATA_INIT
}
void CSelectLangDlg: DoDataExchange (CDataExchange* pDX)
{
CDialog:DoDataExchange (pDX);
//{{AFX_DATA_MAP (CSelectLangDlg)
DDX_Radio (pDX, IDC_CPP, m_language);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP (CSelectLangDlg, CDialog)
//{{AFX_MSG_MAP (CSelectLangDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP ()
// CSelectLangDlg message handlers
void CSelectLangDlg: OnOK ()
{
UpdateData ();
CDialog:OnOK ();
}
BOOL CSelectLangDlg: OnInitDialog ()
{
CDialog:OnInitDialog ();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}