ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Алгоритм, написаниС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β»

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ (Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам) ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ выглядящий ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ интСрфСйс для Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Π»ΡŽΠ±ΠΎΠΌ языкС. Π’ Ρ‡Π°ΡΡ‚ности, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ C++Builder ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ систСму с ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ соврСмСнным интСрфСйсом ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ DOS, Windows ΠΈ Π΄Ρ€. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ удовлСтворяСт всСм трСбованиям Windows ΠΈ Π°Π²Ρ‚оматичСски настраиваСтся… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Алгоритм, написаниС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ формирования тСкста ΠΈΠ· ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ ΠΎΠ±Ρ€Π°Π·Ρ†Π°. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π΅ слова. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ возмоТности:

ΒΆ измСнСния ΡˆΡ€ΠΈΡ„Ρ‚Π°;

ΒΆ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°;

ΒΆ Ρ‚ΠΈΠΏΠ° выравнивания;

ΒΆ Ρ†Π²Π΅Ρ‚Π° тСкста ΠΈ Ρ„ΠΎΠ½Π°;

ΒΆ сохранСния тСкста Π² Ρ„Π°ΠΉΠ»;

ΒΆ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ тСкстового Ρ„Π°ΠΉΠ»Π°

ΒΆ поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ тСкстового Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°.

Π”Π°Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΠΎΠΌ ΠΈΠ· ΠΈΠ·Π²Π΅ΡΡ‚Π½Ρ‹Ρ… языков программирования, ΠΈ Π΄Π»Ρ закрСплСния ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚вования своих практичСских Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², написания ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π‘++ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π» срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C++Builder 6

ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄ΠΎ ΠΌΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π° посвящСна Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ тСкста. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста являСтся ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ оформлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

РазрабатываСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° — «Π’Скстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€» Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ свСрхновой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ людьми, Ρ‚Π°ΠΊ ΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ корпорациями.

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ стоит Π·Π°Π΄Π°Ρ‡Π°, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΈΡ…, Π° Π²ΡΠ΅Π³ΠΎ лишь ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Скстом. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π·Π°ΠΌΠ΅Π½Ρ‹ встроСнного Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° «WordPad».

1. Π’Π«Π‘ΠžΠ  И ΠžΠ‘ΠžΠ‘ΠΠžΠ’ΠΠΠ˜Π• Π―Π—Π«ΠšΠ ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π―

Π’ качСствС языка программирования для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π². отдСлСния Π²Ρ‹Π±Ρ€Π°Π½ Π‘++ ΠΈ, основанная Π½Π° Π½Π΅ΠΌ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C++Builder 6. Π­Ρ‚ΠΎ мощная систСма Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ мноТСство Π·Π°Π΄Π°Ρ‡, Π² Ρ‡Π°ΡΡ‚ности:

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹Π΅ прилоТСния для Windows самой Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ направлСнности, ΠΎΡ‚ Ρ‡ΠΈΡΡ‚ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΡ…, Π΄ΠΎ Π³Ρ€Π°Ρ„ичСских ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°.

* Быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ (Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам) ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ выглядящий ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ интСрфСйс для Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Π»ΡŽΠ±ΠΎΠΌ языкС. Π’ Ρ‡Π°ΡΡ‚ности, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ C++Builder ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ систСму с ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ соврСмСнным интСрфСйсом ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ DOS, Windows ΠΈ Π΄Ρ€. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ удовлСтворяСт всСм трСбованиям Windows ΠΈ Π°Π²Ρ‚оматичСски настраиваСтся Π½Π° Ρ‚Ρƒ ΡΠΈΡΡ‚Π΅ΠΌΡƒ, которая установлСна Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Windows.

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ систСмы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΈ этом ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ срСдства Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π² ΡΠ΅Ρ‚ΡŒ.

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π²Π΅Π½Π½Ρ‹Π΅ распрСдСлСнныС прилоТСния, основанныС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… тСхнологиях.

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прилоТСниями, Π² Ρ‡Π°ΡΡ‚ности, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Microsoft Office, ΠΊΠ°ΠΊ Word, Excel ΠΈ Π΄Ρ€.

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² Windows, Ρ‚Π°ΠΊ ΠΈ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Linux.

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… классов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π².

* Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ установки для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ всю спСцифику ΠΈ Π²ΡΠ΅ трСбования Windows.

* И ΠΌΠ½ΠΎΠ³ΠΎΠ΅, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ созданиС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², справочных систСм, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ DLL, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ActiveX ΠΈ Ρ‚. ΠΏ.

C++Builder — Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ быстро Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ систСма, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ постоянно ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ всС Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. НовыС вСрсии Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎ.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ возмоТности эквивалСнтных вСрсий Π‘++Π’uilder ΠΈ Delphi ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹. Π­Ρ‚ΠΎ Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ язык Object Pascal Π² Π½Π°ΡΡ‚оящСС врСмя ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΎΠΊ (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ синтаксис) ΠΊ C++. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Π²Ρ‹Π±ΠΎΡ€ C++ ΠΈΠ»ΠΈ Object Pascal, ΠΈ, соотвСтствСнно, C++Builder ΠΈΠ»ΠΈ Delphi — Π΄Π΅Π»ΠΎ вкуса ΠΈ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ программиста. Но Π²ΡΠ΅-Ρ‚Π°ΠΊΠΈ язык C++ ΠΏΠΎΠΊΠ° нСсколько Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Ρ‡Π΅ΠΌ Object Pascal. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² C++ Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ C++Builder.

Из ΠΏΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎΠ³ΠΎ срСдства создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Windows C++Builder прСвращаСтся Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΌΠ½ΠΎΠ³ΠΎΠ·Π²Π΅Π½Π½Ρ‹Ρ… распрСдСлСнных кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

2. Π€Π˜Π—Π˜Π§Π•Π‘ΠšΠΠ― БВРУКВУРА ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ«

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ C++Builder состоит ΠΈΠ· Ρ„ΠΎΡ€ΠΌ, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с ΠΈΡ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, установок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, рСсурсов ΠΈ Ρ‚. Π΄. Вся эта информация размСщаСтся Π² Ρ„Π°ΠΉΠ»Π°Ρ…. МногиС ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² автоматичСски ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ C++Builder, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΡΡ‚Ρ€ΠΎΠΈΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. РСсурсы, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚. Π΄., находятся Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… источников ΠΈΠ»ΠΈ создаСм ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ многочислСнных инструмСнтов ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² рСсурсов, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π½Π°ΡˆΠ΅ΠΌ распоряТСнии (см. Ρ‚Π°Π±Π». 1).

Π’Π°Π±Π»ΠΈΡ†Π° 1 — ЀизичСская структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

НаимСнованиС

НазначСниС

Π“ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (.cpp)

TeRAn.cpp

Π‘++Builder создаСт Ρ„Π°ΠΉΠ» .cpp для Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WinMain, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ Π΅Π³ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Π€Π°ΠΉΠ» ΠΎΠΏΡ†ΠΈΠΉ

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (.bpr)

TeRAn.bpr

Π­Ρ‚ΠΎΡ‚ тСкстовый Ρ„Π°ΠΉΠ» содСрТит установки ΠΎΠΏΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π€Π°ΠΉΠ» сохраняСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML.

Π€Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля (.cpp)

TeR.cpp

КаТдой создаваСмой Π²Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ΅ соотвСтствуСт тСкстовый Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для хранСния ΠΊΠΎΠ΄Π°. Иногда Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сами ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Π΅ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.

ВСкстовый Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Unit1.cpp

ВСкстовый Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля «Πž ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅»

Unit2.cpp

ВСкстовый Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля «Π‘ΠΏΡ€Π°Π²ΠΊΠ°»

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» модуля (.h)

КаТдой создаваСмой Π²Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ΅ соотвСтствуСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля, Π½ΠΎ ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ класса Ρ„ΠΎΡ€ΠΌΡ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ ΡΠ°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

