Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Сравнение строкСравнение строк намного сложнее и разнообразнее, чем сравнение чисел. В Visual Basic строка равна другой строке только в том случае, если обе строки содержат точно столько же, точно такие же символы, в том же самом порядке. Это похоже на сравнение чисел, которые содержат одинаковое количество цифр, одинаковые цифры, следующие друг за другом в одинаковом порядке. Например:
Обратите внимание на то, что изменение порядка следования последних двух символов (и цифр) приводит к результату False. Почему так получается с числами, видимо, понятно. А теперь, поверьте, что то же самое происходит и со строками. И вот почему. Каждый символ в строке (и не только в строке, а вообще в памяти компьютера) представляется в виде числа — кода символа в некоторой кодировке. Например, в кодировке ANSI (American National Standards Institute) латинский символ "A" имеет код 65, "B" — 66 и так далее; "Z" — 90. Символы цифр также имеют коды, например, символу "1" соответствует код 49. Далее, каждый символ занимает позицию в строке (как цифра в десятичном, например, числе занимает десятичную позицию). Все остальное, как у чисел: для двух строк сравнивается код каждого символа в одинаковых позициях. Строки (в отличие от чисел) могут содержать в качестве символов пробелы (пробелу соответствует код в некоторой кодировке). Поэтому следующий пример может иметь место: "abcde" = "abcd e" ' результат: False В качестве примеров сравнения строк можно привести и следующие выражения:
Типы сравнения строк В Visual Basic имеется оператор (модульного уровня), с помощью которого можно устанавливать тип сравнения строк: Option Compare type Здесь аргумент type может принимать три значения: Binary, Text или Database. Если оператор в тексте модуля (перед первой процедурой) не используется, то по умолчанию выполняется сравнение строк для типа Binary. Типу Binary соответствует двоичное сравнение строк, при котором учитывается регистр символа. Так как символы (буквы) верхнего регистра расположены в алфавитном порядке (в ANSI и любом другом наборе) перед символами нижнего регистра, их коды меньше, чем коды символов нижнего регистра. Например, код символа «G» — 71, а символа «g» — 103. Поэтому в результате работы следующего кода будет выдано окно сообщения с текстом «True»: 1 Option Compare Binary 'здесь необязательный оператор 3 Private Sub Form_Load() 4 MsgBox ("GGa" < "gGa") 5 End Sub Если заменить слово Binary в первой строке на Text, то различие в регистрах будет игнорировано и в результате работы кода в окне сообщения появится текст «False». При использовании в операторе Option Compare ключевого слова Database выполняется сравнение, основанное на информации из базы данных Microsoft Access. Операция Like Операция Like используется для сравнения двух строк и имеет следующий синтаксис: Синтаксис strExp Like srtPattern Здесь strExp — строковое выражение; srtPattern — любое строковое выражение, образующее шаблон, который сравнивается с аргументом strExp. В простейшем случае srtPattern — строка, которая полностью совпадает со строкой strExp. Например, следующее выражение имеет результатом значение True: "ABCD" Like "ABCD" Используя некоторые специальные символы, можно сформировать шаблон, который совместно с аргументом strExp даст значение True в выражении с операцией Like. Рассмотрим эти специальные символы и их действие. Символ «*» используется для обозначения любого количества любых символов. Например, следующее выражение имеет результатом значение True: "ABCDas" Like "AB*" Символ «?» позволяет не рассматривать в строке strExp единственный символ, положение которого совпадает с положением символа «?» в шаблоне. Например: "ABCDss" Like "ABC?ss" ' результат - True "ABCDss" Like "ABC??s" ' результат - True Символ «#» отличается от «?» тем, что допускает в строке strExp единственный символ цифры, положение которого совпадает с положением символа «#» в шаблоне. Например: "ABCDss" Like "ABC?#s" ' результат - False "ABCD3s" Like "ABC?#s" ' результат - True В шаблоне для некоторой позиции можно указать диапазон допустимых символов. Диапазон указывается при помощи квадратных скобок, внутри которых задается диапазон символов. Например: "AFCD3s" Like "A[D-M]C?#s" ' результат - True "AFCD3s" Like "A[D-M][B-D]?#s" ' результат - True Если перед диапазоном вставить символ «!», это будет означать, что символ не должен быть внутри диапазона. Например: "AFCD3s" Like "A[D-M][!D-Z]?#s" ' результат - True
|