- •Введение
- •Основные элементы программирования
- •1. Переменные, оператор присваивания
- •Определение переменной
- •Имена переменных
- •Типы данных
- •Объявление переменных
- •Оператор присваивания
- •Область видимости переменных
- •Область видимости переменных и их объявление
- •2. Константы
- •3. Массивы
- •4. Математические операторы
- •5. Обработка числовых данных
- •6. Обработка строк
- •7. Процедуры
- •ПроцедурыSub
- •Процедуры Function
- •[Private|Public] [Static] Function ИмяПроцедуры(Аргументы) [As type]
- •Создание процедур
- •8. Операторы управления
- •Операторы передачи управления
- •Условные выражения
- •Операторы выбора
- •Переключатели
- •9. Операторы цикла
- •Оператор цикла For…Next
- •Операторы цикла Do…Loop
- •ОператорExit
- •10. Элементы программирования и алгоритмы
- •Содержание
6. Обработка строк
Для работы со строками в VBиспользуются только один оператор –оператор конкатенации&(объединение строк) и специальные встроенные функции, которые приведены в табл. 6.1.
Приведем пример использования оператора конкатенации & для работы со строками :
strFamilya = “Сидоров ”: strImya = “Петр ”
strOtch = “Иванович”
strName = strFamilya & strImya & strOtch
Print strName
‘на экране появится текст “Сидоров Петр Иванович”
Здесь приведен фрагмент программы из четырех строк, который требует пояснения. В первой строке не один, а два оператора, поэтому между ними поставлен разделитель – двоеточие. Print– оператор вывода информации на форму. И, наконец, сообщениепосле апострофа – это комментарий,который не влияет на выполнение программы. Знак & называютамперсантом.
Таблица 6.1
Функция |
Описание |
Asc |
АSCII-КОД первого символа в строке. Например, ASC(«б») равен 161
|
Chr |
Символ, соответствующий ASCII-коду — числу, заданному в качестве аргумента (от 0 о 255) |
InStr InStrRev |
Проверка наличия подстроки в строке. Имеет три параметра. Первый — номер символа в строке, с которого начинается поиск. Этот номер необязательный, и его можно опустить (тогда считается, что поиск выполняется с 1-го). Второй – строка для анализа, третий – подстрока. Если подстрока обнаружена, возвращается ее позиция в анализируемой строке (позиция отсчитывается с 1), если нет — возвращается 0. Например, INSTR("пароход", "ход") вернет 5 InStrRev ищет подстроку с конца исходной строки |
Left Right |
Выделение части строки — с начала (Left) или с конца (Right). Длина возвращаемой строки определяется вторым аргументом, например: Left("самолёт",3) равно "сам", Right("1234567",2) равно "67" |
Mid |
Выделение произвольной подстроки. Первый параметр — анализируемая строка, второй — позиция первого символа выделяемой подстроки, третий — длина выделяемой подстроки. Если третий параметр опущен, то будут выделены все элементы до конца строки. Например: Mid("математика",3,4) равно "тема" Mid("пароход",5) равно "ход"
|
Len |
Возвращает число символов в строке. Например, ks = Len(“проверка”), ks будет равно 8; strC = “сто рублей” Len(strC) возвратит число 10 (пробел – символ!) |
Ltrim, Rtrim, Trim
|
Удаляет пробелы, расположенные соответственно в начале (LTrim), в конце (RTrim) и с обеих сторон символьной строки (Trim) |
Space |
Возвращает строку заданной длины, состоящую из одних пробелов. Space(26) возвратит строку из 26 пробелов.
|
String |
Создает строку из одинаковых символов. Первый аргумент — число символов в строке, второй — либо ASCII-код символа-заполнителя, либо строка (тогда для заполнения берется ее первый символ). Например, String(12, “*”) вернет “************” , этот же результат получим, если напишем String(12, 42) (42 - ASCII-код символа *).
|
Str |
Возвращает строковое представление числа. Например, значением Str(5) будет "5", значением Str(3.14159) будет "3.14159". Интересно, что если (Str(123) & 77) возвращает строку “12377”, то (Str(123) + 77) возвратит уже число 200, т. е. Str() «забывает» переводить число в строку. |
Val |
Возвращает число, в которое преобразуется аргумент-строка, например, VAL("2.87") вернет число 2.87. Если аргумент не удается преобразовать в число, то VAL() возвращает 0.
|
LCase, UСase |
Преобразовывает все символы в строке соответственно к нижнему (LCase) или верхнему регистру (UCase). Например, LCase(“СИМВОЛ”) возвратит “символ”, UCase(“иван”) возвратит “ИВАН” |
StrConv |
Преобразует все символы строки в соответствии с заданным преобразованием. StrConv(“нии”, vbUpperCase) возвратит “НИИ”, или StrConv(“нии”, 1) – и такой же результат. StrConv(“КРАН”, vbLowerCase) или StrConv(“КРАН”, 2) возвращают “кран”, StrConv(“слово в строку”, vbProperCase) или StrConv(“слово в строку ”, 3) возвратят “Слово В Строку”, т. е. первая буква каждого слова становится прописной. |
StrReverse |
Изменяет порядок следования символов в строке на обратный. Print StrReverse("журналистка Тутта Ларсен") возвратит «несраЛ аттуТ актсиланруж». |
Для объединения строк можно использовать также знак сложения “+”. Но он срабатывает, если объединяются только строки(!). Примеры для функции Str() в предыдущей табл. 6.1 показывают, что если объединяются строка и число, результат будет другой. Поэтому лучше не искушать судьбу и для соединения строк использовать только амперсант &.