Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π’Π°ΠΉΠ½Ρ‹ ΠΈ сСкрСты ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 17

Автор Антон ΠžΡ€Π»ΠΎΠ²

End Sub


Private Sub TextBox2_Change()

Scet

End Sub


Private Sub TextBox3_Change()

Scet

End Sub


Private Sub TextBox4_Change()

Scet

End Sub


Private Sub TextBox5_Change()

Scet

End Sub


Private Sub Scet()

If IsNumeric(TextBox1.Text) = True And IsNumeric(TextBox2.Text) = True And IsNumeric(TextBox3.Text) = True And IsNumeric(TextBox4.Text) = True And IsNumeric(TextBox5.Text) = True And Not Val(TextBox4.Text) = 0 And Not Val(TextBox5.Text) = 0 Then

rez = ((Val(TextBox1.Text) ^ 2) * Val(TextBox2.Text) * Val(TextBox3.Text)) / (Val(TextBox4.Text) * Val(TextBox5.Text))

TextBox6.Text = Str$(rez)

Else

TextBox6.Text = ""

End If

End Sub

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°, Π½ΠΎ стоит Π΅Ρ‰Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. Для ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Β«ClickΒ» (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ) прост β€” Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Но Ρƒ нас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ вторая ΠΊΠ½ΠΎΠΏΠΊΠ° β€” "Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚". А ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½Π° вставит Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ просто Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π° ΠΎΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΡƒΡŽ Ρ„Ρ€Π°Π·Ρƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‚Π°ΠΊ ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹! Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Selection.Text = "ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠΊΠ° напряТСниСм Π² " + TextBox1.Text + " Π²ΠΎΠ»ΡŒΡ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΡƒ Π΄Π»ΠΈΠ½ΠΎΠΉ " + TextBox4.Text + " ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², сСчСниСм " + TextBox3.Text + " ΠΊΠ². ΠΌΠΌ ΠΈ ΡƒΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ сопротивлСниСм " + TextBox5.Text + " ΠΎΠΌ Π½Π° ΠΌΠ΅Ρ‚Ρ€ Π·Π° " + TextBox2.Text + " сСкунд выдСлится" + TextBox6.Text + " Π΄ΠΆΠΎΡƒΠ»Π΅ΠΉ Ρ‚Π΅ΠΏΠ»ΠΎΡ‚Ρ‹.Β»

Она сформируСт Ρ„Ρ€Π°Π·Ρƒ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° ΠΈ вставит Π΅Π΅ Π² Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌβ€¦ Ρ‚Π°ΠΊ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ вставляСт, Π½ΠΎ Ρ„Ρ€Π°Π·Π° остаСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ. А Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ„Ρ€Π°Π·Π°, вывСдСнная с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, сотрСт ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ. Надо ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π½Π΅Ρ‚ Π»ΠΈ Π² VBA Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ снятия выдСлСния? ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΏΠΎ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ мСню послС Ρ‚ΠΎΡ‡ΠΊΠΈ "Selection."… Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«CollapseΒ» (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ "Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ"). Из справки ΠΏΠΎ Π½Π΅ΠΉ ΡƒΠ·Π½Π°Π΅ΠΌ Π΅Π΅ синтаксис:

Selection.Collapse Direction:=wdCollapseEnd.

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ†.

МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ тСкст Π² Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ "Selection.TypeText Text:="Мой тСкст" (Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ послС слова Β«TextΒ» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹). Π’ΠΎΠ³Π΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ снятия выдСлСния со вставлСнного тСкста Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ нСобходимости, β€” послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π½Π΅ окаТСтся.

Но Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π΄Ρ€ΡƒΠ³ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Word'Π΅ Π½Π΅Ρ‚? Π’ΠΎΠ³Π΄Π° вСдь Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Но этого Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ β€” Π½Π°Π΄ΠΎ просто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ вставкой, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ, Ссли Π½Π΅Ρ‚, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ:

If Documents.Count = 0 Then Documents.Add

ΠžΡΡ‚Π°Π»Π°ΡΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° малСнькая Π΄Π΅Ρ‚Π°Π»ΡŒ. Кнопка "Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚" Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ нСльзя (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Β«TextBox6Β» пусто). Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

Π‘Ρ€Π΅Π΄ΠΈ всСго Π½Π°Π±ΠΎΡ€Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… свойств элСмСнта Β«CommandButtonΒ» Π΅ΡΡ‚ΡŒ свойство Β«EnabledΒ» β€” Ссли Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Β«FalseΒ» (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ "Π»ΠΎΠΆΠ½ΠΎ"), Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ сСрым Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° события (станСт Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ). Π­Ρ‚ΠΎ свойство ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ β€” ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ "CommandButton1.Enabled = False".

ΠŸΠΎΡΡ‚Π°Π²ΠΈΠΌ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ вычислСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΠ°Ρ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄, Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычисляСтся ΠΈ вставка Π΅Π³ΠΎ Π² тСкст Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΈ ΠΈΠ½Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π΅Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π΄ΠΈΠΌ с самого Π½Π°Ρ‡Π°Π»Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ свойство Β«EnabledΒ» этой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°ΠΊ Β«FalseΒ», β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ с самого Π½Π°Ρ‡Π°Π»Π°, Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ символы ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ задания состояния ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π’ΠΎΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Private Sub CommandButton1_Click()

If Documents.Count = 0 Then Documents.Add

