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

Алгоритмы сортировки ΠΈ поиска

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

Поиск с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ. ΠŸΡ€ΠΈ установлСнии этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ появится Π΅Ρ‰Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° слова для Π·Π°ΠΌΠ΅Π½Ρ‹ Рис. 7. Поиск слова ΠŸΡ€ΠΈ осущСствлСнии поиска ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС вхоТдСния слова Π² Ρ‚СкстС, ΠΏΡ€ΠΈ этом Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠ° «ΠΠ°ΠΉΡ‚ΠΈ Π΄Π°Π»Π΅Π΅». ΠžΠ±Ρ‰ΠΈΠ΅ свСдСнья ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ «Π’Скстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€». Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π»ΡŽΠ±Ρ‹ΠΌ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

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

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Π Π€ Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Π“ΠžΠ£ Π’ΠŸΠž Π§Π΅Ρ€Π΅ΠΏΠΎΠ²Π΅Ρ†ΠΊΠΈΠΉ ГосударствСнный УнивСрситСт Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠšΠ°Ρ„Π΅Π΄Ρ€Π° ПО Π­Π’Πœ Алгоритмы сортировки ΠΈ ΠΏΠΎΠΈΡΠΊΠ° РасчСтно-ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ: студСнтка Π³Ρ€.1ПО-31

Π‘Π°Ρ‚ΡŽΠΊΠΎΠ²Π° Π”.А.

Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ: БСливановских Π’.Π’.

2009 Π³.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ «Π’Скстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€». Она ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особых Π·Π½Π°Π½ΠΈΠΉ, ΠΊΡ€ΠΎΠΌΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ тСкст ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ тСкст Π² Ρ„Π°ΠΉΠ», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ своСй Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ осущСствлСниС поиска слова Π² Ρ‚СкстС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠšΠ½ΡƒΡ‚Π°-ΠœΠΎΡ€Ρ€ΠΈΡΠ°-ΠŸΡ€Π°Ρ‚Ρ‚Π°.

1. ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния

Delphi — ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ любого Ρ‚ΠΈΠΏΠ°:

— ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π΄ΠΎΠΌΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Π΅ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ);

— ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для офисов (Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² Ρ‚ΠΎΠΌ числС ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрныС прилоТСния);

— ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈ Ρ‚. Π΄.

Для написания нашСй курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π±Ρ‹Π»Π° использована срСда Delphi7, ΠΊΠ°ΠΊ самая простая ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π°Ρ срСда программирования. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Delphi — комбинация Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

Β· Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ компилятор Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄;

Β· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная модСль ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚;

Β· Delphi — ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Ρ… систСм Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обнаруТСния ошибок Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции;

Β· простой ΠΈ ΡΡΠ½Ρ‹ΠΉ синтаксис.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы сСмСйства Windows ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft.

2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обСспСчиваСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡:

1) Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° тСкста ΠΈΠ· Ρ„Π°ΠΉΠ»Π° (с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .txt);

2) Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»;

3) НСкоторыС возмоТности рСдактирования тСкста (Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ/ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ/ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ/Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всё/Π¨Ρ€ΠΈΡ„Ρ‚/Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅);

4) Поиск ΠΈ Π·Π°ΠΌΠ΅Π½Π° слов Π² Ρ‚СкстС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠšΠ½ΡƒΡ‚Π°-ΠœΠΎΡ€Ρ€ΠΈΡΠ°-ΠŸΡ€Π°Ρ‚Ρ‚Π°.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ (с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .txt), ΠΈ Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ поиск, Ρ‚ΠΎ ΡΠ»ΠΎΠ²ΠΎ для поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‚Π°ΠΊΠΆΠ΅ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .txt. ΠŸΡ€ΠΈ поискС Π±Π΅Π· Π·Π°ΠΌΠ΅Π½Ρ‹, Ссли слово Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΠΎΠ½ΠΎ выдСляСтся Π² Ρ‚СкстС; ΠΏΡ€ΠΈ поискС с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ слово замСняСтся Π½Π° Π½ΠΎΠ²ΠΎΠ΅ слово, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

