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

Знакомство с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ RadioGroup ΠΈ CheckBox, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк Ρ‚ΠΈΠΏΠ° String Π² срСдС Delphi

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Edit1 ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ Events (Бобытия) событиС OnKeyPress. Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΡƒΡΡ‚ΠΎΠΌ ΠΏΠΎΠ»Π΅ списка этого события. ПослС этого курсор ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠΊΠ½ΠΎ Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ interface появится запись ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события: Π—Π°Π΄Π°ΠΉΡ‚Π΅ значСния свойств: Label1. Caption — «Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст Π½Π° Ρ€ΡƒΡΡΠΊΠΎΠΌ языкС… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Знакомство с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ RadioGroup ΠΈ CheckBox, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк Ρ‚ΠΈΠΏΠ° String Π² срСдС Delphi (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°

На Ρ‚Π΅ΠΌΡƒ: «Π—накомство с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ RadioGroup ΠΈ CheckBox, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк Ρ‚ΠΈΠΏΠ° String Π² ΡΡ€Π΅Π΄Π΅ Delphi»

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1. (ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€). Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Π²Π²ΠΎΠ΄ Π΄Π²ΡƒΡ… Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Π΄ Π½ΠΈΠΌΠΈ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния, умноТСния ΠΈ Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ дСлСния. Для Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ, Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ дСлитСля, Ρ€Π°Π²Π½ΠΎΠ³ΠΎ Π½ΡƒΠ»ΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ сообщСний.

РСшСниС:

1. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ «ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€». ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Calculator, Π° Ρ„Π°ΠΉΠ» модуля — mainCalc.pas.

2. Π—Π°Π΄Π°ΠΉΡ‚Π΅ для свойства Form1. Caption Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€». РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (см. Ρ€ΠΈΡ. 3.1) Edit1,2,3 ΠΈ Label1,2,3. Π—Π°Π΄Π°ΠΉΡ‚Π΅ свойства Caption для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Label — «ΠΎΠΏΠ΅Ρ€Π°Π½Π΄1», «ΠΎΠΏΠ΅Ρ€Π°Π½Π΄2», «Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚». Π£Π΄Π°Π»ΠΈΡ‚Π΅ тСкст Edit1,2,3 Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Text). РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Button1. ΠšΠ½ΠΎΠΏΠΊΡƒ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ «Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ».

3. РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ RadioGroup1 ΠΈΠ· ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ Standard. Π—Π°Π΄Π°ΠΉΡ‚Π΅ для свойства Caption Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ». Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ свойство Items (это свойство Π·Π°Π΄Π°Π΅Ρ‚ количСство ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΈ Π½Π°Π΄ΠΏΠΈΡΠΈ ΠΎΠΊΠΎΠ»ΠΎ Π½ΠΈΡ…). Π’ ΠΎΠΊΠ½Π΅ String List Editor Π²Π²Π΅Π΄ΠΈΡ‚Π΅ список элСмСнтов — символов арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΡΡ‚ΠΎΠ»Π±ΠΈΠΊ: +, -, *, /. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК, Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

4. Π’ ΠΎΠΊΠ½Π΅ Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°Π΄Π°ΠΉΡ‚Π΅ для свойства RadioGroup. ItemIndex Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ (слоТСниС) Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π—Π°Π΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ символов этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 14 ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния, какая ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Π±Ρ€Π°Π½Π° Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡƒ ItemIndex (0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, -1 — Π½ΠΈ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π°).

Π€ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

Рис. 3.1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ прилоТСния «ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€»

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события Ρ‰Π΅Π»Ρ‡ΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ с Π½Π°Π΄ΠΏΠΈΡΡŒΡŽ «Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ». Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ вычислСния арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² Ρ‚Скст ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ TForm1. Button1Click ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ описаниС:

Var a, b: integer; c: real;

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ 4 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ вычислСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Case.

Π’ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ‚Π΅Π»Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события Π²Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Begin

A:=StrToInt (Edit1. Text);

B:=StrToInt (Edit2. Text);

Edit3. Text:=' `; {ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вычислСний}

Case RadioGroup1. ItemIndex of

0: c:= a + b;

1: c:= a — b;

2: c:= a * b;