Π€Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΡ‹ (.dfm)

Π­Ρ‚ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ тСкстовый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π‘++Builder создаСт для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π°ΡˆΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² Ρ‚Скстовом Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ соотвСтствуСт Ρ„Π°ΠΉΠ» модуля (.cpp).

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» (.exe)

TeRAn.exe

Π­Ρ‚ΠΎ исполняСмый Ρ„Π°ΠΉΠ» вашСго прилоТСния. Он ΡΠ²Π»ΡΠ΅Ρ‚ся Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌ исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ большС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ‚рСбуСтся, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, содСрТащиСся Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, DLL, OCX ΠΈ Ρ‚. Π΄.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» модуля (.obj)

Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» модуля (.cpp), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компонуСтся Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ».

Π€Π°ΠΉΠ» рСсурсов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (.res)

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», содСрТащий рСсурсы ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, курсоры ΠΈ Ρ‚. ΠΏ. ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚ дополнятся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Image Editor)

Π€Π°ΠΉΠ» Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символов (.tds)

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ прилоТСния.

Π€Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ (.~cpp, .~h, .~bp, .~df)

Π­Ρ‚ΠΎ соотвСтствСнно Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ для Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Если Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±Π΅Π·Π½Π°Π΄Π΅ΠΆΠ½ΠΎ испортили Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ соотвСтствСнно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ этих Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ Π½Π΅ ΠΈΡΠΏΠΎΡ€Ρ‡Π΅Π½Π½ΠΎΠΌΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ.

Из Π²ΡΠ΅Ρ… пСрСчислСнных Ρ„Π°ΠΉΠ»ΠΎΠ² ваТнСйшими ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ .cpp, .h, .dfm, .bpr, .res. Π­Ρ‚ΠΎ Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ пСрСнСсти Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ссли Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ C++Builder создаст автоматичСски Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ… C++Builder хранится Π² Ρ‚Ρ€Π΅Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…: .cpp, .h, .dfm. Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΈΠ»ΠΈ тСкстовом Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .dfm хранится информация ΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌ Π²ΠΈΠ΄Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…, мСстополоТСнии Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈ Ρ‚. Π΄.

Основной Ρ„Π°ΠΉΠ», с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ — Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля .cpp, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится ΠΊΠΎΠ΄, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Π’ Ρ‚Скстовом Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .h хранится объявлСниС класса вашСй Ρ„ΠΎΡ€ΠΌΡ‹. Π’Π΅ΡΡŒ основной тСкст этого Ρ„Π°ΠΉΠ»Π° C++Builder Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ автоматичСски ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ проСктирования Π²Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.

Если Π²Ρ‹ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎ ΠΏΡ€ΠΎΡΡ‚ранство Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ нСэффСктивно Π·Π°Π±ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π΅Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, это относится ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ .obj, .res, .tds, .~*. Особо ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ .tds, объСм ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большим (нСсколько ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько слов ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ .exe ΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ C++Builder ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ² — Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ выполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ .exe ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (packages) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ случаС Ρ€Π°Π·ΠΌΠ΅Ρ€ выполняСмого Ρ„Π°ΠΉΠ»Π° сущСствСнно сокращаСтся, Π½ΠΎ Π·Π°Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ выполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½ΠΎ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ΠΎ Π²ΡΡΠΊΠΎΠΌ случаС, Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

Π­Ρ‚ΠΎ сущСствСнно сократит Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ выполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ±Π΅Ρ€Π΅ΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π΅ΠΌΠ°Π»ΠΎ дискового пространства.

3. ΠœΠ•Π’ΠžΠ”Π˜ΠšΠ Π Π•Π¨Π•ΠΠ˜Π― Π—ΠΠ”ΠΠ§Π˜

РазобьСм ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ:

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2. Π’Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ справки, содСрТащСй руководство ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅.

4. ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит Π² ΡΠ²ΠΎΠ΅ΠΌ составС всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ нСзависимо ΠΎΡ‚ C++Buildera. Запуск производится ΠΏΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Ρ„Π°ΠΉΠ»Π° TeRAn. exe Π‘Ρ€Π°Π·Ρƒ послС этого Π±Π΅Π· промСдлСния открываСтся Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 1)