3. ОписаниС логичСской структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Алгоритм ΠšΠ½ΡƒΡ‚Π° — ΠœΠΎΡ€Ρ€ΠΈΡΠ° — ΠŸΡ€Π°Ρ‚Ρ‚Π° (КМП-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ) — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска ΠΎΠ±Ρ€Π°Π·Ρ†Π° (подстроки) Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅. Алгоритм Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π”. ΠšΠ½ΡƒΡ‚ΠΎΠΌ ΠΈ Π’. ΠŸΡ€Π°Ρ‚Ρ‚ΠΎΠΌ ΠΈ, нСзависимо ΠΎΡ‚ Π½ΠΈΡ…, Π”. ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠΌ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ совмСстно Π² 1977 Π³ΠΎΠ΄Ρƒ. Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ основываСтся Π½Π° Ρ‚ΠΎΠΌ сообраТСнии, Ρ‡Ρ‚ΠΎ послС частичного совпадСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ части слова с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ символами тСкста фактичСски извСстна пройдСнная Ρ‡Π°ΡΡ‚ΡŒ тСкста ΠΈ ΠΌΠΎΠΆΠ½ΠΎ «Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свСдСния (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ самого слова), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Ρ‚Π΅ΠΌ быстро ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒΡΡ ΠΏΠΎ Ρ‚Сксту. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ КМП-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прямого поиска являСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сдвига слова Π½Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ символ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ количСство символов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ сдвиг, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ сдвига. Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сдвиг Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π±Ρ‹Π» Π±Ρ‹ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большим.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ фактичСского поиска ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Shift; эти вычислСния сводятся ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдтрансляции слова. Если j ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² ΡΠ»ΠΎΠ²Π΅, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ символ (ΠΊΠ°ΠΊ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ прямого поиска), Ρ‚ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° сдвига опрСдСляСтся:

Shift[j] = j — LenSuff — 1. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ LenSuff опрСдСляСтся ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов слова, нСпосрСдствСнно ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ j (суффикс), которая ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совпадаСт с Π½Π°Ρ‡Π°Π»ΠΎΠΌ слова. LenSuff зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΡΠ»ΠΎΠ²Π° ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ Ρ‚Скста.

Рис. 1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ КМП-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ€ΠΈΡ. 1 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ поиска слова ABCABD ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π³ΡˆΠΈΠ΅ΡΡ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ, здСсь ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹.

Рис. 2. ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4. БпСцификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π’Π°Π±Π»ΠΈΡ†Π° 1

НазваниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ДСйствиС

UNIT1

procedure OPEN1;

Π½Π΅Ρ‚

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

procedure Create1;

Π½Π΅Ρ‚

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

procedure SAVE1;

Π½Π΅Ρ‚

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»

procedure TForm1. N2Click

(Sender: TObject)

Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Create1

procedure TForm1. N4Click

(Sender: TObject)

Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ SAVE1

procedure TForm1. N3Click

(Sender: TObject)

Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ OPEN1

procedure TForm1. N13Click

(Sender: TObject)

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

procedure TForm1. N7Click

(Sender: TObject)

Π’Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

procedure TForm1. N10Click

(Sender: TObject)

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

procedure TForm1. N11Click

(Sender: TObject)

Вставка тСкста ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°

procedure TForm1. N12Click

(Sender: TObject)

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ всСго тСкста

procedure TForm1. ApplicationEventsHint

(Sender: TObject)

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подсказок

procedure TForm1. N15Click

(Sender: TObject)

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ/ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ панСль инструмСнтов

procedure TForm1. N16Click

(Sender: TObject)

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ/ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ строку состояния

procedure TForm1. N17Click

(Sender: TObject)

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ поля

procedure TForm1. ToolButton8Click

(Sender: TObject)

Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Create1

procedure TForm1. ToolButton1Click

(Sender: TObject)

Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ OPEN1

procedure TForm1. ToolButton2Click

(Sender: TObject)

Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ SAVE1

procedure TForm1. ToolButton3Click

(Sender: TObject)

Π’Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

procedure TForm1. ToolButton4Click

(Sender: TObject)

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

procedure TForm1. ToolButton5Click

(Sender: TObject)

Вставка тСкста ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°

procedure TForm1. ToolButton6Click

(Sender: TObject)

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ всСго тСкста

procedure TForm1. ToolButton7Click

(Sender: TObject)

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ поля

procedure TForm1. Memo1MouseDown

(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer)

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора Π² Memo

procedure TForm1. N20Click (Sender: TObject);

Π½Π΅Ρ‚

Запуск Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²Ρ‹Π±ΠΎΡ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°

procedure TForm1. N23Click (Sender: TObject);

Π½Π΅Ρ‚

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ выравнивания ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ

procedure TForm1. N24Click (Sender: TObject);

Π½Π΅Ρ‚

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ выравнивания ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ

procedure TForm1. N25Click (Sender: TObject);

Π½Π΅Ρ‚

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ выравнивания ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ

procedure TForm1. N26Click (Sender: TObject);

Π½Π΅Ρ‚

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° 3-ю Ρ„ΠΎΡ€ΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ справку

procedure TForm1. Timer1Timer (Sender: TObject);

Π½Π΅Ρ‚

Π’Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

procedure TForm1. ToolButton9Click (Sender: TObject);

Π½Π΅Ρ‚

Π’Ρ‹Π·ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π°

procedure TForm1. FormCreate (Sender: TObject);

Π½Π΅Ρ‚

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ComboBox1 ΠΈ ComboBox2

procedure TForm1. ComboBox1Change

(Sender: TObject)

УстановлСниС значСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°

procedure TForm1. ComboBox1KeyPress

