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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний Π² локальной сСти Microsoft

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

Π’Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ поставку Windows. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Winpopup, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, прСдставлСнной Π² Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΎΠΊΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ия сообщСний ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСзависимыми, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для быстрых ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ²: Π² ΠΎΠΊΠ½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ тСкст, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сообщСний происходит Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ свободно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Winpopup Ρ‚Π°ΠΊΠΎΠΉ нСзависимости… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний Π² локальной сСти Microsoft (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Microsoft

На ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь сущСствуСт довольно большоС число ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ия сообщСний для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Microsoft, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сСмСйство Windows 9x (95, 98, ME, XP) ΠΈ Windows NT4, Windows2000, Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ. Основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ слСдуСт ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, являСтся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°, ΠΈ ΠΊΠ°ΠΊ слСдствиС, расходы Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°ΠΊΡƒΠΏΠΊΡƒ ΠΎΡ€Π³Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ (сСрвСры, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСти, ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ‚ΠΎΡ€Ρ‹).

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° 2 Ρ‚ΠΈΠΏΠ°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сообщСний осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΎΠ΄Π½ΠΎΡ€Π°Π½Π³ΠΎΠ²Ρ‹Ρ… сСтСй, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра.

К ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ срСдствам ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний ΠΌΠΎΠΆΠ½ΠΎ отнСсти Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠ°ΠΊ Microsoft Messenger, AOL ICQ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‡Π°Ρ‚Ρ‹ ΠΈ Ρ‚Π΅Π»Π΅ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠ΅Π½Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, Π½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΠΈ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ Π΄Π°ΠΆΠ΅ для нСбольшого Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС систСмных рСсурсов.

Однако ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ идСям ΠΈΡ… ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.

ЦСлью настоящСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° явилось созданиС ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ получСния ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти общСТития МИЭВ (SWAMP), Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ 400 ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ создания использовались ΠΌΠ΅Π½Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅, Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Winpopup ΠΈ Traypopup.

Эскизный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ОписаниС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ написании Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Ρ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ элСктронной Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй обусловило Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ создания соврСмСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈ ΠΊΠ°ΠΊ слСдствиС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ быстрых ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ срСдств ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² Ρ‡Π°ΡΡ‚ности, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ².

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π°Π±ΠΎΡ€ условий (ΠΏΡ€Π°Π²ΠΈΠ»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΈΠ»ΠΈ нСсколькими нСзависимыми устройствами ΠΈΠ»ΠΈ процСссами. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… элСмСнта: синтаксис, сСмантику ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ (timing). Бинтаксис ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° опрСдСляСт поля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 16-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ для адрСсов, 32-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΈ 512 Π±Π°ΠΉΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚. Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ этим полям Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли адрСсноС ΠΏΠΎΠ»Π΅ состоит ΠΈΠ· Π²ΡΠ΅Ρ… адрСсов, это «ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ» ΠΏΠ°ΠΊΠ΅Ρ‚. Бинхронизация — количСство Π±ΠΈΡ‚ΠΎΠ² Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ — это ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Она Π²Π°ΠΆΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΠ°ΠΌΡ‹Ρ… Π½ΠΈΠ·ΠΊΠΈΡ… уровнях ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Π½ΠΎ ΠΈ Π½Π° Π²Ρ‹ΡΡˆΠΈΡ….

Π’ ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» — это принятый Π½Π°Π±ΠΎΡ€ стандартов, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… порядок общСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π’ ΡΡ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, доступныС Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства Windows, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

ВстроСнныС основныС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Windows:

Network Basic Input/Output System (NetBIOS)

NetBIOS Extended User Interface (NetBEUI)

Transmission Control Protocol (TCP/IP)

NWLink Internetwork Packet Exchange/Sequenced packet Exchange (IPX/SPX)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ….

NetBIOS

NetBIOS прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Windows, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ просмотр ΠΈ ΠΌΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅ΡΡΠ½ΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСтСвыми сСрвСрами. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» являСтся ΠΎΡ‡Π΅Π½ΡŒ быстрым, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ совсСм нСбольшого количСства слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, поэтому ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Windows для основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, NetBIOS Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТностСй для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ основного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° для сСтСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности.

NetBEUI

NetBEUI — простой транспортный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» сСтСвого уровня, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСтСй NetBIOS. Как ΠΈ NetBIOS, NETBEUI Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ сСти. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° NetBEUI — это Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΎΡˆΠΈΠ±ΠΎΠΊ, простота примСнСния ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ трСбования ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ. К Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ отнСсти отсутствиС срСдств ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-нСзависимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΡΠ»ΠΈΡˆΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎΠ΅ количСство срСдств для поиска Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ.

NetBEUI ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ сСти. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти общСТития МИЭВ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ срСдства ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° являСтся нСцСлСсообразным.

TCP/IP

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΠ΅Ρ‚ΠΈ. ИмСнно этому ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ обязан своим быстрым ростом. TCP/IP — самый Π³ΠΈΠ±ΠΊΠΈΠΉ транспортный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ большиС сСтСвыС пространства. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт возмоТности для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ-нСзависимых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ SNMP, DHCP, слуТбы WINS ΠΈ DNS.

TCP/IP ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² Π»ΡŽΠ±ΠΎΠΉ сСти, Π½ΠΎ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ся для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… сСтСй ΠΈΠ·-Π·Π° своих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ большиС ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π½Π³ΠΎΠ²Ρ‹Π΅ сСти.

NWLink (IPX/SPX)

NWLink — это рСализация Ρ„ΠΈΡ€ΠΌΠΎΠΉ Microsoft Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² IPX/SPX, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΠΈΡ€ΠΌΠΎΠΉ Novell Π² ΡΠ΅Ρ‚ях NetWare. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² NT для возмоТности общСния с ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌΠΈ NetWare. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ сСтСй Microsoft ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ рСсурсами сСрвСров Netware ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы сСмСйства Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ NWLink для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌΠΈ NetWare. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌ NetWare трСбуСтся слуТба File And Printer Sevice For NetWare для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΌΠΈ сСмСйства Windows.

NWLink ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΡΠ΅Ρ‚ях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находятся сСрвСры NetWare, ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ срСдства ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ рСсурсов для использования ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP/IP.

Рис. 1.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки сСтСвого окруТСния OC сСмСйства Windows

ΠžΠ±Π·ΠΎΡ€ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ия ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний

НаиболСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΠ²Π»ΡŽΡ‚ΡΡ Π΄Π²Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… систСмных рСсурсов.

Winpopup.

Π’Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ поставку Windows. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Winpopup, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, прСдставлСнной Π² Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΎΠΊΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ия сообщСний ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСзависимыми, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для быстрых ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ²: Π² ΠΎΠΊΠ½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ тСкст, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сообщСний происходит Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ свободно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Winpopup Ρ‚Π°ΠΊΠΎΠΉ нСзависимости Π½Π΅Ρ‚, поэтому для просмотра входящСго сообщСния приходится ΠΎΡ‚ΠΌΠ΅Π½ΡΡ‚ΡŒ отправлСния своСго тСкста ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ, Ρ‡Ρ‚ΠΎ являСтся ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ стандартного срСдства ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний Windows 9x. Π§Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ поставкС Windows NT Π½Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³Π° Winpopup, поэтому данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ сСрвисом для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй, состоящих ΠΈΠ· ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Traypopup.

ОсновноС прСимущСство этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ (ΠΊΠ°ΠΊ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅) состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΊΠΎΡˆΠΊΠ΅ посылки сообщСния Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ° Select, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ список всСх ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠ΅Ρ‚ΠΈ. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ записано Π² Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°Ρ… сСти. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠΊΠ½Π΅ рСдактирования адрСса получатСля выставляСтся имя получатСля ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ сообщСния.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — ΠΎΠ½Π° Π½Π΅ ΡΠΈΠ΄ΠΈΡ‚ Π² ПанСли Π—Π°Π΄Π°Ρ‡, Π° ΠΏΡ€ΡΡ‡Π΅Ρ‚ся Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ, ΠΊ Ρ‡Π°ΡΠ°ΠΌ, Ρ‡Ρ‚ΠΎ экономит мСсто, с ΠΎΠ΄Π½ΠΎΠΉ стороны, Π½ΠΎ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΡƒΠ΄Π΅Ρ‚ слоТно ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ Π΅Ρ‘ ΡΡ€Π΅Π΄ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны. Из Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠ² — часто «Π²Ρ‹Π»Π΅Ρ‚Π°Π΅Ρ‚» ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΠ΅ сообщСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠΌ сообщСний, Π±ΠΎΠ»ΡŒΡˆΠΈΡ… 30.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΡΠ²ΡΠ·ΠΈ ΠΈΡ… Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ трСбованиями ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ.

ВСхничСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ΠžΠ±Ρ‰Π°Ρ структура систСмы

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ тСкстовых сообщСний Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ слоты (mailslots) ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NetBIOS, данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима с Ρ‚Π°ΠΊΠΈΠΌΠΈ стандартными ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊ WinPopup, net send. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ряд ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ история сообщСний, быстрыС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠžΠ‘ Microsoft, быстрый список, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСтСвых Π³Ρ€ΡƒΠΏΠΏ.

ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ слот (mailslot)

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

Π›ΡŽΠ±ΠΎΠΉ процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ слот для ΠΏΡ€ΠΈΡ‘ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ…, называСтся сСрвСром слота. Π”Π°ΠΆΠ΅ Ссли само ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-сСрвСра, ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌΡƒ слоту ΠΎΠ½ΠΎ прСдставляСт собой сСрвСр. Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ слота любой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сСрвСром, Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· ΡΠ»ΠΎΡ‚Π° Π΄Π°Π½Π½Ρ‹Π΅ (ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· наслСдованиС) ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ создал.

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

Рассмотрим структуру построСния ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ слота, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ написании Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈ ΠΎΠΏΠΈΡˆΠ΅ΠΌ ΠΈΡ….

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ слота.

Для создания слота Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция CreateMailSlot ():

HANDLE CreateMailslot (

LPCTSTR lpName,

DWORD nMaxMessageSize,

DWORD lReadTimeout,

LPSECURITY_ATTRIBUTES lpSecurityAttributes);

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

\.mailslot[ΠΏΡƒΡ‚ΡŒ] имя Π’ ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… слотов поддСрТиваСтся псСвдокаталоговая структура. Для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… слотов Π² ΠΈΡ… ΠΈΠΌΠ΅Π½Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ….

Ѐункция CreateMailSlot Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ сообщСний, врСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Π½ΡƒΡŽ структуру. ВмСсто значСния Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ MAILSLOT_WAIT_FOREVER для блокирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния Π½Π° ΡΠ»ΠΎΡ‚Π΅ Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ сообщСния Π±Π΅Π· ограничСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Если функция CreateMailSlot () Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ для Π½ΠΎΠ²ΠΎΠ³ΠΎ слота. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ошибки возвращаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ INVALID_HANDLE_VALUE, для получСния ΠΊΠΎΠ΄Π° ошибки ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ GetLastError ().

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ слота ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Hslot: = CreateMailSlot («\\.mailslot\MySlotMsgSlot»,

300,

MAILSLOT_WAIT_FOREVER,

NULL);

If hSlot=INVALID_HANDLE_VALUE then

Begin

ShowMessage (`CreateMailSlot Error', GetLastError ());

Halt (0);

End;

Для измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния послС создания слота ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция SetMailSlot (). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для получСния Ρ‚Π°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΠ»ΠΎΡ‚Π΅, ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ сообщСния, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ сообщСний Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetMailSlotInfo ().

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ слота

Для чтСния ΠΈΠ· ΡΠ»ΠΎΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция ReadFile (), которая Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ послС получСния сообщСния, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько Π±Π°ΠΉΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ GetMailSlotInfo () ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство сообщСний, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ слота, ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния.

Π—Π°ΠΏΠΈΡΡŒ Π² ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ слот

Для записи сообщСния Π² ΡΠ»ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CreateFile (), Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ WriteFile () для посылки сообщСния. ΠšΠ»ΡŽΡ‡ слота закрываСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ CloseHandle ().

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ CreateFile () Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя слота, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ посылаСтся сообщСниС. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ имя допускаСт Ρ†ΠΈΡ€ΠΊΡƒΠ»ΡΡ€Π½ΡƒΡŽ рассылку Π΄Π°Π½Π½Ρ‹Ρ… всСм слотам с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π΄ΠΎΠΌΠ΅Π½Π°.

Для локального ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° имя слота выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

\.mailslot[ΠΏΡƒΡ‚ΡŒ] имя Для ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° имя слота ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

\имя_ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ_ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°mailslot[ΠΏΡƒΡ‚ΡŒ] имя Для рассылки сообщСний всСм слотам с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π΄ΠΎΠΌΠ΅Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ имя:

\имя_Π΄ΠΎΠΌΠ΅Π½Π°mailslot[ΠΏΡƒΡ‚ΡŒ] имя Для рассылки всСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌ Π² Π΄ΠΎΠΌΠ΅Π½Π΅ Π±ΠΎΠ»Π΅Π΅ высокого иСрархичСского уровня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ имя:

\*mailslot[ΠΏΡƒΡ‚ΡŒ] имя ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CreateFile () ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ GENERIC_WRITE, Ρ€Π΅ΠΆΠΈΠΌ совмСстного использования FILE_SHARE_READ ΠΈΠ»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ создания OPEN_EXISTING.

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CreateFile () ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WriteFile () для посылки сообщСний Π½Π° ΡΠ»ΠΎΡ‚.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ слота.

По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ слотом ΠΊΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CloseHandle () для освобоТдСния ассоциированных с Π½ΠΈΠΌ систСмных рСсурсов. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса всС ΠΊΠ»ΡŽΡ‡ΠΈ слотов, ассоциированныС с ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΠΌ, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ автоматичСски. ПослС ΠΈΡ… Π·Π°ΠΊΡ€Ρ‹Ρ‚ия ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ слот уничтоТаСтся, Π° Π²ΡΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΅Π³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» NetBIOS ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° NetBIOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±Π»ΠΎΠΊ управлСния ΡΠ΅Ρ‚ΡŒΡŽ — Net Control Block (NCB). Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1 ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° структура NCB, Π΄Π»ΠΈΠ½Π° ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля. ВсС поля Π±Π»ΠΎΠΊΠ° NCB пСрСнСсСны Π² WinAPI, соотвСтствСнно, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Delphi с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ NetBIOS являСтся достаточно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Delphi, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

TMainMenu позволяСт ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ΅ мСню Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ TMainMenu Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ это выглядит, ΠΊΠ°ΠΊ просто ΠΈΠΊΠΎΠ½ΠΊΠ°. Иконки Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мСню Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ шага: (1) ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ TMainMenu Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ, (2) Π²Ρ‹Π·ΠΎΠ² Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π° МСню Ρ‡Π΅Ρ€Π΅Π· свойство Items Π² Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅ ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², (3) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню Π² Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ МСню.

TPopupMenu позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ мСню появляСтся ΠΏΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ привязано Π΄Π°Π½Π½ΠΎΠ΅ мСню. Π£ Π²ΡΠ΅Ρ… Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² имССтся свойство PopupMenu, Π³Π΄Π΅ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ся Π½ΡƒΠΆΠ½ΠΎΠ΅ мСню. БоздаСтся PopupMenu Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ мСню.

TLabel слуТит для отобраТСния тСкста Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ ΠΈ Ρ†Π²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ, Ссли Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½Π΅Ρ‚Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ Font Π² Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅ ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написав всСго ΠΎΠ΄Π½Ρƒ строчку ΠΊΠΎΠ΄Π°.

TEdit — стандартный ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ элСмСнт Windows для Π²Π²ΠΎΠ΄Π°. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для отобраТСния ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° тСкста ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ тСкст Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

TMemo — иная Ρ„ΠΎΡ€ΠΌΠ° TEdit. ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ тСкстами. TMemo ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ слова, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² ClipBoard Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ тСкста ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ…, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. TMemo ΠΈΠΌΠ΅Π΅Ρ‚ ограничСния Π½Π° ΠΎΠ±ΡŠΠ΅ΠΌ тСкста Π² 32Кб, это составляСт 10−20 страниц. (Π•ΡΡ‚ΡŒ VBX ΠΈ «Ρ€ΠΎΠ΄Π½Ρ‹Π΅» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Delphi, Π³Π΄Π΅ этот ΠΏΡ€Π΅Π΄Π΅Π» снят).

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

procedure TForm1. Button1Click (Sender: TObject);

begin

ShowMessage (`Test');

end;

TCheckBox ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ строку тСкста с ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΠΌ окошком рядом. Π’ ΠΎΠΊΠΎΡˆΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ, которая ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ.

TListBox Π½ΡƒΠΆΠ΅Π½ для ΠΏΠΎΠΊΠ°Π·Π° ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ списка. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ListBox’Π° Π² ΡΡ€Π΅Π΄Π΅ Windows — Π²Ρ‹Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню File | Open ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Названия Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π½Π°Ρ…одятся Π² ListBox’Π΅.

TComboBox Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ListBox, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ позволяСт Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° свСрху ListBox. Π•ΡΡ‚ΡŒ нСсколько Ρ‚ΠΈΠΏΠΎΠ² ComboBox, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярСн ΡΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π½ΠΈΠ· (drop-down combo box), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Π½ΠΈΠ·Ρƒ ΠΎΠΊΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»Π°.

TScrollbar — полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, появляСтся автоматичСски Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… рСдактирования, ListBox’Π°Ρ… ΠΏΡ€ΠΈ нСобходимости ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ тСкста для просмотра.

TGroupBox ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ ΠΈ Π΄Π»Ρ указания Windows, ΠΊΠ°ΠΊΠΎΠ² порядок пСрСмСщСния ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ (ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши TAB).

TBitBtn — ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ€ΠΎΠ΄Π΅ TButton, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ (glyph). TBitBtn ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (bkClose, bkOK ΠΈ Π΄Ρ€), ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Form2. ShowModal) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ ΠΎΠΊΠ½Π° с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ (Form2. ModalResult).

TSpeedButton — ΠΊΠ½ΠΎΠΏΠΊΠ° для создания ΠΏΠ°Π½Π΅Π»ΠΈ быстрого доступа ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ (SpeedBar). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — SpeedBar слСва ΠΎΡ‚ ΠŸΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² ΡΡ€Π΅Π΄Π΅ Delphi. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ помСщаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° (glyph).

TScrollBox — позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ большими, Π½Π΅ΠΆΠ΅Π»ΠΈ экран. На ΡΡ‚ΠΎΠΉ области ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ свои ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

TTimer — Ρ‚Π°ΠΉΠΌΠ΅Ρ€, событиС OnTimer пСриодичСски вызываСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Interval. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚ 1 Π΄ΠΎ 65 535 мс.

ВрСбования, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Π΅ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ постановку Π·Π°Π΄Π°Ρ‡ΠΈ: трСбуСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ систСму, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

— Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ срСдств ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹;

— ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΡ‘ΠΌΠ° ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний;

— Π²Ρ‹Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΠΎ ΠΈΡ… Π·Π°ΠΏΡ€ΠΎΡΠ°ΠΌ.

БистСма Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 95, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Delphi 5. БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ — ядро Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ срСдств ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°.

Π’Ρ‹Π±ΠΎΡ€ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ проСктирования, обоснованиС

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ срСды, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ рСализовался Π΄Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° срСда Windows9x (Windows NT). ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ этого ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

Π Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ этих ОБ, Π² ΡΠ²ΡΠ·ΠΈ с Ρ‡Π΅ΠΌ получаСтся ΠΎΡ…Π²Π°Ρ‚ большого числа Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ;

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ массивами Π΄Π°Π½Π½Ρ‹Ρ…, рСализация Ρ‡Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдах прСдставляСт Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠ²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ;

Удобство графичСского интСрфСйса Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ удобство Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΎΠ²Π°Π½, соотвСтствСнно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ошибок Π² Π΅Π³ΠΎ дСйствиях Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

32-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ систСм Windows9x ΠΈ Windows NT ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ числами.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ срСды программирования Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° срСда Borland Delphi 5, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π°Ρ Π² ΡΠ΅Π±Π΅ ΠΊΠ°ΠΊ всС прСимущСства всСх срСдств, относящихся ΠΊ RAD, Ρ‚Π°ΠΊ ΠΈ ΡΠ²ΠΎΠΈ собствСнныС прСимущСства:

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

ИспользованиС всСх прСимущСств ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows'95 ΠΈ Windows NT, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 32-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅;

ИспользованиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (exceptions), Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°;

НаличиС ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ большого количСства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΈΠ΅ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Учитывая спСцифику Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, разрабатываСмая систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ трСбованиям.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ тСхничСских срСдств

ВрСбования ΠΊ ΡΠΎΡΡ‚Π°Π²Ρƒ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ тСхничСских срСдств:

i486 66 MHz процСссор (Pentium ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ рСкомСндуСтся);

4MB ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти;

1Мб свободного пространства Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС;

— Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€;

НСобходимоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС:

— Windows'95 ΠΈΠ»ΠΈ Windows NT 4 ΠΈ Π²Ρ‹ΡˆΠ΅;

— ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP/IP.

Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Главная Ρ„ΠΎΡ€ΠΌΠ° содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

— ΠžΡΠ½ΠΎΠ²Π½ΠΎΠ΅ мСню, состоящСС ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

— ΠšΠ½ΠΎΠΏΠΊΠΈ для быстрой Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΌΠΈ:

Кнопка «Send» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для посылки сообщСния Π½Π° ΠΈΠΌΡ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ.

Кнопка «Delete» удаляСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ просмотрСнноС сообщСниС.

Кнопки Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΌ:

Π°) Кнопка «<οΏ½» осущСствляСт просмотр ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ сообщСния.

Π±) Кнопка «>» осущСствляСт просмотр ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния.