Рисунок 1 — Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния Π’ ΡΡ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ располоТСны основныС срСдства управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

НСпосрСдствСнно Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Скстом участвуСт Ρ„ΠΎΡ€ΠΌΠ° «Π‘ΠΏΡ€Π°Π²ΠΊΠ°», прСдставлСнная Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2. ВСкст справки считываСтся ΠΈΠ· Ρ„Π°ΠΉΠ»Π° hlp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ находится Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ вмСстС с ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ TeRAn. exe

Рисунок 2 — Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° «Π‘ΠΏΡ€Π°Π²ΠΊΠ°»

Рисунок 3 — Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° «Πž ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅»

Из Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 1 Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π°ΡˆΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ нСпосрСдствСнно Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, оформляя Π΅Π³ΠΎ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡƒ ТСланию Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ находятся Π΄Π²Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ: панСль инструмСнтов Panel1 ΠΈ ΠΏΠ°Π½Π΅Π»ΡŒ рСдактирования Panel2, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΠΈΠΏΠ° SpeedButton, с Ρ„ункциями, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ тСхничСскому заданию.

5. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Аппаратно-систСмныС трСбования

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмныС трСбования:

+ IBM PC: MS Windows 98 ΠΈ Π²Ρ‹ΡˆΠ΅;

+ процСссор Pentium 2 — 400ΠœΠ“Ρ†;

+ 64 Мб ΠžΠ—Π£;

+ SVGA — ΠΊΠ°Ρ€Ρ‚Π° (800×600, 65 536 Ρ†Π²Π΅Ρ‚ΠΎΠ²);

+ ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°;

+ ΠœΡ‹ΡˆΡŒ

Бостав ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Π’ ΡΠΎΡΡ‚Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ всСго 2 Ρ„Π°ΠΉΠ»Π°:

TeRAn.exe — исполняСмый Ρ„Π°ΠΉΠ».

hlp — Ρ„Π°ΠΉΠ» справки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ нСобходимости, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ встроСнным.

ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚Ρ‚ΡƒΠ΄Π°.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Π½Π°Π±ΠΎΡ€Π°, рСдактирования ΠΈ Ρ„орматирования тСкста. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, входящиС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΈΠΉ диск (всС Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅). Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ слСдуСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» TeRAn. exe, послС Ρ‡Π΅Π³ΠΎ появится сразу главная Ρ„ΠΎΡ€ΠΌΠ° с ΠΏΠΎΠ»Π΅ΠΌ для рСдактирования. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ для вас дСйствия, слСдуя Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ подсказкам, ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΡΡ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ состояния.

ВСкст ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ мСню «? | Π‘ΠΏΡ€Π°Π²ΠΊΠ°».

Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ мСню «Π€Π°ΠΉΠ» | Π’Ρ‹Ρ…ΠΎΠ΄.

Для сохранности ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ся Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ измСнСния Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ слСдуСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.

6. НСдостатки ΠΈ Π΄ΠΎΡΡ‚оинства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π£ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ достоинства: Π½ΠΈΠ·ΠΊΠΈΠ΅ систСмныС ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ трСбования, ΠΈΠΌΠ΅Π΅Ρ‚ простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π»Π°, приличная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт слоТности для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ практичСски всС возмоТности рСдактирования тСкста.

НСдостатком ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся отсутствиС настроСк ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² страницы. НСт ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ.

Π’Π°ΠΊΠΆΠ΅ нСдостатком ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ отсутствиС Π²Ρ‹Π±ΠΎΡ€Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΡ‚сутствиС синтаксичСской подсвСтки.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΅ΡΡ‚ΡŒ нСсколько способов дальнСйшСго ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹ избавилась ΠΎΡ‚ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… нСдостатков.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡΡ‚Ρ€ΠΎΠΈΠ»Π°ΡΡŒ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π² ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C++Builder 6.

Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π° нСмаловаТная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡŽ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки, ΠΎΠΏΡ‹Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, бСзусловно, ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ написании всСвозмоТной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Достаточно интСрСсно Π±Ρ‹Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ самой поставлСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», связанный нСпосрСдствСнно с ΡΠ·Ρ‹ΠΊΠΎΠΌ программирования Π‘++.

