Написать логическую функцию, принимающую значения True,

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Vika190593
Сообщения: 1
Зарегистрирован: 13 май 2013, 09:59

Помогите пожалуйста Написать логическую функцию, принимающую значения True, если в строковой переменной, являющейся единственным аргументом этой функции, отсутствуют гласные русские буквы.
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Код: Выделить всё

Private Function IsValidChar(Text As String) As Boolean
    Const ValidChars = "аеёиоуыэюя"
    
    Dim iCount As Integer
    For iCount = 1 To 10 'Len(ValidChars)
        If InStr(1, Text, Mid(ValidChars, iCount, 1), vbTextCompare) > 0 Then
           Exit Function
        End If
    Next
    IsValidChar = True
End Function
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

P.S. Если же подобная задача встретится в реальной жизни(работе), где уже не будет необходимости демонстрировать преподавателю свои знания пройденного материала (цикл, работа со строками, в т.ч. получение n-го символа и т.д.), то в этом случае, можно будет воспользоваться оператором Like, т.е.

Код: Выделить всё

Private Function IsValidChar(Text As String) As Boolean
    IsValidChar = Not LCase(Text) Like "*[аеёиоуыэюя]*"
End Function
Ответить