— Π‘Ρ‚Ρ€ΠΎΠΊΠ° состояния, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ тСкст «No Message» ΠΏΡ€ΠΈ отсутствии сообщСний ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ получСния сообщСния ΠΏΡ€ΠΈ ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠΈ.

— ΠžΠΊΠ½ΠΎ для просмотра сообщСний.

— ΠΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сообщСния ΠΈ ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ количСство; ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ большого количСства сообщСний.

Рис. 1.6. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ сообщСний.

ОписаниС с ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Messenger

ОсновноС мСню состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… подмСню:

— Messages. Бостоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подмСню:

Send, Previous, Next, Delete, Delete All ΠΈ Exit.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ подмСню Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ «Π±Ρ‹ΡΡ‚Ρ€Ρ‹Ρ…» ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΈΠΌ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ функциям.

ПодмСню Delete All удаляСт сразу всС ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ сообщСния.

ПодмСню Exit осущСствляСт Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

— Π”Π°Π½Π½ΠΎΠ΅ подмСню содСрТит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

— History. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… сообщСний.

— Help. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Рассмотрим ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

Рис. 1.7. Настройки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Play sound when new message arrives — Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠ°, ΠΏΠΎΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ сообщСния.

Always on top — ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ всСгда Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΊΠΎΠ½

Pop up dialog on message receipt — ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΠΏΠ»Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ сообщСния.

