Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИТМ семестр 2.docx
Скачиваний:
17
Добавлен:
18.09.2019
Размер:
767.23 Кб
Скачать

Сравнение с использованием Like и Is

Оператор Like используется для сравнения строк с шаблонами. Шаблон - это особым образом записанная последовательность символов. При построении шаблонов используются специальные символы, приведенные в таблице.

Таблица Символы для построения шаблонов

Символы

Описание

?

Любой одиночный символ

*

Любое количество любых символов

#

Любая одиночная цифра

[список символов]

Любой одиночный символ, входящий в список символов

[!список символов]

Любой одиночный символ, не входящий в список

После построения шаблона его заключают в кавычки.

Давайте рассмотрим пример, реализующий следующие проверки.

  • Узнать, есть ли в строке прописные и заглавные буквы латинского алфавита.

  • Проверить, состоит ли введенное слово из четырех символов (цифр или букв)

  • Проверить, состоит ли введенная последовательность из двух любых символов (цифр или букв) и двух цифр

  • Проверить, нет ли во введенной строке русских букв "а" и "о"

  • Если введенная строка начинается двумя буквами "d" и заканчивается тремя буквами "f", сообщить об этом

Далее вы можете найти решение этой задачи

Dim str_Inp As String

str_Inp = InputBox("Введите строку")

'Есть ли латинские буквы в строке

If str_Inp Like "[a-z]" Or _

str_Inp Like "[A-Z]" _

Then MsgBox ("В строке есть латинские буквы")

'Состоит ли введенное слово из 4-х символов

If str_Inp Like "????" Then _

MsgBox ("Введенное слово состоит из 4-х символов")

'Состоит ли введенная последовательность

'из 2-х любых символов и 2-х цифр

If str_Inp Like "??##" Then _

MsgBox ("Введены два любых символа и две цифры")

'Проверка на отсутствие букв

'"а", "о"

If str_Inp Like "[!а]" And _

str_Inp Like "[!о]" Then

MsgBox ("В строке нет букв " + Chr(34) + _

"а" + Chr(34) + " и " + Chr(34) + "о" + Chr(34))

End If

'Проверка на наличие в начале

'введенной строки двух букв "d", а в конце

'трех "f"

If str_Inp Like "dd*fff" _

Then MsgBox ("Строка имеет вид: dd*fff")

Как вы можете видеть, шаблон для сравнении с текстом всегда заключается в двойные кавычки. На основе информации об использовании шаблонных символов вы можете самостоятельно построить выражения для проверки различных последовательностей.

Оператор Is используется для работы с объектными переменными. Мы будем подробно рассматривать их в начале следующей главы. Оператор Is проверяет, ссылаются ли две объектные переменные на один и тот же объект. Если это так - он возвращает True, если нет - то False.

Принятие решений: Select Case

Если вам предстоит проверить данные на множество значений, для каждого из которых надо выполнить какое-то особое действие, можно использовать множество операторовIf или один Select Case.

Далее приведен пример использования Select Case - в зависимости от введенного имени программа здоровается с пользователями по-разному.

Dim str_UserName As String

str_UserName = InputBox("Введите имя пользователя")

Select Case str_UserName

Case "Александр"

MsgBox ("Привет")

Case "Сергей"

MsgBox ("Здравствуй")

Case "Николай"

MsgBox ("Добро пожаловать")

Case Else

MsgBox ("Не существует такого пользователя")

End Select

После Select Case указано имя переменной, анализ которой осуществляется. Дальше расположено произвольное количество вариантов - каждый вариант после ключевого слова Case. Если не выполнен ни один из Case - выполняется Case Else. В конце этой конструкции находится оператор End Select.