БиблиографичСский список

1. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’., ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Builder C++: Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс. — Π‘Π“Π±.: ΠŸΠΈΡ‚Π΅Ρ€, 2004.

2. ΠΡ€Ρ…Π°Π½Π³Π΅Π»ΡŒΡΠΊΠΈΠΉ А. Π―., Π’Π°Π³ΠΈΠ½ М. А. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ программирования Π² C++Builder 6 ΠΈ 2006: Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. — Πœ: Π—ΠΠž «Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘Π˜ΠΠžΠœ», 2007

3. ΠΡ€Ρ…Π°Π½Π³Π΅Π»ΡŒΡΠΊΠΈΠΉ А. Π―. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ пособиС ΠΏΠΎ C++Builder 6 ΠΈ 2006. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. — Πœ: Π—ΠΠž «Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘Π˜ΠΠžΠœ», 2006

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

TeRAn.cpp

#include

#pragma hdrstop

//—————————————————————————————————————;

USEFORM («TeR.cpp», Form1);

USEFORM («Unit1.cpp», AboutBox);

USEFORM («Unit2.cpp», Form2);

//—————————————————————————————————————;

WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize ();

Application->CreateForm (__classid (TForm1), &Form1);

Application->CreateForm (__classid (TForm2), &Form2);

Application->Run ();

}

catch (Exception &exception)

{

Application->ShowException (&exception);

}

catch (…)

{

try

{

throw Exception (««);

}

catch (Exception &exception)

{

Application->ShowException (&exception);

}

}

return 0;

}

//—————————————————————————————————————;

TeR.cpp

#include

#pragma hdrstop

#include «TeR.h»

#include «Unit1.h»

#include «Unit2.h»

//—————————————————————————————————————;

#pragma package (smart_init)

#pragma link «CSPIN»

#pragma resource «*.dfm»

TForm1 *Form1;

//—————————————————————————————————————;

__fastcall TForm1: TForm1(TComponent* Owner)

: TForm (Owner)