Рис. 1.8. Окно истории сообщСний Рис. 1.9. Окно ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния Π Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ процСсс посылки сообщСния.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Send» быстрой Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΌΠΈ, Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ подмСню Send ΠΈΠ· ΠΌΠ΅Π½ΡŽ Messages, вызываСтся Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится:

Π’Ρ‹Π±ΠΎΡ€ получатСля сообщСний:

a) User or Computer. Им ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, зашСдшСго Π² ΡΠ΅Ρ‚ΡŒ Microsoft Π»ΠΈΠ±ΠΎ имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

Π±) Workgroup. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Win9x, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹.

Окно для написания получатСля сообщСний.

Окно сообщСния.

Кнопка «Send» для отправлСния сообщСния.

Кнопка «Cancel» для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ отправлСния сообщСния.

Кнопка «Select» для Π²Ρ‹Π±ΠΎΡ€Π° адрСсата получатСля.

Если Ρ€Π°Π·ΠΌΠ΅Ρ€ отсылаСмого ΠΈΠ»ΠΈ принятого сообщСния большС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„ΠΎΡ€ΠΌΡ‹ для Π΅Π³ΠΎ написания, Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ScrollBar, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Ρ‚Π΅ΠΌ самым просматривая сообщСниС.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Select» вызываСтся ΠΎΠΊΠ½ΠΎ поиска всСх Π³Ρ€ΡƒΠΏΠΏ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², находящихся Π² Π΄Π°Π½Π½ΠΎΠΉ локальной сСти.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ достаточно просто Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ имя Π² ListBox’e ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «OK», послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ имя автоматичСски ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠΊΠ½Π΅ получатСля сообщСния.

