Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA_01_Основы программирования.doc
Скачиваний:
2
Добавлен:
15.08.2019
Размер:
289.28 Кб
Скачать

1.2.5. Операции с переменными строкового типа

Переменные строкового типа могут содержать до 64000 символов. Описываются эти переменные или указанным выше способом или с явным указанием размера переменной:

Dim S As String*20 - после ключевого слова String указывается знак “*” и количество символов в переменной.

Строки символов, которые присваиваются строковым переменным, заключаются в двойные кавычки. Если кавычки включаются в текст, то каждая пара кавычек обязательно дублируется! Например, строковой переменной Plane нужно присвоить строку "Истребитель "Су-27СМ":

Plane = "Истребитель ""Су-27СМ"""

Для переменных типа String используется только одна операция: + (или &) - объединение строк. Например, оператор

St = "Visual " + "Basic" (или St = "Visual " & "Basic")

присвоит переменной St значение "Visual Basic". Аналогичное действие выполнят операторы

H = "Visual "

St = H & "Basic"

Есть также ряд встроенных функций, среди которых наиболее часто используются функции Chr() и CStr().

Функция Chr() имеет один аргумент - целое число. Она возвращает символ из таблицы кодировки Windows по номеру - аргументу функции.

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

Sub ShowFunction()

Dim g As Single

Dim f As Single

f = 45

MsgBox " Sin(" & CStr(f) & ") равен : " & CStr(Sin(3.14 / 180 * f))

End Sub

Здесь строковое выражение " Sin(" & CStr(f) & ") равен : " & CStr(Sin(3.14 / 180 * f)) объединяет в одну строку следующие компоненты: " Sin(", числовое значение переменной f, ") равен : " и числовое значение выражения Sin(3.14 / 180 * f). В итоге на экране получим следующее диалоговое окно:

Функция Chr() полезна, когда Вам необходимо, чтобы информация в диалоговом окне выводилась в два или более рядов. Это равносильно нажатию клавиши "Enter" перед выводом следующей строки, но ввести символ нажатия клавиши "Enter" можно только при помощи ввода символа с её номером, что и делается функцией Chr(13), где 13 - это номер клавиши "Enter" в кодировке Windows.

Sub ShowFunction2()

Dim g As Single

Dim f As Single

f1 = 45

f2 = 60

g1 = Sin(3.14 / 180 * f1)

g2 = Sin(3.14 / 180 * f2)

MsgBox " Sin(" & CStr(f1) & ") равен : " & CStr(g1) & Chr(13) & _

" Sin(" & CStr(f2) & ") равен : " & CStr(g2)

End Sub

Задание 2. Сделайте копию задания 1 и переделайте её так, чтобы результаты выводились в 3 строки:

Иногда возникает необходимость преобразовать одно выражение в другой тип данных. В общем случае можно воспользоваться функциями Val и Str:

Val (string) – возвращает число, содержащееся в строке string

Str (number) – возращает значение типа Variant, являющееся строковым представлением числа number. Тип Variant может содержать любые типы данных.

Кроме них существуют функции преобразования из данного типа в указанный:

CBool

Boolean

CDbl

Double

CInt

Integer

CLng

Long

CSng

Single

CStr

String

CVar

Variant

Любая из этих функций содержит скобки с выражением-аргументом после имени.