Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_1 / Элементы программирования - методичка.doc
Скачиваний:
60
Добавлен:
06.03.2016
Размер:
449.02 Кб
Скачать

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 показывают, что если объединяются строка и число, результат будет другой. Поэтому лучше не искушать судьбу и для соединения строк использовать только амперсант &.