Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_VB.doc
Скачиваний:
7
Добавлен:
24.12.2018
Размер:
851.97 Кб
Скачать

Данные символьного типа

Под каждый символ выделяется 1 байт (8 бит) памяти. Кодовые таблицы содержат 256 символов. Первые с 0 по 127 коды в любой кодировке одинаковы: с 0 по 31 – управляющие символы, 32 – пробел, далее знаки, с 48 по 57 - цифры от 0 до 9, с 65 по 90 – заглавные буквы латинского алфавита, с 97 по 122 – малые буквы латинского алфавита. В промежутках - знаки.

Символьные данные можно сравнивать друг с другом, используя те же операции сравнения, что и с данными арифметического типа. Сравнение происходит посимвольно (побайтно) слева направо. Фактически сравниваются коды соответствующие символам.

Для обработки символьных данных можно использовать операцию сцепления операндов (знак операции – символ «+» или &).

Строку символов всегда можно преобразовать в одномерный массив отдельных символов, расщепив его при помощи функции MID или Split. После обработки массива, его элементы следует обратно слить в строку при помощи операции сцепления.

Решение подавляющего большинства задач требует владения встроенными функциями.

Функция

Выполняемые действия

Пример

LEN(x)

Определяет длину указанной символьной переменной в байтах (количество символов)

Fio=”Иванов”

L=LEN(FIO)

L=6

LEFT(x,k)

Вырезает из переменной х слева k символов. Вырезанные символы можно присвоить другой переменной

Fio=”Иванов”

T=LEFT(FIO,4)

T=”Иван”

RIGHT(x,k)

Аналогично предыдущей функции, только справа

Fio=”Иванов”

T=RIGHT(FIO,2)

T=”ов”

MID(x,pos,k)

Вырезает k символов из переменной x, начиная с позиции pos, включительно

Fio=”Иванов”

T=MID(FIO,2,4)

T=”вано”

VAL(x)

Преобразует указанную символьную переменную х в десятичное число.

p=”-243.65”

s=val(p)+100

s=-143.65

CINT(x)

Преобразует указанную символьную переменную х в целое число

p=”-243”

s=val(p)+100

s=-143

STR(y)

Преобразует число y в строку символов. С учетом знака. Если число положительное, вместо знака ставится пробел

a=123.45

b=-678

s=str(b)+str(a)

s=”-678 123.45”

CHR(N)

Результат – символ, соответствующий указанному номеру в таблице символов

For I=65 to 90

Print chr(i)

next

Вывод заглавных букв латинского алфавита

ASC(x)

Определяет числовой код первого символа в строке х

Print ASC(”123”)

Print ASC(” 1a2m”)

Print ASC(”ABC”)

На экране 49 32 65

INSTR(n,x,y)

Начиная с позиции n, определяет позицию первого появления подстроки y в строке x. Если не находит, то результат 0.

x=”кукуруза”

y=”ку”

Print INSTR(1,x,y);

Print INSTR(2,x,y);

На экране 1 3

LTRIM(x)

Возвращает копию строки х после удаления символов пробела из левой части строки (начальные пробелы)

RTRIM(x)

Возвращает копию строки х после удаления символов пробела из правой части строки (конечные пробелы)

TRIM(x)

Возвращает копию строки х после удаления начальных и конечных пробелов

LCASE(x)

Возвращает копию строки х со всеми символами верхнего регистра, преобразованными в символы нижнего регистра

UCASE(x)

Возвращает копию строки х со всеми символами нижнего регистра, преобразованными в символы верхнего регистра

STRCONV(x, p)

Изменяет регистр букв символьной строки, в зависимости от значения параметра Р

Р=1, верхний регистр

Р=2, нижний регистр

Р=3, только первая заглавная

STRREVERSE(x)

Изменяет порядок следования в строке на обратный

SPACE(n)

Возвращает строку пробелов длиной n символов

REPLASE(S, S1, S2, n, k)

Заменяет в строке S подстроку S1 на подстроку S2, начиная с позиции n, k - количество замен, если не указано, то заменяются все вхождения S1.

s1=”121113”

print Replace(s1,”1”,””,1)

На экране 23