Рис. 1.10. Π’Ρ‹Π±ΠΎΡ€ адрСсата получатСля

Поиск ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ поиск ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Microsoft.

procedure TForm4. Button1Click (Sender: TObject);

var Q, BufferSize: DWord;

R: THandle;

Buf: ^Buffer;

P: Pointer;

NR: ^NETRESOURCE;

begin

ListBox1. Clear;

if WNetOpenEnumA (RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, nil, R) = NO_ERROR then

begin

BufferSize:= 0;

Q:= $FFFFFFFF;

if WNetEnumResourceA (R, Q, Buf, BufferSize) <> NO_ERROR then

begin

Q:=1;

New (Buf);

while WNetEnumResourceA (R, Q, Buf, BufferSize) = NO_ERROR do

begin

begin

P:= Buf;

NR:= P;

ListBox1. Items. Add (NR^.lpProvider);

L. Add (Buf);

end;

Q:= $FFFFFFFF;

New (Buf);

end;

Dispose (Buf);

end;

WNetCloseEnum®;

end;

end;

procedure TForm4. FormCreate (Sender: TObject);

begin

ListBox1. Clear;

L:= TList. Create;

end;

procedure TForm4. FormClose (Sender: TObject; var Action: TCloseAction);

var I: Integer;

begin

for I:= 0 to L. Count — 1 do

begin

Dispose (L. Items[I]);

end;

L. Free;

end;

procedure TForm4. Button2Click (Sender: TObject);

var

s:string;

begin

if ListBox1. ItemIndex<>-1 then

begin

s:=ListBox1. Items [ListBox1. ItemIndex];

if s[1]='' then Delete (s, 1, 2);

Form2. Edit1. Text:=s;

ModalResult:=mrOK;

end;

end;

procedure TForm4. ListBox1DblClick (Sender: TObject);

var Q, BufferSize: DWord;

R: THandle;

Buf: ^Buffer;

P: Pointer;

NR: ^NETRESOURCE;

NREsource: NETRESOURCE;

I: Integer;

Err: Integer;

Path: string;

Sr: TSearchRec;

begin

NR:= L. Items [ListBox1. ItemIndex];

Move (NR^, NResource, SizeOf (NETRESOURCE));