3: if b=0 then ShowMessage (`На ноль Π΄Π΅Π»ΠΈΡ‚ΡŒ нСльзя!')

Else c:= a / b;

End;

If RadioGroup. ItemIndex <> 3 then Edit3. Text:= FloatToStrF (c, ffGeneral, 10, 4)

Else if b <> 0 then Edit3. Text:= FloatToStrF (c, ffGeneral, 10, 4);

End;

6. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

7*. Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Case (составной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€) ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Calculator2, Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ — mainCalc2.

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2. ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ тСкст модуля прилоТСния Calculator Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ вычислСний Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: Π°) Π·Π°Π΄Π°Π½Ρ‹ Π»ΠΈ значСния ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ², Ссли значСния ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ вывСсти сообщСния ΠΎΠ± ΡΡ‚ΠΎΠΌ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅; Π±) Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ Π»ΡŽΠ±Ρ‹Ρ… символов, ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€ ΠΎΡ‚ 0 Π΄ΠΎ 9 ΠΈ Π·Π½Π°ΠΊΠΎΠ² «-», «+».

РСшСниС (а):

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ присваивания A:=StrToInt (Edit1. Text); строку:

If (Edit1. Text <> `') and (Edit2. Text <> `') then begin

которая провСряСт значСния свойств Edit1. text ΠΈ Edit2.text. Если эти значСния Π½Π΅ ΠΏΡƒΡΡ‚Ρ‹, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся вычислСниС арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ послСдним ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ end;

Else ShowMessage (`НС Π·Π°Π΄Π°Π½Ρ‹ значСния');

РСшСниС (Π±): Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части задания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий OnKeyPress для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Edit1, Edit2.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Key Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ этого события соотвСтствуСт символу Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши. ΠŸΡ€ΠΈ этом Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ символы Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрах ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρ‹. Клавиши, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠ² ASCII (Shift, Alt, Ctrl ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ клавиши), Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ этого события. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ клавиш, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Shift+A, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ событиС OnKeyPress, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Key Ρ€Π°Π²Π΅Π½ «Π». Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий OnKeyDown, OnKeyUp.

1. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Edit1 ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ Events (Бобытия) событиС OnKeyPress. Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΡƒΡΡ‚ΠΎΠΌ ΠΏΠΎΠ»Π΅ списка этого события. ПослС этого курсор ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠΊΠ½ΠΎ Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ interface появится запись ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события:

Procedure Edit1KeyPress (Sender: TObject; var Key: Char);

2. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

If not (Key in [`0'.'9', `+', `— `]) then Key:= #0;

ДСйствиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° сводится ΠΊ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Key с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ 0 Π΄ΠΎ 9 ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² «+» ΠΈ «-». Если символ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ, Ρ‚ΠΎ Key присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ символа (#0). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² ΠΎΠΊΠ½Π΅ Edit1 Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ тСкст, состоящий ΠΈΠ· Ρ†ΠΈΡ„Ρ€ ΠΈ Π·Π½Π°ΠΊΠΎΠ² «+, -«.

3. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ создайтС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Edit2.

4. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ВСкст модуля прилоТСния ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

unit mainCalc;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class (TForm)

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Edit3: TEdit;

Label3: TLabel;

RadioGroup1: TRadioGroup;

procedure Button1Click (Sender: TObject);

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

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

private {Private declarations}

public {Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1. Button1Click (Sender: TObject);

var a, b: integer; c: real;

begin

if (Edit1. Text<>'') and (Edit2. Text<>'') then begin

a:=StrToInt (Edit1. Text);

b:=StrToInt (Edit2. Text);

Edit3. Text:='';

case RadioGroup1. ItemIndex of

0: c:=a+b;

1: c:=a-b;

2: c:=a*b;

3: if b=0 then ShowMessage ('На ноль Π΄Π΅Π»ΠΈΡ‚ΡŒ нСльзя') else c:=a/b;

end;

if RadioGroup1. ItemIndex <> 3 then

Edit3. Text:=FloatToStrF (c, ffGeneral, 10,4) else if b<>0 then

Edit3. Text:=FloatToStrF (c, ffGeneral, 10,4); end

else ShowMessage ('НС Π·Π°Π΄Π°Π½Ρ‹ значСния');

end;

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

begin

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

end;

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

begin

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

end; end.

Π—Π°Π΄Π°Π½ΠΈΠ΅ 3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ввСсти строку, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ количСство символов Π² Π½Π΅ΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰Π΅Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, согласуя ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ слова «ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²» с Ρ‡ΠΈΡΠ»ΠΎΠΌ символов.

РСшСниС:

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ символов» ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π² Π½Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ «simvol».

2. РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: Edit1, Label1,2, Button1, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 3.2. Π—Π°Π΄Π°ΠΉΡ‚Π΅ значСния свойств Label1. Caption — «Π’Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст», Label2. Caption — «Π’ Ρ‚СкстС», Button1. Caption — «Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ». Π£Π΄Π°Π»ΠΈΡ‚Π΅ тСкст Edit1 ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

Рис. 3.2 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ символов»

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

4. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π² Ρ‚Скст ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Var

N: integer;

S: string;

5. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст Ρ‚Π΅Π»Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события:

Begin

N:= Length (Edit1. Text); {ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ число символов}

Label2. Caption:= `Π’ Ρ‚СкстС';

If N>20 then N:=N mod 10; {Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ послСднюю Ρ†ΠΈΡ„Ρ€Ρƒ}

Case N of

1: S:= `символ';

2.4: S:= `символа';

0, 5.20: S:= `символов';

End;

Label2. Caption:= Label2. Caption + IntToStr (Length (Edit1. Text)) + S;

End;

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: функция Length — это функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ String ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, опрСдСляСт количСство символов Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ строки (см. Ρ€Π°Π·Π΄Π΅Π» 1).

6. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, задавая тСкст с Ρ€Π°Π·Π½Ρ‹ΠΌ количСством символов ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ввСсти тСкст, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ символы «Π°» Π½Π° «Π±» Π² Ρ‚СкстС ΠΈ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Π·Π°ΠΌΠ΅Π½.

РСшСниС:

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ «Π—Π°ΠΌΠ΅Π½Π° символов» ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π² Π½Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «zamena», Ρ„Π°ΠΉΠ» модуля сохранитС ΠΊΠ°ΠΊ zmain.pas.

2. Π€ΠΎΡ€ΠΌΡƒ прилоТСния Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ «ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΈ Π·Π°ΠΌΠ΅Π½Π° символов». На Ρ„ΠΎΡ€ΠΌΠ΅ располоТитС Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Edit, Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Label, ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Button ΠΈ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° CheckBox, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 3.3.

3. Π—Π°Π΄Π°ΠΉΡ‚Π΅ значСния свойств: Label1. Caption — «Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст Π½Π° Ρ€ΡƒΡΡΠΊΠΎΠΌ языкС», Label2. Caption — «Π˜Π·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ тСкст», Label3. Caption — «Π§ΠΈΡΠ»ΠΎ Π·Π°ΠΌΠ΅Π½», Button1. Caption — «Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ», CheckBox1. Caption — «ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ число Π·Π°ΠΌΠ΅Π½», CheckBox2. Caption — «Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ „Π°“ Π½Π° „Π±“». Π£Π΄Π°Π»ΠΈΡ‚Π΅ тСкст Edit1,2,3 ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Рис. 3.3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° «Π—Π°ΠΌΠ΅Π½Π° символов»

4. Для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈ ΠΏΠΎΠ΄ΡΡ‡Π΅Ρ‚Π° символов Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события OnClick для ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ». Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Var

S: string;

N: byte;

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: для поиска символа Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Pos. Для программирования Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π°ΠΌΠ΅Π½Ρ‹ символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Checked ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° CheckBox.

5. Π’Π΅Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записано ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Begin

N:= 0;

Edit3. Text:= `';

Edit2. Text:= `';

S:= Edit1. Text;

If CheckBox2. Checked then {Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ„Π»Π°ΠΆΠΎΠΊ}

While Pos (`a', S) > 0 do {Ссли Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π±ΡƒΠΊΠ²Π° «Π°"}

Begin

N:= N + 1;

S [Pos (`a', S)]:= `Π±'; {Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ «Π°» Π½Π° Π±ΡƒΠΊΠ²Ρƒ «Π±"}

End;

If CheckBox1. Checked then Edit3. Text:= IntToStr (N);

{Π²Ρ‹Π²ΠΎΠ΄ числа Π·Π°ΠΌΠ΅Π½}

Edit2. Text:= S; {Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ тСкста}

End;

6. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

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