Работа с текстом. Строка символов Visual Basic - VB
Формулировка задачи:
Написать программу используя форму. Вывод текста через Edit
Само задание:
Дана строка символов. Вывести или все слова, в которых есть одинаковые буквы, или количество слов, в которых все буквы разные (использовать OptionButtons). Название поля результатов менять в зависимости от информации. Вывести сообщения, если нужных слов нет (использовать MsgBox).
Считываем текст с едита в переменную, но как уже запускать текст на проверки?
Подскажите, пожалуйста, что необходимо прописывать в коде?
Решение задачи: «Работа с текстом. Строка символов Visual Basic»
textual
Листинг программы
- Option Explicit
- Private Sub Command1_Click()
- Static re As Object
- Dim words As Object, w, i As Long, s As String
- If re Is Nothing Then
- Set re = CreateObject("vbscript.regexp")
- re.Global = True
- re.IgnoreCase = True
- re.Pattern = "[A-ZА-ЯЁ]{2,}"
- End If
- Text3 = ""
- Set words = re.execute(Text1.Text)
- If Option1 Then
- For Each w In words
- If Not AllDiff(w) Then s = s & " " & w
- Next
- If Len(s) Then
- Text3 = Mid$(s, 2)
- Else
- MsgBox "Нет слов, которые имеют одинаковые буквы", vbExclamation
- End If
- Else
- For Each w In words
- If AllDiff(w) Then i = i + 1
- Next
- If i Then
- Text3 = i
- Else
- MsgBox "Нет слов, в которых все буквы разные", vbExclamation
- End If
- End If
- End Sub
- Private Sub Form_Load()
- Option1 = True
- End Sub
- Private Sub Option1_Click()
- Label3 = "Слова, которые имеют одинаковые буквы"
- End Sub
- Private Sub Option2_Click()
- Label3 = "Количество слов, в которых все буквы разные"
- End Sub
- Function AllDiff(x) As Boolean
- Dim i As Long
- For i = 1 To Len(x) - 1
- If InStr(i + 1, x, Mid$(x, i, 1), vbTextCompare) Then Exit Function
- Next
- AllDiff = True
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д