Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
425 Кб
Скачать
☆

7. Лекция 7. Представление строковых типов данных, типы данных Date и Variant.

Вопросы

1. Строковые типы данных и функции работы сними.

2. Типы данных Date и Variant и функции работы сними.

    1. Строковые типы данных и функции работы сними.

В языках программирования признано необходимым иметь дело с текстами, записываемыми с помощью некоторого набора печатных знаков – литер ( символов). Этот набор в языке обычно не фиксируется и зависит от реализации языка. Обычно набор литер совпадает с набором знаков, доступных (с теми или иными ухищрениями ) на клавиатуре , экране мониторов и в принтерах. В число литер обязательно входит пробел. Значения из доступного набора литер относятся к типы литерный Это еще не тексты, а только знаки из которых составляется текст. В языке Турбо – Паскаль литерные (символьный) тип данных обозначается как Char.

Строковый тип данных представляет последовательность символов. Каждый символ занимает 1 байт. В Visual Basic символьный и строковый типы объединены в один, обозначаются как String. Значение, присваемое строковому типу данных представляет собой литерал и должно быть заключено в двойные кавычки.

Например, wordStr = “ Изучаем технологию программирования” ‘Строковой переменной

WordStr присваивается строка.

Длина строки может составлять от одного символа до 2 миллиардов символов. При использовании строковых переменных может указываться её фиксированная длина

Например, Dim Exampel As String * 1048, - строковая переменная содержит 1049 байт (символов).

( В языке Турбо – Паскаль строковый тип данных относится к структурированным типам и обозначается String, Длина строки может находиться в пределах 0 – 255 символов}

Строковая константа есть последовательность символов, заключенная в двойные кавычки ( в Т-П - в апострофы).

Например, b = “ Изучаем технологию программирования”.

В таблице 7.1 приведены характеристики строковых типов данных для языков Турбо- Паскаль и Visual Basic

Таблица 7.1.

Строковые типы данных и функции

Тип в Т-П

Тип в VB

Хранимая величина

Занимаемая память

Диапазон значений

Char

-

Символьный тип

1 байт

Все символы кода ASCII

String

String

Строковая переменная

1 байт на символ

Последовательность символов, заключенная в ковычки

65500 символов -16 разрядный код и 2Е32 символов – 32 разрядный код

-

String *(длина)

Строковая переменная, ограниченной длины

1 байт на символ

7.1.1. Операции со строковым типом данных.

К строковым типам данных (String) применимы следующие операции и функции:

Для соединения двух строк путем подстыковки к концу первой начала второй служит операция КОНКАТЕНАЦИЯ. Visual Basic предоставляет два оператора для соединения строк: + и &. Оба оператора выполняют одну и ту же работу. Но поскольку знак + является также арифметическим оператором, то рекомендуется использовать знак &.

Замечание. Перед и после оператора конкатенации должны быть пробелы. Редактор VB автоматически ошибку в написании оператора конкатенации почему-то не исправляет.

Для форматирования и преобразования текста в строковых переменных применяются следующие основные фунуции, представленные в Таблице 7.2.

Таблица 7.2..

Основные функции , для работы со строковыми переменными

Функция

Синтаксис функции

Назначение

Format

