ЗМІСТ:
Тип даних String представляє собою послідовність символів (кожен із яких, в свою чергу, має тип даних Char). Рядок можна представити як послідовність значень типу Char. При цьому тип String має вбудовані функції, які дозволяють працювати з рядками як з масивами.
Змінні рядкового типу можна оголошувати за допомогою виразу:
Dim a As String
або використовуючи метод суфіксів типів даних:
Dim A$
Рядок є набором символів. Нумерація символів у рядку починається з 1 (a нe з 0, як у масивах). Символи, які беруться у лапки, сприймаються Visual Basic як рядкові значення.
Приклад: Присвоїти значення рядковим змінним:
А$ = "31 грудня"
B$ ="75"
Майже всі рядки мають змінну довжину. Вони можуть містити до 2 млрд. символів. Коли інформація зберігається в такій змінній, її розмір змінюється відповідно до довжини рядкового значення (1 байт на кожен символ).
Рядки фіксованої довжини – це рядки постійного розміру (до 64000 символів), незалежно від того, яка інформація їм присвоюється. Якщо рядковій змінній присвоєно вираз, довжина якого менша оголошеної довжини змінної, місце, яке залишилося, заповнюється символами пробілу. Якщо вираз довший за змінну, зберігається тільки та кількість символів, яка відповідає довжині змінної, а інші символи відкидаються.
Для задання змінній фіксованої довжини використовується оператор вигляду:
Dim A As String * strlength
Щоб створити рядок довжиною 10 символів, його потрібно оголосити таким чином:
Dim A As String * 10
Над текстовими даними визначена операція додавання. Символ операції + або &.
Наприклад : tl=”3”, t2=”4”, то tl+t2 дає “34”
t1=”Новий”, t2=”piк” , то t l+t2 дає “Новийрік”
Пропуск між словами можна зробити так: s = tl+” “ +t2 або перед словом «рік» поставити пропуск « рік».
Текстові дані можна порівнювати для побудови логічних виразів. Операції порівняння: =,<>,< ,<=, >, <=.
Два тексти порівнюють зліва направо до перших різних символів. Більшим вважається той символ, який в алфавіті розташований далі.
Наприклад: «7»< «9», «А1» <«А2», «АВ» > «АА» , « Галя» < « Роман» – істинні логічні вирази, «А» > «В», «В» = «Б», «ЗОШ 13» > « ЗОШ 35» – хибні вирази.
Розглянемо ситуацію: значення для числової змінної А користувач вводить до текстового поля Textl. Властивість Text текстового поля має тип String, тому для присвоєння введеного значення числовій змінній потрібно перетворити текст у число за допомогою функції Val():
А = Val (Textl.Text)
Отриманий числовий результат присвоюється текстовому полю за допомогою зворотного перетворення числа в текст за допомогою функції Str():
Textl. Text = Str(A)
Функції Str() і Val() називають функціями перетворення. Функції перетворення перетворюють значення одного типу даних в значення іншого.
Конкатенація двох рядків – це їх об’єднання в один за допомогою символу &. Символ & може об'єднувати як змінні, так і константи рядкового типу. Можна виконувати конкатенацію декількох рядків, наприклад, якщо між словами треба додати пробіл.
Приклад:
Об'єднання двох рядків, які введені в текстові поля Textl і Text2.
A$ = Textl.Text & " " & Text2.Text
Text3.Text = A$
Private Sub Command1_Click(()
Dim a, b As String
a = Text1.Text
b = Text2.Text
Text3.Text = a & " " & b
End Sub
Функція Len() повертає число символів, з яких утворено рядок. Синтаксис функції:
К = Len(strS)
К – змінна цілого типу для збереження значення, яке повертає функція;
Len – ім'я функції;
strS – рядок, довжину якого потрібно визначити.
Приклад:
К = Len(A$)
Text3.Text = Str(K)
Private Sub Command1 _Click()
Dim a As String
Dim k As Integer
a = Text1.Text
Text3. Text = Len(a)
End Sub
Функція Mid (S, I, N) повертає N символів рядку S, починаючи з і-го символу.
Синтаксис функції:
Res = Mid (S, I, N)
Res – рядок для зберігання результату;
S – вихідний рядок;
І – початкова позиція підрядка в рядку StrS;
N – кількість символів в підрядку StrRes.
Приклад:
A$ = "Visual Basic”
B$ = Mid (A$, 5, 6)
Результат: B$ = ”al Bas”
Значення, яке задає початкову позицію, повинно бути не менше 1. Якщо не указана кількість символів, які повертаються, функція Mid() поверне залишок вихідного рядку, починаючи із заданої початкової позиції і до кінця.
Приклад:
Private Sub Command 1_Click()
Dim a, b As String
a = Text1.Text
Text3.Text = Mid(a, 4, 3)
End Sub
Функція Replace () виконує пошук та заміну шуканого підрядка в даному рядку. Синтаксис функції:
strRes = Replace (strS, strFind, strIns)
StrRes – рядок, який повертається функцією;
StrS – вихідний рядок;
StrFind – рядок, який шукає функція у вихідному рядку;
StrIns – рядок для заміни.
Якщо Strins = "" (порожній рядок), то функція Replace вилучить знайдені підрядки.
Приклад: Замінити символи усередині рядка.
Private Sub Command1_Click()
Dim a, b, c, d As String
a = Text1. Text
b = Text2.Text
c = Text3.Text
d = Replace (a, b, c)
Text4.Text = d
End Sub
Функція InStr (strS, StrFind) шукає входження підрядка strFind у рядку StrS і повертає номер першого символу підрядка strFind у рядку StrS.
Синтаксис функції:
Res = InStr (StrS, StrFind)
Res – позиція першого входження підрядка StrFind в рядок strS;
StrS – рядок, в якому здійснюється пошук;
StrFind – шуканий підрядок.
Якщо рядок StrFind відсутній у даному рядку, результат функції дорівнює 0.
Приклад:
A$ = ’’Visual Basic’’
K = InStr (A$, "Bas”)
A$ =’’123.45”
T = InStr (A$, ”.”)
Результат: К=8, Т=4
Приклад:
Private Sub Command1_Click()
Dim a, b As String
a = Text1. Text
b = Text2.Text
Text3.Text = InStr (a, b)
End Sub
Усікання рядка означає «відкидання» його частини з метою одержання коротшого рядка.
Функція Left (S,n) залишає від рядка StrS n перших символів, а кінець рядка відкидає.
Функція Right (S, n) навпаки, видаляє символи на початку рядка S, і залишає n символів справа.
Синтаксис функцій:
StrRes = Left (strS, N)
StrRes = Right (strS, N)
StrRes – рядок для зберігання результату;
StrS – рядок, який обрізається;
N – кількість символів, які залишаються від рядка StrS.
Приклад:
N = 6
A$ = "Visual Basic"
B$ = Left (A$, N)
Результат: B$ = "Visual"
N = 5
A$ = "Visual Basic"
B$ = Right (AS, N)
Результат: B$ = "Basic"
Приклад:
Private Sub Command1_Click()
Dim a As String
a = Text1. Text
Text2.Text = Left (a, 4)
End Sub
Функції LTrim, Rtrim та Trim використовуються для видалення пробілів у символьному рядку.
LTrim – видаляє пробіли, розташовані на початку символьного рядка;
RTrim – видаляє пробіли, розташовані в кінці символьного рядка;
Trim – видаляє пробіли, розташовані на початку та в кінці символьного рядка.
Приклад:
Comment = " Видалення пробілів "
Print LTrim(Comment) ' Повертає "Видалення пробілів "
Print RTrim(Comment) ' Повертає " Видалення пробілів"
Print Trim(Comment) ' Повертає "Видалення пробілів"
Chr(n) – повертає символ із таблиці кодів ASCII.
Asc(b) – повертає номер символу в таблиці ASCII.
Приклад:
Chr (74) Результат: J
Asc (“J”) Результат: 74
Функції UCase() і Lease() використовуються для перетворення малих символів у великі і великі в рядкові. Крім цього, у Visual Basic є функція StrConv(), яка перетворює вираз до власного імені, що починається з великої літери.
Функції UCase () та LCase () повертають значення, що мають тип Variant. Для того щоб повертати значення типу String, необхідно використовувати функції UCase$ () і Lcase$ ().
Функція UCase () перетворює всі малі літери в символьному рядку в великі. Синтаксис функції:
UCase (СимвольнийРядок)
Приклад:
Comment = "висновок"
Print UCase(Comment) ' Повертає "ВИСНОВОК"
Print UCase$(Comment) ' Повертає "ВИСНОВОК"
Функція LCase() повертає заданий символьний рядок у якому всі великі літери перетворені нижній регістр. Синтаксис функції:
LCase(СимвольнийРядок)
Приклад:
Comment= "ВИСНОВОК"
Print LCase(cComment) ' Повертає "висновок"
Print LCase$(cComment) ' Повертає "висновок"
Функція StrConv() перетворює вираз, написаний малими або великими літерами, на вираз, у якому усі початкові букви написані верхнім регістром, а інші – нижнім.
Приклад:
Comment = "петро петрович петров"
Print StrConv(Comment,vbProperCase) ' Повертає "Петро Петрович Петров" Аналогічний результат буде отриманий і в наступному випадку:
Comment = "ПЕТР ПЕТРОВИЧ ПЕТРОВ"
Print StrConv(cComment, vbProperCase) ' Повертає "Петро Петрович Петров"
Питання для перевірки:
Опишіть синтаксис та правила застосування функції Len.
Опишіть синтаксис та правила застосування функції Mid.
Опишіть синтаксис та правила застосування функції Pos.
Опишіть синтаксис та правила застосування функції InStr.
Опишіть синтаксис та правила застосування функції InStrRev.
Назвіть і охарактеризуйте функції видалення пропусків.
Назвіть і охарактеризуйте функції виділення підрядків.
Назвіть і охарактеризуйте функції зміни регістру букв.
Як виконується операція Like?
Що таке шаблон? Які ви знаєте символи шаблону?
Як переглянути рядкову величину посимвольно?
3 якого номеру починається нумерація символів в рядках ?
Яка функція використовується для порівнювання символу рядка з іншим?
Яка функція використовується для відкидання символів справа?
Яка функція використовується для відкидання символів зліва?
Для чого використовуються величини, що є символьними рядками?
Як вони описуються?
Як можна задати значення величині, що є символьним рядком?
Які операції можна виконувати над символьними рядками?
Вкажіть стандартні функції та процедури для роботи із символьними рядками.
Опишіть, що таке таблиця ASCII.
Рядок символів часто називають динамічним масивом. Поясніть, чому.
Войтюшенко Н. М., Інформатика і комп’ютерна техніка: навч. пос. [для сутд. вищ. навч. закл.]/ Н.М. Войтюшенко, А.І.Остапець. – К.: Центр учбової літератури, 2009. – 564 с.
Трофименко О.Г. Програмування в Visual Basic. [Методичний посібник для лабораторних занять]. – Одеса, 2004. – 38 с.
Рогоза М.Є. Основи інформатики та технологій програмування: навчальний посібник / Рогоза М.Є., Рамазанов С.К., Велігура А.В., Танченко С. М. - Луганськ: Вид-во СНУ ім. В.Даля, 2012. - 568 с.