(Sender: TObject; var Key: Char)

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° Π²Π²ΠΎΠ΄ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (допустимы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹)

procedure TForm1. ComboBox2Change

(Sender: TObject)

УстановлСниС стиля ΡˆΡ€ΠΈΡ„Ρ‚Π°

procedure TForm1. ComboBox2KeyPress

(Sender: TObject; var Key: Char)

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ComboBox2 (список ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²)

UNIT3

procedure TForm3. BitBtn1Click

(Sender: TObject)

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ справки, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ

UNIT4

procedure TForm4. BitBtn1Click

(Sender: TObject)

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ поиска слова Π² Ρ‚СкстС

procedure TForm4. BitBtn2Click

(Sender: TObject)

ΠžΡ‚ΠΌΠ΅Π½Π° поиска, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ

UNIT5

procedure TForm5. Button1Click

(Sender: TObject)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ ΠΏΠΎΠΈΡΠΊΡƒ

procedure TForm5. BitBtn1Click

(Sender: TObject)

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ

5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ тСхничСскиС срСдства Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ трСбованиями:

1. Π’ΠΈΠΏ процСссора — Intel Pentium III/Intel Pentium IV;

2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Windows 96/2000/XP/Vista;

3. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм памяти — 20 Мб.

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ внСшниС устройства: ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, ΠΌΡ‹ΡˆΡŒ.

6. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ интСрфСйс со ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ½Ρ‚СрфСйс-мСню.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π’Π°Π±Π»ΠΈΡ†Π° 2

TImage

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ

TPanel

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ

TLabel

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, пояснСний

TEdit

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π²ΠΎΠ΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (слова для поиска, слова для Π·Π°ΠΌΠ΅Π½Ρ‹)

TMemo

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

TButton

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для осущСствлСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², подтвСрТдСния Π²Π²ΠΎΠ΄Π°

TBitBtn

TOpenDialog

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²Ρ‹Π±ΠΎΡ€Π° ΠΈ ΠΎΡ‚крытия Ρ„Π°ΠΉΠ»ΠΎΠ²

TSaveDialog

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° сохранСния Ρ„Π°ΠΉΠ»Π°

TMainMenu

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обслуТивания мСню (Π²Ρ‹Π±ΠΎΡ€ дСйствия)

TComboBox

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка (смСна Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°, смСна стиля)

TTimer

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

TStatusBar

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния подсказок, Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚обраТСния ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора Π² Ρ‚СкстС

TImageList

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (ΠΈΠΊΠΎΠ½ΠΎΠΊ)

TApplicationEvents

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для осущСствлСния Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подсказок

TFontDialog

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²Ρ‹Π±ΠΎΡ€Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΡˆΡ€ΠΈΡ„Ρ‚Π°

TToolBar

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов

TColorDialog

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π°

TSskinManager

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для оформлСния

TSskinProvider

Рис. 3. Главная Ρ„ΠΎΡ€ΠΌΠ° Рис. 4. Π’Ρ€Π΅Ρ‚ΡŒΡ Ρ„ΠΎΡ€ΠΌΠ° «Π‘ΠΏΡ€Π°Π²ΠΊΠ°»

Рис. 5. ЧСтвСртая Ρ„ΠΎΡ€ΠΌΠ° «ΠŸΠΎΠΈΡΠΊ слова»

Рис. 6. ΠŸΡΡ‚Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° «Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска»

7. Π’Ρ‹Π·ΠΎΠ² ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ осущСствляСтся запуском Ρ„Π°ΠΉΠ»Π° Project1. exe, находящСгося Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ TextEditor.

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

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΡƒΡ€ΡΠ΅ дисциплины «CΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

Β· Алгоритм поиска подстроки Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ (ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠšΠ½ΡƒΡ‚Π°-ΠœΠΎΡ€Ρ€ΠΈΡΠ°-ΠŸΡ€Π°Ρ‚Ρ‚Π°);

ΠšΡ€ΠΎΠΌΠ΅ этого, Π±Ρ‹Π» Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΡƒΡ€ΡΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… дисциплин, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° динамичСских массивов».

Π’Π°ΠΊΠΆΠ΅, Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΈ программирования Π² ΡΡ€Π΅Π΄Π΅ Delphi.

ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Ρ†Π΅Π»ΡŒ достигнута: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

1. Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурс http://www.edelphi.ru/ - ЭлСктронная ΠΊΠ½ΠΈΠ³Π° 100 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Delphi.

2. Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурс http://www.helloworld.ru/ - ДокумСнтация ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

3. Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурс http://www.delphisources.ru/.

4. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’. Delphi. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня: Π£Ρ‡Π΅Π±Π½ΠΈΠΊ для Π²ΡƒΠ·ΠΎΠ² — БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2006.