Format (txtZip.Text, “0000”

Функция гарантирует получение вводимого числа в форме переменной типа String

UCase

UpperString = Ucase(inputstring)

Функция преобразует все буквы переменной inputstring в верхний регистр (в прописные)

LCase

LowerString = Lcase(inputstring)

Функция преобразует все буквы переменной inputstring в нижний регистр (в строчные)

Если записать строку Option compare Text в начале вашей программы то будет использоваться «нормальный» алфавитный порядок без учета регистра.

LSet

LSet LeftStr = Inputsting

Позволяет выровнять текст относительно левой границы

RSet

RSet RightStr = Inputsting

Позволяет выровнять текст относительно правой границы

InStr

Result = InStr ([startpos,] sourcestr, searchstr [, compare])

startpos – позиция, с которой начинается поиск,

sourcestr – строка, в которой осуществляется поиск,

searchstr – строка, которую надо найти,

compare - аргумент, определяющий различие между прописными и строчными буквами, 0 – различие учитывается, 1 - нет

Позволяет выполнить в строке поиск символа , слова, или группы слов.

В переменной Result записывается номер позиции в исходной строке, в которой начинается найденная строка.

Result

result = Len (inputstr)

Определяет число символов в переменной или в выражении типа string или variant .

LTrim

Result = LTrim (inputstr)

Удаляет пробелы в начале строки

RTrim

Result = RTrim (inputstr)

Удаляет пробелы в конце строки

Trim

result = Ttrim (inputstr)

Удаляет пробелы в середине строки

Left

Newstr = Left (sourcestr, numchars )

Удаление символов с начала строки

Right

newstr=Right (sourcestr, numchars )

Удаление символов с конца строки

Like

FirstStr Like SecondStr

Сравнение строк, сравнение строки с шаблоном

Mid

newstr = Mid (sourcestr, startpos

[, numchsrs ]),

sourcestr – строка, содержащая информацию,

startpos – позиция, с которой начинается удаление символов,

numchsrs – количество извлекаемых символов

Удаление символов из середины строки

Mid

Mid (sourcestr, startpos

[, numchsrs ]) = replstr

Замена части строки другой строкой

Cstr

Numstr = Cstr (inptnum)

Преобразование числа в строку

Cint

Numint = Cint (inptstr)

Преобразование строки в целое число

Clng

Numling = Cling (inptstr)

Преобразование строки в длинное целое число

Csng

Numsng = Csng (inptstr)

Преобразование строки в десятичное число

Cdbl

Numdbl = Cdbl (inptstr)

Преобразование строки в десятичное число

Val

Numer = Val (instr)

Преобразование строки в любое число

Chr

Chr ( N), где N код символа.

Вставляет значение типа String, содержащая символ, соответствующий указанному коду символа набора, такого как набор символов ANSI

Оператор Like позволяет не только определить совпадающие слова, но и сравнить слово с шаблоном. Например, проверить, будет ли набор символов, введенный сотрудником страховой компании будет состоять из трех букв, дефиса, затем двух цифр, снова дефис и четырех цифр?

Выражение для сравнения будет выглядеть так:

TxtSSNum.Text Like “ ? ? ? - # # - # # # # “

Операнд в левой части должен быть строкой как обычно, но операнд в правой части должен быть шаблоном. Шаблоны могут быть довольно сложными.Рассмотрим базовые правила.

Символ ? указывает, что здесь может быть одиночный символ.

Символ * указывает, что здесь может быть любое количество символов.

Символ # указывает, что здесь может быть только цифра.

Любой другой символ указывает, что здесь может быть именно этот символ.

Список символов в квадратных скобках означает, что можно использовать какой –нибудь один из них, и никакой другой Например, “[abc]” указывает, что в данной позиции может находиться либо “а”, либо “b”, либо “с”.

Если первым символом в скобках является восклицательный знак, то для сравнения используется символ, не входящий в список. Например, “[!а]” указывает, что здесь может быль любой символ кроме “а “.

Выражение типа « символ, дефис, символ» внутри скобокберет для сравнения один символ из указанного диапазона. Например, выражение “[a – g]” , что здесь может быть один из символов из указанного диапазона, включая границы, и ни какой другой. Первый символ, используемый для задания границ диапазона, должен быть меньше второго. В противном случае машина выдаст ошибку.

Дефис “ – ” в начале или конце выражения в скобках не обозначает диапазон, а является просто символом.

Шаблон “[]” трактуется как пыстой и игнорируется.

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

Восклицательный знак “!” вне скобок представляет собой символ, внутри скобок он является символом только если он не первый.

Правая квадратная скобка ( ] ) представляет символ , если ей не предшествуел левая квадратная скобка. Например строка «а??]d??» требует правой скобки в четвертой позиции. Нельзя использовать правую скобку внутри квадратных скобок.

Символы ?, *, [ и # нельзя использовать вне скобок, чтобы представить их как символы. Если вы хотите сравнить их друг с другом, вы должны заключить их в квадратные скобки.Например, строка «# #[?]» требует двух цифр и знака , в третей позиции.

Если вы используете записьOption CompareText в начале программы, то игнорируется верхний/нижний регистры в сравнениях Like?, так, что[X – Z] сравнивает X c x,или Х,Y c y или Y и Z c z или Z.