{

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton4Click (TObject *Sender)

{

if (OpenDialog1->Execute ())

RichEdit1->Lines->LoadFromFile (OpenDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=(OpenDialog1->FileName);

SpeedButton4->Down=false;

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton14Click (TObject *Sender)

{

if (ColorDialog1->Execute ())

RichEdit1->SelAttributes->Color = ColorDialog1->Color;

}

//—————————————————————————————————————;

void __fastcall TForm1: CSpinEdit1Change (TObject *Sender)

{

if (CSpinEdit1->Text ≠ «»)

{

RichEdit1->SelAttributes->Size = CSpinEdit1->Value;

}

}

//—————————————————————————————————————;

void __fastcall TForm1: ComboBox1Change (TObject *Sender)

{

//Π’Ρ‹Π±ΠΎΡ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°

RichEdit1->SelAttributes->Name=ComboBox1->Items->Strings[ComboBox1 ->ItemIndex];

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton13Click (TObject *Sender)

{

//ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ

if (SpeedButton13->Down==true)

{

RichEdit1->SelAttributes->Style=TFontStyles ()<< fsBold;

}

if (SpeedButton13->Down==false)

{

RichEdit1->SelAttributes->Style=TFontStyles ();

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton13->Down==false)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

if ((SpeedButton13->Down)&&(SpeedButton11->Down))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton13->Down==false)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton13->Down==false)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton12Click (TObject *Sender)

{

//курсив

if (SpeedButton12->Down==true)

{

RichEdit1->SelAttributes->Style=TFontStyles ()<< fsItalic;

}

if (SpeedButton12->Down==false)

{

RichEdit1->SelAttributes->Style=TFontStyles ();

}

if ((SpeedButton12->Down==true)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton12->Down==false)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

if ((SpeedButton12->Down)&&(SpeedButton11->Down))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton12->Down==false)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==false)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton11Click (TObject *Sender)

{

if (SpeedButton11->Down==true)

{

RichEdit1->SelAttributes->Style=TFontStyles ()<< fsUnderline;

}

if (SpeedButton11->Down==false)

{

RichEdit1->SelAttributes->Style=TFontStyles ();

}

if ((SpeedButton11->Down==true)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton11->Down==false)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

if ((SpeedButton11->Down==true)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton11->Down==false)&&(SpeedButton12->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

if ((SpeedButton13->Down==true)&&(SpeedButton12->Down==true)&&(SpeedButton11->Down==true))

{

RichEdit1->SelAttributes->Style=TFontStyles ()<

}

if ((SpeedButton11->Down==false)&&(SpeedButton12->Down==true)&&(SpeedButton13->Down==true))

{

RichEdit1->SelAttributes->Style =TFontStyles ()<

}

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton3Click (TObject *Sender)

{

if (SaveDialog1->Execute ()) RichEdit1->Lines->SaveToFile (SaveDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=SaveDialog1->FileName;

}

//—————————————————————————————————————;

void __fastcall TForm1: N5Click (TObject *Sender)

{

if (SaveDialog1->Execute ()) RichEdit1->Lines->SaveToFile (SaveDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=SaveDialog1->FileName;

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton1Click (TObject *Sender)

{

RichEdit1->CopyToClipboard ();

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton6Click (TObject *Sender)

{

if (PrintDialog1->Execute ()) RichEdit1->Print (««);

}

//—————————————————————————————————————;

void __fastcall TForm1: N3Click (TObject *Sender)

{

if (OpenDialog1->Execute ())

RichEdit1->Lines->LoadFromFile (OpenDialog1->FileName);

StatusBar1->Panels->Items[0]->Text=(OpenDialog1->FileName);

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton7Click (TObject *Sender)

{

FindDialog1->Position = Point (RichEdit1->Left + RichEdit1->Width, RichEdit1->Top);

//FindDialog1->FindText=RichEdit1->SelText;

FindDialog1->Execute ();

}

//—————————————————————————————————————;

void __fastcall TForm1: FindDialog1Find (TObject *Sender)

{

int FoundAt, StartPos, ToEnd;

if (RichEdit1->SelLength)

StartPos = RichEdit1->SelStart + RichEdit1->SelLength;

else

StartPos = 0;

ToEnd = RichEdit1->Text.Length () — StartPos;

FoundAt = RichEdit1->FindText (FindDialog1->FindText, StartPos, ToEnd, TSearchTypes ()<< stMatchCase);

if (FoundAt ≠ -1)

{

RichEdit1->SetFocus ();

RichEdit1->SelStart = FoundAt;

RichEdit1->SelLength = FindDialog1->FindText.Length ();

}

}

//—————————————————————————————————————;

void __fastcall TForm1: N9Click (TObject *Sender)

{

if (MessageBox (0," Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ содСрТимоС ΠΎΠΊΠ½Π° рСдактирования? «,» ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ сохранСниС", MB_YESNO)==IDYES)

if (SaveDialog1->Execute ()) RichEdit1->Lines->SaveToFile (SaveDialog1->FileName);

Application->Terminate ();

}

//—————————————————————————————————————;

void __fastcall TForm1: N16Click (TObject *Sender)

{

if (RichEdit1->Lines->Count>0)

{

if (MessageBox (0," Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ содСрТимоС ΠΎΠΊΠ½Π° рСдактирования? «,» ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ сохранСниС", MB_YESNO)==IDYES)

{

//N9Click (Sender);

}

}

RichEdit1->Clear ();

StatusBar1->Panels->Items[0]->Text="Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚" ;

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton2Click (TObject *Sender)

{

RichEdit1->CutToClipboard ();

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton5Click (TObject *Sender)

{

RichEdit1->CopyToClipboard ();

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton9Click (TObject *Sender)

{

RichEdit1->PasteFromClipboard ();

}

//—————————————————————————————————————;

void __fastcall TForm1: N20Click (TObject *Sender)

{

ReplaceDialog1->Execute ();

}

//—————————————————————————————————————;

void __fastcall TForm1: ReplaceDialog1Replace (TObject *Sender)

{

TReplaceDialog *dlg = (TReplaceDialog *)Sender;

int SelPos = RichEdit1->Lines->Text.Pos (dlg->FindText);

if (SelPos > 0)

{

RichEdit1->SelStart = SelPos — 1;

RichEdit1->SelLength = dlg->FindText.Length ();

RichEdit1->SelText = dlg->ReplaceText;

}

else

MessageBeep (0);

}

//—————————————————————————————————————;

void __fastcall TForm1: N19Click (TObject *Sender)

{

FindDialog1->Position = Point (RichEdit1->Left + RichEdit1->Width, RichEdit1->Top);

FindDialog1->Execute ();

}

//—————————————————————————————————————;

void __fastcall TForm1: N30Click (TObject *Sender)

{

if (FontDialog1->Execute ())

{

RichEdit1->SelAttributes->Assign (FontDialog1->Font);

}

}

//—————————————————————————————————————;

void __fastcall TForm1: N28Click (TObject *Sender)

{

Application->CreateForm (__classid (TAboutBox), &AboutBox);

AboutBox->ShowModal ();

AboutBox->Free ();

}

//—————————————————————————————————————;

void __fastcall TForm1: N7Click (TObject *Sender)

{

if (PrintDialog1->Execute ()) RichEdit1->Print (««);

}

//—————————————————————————————————————;

void __fastcall TForm1: N24Click (TObject *Sender)

{

StatusBar1->Visible=! StatusBar1->Visible;

N24->Checked=! N24->Checked;

}

//—————————————————————————————————————;

void __fastcall TForm1: N22Click (TObject *Sender)

{

Panel1->Visible=! Panel1->Visible;

N22->Checked=! N22->Checked;

}

//—————————————————————————————————————;

void __fastcall TForm1: N23Click (TObject *Sender)

{

Panel2->Visible=! Panel2->Visible;

N23->Checked=! N23->Checked;

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton16Click (TObject *Sender)

{

if (ColorDialog1->Execute ())

{RichEdit1->Color=ColorDialog1->Color;}

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton17Click (TObject *Sender)

{

RichEdit1->Paragraph->Alignment=taLeftJustify;

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton18Click (TObject *Sender)

{

RichEdit1->Paragraph->Alignment=taCenter;

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton19Click (TObject *Sender)

{

if (SpeedButton11->Down==true)

{

RichEdit1->Paragraph->Numbering=nsBullet;

}

else

{

RichEdit1->Paragraph->Numbering=nsNone;

}

}

//—————————————————————————————————————;

void __fastcall TForm1: SpeedButton15Click (TObject *Sender)

{

RichEdit1->Paragraph->Alignment=taRightJustify;

}

//—————————————————————————————————————;

void __fastcall TForm1: CSpinEdit1KeyPress (TObject *Sender, char &Key)

{

if ((Key≠VK_BACK)&&(Key≠'9')&&(Key≠'8')&&(Key≠'7')&&(Key≠'6'))

{

Set Dig;

Dig << '0'<< '1'<< '2' << '3'<< '4' << '5'<< ' 6 '<< ' 7 '<< ' 8 '<< ' 9 ' ;

if (! Dig. Contains (Key)) { Key = 0; Beep () ;}

}

}

//—————————————————————————————————————;

void __fastcall TForm1: FormShow (TObject *Sender)

{

int i;

for (i=0; iFonts->Count; i++)

{

ComboBox1->Items->Add (Screen->Fonts->Strings[i]) ;

}

CSpinEdit1->Value=RichEdit1->SelAttributes->Size;

}

//—————————————————————————————————————;

void __fastcall TForm1: RichEdit1MouseUp (TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y)

{

if (RichEdit1->Paragraph->Numbering==nsNone)

{SpeedButton19->Down=false;}

if (RichEdit1->Paragraph->Numbering==nsBullet)

{SpeedButton19->Down=true;}

switch (RichEdit1->Paragraph->Alignment)

{case taLeftJustify: SpeedButton17->Down=true; break;

case taCenter: SpeedButton18->Down=true; break;

case taRightJustify: SpeedButton15->Down=true; break;}

if (RichEdit1->SelAttributes->Style==RichEdit1->SelAttributes->Style<

{SpeedButton13->Down=true;}

else{SpeedButton13->Down=false;}

if (RichEdit1->SelAttributes->Style==RichEdit1->SelAttributes->Style<

{SpeedButton11->Down=true;}

else{SpeedButton11->Down=false;}

if (RichEdit1->SelAttributes->Style==RichEdit1->SelAttributes->Style<

{SpeedButton12->Down=true;}

else{SpeedButton12->Down=false;}

CSpinEdit1->Value=RichEdit1->SelAttributes->Size;

ComboBox1->ItemIndex = ComboBox1->Items->IndexOf (RichEdit1->SelAttributes->Name) ;

}

//—————————————————————————————————————;

void __fastcall TForm1: RichEdit1KeyUp (TObject *Sender, WORD &Key,

TShiftState Shift)

{

if (RichEdit1->Paragraph->Numbering==nsNone)

{SpeedButton19->Down=false;}

if (RichEdit1->Paragraph->Numbering==nsBullet)

{SpeedButton19->Down=true;}

switch (RichEdit1->Paragraph->Alignment)

{case taLeftJustify: SpeedButton17->Down=true; break;

case taCenter: SpeedButton18->Down=true; break;

case taRightJustify: SpeedButton15->Down=true; break;}

if (RichEdit1->SelAttributes->Style==RichEdit1->SelAttributes->Style<

{SpeedButton13->Down=true;}

else{SpeedButton13->Down=false;}

if (RichEdit1->SelAttributes->Style==RichEdit1->SelAttributes->Style<

{SpeedButton11->Down=true;}

else{SpeedButton11->Down=false;}

if (RichEdit1->SelAttributes->Style==RichEdit1->SelAttributes->Style<

{SpeedButton12->Down=true;}

else{SpeedButton12->Down=false;}

CSpinEdit1->Value=RichEdit1->SelAttributes->Size;

ComboBox1->ItemIndex = ComboBox1->Items->IndexOf (RichEdit1->SelAttributes->Name) ;

}

//—————————————————————————————————————;

void __fastcall TForm1: FormCreate (TObject *Sender)

{

RichEdit1->Clear ();

}

//—————————————————————————————————————;

void __fastcall TForm1: FormClose (TObject *Sender, TCloseAction &Action)

{

Action=caFree;

}

//—————————————————————————————————————;

void __fastcall TForm1: FormCloseQuery (TObject *Sender, bool &CanClose)

{

if (RichEdit1->Modified)

{

int res=Application->MessageBox («Π’Скст Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½. nn» «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² Ρ„Π°ΠΉΠ»Π΅nn» «(ΠžΡ‚ΠΌΠ΅Π½Π° — ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹)», «ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹», MB_YESNOCANCEL+MB_ICONQUESTION);

switch (res)

{

case IDYES: N5Click (Sender); break;

case IDCANCEL: CanClose=false;

}

}

}

//—————————————————————————————————————;

void __fastcall TForm1: N26Click (TObject *Sender)

{

Application->CreateForm (__classid (TForm2), &Form2);

Form2->Memo1->Lines->LoadFromFile («hlp»);

Form2->ShowModal ();

Form2->Free ();

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