Selection.Text = "ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠΊΠ° напряТСниСм Π² " + TextBox1.Text + " Π²ΠΎΠ»ΡŒΡ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΡƒ Π΄Π»ΠΈΠ½ΠΎΠΉ " + TextBox4.Text + " ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², сСчСниСм " + TextBox3.Text + " ΠΊΠ². ΠΌΠΌ ΠΈ ΡƒΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ сопротивлСниСм " + TextBox5.Text + " ΠΎΠΌ Π½Π° ΠΌΠ΅Ρ‚Ρ€ Π·Π° " + TextBox2.Text + " сСкунд выдСлится" + TextBox6.Text + " Π΄ΠΆΠΎΡƒΠ»Π΅ΠΉ Ρ‚Π΅ΠΏΠ»ΠΎΡ‚Ρ‹.Β»

Selection.Collapse Direction:=wdCollapseEnd

End Sub


Private Sub CommandButton2_Click()

Unload Me

End Sub


Private Sub TextBox1_Change()

Scet

End Sub


Private Sub TextBox2_Change()

Scet

End Sub


Private Sub TextBox3_Change()

Scet

End Sub


Private Sub TextBox4_Change()

Scet

End Sub


Private Sub TextBox5_Change()

Scet

End Sub


Private Sub Scet()

If IsNumeric(TextBox1.Text) = True And IsNumeric(TextBox2.Text) = True And IsNumeric(TextBox3.Text) = True And IsNumeric(TextBox4.Text) = True And IsNumeric(TextBox5.Text) = True And Not Val(TextBox4.Text) = 0 And Not Val(TextBox5.Text) = 0 Then

rez = ((Val(TextBox1.Text) ^ 2) * Val(TextBox2.Text) * Val(TextBox3.Text)) / (Val(TextBox4.Text) * Val(TextBox5.Text))

TextBox6.Text = Str$(rez)

CommandButton1.Enabled = True

Else

TextBox6.Text = ""

CommandButton1.Enabled = False

End If

End Sub

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

ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ мСню для Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Word нСльзя, β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ для красоты Ρ„ΠΎΡ€ΠΌΡƒ Π² Β«TeplotokΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (свойство Β«NameΒ» ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π° Β«UserFormΒ» β€” ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² ΠΎΠΊΠ½Π΅ свойств, Π²Ρ‹Π΄Π΅Π»ΠΈΠ² Ρ„ΠΎΡ€ΠΌΡƒ) ΠΈ напишСм ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ всСго ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” Π²Ρ‹Π·ΠΎΠ² созданной Π½Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹:

Sub TeploCount()

Teplotok.Show

End Sub

Π—Π°Π΄Π°Π΄ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ красивоС имя ("Teplo", Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· свойство Β«NameΒ» ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Π° Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒ1Β», Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΠΎΡ€ΠΌΡ‹ Π±Ρ‹Π» вставлСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° "Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ"-"ΠœΠΎΠ΄ΡƒΠ»ΡŒ" контСкстного мСню ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π² ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²) ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ Π² Word ΠΊΠ½ΠΎΠΏΠΊΡƒ для Π²Ρ‹Π·ΠΎΠ²Π° макроса "Normal.Teplo.TeploCount".

Π’ΠΎΡ‚ ΠΈ всС β€” наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π³ΠΎΡ‚ΠΎΠ²Π°! Если Π²Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ выполняли Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ всС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ здСсь шаги, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаблон ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ панСль инструмСнтов с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π²Ρ‹Π·ΠΎΠ²Π° макроса, β€” Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, скопировав шаблон с макросом Π² ΠΏΠ°ΠΏΠΊΡƒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Word.

Π“Π»Π°Π²Π° 5.Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΈ сСкрСты программирования Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ API?

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄ своих ΠΊΠΎΠ»Π»Π΅Π³ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ всСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ для Windows ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс, программисты Microsoft создали Ρ‚Π°ΠΊΡƒΡŽ Π²Π΅Ρ‰ΡŒ, ΠΊΠ°ΠΊ API β€” "Application Programming Interface".

Π­Ρ‚ΠΎ β€” Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ: ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², поиск Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ стандартного ΠΎΠΊΠ½Π° с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ закрытия, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ развСртывания Π½Π° вСсь экран ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Windows, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для отобраТСния ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠΊΠ½Π° для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… элСмСнтарных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, β€” Π΅ΠΌΡƒ достаточно просто Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ kernel32.dll ΠΈΠ»ΠΈ user32.dll, содСрТащих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ API, Π½ΡƒΠΆΠ½ΡƒΡŽ Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π° ΠΎΠ½Π° ΡƒΠΆΠ΅ всС сдСлаСт Π·Π° Π½Π΅Π³ΠΎ сама. Π’Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΌΠ½ΠΎΠ³ΠΎ β€” порядка 600.

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС MS-DOS Ρ‚Π°ΠΊΠΎΠ³ΠΎ понятия, ΠΊΠ°ΠΊ API, Π½Π΅ Π±Ρ‹Π»ΠΎ, β€” Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ брался ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, обязан Π±Ρ‹Π» сам, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°, ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ способы Π²Ρ‹Π΄Π°Ρ‡ΠΈ Π½Π° экран изобраТСния, получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΡ ΠΏΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, рисования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ссли таковая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ.[8] Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π»ΠΎ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ интСрфСйсом вСсьма Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ процСссом, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сил Π½Π° созданиС ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ графичСского интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСвосходили Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ собствСнного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π΄ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΈ создавалась. НСдаром Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ распространСны Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Β«ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅Β» прилоТСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π±Π΅Π· интСрфСйса, β€” Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… происходил Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈΠ»ΠΈ производился ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² Π½Π΅ΠΉ Ρ„Π°ΠΉΠ»Π°, Π° Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² шСл Π² простом тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

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