ListBox1. Clear;

Path:= NResource. lpRemoteName;

Err:=WNetOpenEnumA (RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, @NResource, R);

for I:= 0 to L. Count -1 do

begin

Dispose (L. Items[I]);

end;

L. Clear;

if Err = NO_ERROR then

begin

BufferSize:= 1024;

q:=1;

New (Buf);

while WNetEnumResourceA (R, Q, Buf, BufferSize) = NO_ERROR do

begin

begin

P:= Buf;

NR:= P;

ListBox1. Items. Add (NR^.lpRemoteName);

L. Add (Buf);

end;

New (Buf);

end;

Dispose (Buf);

end;

WNetCloseEnum®;

end;

ΠžΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сообщСний

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сообщСний:

function TForm2. NBName (s:string):string;

const

size=1024;

var

ncb:TNCB;

buf, p: PChar;

i, k: integer;

ch:char;

res:string;

begin

NBName:='';

GetMem (buf, size);

FillChar (ncb, SizeOf (TNCB), 0);

ncb.ncb_command:=char (NCBASTAT);

ncb.ncb_buffer:=buf;

ncb.ncb_length:=size;

for i:=1 to Length (s) do

ncb.ncb_callname [i1]: =UpCase (s[i]);

for i:=Length (s) to NCBNAMSZ do ncb. ncb_callname[i]: =' ';

ncb.ncb_callname [NCBNAMSZ1]: =#03;

ch:=netbios (addr (ncb));

