Работа с текстом. Строка символов 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