5. ΠΠ»ΡŒΡ„Ρ€Π΅Π΄ Π’. Ахо, Π”ΠΆΠΎΠ½ Π­. Π₯ΠΎΠΏΠΊΡ€ΠΎΡ„Ρ‚, Π”ΠΆΠ΅Ρ„Ρ„Ρ€ΠΈ Π”. Ульман. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π».: М.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «Π’ΠΈΠ»ΡŒΡΠΌΡ», 2001.

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

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Рис. 1. Π‘Π»ΠΎΠΊ-схСма ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Рис. 2. Π‘Π»ΠΎΠΊ-схСма поиска слова Π² Ρ‚СкстС. БоставлСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сдвигов (procedure TForm4. BitBtn1Click (Sender: TObject);)

Рис. 3. Π‘Π»ΠΎΠΊ-схСма поиска слова Π² Ρ‚СкстС. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ поиска слова Π² Ρ‚СкстС (procedure TForm4. BitBtn1Click (Sender: TObject)

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

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, ImgList, ComCtrls, AppEvnts, ToolWin, ActnList,

ExtCtrls, sSkinProvider, sSkinManager, sDialogs ;

type

TForm1 = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

OpenDialog1: TOpenDialog;

Memo1: TMemo;

SaveDialog1: TSaveDialog;

N7: TMenuItem;

N8: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

ImageList1: TImageList;

StatusBar: TStatusBar;

ApplicationEvents: TApplicationEvents;

FontDialog1: TFontDialog;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

ToolBar: TToolBar;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

N23: TMenuItem;

N24: TMenuItem;

N25: TMenuItem;

N26: TMenuItem;

Timer1: TTimer;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

ToolButton1: TToolButton;

ToolButton2: TToolButton;

ToolButton3: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

ToolButton6: TToolButton;

ToolButton7: TToolButton;

ToolButton8: TToolButton;

ToolButton9: TToolButton;

ToolButton10: TToolButton;

ToolButton11: TToolButton;

ToolButton12: TToolButton;

sSkinManager1: TsSkinManager;

sSkinProvider1: TsSkinProvider;

sColorDialog1: TsColorDialog;

ToolButton13: TToolButton;

ToolButton14: TToolButton;

ToolButton15: TToolButton;

ToolButton16: TToolButton;

procedure N2Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N10Click (Sender: TObject);

procedure N11Click (Sender: TObject);

procedure N12Click (Sender: TObject);

procedure N13Click (Sender: TObject);

procedure ApplicationEventsHint (Sender: TObject);

procedure N15Click (Sender: TObject);

procedure N16Click (Sender: TObject);

procedure N17Click (Sender: TObject);

procedure ToolButton2Click (Sender: TObject);

procedure ToolButton1Click (Sender: TObject);

procedure ToolButton3Click (Sender: TObject);

procedure ToolButton4Click (Sender: TObject);

procedure ToolButton5Click (Sender: TObject);

procedure N9Click (Sender: TObject);

procedure ToolButton6Click (Sender: TObject);

procedure ToolButton7Click (Sender: TObject);

procedure Memo1Change (Sender: TObject);

procedure Memo1MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure N20Click (Sender: TObject);

procedure N23Click (Sender: TObject);

procedure N24Click (Sender: TObject);

procedure N25Click (Sender: TObject);

procedure N26Click (Sender: TObject);

procedure ToolButton9Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure ComboBox1Change (Sender: TObject);

procedure ComboBox1KeyPress (Sender: TObject; var Key: Char);

procedure ComboBox2Change (Sender: TObject);

procedure ComboBox2KeyPress (Sender: TObject; var Key: Char);

procedure ToolButton8Click (Sender: TObject);

procedure Memo1KeyUp (Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure Timer1Timer (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure Memo1KeyDown (Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure ToolButton13Click (Sender: TObject);

procedure FormCloseQuery (Sender: TObject; var CanClose: Boolean);

procedure N19Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation

{$R *.dfm}

uses Unit3, Unit4;

procedure OPEN1;

begin

Form1.Memo1.Lines.Clear; // ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ строки Memo

Form1.Caption:=('Text Editor'); // ВостанавливаСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹

If Form1. OpenDialog1.Execute Then // ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ

If form1. OpenDialog1.Filename<>'' Then

Begin

form1.Memo1.Lines.LoadFromFile (form1.OpenDialog1.Filename);// Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Ρ„Π°ΠΉΠ» Π² Memo

Form1.Caption:=(form1.OpenDialog1.Filename+' - Text Editor');// ДобавляСм имя Ρ„Π°ΠΉΠ»Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ.

End;

end;

procedure Create1;

begin

form1.Memo1.Lines.Clear; // ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ строки Memo

Form1.Caption:=('Text Editor'); // ВостанавливаСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹

end;

procedure SAVE1;

begin

IF form1. SaveDialog1.Execute then // ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ

IF form1. SaveDialog1.Filename<>'' then

Begin

form1.Memo1.Lines.SaveToFile (form1.SaveDialog1.Filename);

// ДобавляСм имя Ρ„Π°ΠΉΠ»Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ.

Form1.Caption:=(form1.SaveDialog1.Filename+' - Text Editor');

End;

end;

{ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ}

procedure TForm1. N2Click (Sender: TObject);

begin

Create1;

end;

{Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅}

procedure TForm1. N4Click (Sender: TObject);

begin

SAVE1;

end;

{ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ}

procedure TForm1. N3Click (Sender: TObject);

begin

OPEN1;

if memo1. Text='' then

begin

N19.Enabled:=false;

N7.Enabled:=false;

N10.Enabled:=false;

N11.Enabled:=false;

N12.Enabled:=false;

N17.Enabled:=false;

ToolButton3.Enabled:=false;

ToolButton4.Enabled:=false;

ToolButton5.Enabled:=false;

ToolButton6.Enabled:=false;

ToolButton7.Enabled:=false;

ToolButton9.Enabled:=false;

end

else

begin

N19.Enabled:=true;

ToolButton3.Enabled:=true;

ToolButton4.Enabled:=true;

ToolButton6.Enabled:=true;

ToolButton7.Enabled:=true;

ToolButton9.Enabled:=true;

N7.Enabled:=true;

N10.Enabled:=true;

N12.Enabled:=true;

N17.Enabled:=true;

end;

end;

{Π’Ρ‹Ρ…ΠΎΠ΄}

procedure TForm1. N13Click (Sender: TObject);

begin

memo1.Clear;

Form1.Close;

end;

{Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ}

procedure TForm1. N7Click (Sender: TObject);

begin

Memo1.CutToClipBoard; //Π’Ρ‹Ρ€Π΅Π·Π°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

end;

{ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ}

procedure TForm1. N10Click (Sender: TObject);

begin

Memo1.CopyToClipBoard; // ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

N11.Enabled:=true;

end;

{Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ}

procedure TForm1. N11Click (Sender: TObject);

begin

Memo1.PasteFromClipBoard; // ВставляСм тСкст ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°

end;

{Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всё}

procedure TForm1. N12Click (Sender: TObject);

begin

Memo1.SelectAll; // ВыдСляСм вСсь тСкст

end;

procedure TForm1. ApplicationEventsHint (Sender: TObject);

begin

with StatusBar do

begin

Panels[0]. Text:= Application. Hint;

{============}

SimplePanel := SimpleText <> '';

end;

end;

procedure TForm1. N15Click (Sender: TObject);

begin

// Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ панСль инструмСнтов

ToolBar.Visible := not ToolBar. Visible;

N15.Checked := not N15. Checked;

end;

procedure TForm1. N16Click (Sender: TObject);

begin

// Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ строку состояния

StatusBar.Visible := not StatusBar. Visible;

N16.Checked := not N16. Checked;

end;

{ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ}

procedure TForm1. N17Click (Sender: TObject);

begin

Memo1.Lines.Clear;

end;

{ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ}

procedure TForm1. ToolButton1Click (Sender: TObject);

begin

OPEN1;

end;

{ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ}

procedure TForm1. ToolButton2Click (Sender: TObject);

begin

SAVE1;

end;

{ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ}

procedure TForm1. ToolButton3Click (Sender: TObject);

begin

Memo1.CutToClipBoard; //Π’Ρ‹Ρ€Π΅Π·Π°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

end;

{Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ}

procedure TForm1. ToolButton4Click (Sender: TObject);

begin

Memo1.CopyToClipBoard; // ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

ToolButton5.Enabled:=true;

N11.Enabled:=true;

end;

{ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ}

procedure TForm1. ToolButton5Click (Sender: TObject);

begin

Memo1.PasteFromClipBoard; // ВставляСм тСкст ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°

end;

{Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ}

procedure TForm1. ToolButton6Click (Sender: TObject);

begin

Memo1.SelectAll; // ВыдСляСм вСсь тСкст

end;

{ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ}

procedure TForm1. ToolButton7Click (Sender: TObject);

begin

Memo1.Lines.Clear; //ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ

end;

procedure TForm1. Memo1Change (Sender: TObject);

begin

ToolButton3.enabled:=true;

ToolButton4.enabled:=true;

ToolButton6.enabled:=true;

ToolButton7.enabled:=true;

Form1.StatusBar.Panels[1]. Text:='стр '+IntToStr (Memo1.CaretPos.Y)+' столб '+IntToStr (Memo1.CaretPos.X);

end;

procedure TForm1. Memo1MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Form1.StatusBar.Panels[1]. Text:='стр '+IntToStr (Memo1.CaretPos.Y)+' столб '+IntToStr (Memo1.CaretPos.X);

end;

procedure TForm1. N20Click (Sender: TObject);

begin

FontDialog1.Font:=Memo1.Font;// ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅

If FontDialog1. Execute Then

begin // ЗапускаСм Π΄ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°

Memo1.Font:=FontDialog1.Font; // ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚

Combobox1.Text:=intToStr (Memo1.font.Size);

ComboBox2.Text:=Memo1.Font.Name;

end;

end;

procedure TForm1. N23Click (Sender: TObject);

begin

N23.Checked:=true;

Memo1.Alignment:=tacenter;

end;

procedure TForm1. N24Click (Sender: TObject);

begin

N24.Checked:=true;

memo1.Alignment:=taleftjustify;

end;

procedure TForm1. N25Click (Sender: TObject);

begin

N25.Checked:=true;

Memo1.Alignment:=tarightjustify;

end;

procedure TForm1. N26Click (Sender: TObject);

begin

Form3.Visible:=true;

end;

procedure TForm1. ToolButton9Click (Sender: TObject);

begin

Form1.Memo1.SelStart:=0;

Form4.Visible:=true;

end;

procedure TForm1. FormCreate (Sender: TObject);

begin

Combobox1.Items.Add ('8');

Combobox1.Items.Add ('9');

Combobox1.Items.Add ('10');

Combobox1.Items.Add ('11');

Combobox1.Items.Add ('12');

Combobox1.Items.Add ('14');

Combobox1.Items.Add ('16');

Combobox1.Items.Add ('18');

Combobox1.Items.Add ('20');

Combobox1.Items.Add ('22');

Combobox1.Items.Add ('24');

Combobox1.Items.Add ('26');

Combobox1.Items.Add ('28');

Combobox1.Items.Add ('36');

Combobox1.Items.Add ('48');

Combobox2.Items.Add ('Arial');

Combobox2.Items.Add ('Arial Black');

Combobox2.Items.Add ('Comic Sans MS');

Combobox2.Items.Add ('Courier New');

Combobox2.Items.Add ('Tahoma');

Combobox2.Items.Add ('Times New Roman');

Combobox2.Items.Add ('Verdana');

Memo1.Font.Name:='Times New Roman';

Memo1.Font.Size:=8;

end;

procedure TForm1. ComboBox1Change (Sender: TObject);

begin

Memo1.Font.Size:=StrToInt (Combobox1.Text);

end;

procedure TForm1. ComboBox1KeyPress (Sender: TObject; var Key: Char);

begin

if not (Key in ['0'. '9']) then Key := #0;

end;

procedure TForm1. ComboBox2Change (Sender: TObject);

begin

Memo1.Font.Name:=Combobox2.Text;

end;

procedure TForm1. ComboBox2KeyPress (Sender: TObject; var Key: Char);

begin

if (Key in ['0'. '9','a'. 'z', 'Π°'. 'я','А'. 'Π―','A'. 'Z', '!', '" ', '@', '#', 'β„–', ';', '$', '%', '^', '&', '?', ':', '*',

'(', ')', '-', '_', '+', '=', '|', '', '/', ',', '.' ,'<', '>', '{', '}', '[', ']']) then Key := #0;

end;

procedure TForm1. ToolButton8Click (Sender: TObject);

begin

Create1;

end;

procedure TForm1. Memo1KeyUp (Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if memo1. Text='' then

begin

N19.Enabled:=false;

N7.Enabled:=false;

N10.Enabled:=false;

N11.Enabled:=false;

N12.Enabled:=false;

N17.Enabled:=false;

ToolButton3.Enabled:=false;

ToolButton4.Enabled:=false;

ToolButton5.Enabled:=false;

ToolButton6.Enabled:=false;

ToolButton7.Enabled:=false;

ToolButton9.Enabled:=false;

end

else

begin

N19.Enabled:=true;

ToolButton3.Enabled:=true;

ToolButton4.Enabled:=true;

ToolButton6.Enabled:=true;

ToolButton7.Enabled:=true;

ToolButton9.Enabled:=true;

N7.Enabled:=true;

N10.Enabled:=true;

N12.Enabled:=true;

N17.Enabled:=true;

end;

end;

procedure TForm1. Timer1Timer (Sender: TObject);

var Time: Tdatetime;

begin

Time:=now ();

statusBar.Panels[2]. Text:='ВрСмя'+TimeToStr (time);

end;

procedure TForm1. FormShow (Sender: TObject);

begin

Timer1.Enabled:=true;

end;

procedure TForm1. Memo1KeyDown (Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if memo1. Text<>'' then N19. Enabled:=true;

end;

procedure TForm1. ToolButton13Click (Sender: TObject);

begin

if sColorDialog1. Execute then

Memo1.Font.color := sColorDialog1. Color;

end;

procedure TForm1. FormCloseQuery (Sender: TObject; var CanClose: Boolean);

var res: integer;

begin

Res := MessageBox (

Self.Handle

PChar ('Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ?')

PChar ('Text Editor')

MB_YESNOCANCEL + MB_ICONINFORMATION //+ MB_APPLMODAL

);

case Res of

IDYES: begin

Save1;

//Π’Ρ‹Π·ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° для сохранСния, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π”Π°» .

end;

IDNO: begin

canclose:=true;

//Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π±Π΅Π· сохранСния Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ΅Ρ‚» .

end;

IDCANCEL: begin

canclose:=false;

//Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΌΠ΅Π½Π°» .

end;

end;

end;

procedure TForm1. N19Click (Sender: TObject);

begin

Form1.Memo1.SelStart:=0;

Form4.Visible:=true;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, jpeg;

type

TForm3 = class (TForm)

BitBtn1: TBitBtn;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

Memo2: TMemo;

Image1: TImage;

Image2: TImage;

procedure BitBtn1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3. BitBtn1Click (Sender: TObject);

begin

Form3.Visible:=false;

end;

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, XPMan, StdCtrls, Buttons, ExtCtrls;

type

TForm4 = class (TForm)

Edit1: TEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

XPManifest1: TXPManifest;

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Panel1: TPanel;

Label1: TLabel;

Edit2: TEdit;

Label2: TLabel;

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure RadioButton1Click (Sender: TObject);

procedure RadioButton2Click (Sender: TObject);

procedure FormShow (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

txt, wrd: string ;

i, j, k, x, u, lensuff, m, n, position1: integer;

equal, KMP: boolean;

shift:array of integer;

implementation

uses Unit1, Unit5;

{$R *.dfm}

procedure TForm4. BitBtn1Click (Sender: TObject);

begin

if Edit1. Text='' then ShowMessage ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ слово для поиска Π»ΠΈΠ±ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «ΠžΠ’ΠœΠ•ΠΠ» ') else

BEGIN {1}

KMP:=false;

txt:=Form1.Memo1.Lines.GetText;

wrd:=Form4.Edit1.Text;

m:=length (wrd);

setlength (shift, m);

n:=length (txt);

form1.Memo1.SelStart:=Position1;

shift[0]: =1;

if m>1 then

begin{5}

shift[1]: =1;

for j:=2 to m-1 do

BEGIN {4}

shift[j]: =1;

for lensuff:=1 to j-2 do

Begin{3}

equal:=true;

{ m:=j;}

for k:=1 to lensuff do

begin {2}

if wrd[k]<>wrd[j-lensuff+k]

then equal:=false;

end; {2}

if equal then

shift[j]: =j-lensuff;

End; {3}

END; {4}

end;{5}

{========================}

i:=form1.Memo1.SelStart;

j:=1;

repeat

i:=i+shift[j-1];

j:=1;

while (j<=m)and (txt[i+j-1]=wrd[j]) do j:=j+1;

until (j=m+1)or (i>=n-m+1);

if j=m+1 then

begin

kmp:=true;

position1:=i

end

else

begin

kmp:=false;

Position1:=0

end;

if KMP=true then

begin

Form1.Memo1.SelStart:=Position1−1;

Form1.Memo1.SelLength:=length (wrd);

if Radiobutton2. Checked=true then

begin

Form1.Memo1.CutToClipBoard;

if Edit2. Text<>'' then

begin

Edit2.SelectAll;

Edit2.CopyToClipboard;

Form1.Memo1.PasteFromClipboard;

end;

end;

BitBtn1.Caption:='Найти Π΄Π°Π»Π΅Π΅';

end

{==========================}

else begin

Form4.Visible:=false;

Form5.Visible:=true

end;

shift:=NIL;

END;{1}

end;

procedure TForm4. BitBtn2Click (Sender: TObject);

begin

form4.Visible:=false;

end;

procedure TForm4. RadioButton1Click (Sender: TObject);

begin

Label2.Visible:=false;

Edit2.Visible:=false;

Edit1.Top:=192;

Label1.Top:=32;

end;

procedure TForm4. RadioButton2Click (Sender: TObject);

begin

Label2.Visible:=true;

Edit2.Visible:=true;

Label1.Top:=8;

Label1.Left:=8;

Edit1.Top:=168;

Edit1.left:=16;

Label2.Top:=80;

Label2.Left:=8;

Edit2.Top:=104;

Edit2.left:=8;

end;

procedure TForm4. FormShow (Sender: TObject);

begin

Edit1.Clear;

edit2.Clear;

BitBtn1.Caption:='ОК';

RadioButton1.Checked:=true;

Edit1.Top:=192;

Label1.Top:=32;

Position1:=0;

end;

end.

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, StdCtrls;

type

TForm5 = class (TForm)

Label1: TLabel;

Button1: TButton;

BitBtn1: TBitBtn;

procedure Button1Click (Sender: TObject);

procedure BitBtn1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit4;

{$R *.dfm}

procedure TForm5. Button1Click (Sender: TObject);

begin

Form5.Visible:=false;

Form4.Visible:=true;

end;

procedure TForm5. BitBtn1Click (Sender: TObject);

begin

Form5.Visible:=false;

end;

end.

Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° тСкст Ρ„Π°ΠΉΠ» Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

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

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

1. ΠžΠ±Ρ‰ΠΈΠ΅ свСдСнья ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ «Π’Скстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€». Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠŸΠš ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особых Π·Π½Π°Π½ΠΈΠΉ. Она обСспСчиваСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡:

1) Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° тСкста ΠΈΠ· Ρ„Π°ΠΉΠ»Π° (с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .txt);

2) Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ тСкста Π² Ρ„Π°ΠΉΠ»;

3) Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста (ΡˆΡ€ΠΈΡ„Ρ‚, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅; возмоТности Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ/ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ/Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всё…)

4) Поиск ΠΈ Π·Π°ΠΌΠ΅Π½Π° слов Π² Ρ‚СкстС.

2. ОписаниС установки ΠŸΠ΅Ρ€Π΅Π΄ запуском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ TextEditor ΠΊ ΡΠ΅Π±Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

3. ОписаниС запуска Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ осущСствляСтся запуском Ρ„Π°ΠΉΠ»Π° Project1. exe, находящСгося Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ TextEditor.

Рис. 1. Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ПолС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ появляСтся главная Ρ„ΠΎΡ€ΠΌΠ°.

Рис. 2. Главная Ρ„ΠΎΡ€ΠΌΠ°

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «Π€Π°ΠΉΠ»» появится Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Рис. 3. ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π€Π°ΠΉΠ»»

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡ΠΈΡ‰Π΅Π½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° «Text Editor». ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ…» появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»Π° для открытия (Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .txt)

Рис. 4. ΠŸΡƒΠ½ΠΊΡ‚ мСню «ΠŸΡ€Π°Π²ΠΊΠ°»

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ…» появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сохранСния тСкстового Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

Рис. 5. ΠŸΡƒΠ½ΠΊΡ‚ мСню «ΠŸΡ€Π°Π²ΠΊΠ°»

Рис. 6. ΠŸΡƒΠ½ΠΊΡ‚ мСню «ΠŸΡ€Π°Π²ΠΊΠ°»

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «ΠŸΡ€Π°Π²ΠΊΠ°» ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ возмоТности Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ/ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ/Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всё/ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ «ΠΠ°ΠΉΡ‚ΠΈ» — поиск слова Π² Ρ‚СкстС. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ этого ΠΏΡƒΠ½ΠΊΡ‚Π° появится ΠΎΠΊΠ½ΠΎ Рис. 4. Поиск слова Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

— ΠΏΠΎΠΈΡΠΊ Π±Π΅Π· Π·Π°ΠΌΠ΅Π½Ρ‹ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ). Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π²ΠΎΠ΄ слова для поиска;

— ΠΏΠΎΠΈΡΠΊ с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ. ΠŸΡ€ΠΈ установлСнии этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ появится Π΅Ρ‰Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° слова для Π·Π°ΠΌΠ΅Π½Ρ‹ Рис. 7. Поиск слова ΠŸΡ€ΠΈ осущСствлСнии поиска ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС вхоТдСния слова Π² Ρ‚СкстС, ΠΏΡ€ΠΈ этом Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠ° «ΠΠ°ΠΉΡ‚ΠΈ Π΄Π°Π»Π΅Π΅».

Рис. 8. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ поиска слова Π‘Π½Π΅Π³ Π² Ρ‚СкстС

Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Ссли слово Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈΠ»ΠΈ достигнут ΠΊΠΎΠ½Π΅Ρ† тСкста появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ Рис. 9. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π² ΠΌΠ΅Π½ΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° «Π’ΠΈΠ΄» прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ/ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ панСль инструмСнтов ΠΈ Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ/ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ строку состояния Рис. 10. ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π’ΠΈΠ΄»

Π’ ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню «Π€ΠΎΡ€ΠΌΠ°Ρ‚» Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²Ρ‹Π±ΠΎΡ€ 2-Ρ… дСйствий:

1) Π¨Ρ€ΠΈΡ„Ρ‚. ΠŸΡ€ΠΈ этом откроСтся Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΡˆΡ€ΠΈΡ„Ρ‚Π° Рис. 11. ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π€ΠΎΡ€ΠΌΠ°Ρ‚»

2) Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ, ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ, ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ).

Рис. 9. ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π€ΠΎΡ€ΠΌΠ°Ρ‚»

Для Π²Ρ‹Π·ΠΎΠ²Π° справки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΌΠ΅Π½ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Π‘ΠΏΡ€Π°Π²ΠΊΠ° Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ F1.

Рис. 12. «Π‘ΠΏΡ€Π°Π²ΠΊΠ°»

ΠŸΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ появится ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Рис. 13. Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π”Π°» появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сохранСния тСкстового Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠ΅Ρ‚» Π±ΡƒΠ΄Π΅Ρ‚ осущСствлСн Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· сохранСния. Для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ «ΠžΡ‚ΠΌΠ΅Π½Π°».

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