Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° DiamondPad ΡΠ»ΡΠΆΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ°Π±ΠΎΡ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ RTF. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ, Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΡΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- 1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 2. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
- 3. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
- 4. Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++
- 5. ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
- 6. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 7. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 8. Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
C++ (ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡΡ «ΡΠΈ ΠΏΠ»ΡΡ ΠΏΠ»ΡΡ») — ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΡΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ , ΡΠ°ΠΊ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ·ΡΠΊΠΎΠ². Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΎΠΌ — ΡΠ·ΡΠΊΠΎΠΌ C, — Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ «C++» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡ ΡΠ·ΡΠΊΠ° C, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ++ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π―Π·ΡΠΊ Π²ΠΎΠ·Π½ΠΈΠΊ Π² Π½Π°ΡΠ°Π»Π΅ 1980;Ρ Π³ΠΎΠ΄ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΡΠΈΡΠΌΡ Bell Laboratories ΠΡΡΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΡΡΠ΄ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠ·ΡΠΊΡ C ΠΏΠΎΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π½ΡΠΆΠ΄Ρ. ΠΠΎ Π½Π°ΡΠ°Π»Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ·ΡΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠ»Π°ΠΌΠΈ Π‘ΡΡΠ°ΡΡΡΡΡΠΏΠ° Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°.
Π―Π²Π»ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, C++ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ±Π»Π°ΡΡΡ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΡ). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΠ·ΡΠΊΠ° C++ — ΠΊΠ°ΠΊ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ . ΠΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΠΡΠΎΠ΅ΠΊΡ GNU, Microsoft, Intel ΠΈ Embarcadero (Borland). C++ ΠΎΠΊΠ°Π·Π°Π» ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° Java ΠΈ C#.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ C++ ΠΡΡΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΡΡΡΠ΅ΠΌΠΈΠ»ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ C. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ C, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ C++, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²Π΅Π»ΠΈΠΊΠΎ — ΠΎΡΡΠ°ΡΡΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ C++ Π±ΡΠ» ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ C.
2. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’Π΅ΠΌΠ° ΠΌΠΎΠ΅ΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ: «Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°».
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°, ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ RTF ΠΈ TXT, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ Ρ ΡΠ΅ΡΠΈΠ» Π² ΡΡΠ΅Π΄Π΅ Π‘++ Builder 6, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘++ Builder 6 ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ², ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
3. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
RichEdit — ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΈ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°
SpeedBar — ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π½Π° Π½Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
MainMenu — Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
OpenDialog — Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΡΠΊΡΡΡΡ»
SaveDialog — Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ»
FontDialog — Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π¨ΡΠΈΡΡ»
PrintDialog — Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠ΅ΡΠ°ΡΡ»
PopupMenu — ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ
SpeedButton — ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°
ComboBox — «Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ» ΡΠΏΠΈΡΠΎΠΊ
Label — ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ ΠΌΠ΅ΡΠΊΠ°
UpDown — ΠΊΠ½ΠΎΠΏΠΊΠ° «UpDown»
StatusBar — ΠΏΠ°Π½Π΅Π»Ρ ΡΡΠ°ΡΡΡΠ°
Image — ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
Bevel — ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ±ΠΎΡΠ° Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ C++ Builder 6, Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ ΠΌΡΡΠΈ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ΅Π½Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ SpeedBar 15 ΠΊΠ½ΠΎΠΏΠΎΠΊ SpeedButton ΠΈ ΠΏΡΠΈΠ΄Π°Π΄ΠΈΠΌ ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠΎΡΠΌΡ (Π ΠΈΡ. 1)
Π ΠΈΡ. 1
ΠΠ°ΡΠ΅ΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Properties Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ Π·Π½Π°ΡΠΊΠΈ, ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Ρ (ΠΏΡΡΠ΅ΠΌ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΡΠΊΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅) (Π ΠΈΡ. 2)
Π ΠΈΡ. 2
ΠΠΎΠ΄Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ «ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ».
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΌΠ΅Π½Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° (Π ΠΈΡ. 3)
Π ΠΈΡ. 3
ΠΠ°Π»Π΅Π΅, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π° ΡΠΎΡΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ RichEdit, MainMenu, OpenDialog, SaveDialog, FontDialog, PrintDialog, PopupMenu, ComboBox, Edit, UpDown, Label ΠΈ StatusBar. Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΈΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (Π ΠΈΡ 4.)
Π ΠΈΡ. 4
ΠΠ°Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ComboBox, Label, RichEdit ΠΈ MainMenu ΡΠ΅ΡΠ΅Π· Π²ΠΊΠ»Π°Π΄ΠΊΡ properties ΠΈΠ· Object Inspector. (Π ΠΈΡ. 5)
Π ΠΈΡ. 5
Π§Π΅ΡΠ΅Π· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ MainMenu ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ ΠΏΠΎ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ MainMenu, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ. (Π ΠΈΡ. 6)
Π ΠΈΡ. 6
Π§Π΅ΡΠ΅Π· Π½Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ (ΠΏΡΠ°Π²Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° ΠΌΡΡΠΈ -> insert) (Π ΠΈΡ. 7)
Π ΠΈΡ. 7
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ «ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΌΡ ΡΠ΅ΡΠ΅Π·
File -> new -> form. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Button, Image, Bevel, Label. Π§Π΅ΡΠ΅Π· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΠΈ Π³ΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Image ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Button Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΈΠΌΡ «OK», ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ. (Π ΠΈΡ. 8)
Π ΠΈΡ. 8
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (Π ΠΈΡ. 9):
Π ΠΈΡ. 9
ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ:
1 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»»
2 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΡΠΊΡΡΡΡ»
3 — ΠΠ½ΠΎΠΏΠΊΠ° «Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ»
4 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΠ΅ΡΠ°ΡΡ»
5 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΡΠΌΠ΅Π½Π°»
6 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ»
7 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΡΡΠ°Π²ΠΈΡΡ»
8 — ΠΠ½ΠΎΠΏΠΊΠ° «ΠΡΡΠ΅Π·Π°ΡΡ»
9 — ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ
10 — ΠΠ°Π½Π΅Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°
11 — ΠΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ°
4. Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++
//ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Diamond PAD
//ΠΠΎΠ»Π³ΠΈΡ ΠΠ½ΡΠΎΠ½ 2010. ΠΡΡΠΏΠΏΠ° ΠΠΠ-091
//—————————————————————————————————————-;
#include
#pragma hdrstop
#include
#include
#include
#include «Romain.h»
#include «RichAbt.h»
#include «ReConst.hpp»
#include «reinit.hpp»
const float RulerAdj = 4.0/3.0;
const int GutterWid = 6;
//—————————————————————————————————————-;
#pragma resource «*.dfm» TMainForm *MainForm;
//—————————————————————————————————————-;
__fastcall TMainForm: TMainForm (TComponent *Owner)
: TForm (Owner) { SetFileName (Reconst_SUntitled); }
//—————————————————————————————————————-;
template int AsInt (T Param)
{ return static_cast (Param);}
//—————————————————————————————————————-;
void __fastcall TMainForm: SelectionChange (TObject */*Sender*/)
{
TParaAttributes *Paragraph = RichEdit1->Paragraph;
TTextAttributes *SelAttributes = RichEdit1->SelAttributes;
char sizebuf[6]; try
{FUpdating = True;
FirstInd->Left = AsInt (Paragraph->FirstIndent*RulerAdj) — 4 + GutterWid;
LeftInd->Left = AsInt ((Paragraph->LeftIndent + Paragraph->FirstIndent)
* RulerAdj) — 4 + GutterWid;
RightInd->Left = Ruler->ClientWidth-6-AsInt ((Paragraph->RightIndent + GutterWid) * RulerAdj);
BoldButton->Down = SelAttributes->Style.Contains (fsBold);
ItalicButton->Down = SelAttributes->Style.Contains (fsItalic);
UnderlineButton->Down = SelAttributes->Style.Contains (fsUnderline);
BulletsButton->Down = static_cast (Paragraph->Numbering);
FontSize->Text = itoa (SelAttributes->Size, sizebuf, 10);
FontName->Text = SelAttributes->Name;
switch (AsInt (Paragraph->Alignment))
{case 0:
LeftAlign->Down = True;
break;
case 1:
RightAlign->Down = True;
break;
case 2:
CenterAlign->Down = True;
break; } }__finally{FUpdating = False;}}
//—————————————————————————————————————-;
TTextAttributes *__fastcall TMainForm: CurrText (void)
{return RichEdit1->SelAttributes;}
//—————————————————————————————————————-;
int __stdcall EnumFontsProc (TLogFontA &LogFont, TTextMetricA &/*TextMetric*/,
int /*FontType*/, Pointer Data)
{TCharsetObject *FontCharset; TStrings *Strings = static_cast (Data);
FontCharset = new TCharsetObject (AsInt (LogFont.lfCharSet)); Strings->AddObject (LogFont.lfFaceName, FontCharset); return 1;}
//—————————————————————————————————————-;
void __fastcall TMainForm: GetFontNames (void)
{ HDC hDC = GetDC (0);
void * cTmp = static_cast (FontName->Items);
EnumFonts (hDC, NULL, (FONTENUMPROC) EnumFontsProc, (long) cTmp);
ReleaseDC (0,hDC);
FontName->Sorted = True; }
//—————————————————————————————————————-;
void __fastcall TMainForm: SetFileName (const AnsiString FileName)
{LPSTR lpBuf = new char[MAX_PATH]; sprintf (lpBuf, Reconst_SPercent_s.c_str (), ExtractFileName (FileName).c_str (), Application->Title.c_str ());
Caption = lpBuf; FFileName = FileName; delete lpBuf; }
//—————————————————————————————————————-;
void __fastcall TMainForm: CheckFileSave (void)
{ if (RichEdit1->Modified) { switch (MessageBox (Handle, Reconst_SSaveChanges.c_str (),
Reconst_SConfirmation.c_str (), MB_YESNOCANCEL | MB_ICONQUESTION))
{case ID_YES: FileSaveClick (this); break; case ID_CANCEL: Abort (); }; } }
//—————————————————————————————————————-;
void __fastcall TMainForm: SetupRuler (void)
{ int iCtr = 1; char sTmp[201]; while (iCtr < 200) '; iCtr++; Ruler->Caption = sTmp; }
//—————————————————————————————————————-;
void __fastcall TMainForm: SetEditRect (void)
{TRect Rct = Rect (GutterWid, 0, RichEdit1->ClientWidth-GutterWid, ClientHeight);
SendMessage (RichEdit1->Handle, EM_SETRECT, 0, (long)&Rct); }
//—————————————————————————————————————-;
void __fastcall TMainForm: ShowHint (TObject* /*Sender*/)
{StatusBar->SimpleText = Application->Hint; }
//—————————————————————————————————————-;
void __fastcall TMainForm: FileNewClick (TObject* /*Sender*/)
{CheckFileSave (); SetFileName (Reconst_SUntitled); RichEdit1->Lines->Clear ();
RichEdit1->Modified = False;}
//—————————————————————————————————————-;
void __fastcall TMainForm: FileOpenClick (TObject* /*Sender*/)
{CheckFileSave (); if (OpenDialog->Execute ())
{RichEdit1->Lines->LoadFromFile (OpenDialog->FileName);
SetFileName (OpenDialog->FileName); RichEdit1->SetFocus (); RichEdit1->Modified = False;
RichEdit1->ReadOnly = OpenDialog->Options.Contains (ofReadOnly); } }
//—————————————————————————————————————-;
void __fastcall TMainForm: FileSaveClick (TObject* Sender)
{ if (!strcmp (FFileName.c_str (), Reconst_SUntitled.c_str ())) FileSaveAsClick (Sender); else {
RichEdit1->Lines->SaveToFile (FFileName); RichEdit1->Modified = False; } }
//—————————————————————————————————————-;
void __fastcall TMainForm: FileSaveAsClick (TObject* /*Sender*/)
{ if (SaveDialog->Execute ()) {
RichEdit1->Lines->SaveToFile (SaveDialog->FileName); SetFileName (SaveDialog->FileName);
RichEdit1->Modified = False;} }
//—————————————————————————————————————-;
void __fastcall TMainForm: FilePrintClick (TObject* /*Sender*/)
{ if (PrintDialog->Execute ()) RichEdit1->Print (FFileName); }
//—————————————————————————————————————-;
void __fastcall TMainForm: FileExitClick (TObject* /*Sender*/) {Close ();}
//—————————————————————————————————————-;
void __fastcall TMainForm: EditUndoClick (TObject* /*Sender*/)
{if (RichEdit1->HandleAllocated ()) SendMessage (RichEdit1->Handle, EM_UNDO, 0, 0);}
//—————————————————————————————————————-;
void __fastcall TMainForm: EditCutClick (TObject* /*Sender*/) {RichEdit1->CutToClipboard ();}
//—————————————————————————————————————-;
void __fastcall TMainForm: EditCopyClick (TObject* /*Sender*/) { RichEdit1->CopyToClipboard ();}
//—————————————————————————————————————-;
void __fastcall TMainForm: EditPasteClick (TObject* /*Sender*/) {RichEdit1->PasteFromClipboard ();}
//—————————————————————————————————————-;
void __fastcall TMainForm: HelpContentsClick (TObject* /*Sender*/)
{Application->HelpCommand (HELP_CONTENTS, 0);}
//—————————————————————————————————————-;
void __fastcall TMainForm: HelpSearchClick (TObject* /*Sender*/)
{Application->HelpCommand (HELP_PARTIALKEY, (long) «»);}
//—————————————————————————————————————-;
void __fastcall TMainForm: HelpHowToClick (TObject* /*Sender*/)
{Application->HelpCommand (HELP_HELPONHELP, 0);}
//—————————————————————————————————————-;
void __fastcall TMainForm: HelpAboutClick (TObject* /*Sender*/)
{Form2 = new TForm2(Application); Form2->ShowModal (); delete Form2;}
//—————————————————————————————————————-;
void __fastcall TMainForm: SelectFont (TObject* /*Sender*/)
{FontDialog1->Font->Assign (RichEdit1->SelAttributes);
if (FontDialog1->Execute ()) CurrText ()->Assign (FontDialog1->Font); RichEdit1->SetFocus (); }
//—————————————————————————————————————-;
void __fastcall TMainForm: RulerResize (TObject* /*Sender*/)
{ RulerLine->Width = (int)Ruler->ClientWidth — (RulerLine->Left*2); }
//—————————————————————————————————————-;
void __fastcall TMainForm: FormResize (TObject* Sender) { SetEditRect (); SelectionChange (Sender); }
//—————————————————————————————————————-;
void __fastcall TMainForm: FormPaint (TObject* /*Sender*/) {SetEditRect ();}
//—————————————————————————————————————-;
void __fastcall TMainForm: BoldButtonClick (TObject* /*Sender*/)
{ if (!FUpdating)
{if (BoldButton->Down) CurrText ()->Style = CurrText ()->Style << fsBold;
else CurrText ()->Style = CurrText ()->Style >> fsBold;}}
//—————————————————————————————————————-;
void __fastcall TMainForm: ItalicButtonClick (TObject* /*Sender*/)
{if (!FUpdating){ if (ItalicButton->Down) CurrText ()->Style = CurrText ()->Style << fsItalic; else
CurrText ()->Style = CurrText ()->Style >> fsItalic;}}
//—————————————————————————————————————-;
void __fastcall TMainForm: UnderlineButtonClick (TObject* /*Sender*/)
{if (!FUpdating){ if (UnderlineButton->Down)
CurrText ()->Style = CurrText ()->Style << fsUnderline;
else CurrText ()->Style = CurrText ()->Style >> fsUnderline;}}
//—————————————————————————————————————-;
void __fastcall TMainForm: FontSizeChange (TObject* /*Sender*/)
{int fontsize = atoi (FontSize->Text.c_str ()); if ((!FUpdating) && (fontsize)) {
if (fontsize < 1) {ShowMessage (Reconst_SNumberbetween); FontSize->Text = 1; } else if (fontsize > 1638){
ShowMessage (Reconst_SNumberbetween); FontSize->Text = 1638;}
CurrText ()->Size = atoi (FontSize->Text.c_str ());}}
//—————————————————————————————————————-;
void __fastcall TMainForm: AlignClick (TObject* Sender)
{if (!FUpdating){ TControl *oAliBtn = dynamic_cast (Sender);
RichEdit1->Paragraph->Alignment = static_cast (oAliBtn->Tag);}}
//—————————————————————————————————————-;
void __fastcall TMainForm: FontNameChange (TObject* /*Sender*/)
{ TCharsetObject* ChasrsetObject;
if (!FUpdating) { int FontIndex = FontName->ItemIndex;
if ((FontIndex > -1) && (FontIndex < FontName->Items->Count)) { ChasrsetObject = dynamic_cast (FontName->Items->Objects[FontName->ItemIndex]);
CurrText ()->Charset = ChasrsetObject->Charset;
CurrText ()->Name = FontName->Items->Strings[FontName->ItemIndex];
}}}
//—————————————————————————————————————-;
void __fastcall TMainForm: BulletsButtonClick (TObject* /*Sender*/)
{if (!FUpdating)
RichEdit1->Paragraph->Numbering = static_cast (BulletsButton->Down);}
//—————————————————————————————————————-;
void __fastcall TMainForm: FormCloseQuery (TObject* /*Sender*/, bool & CanClose)
{ try {CheckFileSave ();} catch (…) {CanClose = False; }}
//—————————————————————————————————————-;
void __fastcall TMainForm: RulerItemMouseDown (TObject * Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{TLabel *oTmpLabel = dynamic_cast (Sender);
FDragOfs = oTmpLabel->Width / 2;
oTmpLabel->Left = oTmpLabel->Left+X-FDragOfs; FDragging = True;}
//—————————————————————————————————————-;
void __fastcall TMainForm: RulerItemMouseMove (TObject *Sender, TShiftState Shift, int X, int /*Y*/)
{if (FDragging) {
TLabel * oTmpLabel = dynamic_cast (Sender); oTmpLabel->Left = oTmpLabel->Left+X-FDragOfs;}}
//—————————————————————————————————————-;
void __fastcall TMainForm: FirstIndMouseUp (TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{FDragging = False; RichEdit1->Paragraph->FirstIndent = AsInt ((FirstInd->Left+FDragOfs-GutterWid) / RulerAdj); LeftIndMouseUp (Sender, Button, Shift, X, Y);}
//—————————————————————————————————————-;
void __fastcall TMainForm: LeftIndMouseUp (TObject *Sender, TMouseButton /*Button*/, TShiftState /*Shift*/, int /*X*/, int /*Y*/)
{FDragging = False; RichEdit1->Paragraph->LeftIndent = AsInt ((LeftInd->Left+FDragOfs-GutterWid) /
RulerAdj)-RichEdit1->Paragraph->FirstIndent; SelectionChange (Sender); }
//—————————————————————————————————————-;
void __fastcall TMainForm: RightIndMouseUp (TObject *Sender, TMouseButton /*Button*/, TShiftState /*Shift*/, int /*X*/, int /*Y*/)
{FDragging = False; RichEdit1->Paragraph->RightIndent =
AsInt ((Ruler->ClientWidth-RightInd->Left+FDragOfs-2) / RulerAdj) — 2 * GutterWid; SelectionChange (Sender); }
//—————————————————————————————————————-;
void __fastcall TMainForm: FormActivate (TObject *Sender)
{Application->HelpFile = «RICHEDIT.HLP»; RichEdit1->SetFocus ();}
//——————————————————————————————————;
void SetLocaleOverrides (char* FileName, char* LocaleOverride)
{HKEY Key; const char* LocaleOverrideKey = «Software\Borland\Locales» ;
if (RegOpenKeyEx (HKEY_CURRENT_USER, LocaleOverrideKey, 0, KEY_ALL_ACCESS, &Key)
== ERROR_SUCCESS) {if (lstrlen (LocaleOverride) == 3)
RegSetValueEx (Key, FileName, 0, REG_SZ, (const BYTE*)LocaleOverride, 4); RegCloseKey (Key);}}
//——————————————————————————————————;
void __fastcall TMainForm: FormDestroy (TObject *Sender)
{for (int n = 0;n < FontName->Items->Count;n++) if (FontName->Items->Objects[n])
{delete FontName->Items->Objects[n]; FontName->Items->Objects[n] = NULL;}}
//—————————————————————————————————————-;
__fastcall TCharsetObject: TCharsetObject (int FCharset): TObject () {Charset = FCharset;}
//—————————————————————————————————————;
void __fastcall TMainForm: BitBtn1Click (TObject *Sender)
{CheckFileSave ();
SetFileName (Reconst_SUntitled); RichEdit1->Lines->Clear (); RichEdit1->Modified = False;}
//—————————————————————————————————————;
void __fastcall TMainForm: SpeedButton1Click (TObject *Sender)
{CheckFileSave ();
SetFileName (Reconst_SUntitled); RichEdit1->Lines->Clear (); RichEdit1->Modified = False; }
//—————————————————————————————————————;
5. ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ «Π’Π΅ΡΡΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ» Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Microsoft Windows XP (ΠΈ Π²ΡΡΠ΅), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Borland C++ Builder 6 — ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠ»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WordPad, ΠΈΠ΄ΡΡΠ΅Π΅ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Microsoft Windows .
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ WordPad ΠΈΠ· ΠΌΠ΅Π½Ρ «ΠΡΡΠΊ — ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ — WordPad». Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π½Π°Π΄ Π½ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ° Π½Π° ΠΆΠΈΡΠ½ΡΠΉ, Π½Π°ΠΊΠ»ΠΎΠ½Π½ΡΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡΠΉ, ΠΎΡΡΡΡΠΏ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΈΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ Π΅Π³ΠΎ ΡΠΈΠΏΠ° (Π ΠΈΡ. 10):
Π ΠΈΡ. 10
Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
6. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ DiamondPad. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π½Π°Π΄ Π½ΠΈΠΌ ΡΠ΅ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΈ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ (Π ΠΈΡ.11):
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π ΠΈΡ.11
Π’Π΅ΠΊΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡ, ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΡΡΡ, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ, Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ, ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ RTF ΡΠ°ΠΊ ΠΈ TXT. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ²ΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
7. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° DiamondPad ΡΠ»ΡΠΆΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ°Π±ΠΎΡ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ RTF. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ, Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΡΠ΅.
DiamondPad ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°:
Β· Π¨ΡΠΈΡΡ
Β· Π Π°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°
Β· ΠΠ°ΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ°
Β· ΠΠΈΡΠ½ΡΠΉ ΡΡΠΈΡΡ
Β· ΠΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅
Β· ΠΠΎ Π»Π΅Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ
Β· ΠΠΎ ΡΠ΅Π½ΡΡΡ
Β· ΠΠΎ ΠΏΡΠ°Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ
Β· ΠΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ°
Β· ΠΡΡΠ°Π²ΠΊΠ° ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
9. Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
1. ΠΠΎΠ½Π°ΠΌΠ°ΡΠ΅Π² Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C++/C# Π² Visual Studio .NET 2003 ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³. 2004.
2. ΠΠ°Π²ΡΠ΄ΠΎΠ² Π. Π. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³. 2005.
3. ΠΠΆ. ΠΠΎΠΏΠ»ΠΈΠ΅Π½ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C++. 2005.
4. ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠΎΠ² Π. Π. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ Builder 6. ΠΡΡ-ΠΏΡΠ΅ΡΡ. 2006.
5. ΠΠ½ΡΠΎΠ½ΠΎΠ² Π‘. Π. Π‘++ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . ΠΠΈΠ°Π»Π΅ΠΊΡΠΈΠΊΠ° — Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³. 2007.
6. Π. Π. Π Π°ΡΠ½Π΅Ρ. ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ"