ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ 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. Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.