Imports System.IO
Imports System.Net
Imports System.Text
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim postData As String = ("do=send&smstext=" + TextBox3.Text & "&phone_code=" + TextBox7.Text & "&number=" + TextBox1.Text & "&sms_text=" + TextBox3.Text & "&private_key=" + TextBox2.Text & "&public_key=" + TextBox4.Text)
        Dim byteData As Byte() = Encoding.UTF8.GetBytes(postData)
        Dim header As String = "Content-Type: application/x-www-form-urlencoded" + Environment.NewLine
        WebBrowser1.Navigate("http://www.ru.tele2.ru/send_sms.html", "", byteData, header)
        WebBrowser1.Visible = False
        MsgBox("Если все указали верно, то смс придет вам на телефон втечении двух минут", , "Смс на теле 2")
        End
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If InStr(Pozition, LCase(RichTextBox1.Text), LCase(Trim(TextBox5.Text))) <> 0 Then ' При помощи функции InStr в TextBox2 ищем текст введенный в TextBox1, функции LCase нужна для перевода всех символов в нижний регистр, т.е. это для того чтобы искался текст не зависимо от того в каком регистре символ(короче, ПриВет и пРИвЕТ будет искаться одинаково). Функция Trim нужна для обрезания пробелов слево и справо. Переменная Pozition задает позицию курсора(по умолчания Pozition = 1, т.е. поиск будет с первого символа)

            RichTextBox1.Focus() ' TextBox2 передаем фокус
            RichTextBox1.SelectionStart = InStr(Pozition, LCase(RichTextBox1.Text), LCase(Trim(TextBox5.Text))) - 1 ' Устанавливаем позицию курсора перед найденным словом. Всё дело в том, что если в тексте было найденно искомое слово, то функция выдает позицию этого слова(т.е. количество символов перед искомым словом в тексте). 
            RichTextBox1.SelectionLength = Len(Trim(TextBox5.Text)) ' Выделяем найденное слово(выделение начинается с позиции курсора, и длится столько, сколько символов в слове)
            RichTextBox1.ScrollToCaret() ' Прокручиваем текст до выделенного слова 
            RichTextBox1.SelectedText = Trim(TextBox4.Text) ' Заменяем выделенный текст

            Pozition = RichTextBox1.SelectionStart + Len(Trim(TextBox5.Text)) ' Переменная Pozition = позиции найденного слова, это для того чтобы одно слово не искалась по несколько раз 

        Else ' Если ни чего не найденно(или поиск закончен), то выдаем сообщение и устанавливаем значение переменных по умолчанию 

            MsgBox("Поиск завершен")
            Pozition = 1
        End If

        WebBrowser1.DocumentText = RichTextBox1.Text
        Button1.Enabled = True
        
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        RichTextBox2.Text = WebBrowser2.Document.Body.InnerHtml
        Dim a, b As String


        a = "public_key"

        b = InStr(1, RichTextBox2.Text, "public_key", vbTextCompare)

        TextBox4.Text = Mid(RichTextBox2.Text, b + 33, 33)
        Button2.Enabled = True
    End Sub
    Public Function Pars(ByRef strSource As String, ByRef strStart As String, ByRef strEnd As String, Optional ByRef startPos As Integer = 0) As String
        Dim iPos As Integer, iEnd As Integer, lenStart As Integer = strStart.Length
        Dim strResult As String

        strResult = String.Empty
        iPos = strSource.IndexOf(strStart, startPos)
        iEnd = strSource.IndexOf(strEnd, iPos + lenStart)
        If iPos <> -1 AndAlso iEnd <> -1 Then
            strResult = strSource.Substring(iPos + lenStart, iEnd - (iPos + lenStart))
        End If
        Return strResult
    End Function
    Dim Pozition As Integer = 1
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        If InStr(Pozition, LCase(RichTextBox1.Text), LCase(Trim(TextBox5.Text))) <> 0 Then ' При помощи функции InStr в TextBox2 ищем текст введенный в TextBox1, функции LCase нужна для перевода всех символов в нижний регистр, т.е. это для того чтобы искался текст не зависимо от того в каком регистре символ(короче, ПриВет и пРИвЕТ будет искаться одинаково). Функция Trim нужна для обрезания пробелов слево и справо. Переменная Pozition задает позицию курсора(по умолчания Pozition = 1, т.е. поиск будет с первого символа)

            RichTextBox1.Focus() ' TextBox2 передаем фокус
            RichTextBox1.SelectionStart = InStr(Pozition, LCase(RichTextBox1.Text), LCase(Trim(TextBox5.Text))) - 1 ' Устанавливаем позицию курсора перед найденным словом. Всё дело в том, что если в тексте было найденно искомое слово, то функция выдает позицию этого слова(т.е. количество символов перед искомым словом в тексте). 
            RichTextBox1.SelectionLength = Len(Trim(TextBox5.Text)) ' Выделяем найденное слово(выделение начинается с позиции курсора, и длится столько, сколько символов в слове)
            RichTextBox1.ScrollToCaret() ' Прокручиваем текст до выделенного слова 
            RichTextBox1.SelectedText = Trim(TextBox4.Text) ' Заменяем выделенный текст

            Pozition = RichTextBox1.SelectionStart + Len(Trim(TextBox5.Text)) ' Переменная Pozition = позиции найденного слова, это для того чтобы одно слово не искалась по несколько раз 

        Else ' Если ни чего не найденно(или поиск закончен), то выдаем сообщение и устанавливаем значение переменных по умолчанию 

            MsgBox("Поиск завершен")
            Pozition = 1
        End If
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim a, b As String


        a = "public_key"

        b = InStr(1, RichTextBox2.Text, "public_key", vbTextCompare)

        TextBox4.Text = Mid(RichTextBox2.Text, b + 17, 33)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
        ComboBox1.Items.AddRange(New Object() {"900", "902", "904", "908", "950", "951", "952", "953"})
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Select Case ComboBox1.SelectedIndex
            Case 0
                TextBox7.Text = "900"
            Case 1
                TextBox7.Text = "902"
            Case 2
                TextBox7.Text = "904"
            Case 3
                TextBox7.Text = "908"
            Case 4
                TextBox7.Text = "950"
            Case 5
                TextBox7.Text = "951"
            Case 6
                TextBox7.Text = "952"
            Case 7
                TextBox7.Text = "953"
        End Select
    End Sub
    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
        Dim massa As String
        massa = TextBox3.SelectionStart
        Label7.Text = ("Символов :" & " " & massa)
    End Sub
End Class