if (ch<>#0) and (ncb.ncb_retcode<>#0) then Exit;

p:=ncb.ncb_buffer;

with PAdapterStatus (ncb.ncb_buffer)^ do

begin

p:=p+SizeOf (TAdapterStatus);

for i:=0 to name_count1 do

begin

with PNameBuffer (p)^ do

begin

if (name [NCBNAMSZ1]=' ') and ((ord (name_flags) and UNIQUE_NAME)=UNIQUE_NAME) then

begin

res:='';

for k:=0 to NCBNAMSZ2 do if name[k]<>' ' then res:=res+name[k];

NBName:=res;

end;

end;

p:=p+SizeOf (TNameBuffer);

end;

end;

FreeMem (buf);

end;

procedure TForm2. Button1Click (Sender: TObject);

var

handle:THandle;

lpFileName:PChar;

lpNumberOfBytesWritten: Cardinal;

buffer:string;

i:integer;

s:LPSTR;

comp:string;

name, name2: PChar;

name1:string;

namesize:DWORD;

begin

Button1. Enabled:=False;

if RadioButton1. Checked then

begin

comp:=NBName (Edit1. Text);

lpFileName:=PChar ('\'+comp+'mailslotmessngr'+#0);

handle:=CreateFile (lpFileName, GENERIC_WRITE, 0, NIL, CREATE_ALWAYS, 0, 0);

if handle=INVALID_HANDLE_VALUE then

begin

ShowMessage ('Error when executing CreateFile ()');

end;

buffer:='';

for i:=0 to Memo1. Lines. Count1 do

buffer:=buffer+Memo1. Lines. Text+#10+#13;

name1:='';

namesize:=MAX_COMPUTERNAME_LENGTH + 1;

GetMem (name, MAX_COMPUTERNAME_LENGTH + 1);

GetComputerName (name, namesize);

name2:=name;

for i:=0 to namesize1 do

begin

name1:=name1+name2^;

name2:=name2+1;

end;

FreeMem (name);

buffer:=name1+#0+Edit1. Text+#0+buffer;

s:=LPSTR (buffer);

WriteFile (handle, s^, length (buffer) — 2, lpNumberOfBytesWritten, NIL);

if length (buffer) — 2<>lpNumberOfBytesWritten then

begin

ShowMessage ('Error when writing file. Number Of Bytes Written: '+IntToStr (lpNumberOfBytesWritten));

end;

CloseHandle (handle);

end;

Button1. Enabled:=True;

end;

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NetBIOS, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Tform2. NBName опрСдСляСт. являСтся Π»ΠΈ адрСсат ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ имя являСтся самим ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅, Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π»ΠΈ адрСсат Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ сСти Microsoft.

Π’Π°ΠΊΠΆΠ΅, Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ опрСдСляСт, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ машинС Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… сообщСний». Π’Π°ΠΊ ΠΊΠ°ΠΊ для совмСстимости с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ трСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ имя ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ слота (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅), Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ показываСтся ΠΎΠΊΠ½ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ ошибки. Код ошибки опрСдСляСтся срСдствами NetBIOS ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ NBName.

Рис. 1.11. Ошибка ΠΏΡ€ΠΈ создании ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ слота

ΠšΠΎΠ΄Ρ‹ ошибок, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ NetBIOS, ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ‚СхничСском ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ интСрфСйс WinAPI ΠΈ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Windows, постоянно ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ слот Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ приходящСго сообщСния. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ DOS, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ данная рСализация прСдставляла Π±Ρ‹ бСсконСчный Ρ†ΠΈΠΊΠ» ΠΈ Π²ΡΠ΅ рСсурсы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΡƒΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π±Ρ‹ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ сообщСния, опСрационная срСда Windows позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π±Π΅Π· практичСской ΠΏΠΎΡ‚Π΅Ρ€ΠΈ рСсурсов, раздСляя части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΈ (threads). ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ сообщСния Π² ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌ слотС ΠΎΠ½ΠΎ пСрСдаётся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ срСдствами NetBIOS. ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ слот ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡΠ΅Π±Π΅ любоС количСство сообщСний, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ всС Π±ΡƒΠ΄ΡƒΡ‚ вострСбованы Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

ΠŸΡ€ΠΈΠ΅ΠΌ сообщСний ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Var L: Tlist;

procedure TForm1. ShowMess;

var

p:PChar;

s:string;

begin

Memo1. Clear;

p:=L. Items[Current];

s:='Message from ';

repeat

s:=s+p^;

p:=p+1;

until (p^=#0);

p:=p+1;

s:=s+' to';

repeat

s:=s+p^;

p:=p+1;

until (p^=#0);

Label1. Caption:=s;

p:=p+1;

s:='';

repeat

s:=s+p^;

p:=p+1;

until (p^=#0);

Memo1. Lines. Add (s);

StatusBar1. Panels[0]. Text:='Current message: '+IntToStr (current+1);

StatusBar1. Panels[1]. Text:='Total number of messages: '+IntToStr (L. Count);

end;

procedure TForm1. Timer1Timer (Sender: TObject);

var

lpNextSize:DWORD;

lpMessageCount:pointer;

buffer:PChar;

lpNumberOfBytesRead:DWORD;

MessageCount, all: DWORD;

s:string;

begin

lpMessageCount:=addr (MessageCount);

if GetMailslotInfo (h, nil, lpNextSize, lpMessageCount, nil) then

begin

if lpNextSize<>MAILSLOT_NO_MESSAGE then

begin

Beep;

all:=MessageCount;

while all<>0 do

begin

GetMem (buffer, lpNextSize);

if ReadFile (h, buffer^, lpNextSize, lpNumberOfBytesRead, nil) then

begin

s:='';

L. Add (buffer);

StatusBar1. Panels[1]. Text:='Total number of messages: '+IntToStr (L. Count);

if L. Count=1 then begin current:=0; ShowMess; end;

GetMailslotInfo (h, nil, lpNextSize, lpMessageCount, nil);

end

else FreeMem (buffer);

all:=all1;

end;

end;

end;

end;

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Timer1Timer являСтся ядром получСния сообщСний, Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠ°ΠΊ ShowMess — Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²Ρ‹Π΄Π°Ρ‡ΠΈ сообщСния Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅, понятном ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

StatusBar1. Panels[0]. Text:='Current message: '+IntToStr (current+1);

StatusBar1. Panels[1]. Text:='Total number of messages: '+IntToStr (L. Count), входящиС Π² ΡΠΎΡΡ‚Π°Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ сообщСния ΠΏΠΎ ΡΡ‡Ρ‘Ρ‚Ρƒ всСго количСства сообщСний ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ всСх сообщСний.

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π΅ сообщСниС выглядит Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Рис. 1.12. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ всС ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ сообщСния, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Messenger’a.

Рис. 1.13. ΠžΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… сообщСний Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π² Ρ‡Π°ΡΡ‚ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° Π±Ρ‹Π»ΠΈ рассмотрСны ΠΎΠ±Ρ‰ΠΈΠ΅ полоТСния, примСняСмыС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния срСдств ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΡΠ΅Ρ‚ях Microsoft, Π΄Π°Π½Ρ‹ основныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ия сообщСний; ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ» Π±Ρ‹Π»ΠΈ рассмотрСны трСбования ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅.

ВСхничСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит ΠΎΠ±Ρ‰ΡƒΡŽ структуру систСмы, структуру Π΄Π°Π½Π½Ρ‹Ρ…, связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, алгоритмичСскиС связи, простота использования ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΡ€Π°Ρ‚ΠΊΠΎ описаны основныС Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний.

Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΄Π°Π½Π° конфигурация тСхничСских срСдств, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, структурная схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° иСрархия Ρ„ΠΎΡ€ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΡƒΡ‡Π°ΡΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ систСмы ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ия сообщСний.

Π’ Ρ†Π΅Π»ΠΎΠΌ прСдставлСна полная ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ивная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ содСрТаниС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅Ρ‚Π΅Π²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сСмСйства Windows, созданию Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΡΡ€Π΅Π΄Π΅ Borland Delphi 5 относится ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ RAD (Rapid Application Development) — быстроС созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ RAD_срСдств дСлались ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄ программиста, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот Ρ‚Ρ€ΡƒΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, повысив этим быстродСйствиС ΠΈ ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²ΠΎ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ появились ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — IDE (Integrated Development Environment), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ компилятор, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Скстами Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ языкС программирования ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ — трассировщик, Π΄Π΅Π±Π°Π³Π³Π΅Ρ€ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ срСдствами программирования это Π±Ρ‹Π» большой шаг Π²ΠΏΠ΅Ρ€Π΅Π΄, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ появились CASE_срСдства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяли максимально Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ Π±Ρ‹Π»ΠΎ чСрСсчур Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ·-Π·Π° ΠΈΡ… Π½Π΅Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΠΈ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ достаточно ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. БрСдства RAD, взяв всС Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ CASE систСм, объСдинили Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ тСкстами с ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²ΠΎΠΌ создания графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ — GUI (Graphic User Interface). К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ RAD_срСдств Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΈ Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Delphi 5, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² 2−3 Ρ€Π°Π·Π°.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΡΡ€Π΅Π΄Π΅ Delphi 5

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Delphi ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ использованиС ΠΊΠΎΠ΄Π°. Π Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся логичСским Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ свои события (events), ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (methods) ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° (properties). ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, Π° ΡΠ²ΠΎΠΉΡΡ‚Π²Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Бвойства ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΊ динамичСски — Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ ΡΡ‚атичСски — Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ЕстСствСнно, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚ всС Ρ‚Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ — наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ.

ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ использованиС ΠΊΠΎΠ΄Π°

Π’Π΅Ρ€ΠΌΠΈΠ½ «ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ использованиС ΠΊΠΎΠ΄Π°» (code reuse) Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ сам Π·Π° ΡΠ΅Π±Ρ. Данная тСхнология ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания Ρ‚Π°ΠΊΠΈΡ… участков ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ с Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ измСнСниями (ΠΈΠ»ΠΈ совсСм Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. НСльзя ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠ΅ΠΉ RAD-срСдств: Π΅Ρ‰Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅ программисты поняли прСимущСства возмоТности выдСлСния ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ‡Π°ΡΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, появлялись Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Но ΠΈΠΌΠ΅Π½Π½ΠΎ Π² RAD_срСдствах тСхнология ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½Ρ‹ΠΉ Π²ΠΈΠ΄ — сущСствуСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ стандартных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ОсобСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° для Π³Ρ€ΡƒΠΏΠΏ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ ΡΡ‚ΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ глобально, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ всСх Ρ‡Π»Π΅Π½ΠΎΠ² Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

ΠšΡ€ΠΎΠΌΠ΅ описанных Π²Ρ‹ΡˆΠ΅ срСдств, сущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ состоит Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… срСд, графичСских интСрфСйсов ΠΈ Ρ‚. Π΄.

CΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΡΡ€Π΅Π΄Π΅ Delphi

CΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΡΡ€Π΅Π΄Π΅ Delphi являСтся ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Delphi сама сдСлаСт каркас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ New, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 1:

Рис. 2.1. Окно Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° создания Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π±Ρ€Π°Π² Ρ‚ΠΈΠΏ создаваСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, программист ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ содСрТаниСм.

КаТдоС ΠΎΠΊΠ½ΠΎ Π² Delphi называСтся Ρ„ΠΎΡ€ΠΌΠΎΠΉ. На Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’Π΅ΡΡŒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, доступных Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, хранится Π² Ρ„Π°ΠΉΠ»Π΅ complib.dcl ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΎΡ‚обраТаСтся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ срСды Delphi, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ «ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚» (component palette).

ΠŸΠ°Π»ΠΈΡ‚Ρ€Π° разбиваСтся Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Ρ‹, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌ.

Рис. 2.2. ΠŸΠ°Π»ΠΈΡ‚Ρ€Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠžΠΏΠΈΡˆΡƒ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹.

Standard. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π° ΡΡ‚ΠΎΠΉ страницС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ экранных элСмСнтов самой Windows. Но ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Delphi ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ встроСнными возмоТностям.

Additional. Π­Ρ‚Π° страница содСрТит Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. НапримСр, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Outline ΡƒΠ΄ΠΎΠ±Π΅Π½ для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ичСской структурой, Π° MediaPlayer ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ вашим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊ, ΠΌΡƒΠ·Ρ‹ΠΊΡƒ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. Данная страница Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Image Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ растровыС изобраТСния, Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Shape, позволяСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ окруТности, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.

System. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ, связанная с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартных Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½, страница System прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ списки дисков, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° System Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΠΌΠ΅Π½ высокого уровня ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ посрСдством OLE (Object Linking and Embedding). А ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Timer ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ события Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅, Π·Π°Ρ€Π°Π½Π΅Π΅ установлСнныС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Win32. Π­Ρ‚Π° страница содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ созданным с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Delphi ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ нововвСдСния Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС 32_разрядной Windows, ΠΊΠ°ΠΊ просмотр Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… структур, просмотр списков, панСль состояния, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π² ΠΈΠ½Ρ‚СрфСйсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Windows Explorer (ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Π΄Ρ€.

Dialogs. Windows 3.1 Π²Π²Π΅Π»Π° Π² ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ стандартныС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π²Ρ‹Π±ΠΎΡ€Π° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ Ρ‚. Π΄. Однако для использования ΠΈΡ… Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Windows ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Dialogs прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Delphi простой доступ ΠΊ ΡΡ‚ΠΈΠΌ стандартным Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ ΠΎΠΊΠ½Π°ΠΌ.

Data Access ΠΈ Data Controls. Delphi ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Borland (Borland Database Engine, BDE) для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ этих Π΄Π²ΡƒΡ… страниц ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Delphi использованиС сСрвиса Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, прСдоставляСмого BDE, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ считывания, записи, индСксации ΠΈ Π²Ρ‹Π΄Π°Ρ‡ΠΈ запросов для Ρ‚Π°Π±Π»ΠΈΡ† dBASE ΠΈ Paradox. Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ программирования.

Internet. Π­Ρ‚Π° страница прСдоставляСт ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ HTML_Ρ„Π°ΠΉΠ»Ρ‹ нСпосрСдствСнно ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прилоТСниями для Internet. Delphi 4 Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Web_сСрвСра Π² Π²ΠΈΠ΄Π΅ DLL_Ρ„Π°ΠΉΠ»ΠΎΠ²; (Dynamic Link Library — ДинамичСски компонуСмая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°), способных ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² страницы Internet довольно просто ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий для обращСния ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ URL (Uniform Resource Locator — Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ рСсурса), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² HTML_Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠΈ ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ActiveX. Π­Ρ‚Π° страница содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ActiveX, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ нСзависимыми производитСлями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния: сСтка, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°, срСдство ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ правописания.

Midas ΠΈ Decision Cube. Π—Π΄Π΅ΡΡŒ собраны ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для доступа ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ сСрвСрам ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚влСния SQL — запросов.

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ срСды Delphi позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡƒ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ страницы, ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ с ΠΎΠ΄Π½ΠΎΠΉ страницы Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈ Ρ‚. ΠΏ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π΅Π³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΌΡ‹ΡˆΠΈ», Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ «ΠΌΡ‹ΡˆΠΈ» Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ мСсто ΠΈ Ρ‚Π°ΠΌ ΠΎΡ‚ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ процСсс ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ»Π°ΡΡΠ° Ρ„ΠΎΡ€ΠΌΡ‹ появится ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π‘ΠΎΠ±Ρ€Π°Π² Π½Π° ΠΎΠ΄Π½Ρƒ Ρ„ΠΎΡ€ΠΌΡƒ нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ слоТныС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° с ΠΏΠΎΠ»ΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°, ΠΌΠ΅ΠΌΠΎ-полями ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создаваСмого ΠΎΠΊΠ½Π° (Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ).

РазрабатываСмая Ρ„ΠΎΡ€ΠΌΠ° с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. Π₯отя количСство Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ практичСски Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ, Π·Π΄Ρ€Π°Π²Ρ‹ΠΉ смысл подсказываСт, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠΌΠΈ Π½Π΅ Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° ΠΈ Ρ‚. Π΄. Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΠ·-Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ пСрСнасыщСнности. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, рСкомСндуСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΡΠ½Π°Π±ΠΆΠ°Ρ‚ΡŒ строкой описания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ трСбуСтся.

ΠšΡ€ΠΎΠΌΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠ² Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ. Но Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСбя ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚, ΠΏΡ€Π°Π²Π΄Π° для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. К Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ относится всСвозмоТныС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ OpenDialog, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся стандартным ΠΎΠΊΠ½ΠΎΠΌ для открытия Ρ„Π°ΠΉΠ»Π°. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ внСшнС Π½ΠΈΠΊΠ°ΠΊ сСбя Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ DataSet.

Бвойства ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ события, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°ΡŽΡ‚ΡΡ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠΊΠ½Π΅ инспСктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (object inspector). Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ страницы — страницу со ΡΠ²ΠΎΠΉΡΡ‚Π²Π°ΠΌΠΈ ΠΈ ΡΡ‚Ρ€Π°Π½ΠΈΡ†Ρƒ с ΡΠΎΠ±Ρ‹Ρ‚иями. ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠ±Π΅ΠΈΡ… страниц ΡƒΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡ. 2.4:

Рис. 2.4. Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠŸΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ свойства Π² ΠΈΠ½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² учитываСтся Ρ‚ΠΈΠΏ этого свойства. НапримСр, Ссли свойство логичСского Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями True ΠΈ False. Для Π±ΠΎΠ»Π΅Π΅ слоТных свойств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для списков строк, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ свои Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ свойств. НапримСр, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ComboBox с Ρ€ΠΈΡ. 8 ΠΈΠΌΠ΅Π΅Ρ‚ свойство Items Ρ‚ΠΈΠΏΠ° списка строк — TStrings. Π’ ΡΡ‚ΠΎΠΌ случаС Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ с ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ΠΌ, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ рядом с ΠΈΠΌΠ΅Π½Π΅ΠΌ свойства, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° списка строк. Π•Π³ΠΎ Π²ΠΈΠ΄ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡ. 5

Для нСстандартных свойств, описанных программистом, сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания своСго Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° свойств ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Delphi.

Рис. 2.5. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ списка строк ΠšΡ€ΠΎΠΌΠ΅ задания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств, инспСктор ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ указатСля «ΠΌΡ‹ΡˆΠΈ», Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΈ ΠΎΡ‚пусканиС клавиш ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ Ρ‚. ΠΏ. На ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ страничкС инспСктора Π΅ΡΡ‚ΡŒ список мноТСства стандартных для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° (ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹) событий. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ соотвСтствуСт своя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этого события. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько событий. ВсС это указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инспСктора событий.

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

Однако, сущСствуСт опрСдСлённая ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, призванная ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ собствСнно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ этапы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π½Π° Π­Π’Πœ

БоставлСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·Π° тСхничСского задания программист Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ основной ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, составляСт ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ для Ρ‚Π΅Ρ… условий функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π’Π—, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ удобство использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚. ΠΏ.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ основныС части ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, взаимосвязь ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠ°ΠΊ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… Π΅Π΅ Ρ‡Π°ΡΡ‚Π΅ΠΉ.

Алгоритмизация

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ рСсурсы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π­Π’Πœ (Π΅Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΏΠ°ΠΌΡΡ‚ΡŒ) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ примСняСмой для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Алгоритмы для нСслоТных Π·Π°Π΄Π°Ρ‡, трСбования ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ Π½Π΅Π²Π΅Π»ΠΈΠΊΠΈ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ машинно-нСзависимыми. Алгоритм ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСм.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’ ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ этапС Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, составлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ для программирования языкС (алгоритмичСском языкС высокого уровня, Π°Π²Ρ‚ΠΎΠΊΠΎΠ΄Π΅, языкС ассСмблСра ΠΈΠ»ΠΈ машинном языкС) сводится ΠΊ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊ программирования. Основная Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ написании Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΄ΠΎΡΠΊΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ Π·Π½Π°Π½ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ языка ΠΈ ΠΏΠΎΡΡ‚оянном Π²Π½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΊ Π΄Π΅Ρ‚алям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если этап 2.4.2. Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ нСкачСствСнно, программисту придётся Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ «Π½Π° Ρ…ΠΎΠ΄Ρƒ», Π²ΠΎ Π²Ρ€Π΅ΠΌΡ написания.

Врансляция

Вранслятор Π² Ρ…ΠΎΠ΄Π΅ осущСствлСния трансляции ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поиск синтаксичСских ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ, Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΈΡ… ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΡ, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ диагностику, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ошибок. Врансляция, Π° Π²ΠΌΠ΅ΡΡ‚Π΅ с Π½Π΅ΠΉ ΠΈ ΠΏΠΎΠΈΡΠΊ синтаксичСских ошибок, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Ρ‹, Ссли Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΎΡ‡Π΅Π½ΡŒ грубая ошибка.

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

На ΡΡ‚Π°ΠΏΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ производится ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π­Π’Πœ ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ ΠΈΡ… ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Π­Ρ‚Π°ΠΏ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ подэтапа:

6.1. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

6.2. Локализация ошибок.

6.3. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибок.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ сказано Π² Π³Π»Π°Π²Π΅ 2.5.

ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Для возмоТности эксплуатации ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ΅ΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ Π°Π²Ρ‚ΠΎΡ€Π° ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π°: составлСно Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ носитСли для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ…ΠΎΠ΄Π΅ эксплуатации ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, составляСтся ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, оцСниваСтся Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹.

ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΡ

ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ эксплуатации ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ встаёт вопрос ΠΎ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ старой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ составлСнии Π½ΠΎΠ²ΠΎΠΉ, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΈΠ΄Π΅ΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ рСкомСндуСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ стуктурированноС написаниС исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ ΡΡ‚ΠΎΠΉ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ Π±Ρ‹Π»Π° рассмотрСна упрощСнная схСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΡ€Π΅Π΄Π΅ Delphi. Но ΠΊΡ€ΠΎΠΌΠ΅ создания исходного тСкста Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ это Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ явлСниС. А ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΈΠ· Ρ€ΡΠ΄Π° Π²ΠΎΠ½ выходящим Ρ„Π°ΠΊΡ‚ΠΎΠΌ являСтся отсутствиС ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, которая Π½Π΅ Π±Ρ‹Π»Π° Π΅Ρ‰Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π½ΡƒΡ‚Π° Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π΅Ρ‡ΡŒ здСсь ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ…, достаточно слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. Учитывая этот ΠΏΠ΅Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°ΠΊΠΎΠ½, Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΡ‚Π°ΠΏΠ°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΡŽ ошибок Π½Π° ΡΡ‚Π°Π΄ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ профилактичСскиС ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎ ΠΈΡ… ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ. НапримСр, ΡƒΠΆΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС, ΠΊΠΎΠ³Π΄Π° выбираСтся ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, слСдуСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠ»Π°Π½ Π΅Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. НСобходимо ΡƒΠΆΠ΅ Π½Π° ΡΡ‚ΠΎΠΉ стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ обСспСчиваСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ для ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² Π’Π— Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² измСнСния Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ ΠΈ ΡƒΡΠ»ΠΎΠ²ΠΈΠΉ функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ тактичСскиС вопросы провСдСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ способы контроля ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ прСдстоящСй Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ошибок Π² Π½ΠΈΡ…. Для этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ (Π±Π»ΠΎΠΊ-схСмам) Π½Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ мСста ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ся Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстрой Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ошибок ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Разрабатывая Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, слСдуСт, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ достаточно просто ΠΏΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° прСдвидятся большиС затруднСния, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠΌΡƒ для этапа ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. НуТно всСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ цСнности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ Π΄Π»Ρ гарантирования Ρ‚Π°ΠΊΠΎΠ³ΠΎ свойства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ слСдуСт ΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ показатСлями, Ρ‚Π°ΠΊΠΈΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ объСм памяти. Π”Π°Π²Π½ΠΎ ΡƒΡˆΠ»ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π½Π΅ΠΉ.

Π’ΠΎΠΎΠ±Ρ‰Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΡ‚Π°ΠΏΠ°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ закладываСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ быстрой ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π§Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ этапы постановки Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ Π² Ρ‡Π°ΡΡ‚ности, Ρ‡Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΠ»Π°Π½ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‡Π΅ΠΌ большС внимания Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ составлСнного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… срСдств для облСгчСния прСдстоящСй ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚Π΅ΠΌ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ потрСбуСтся Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ самой ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Ρ‚Π΅ΠΌ скорСС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Π½Π° Π­Π’Πœ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ. Наоборот, стрСмлСниС ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ быстрому ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Ρ†Π΅Π»ΡŒΡŽ ΡΠΊΠΎΡ€Π΅ΠΉΡˆΠ΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π° (ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ) Π΅Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ: ΠΎΡ‚Π»Π°Π΄ΠΊΠ° затягиваСтся Π½Π°Π΄ΠΎΠ»Π³ΠΎ, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ достовСрных Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² откладываСтся Π½Π° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ срок. Вакая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° вызываСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π° ΠΏΠΎΠ·Π΄Π½ΠΈΡ… этапах ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° — ΠΈ ΡΡ‡Π΅Ρ‚Π°) Π²ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС Π½ΠΎΠ²Ρ‹Π΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ ошибки, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡΡ‚Π°ΠΏΠ°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΏΡ€ΠΈΡ…одится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΡ… ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ обращСния ΠΊ Π­Π’Πœ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… тратится ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… часов Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π½Π΅ΠΉ. ΠΠ°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ для ускорСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ кратности ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ², выходя Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΡƒΠΆΠ΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

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