- •1. Простейшие конструкции языка Visual Basic
- •2. Функции языка Visual Basic
- •Функции преобразования типов данных
- •Функции даты и времени
- •3. Основные типы алгоритмических структур
- •If Условие Then
- •If Условие Then Действие 1 _
- •Цикл со счетчиком на языке vba.
- •Цикл со счетчиком на языке Visual Basic.
- •Циклы с условием на языке Visual Basic.
- •3.2 Работа с массивами Заполнение массива
- •Поиск в массивах
Функции преобразования типов данных
Функции преобразования реализуют преобразование данных из одного типа в другой.
Функция Val. Часто необходимо преобразовать строковое значение в числовое значение. Это можно сделать с помощью функции Val, аргументом которой является строка, а значением — число:
Val (Строка$)
Например, значением Val ("2000") является число 2000. Часто эта функция применяется для преобразования строкового значения функции InputBox в число, которое затем используется в арифметических выражениях.
Пример. Вычислить гипотенузу прямоугольного треугольника. Произвольные значения катетов вводятся с клавиатуры.
Ввод данных с клавиатуры можно реализовать с помощью функции InputBox. Для корректного отображения вводимых с клавиатуры данных целесообразно пользоваться функцией Val для преобразования строковых данных в числовые.
Dim strA, strB As String, dblA, dblB, dblC As Double
Sub Command1_Click()
strA = InputBox ("Первый катет:", "Катет А")
strB = InputBox ("Второй катет:", "Катет В")
dblA = Val (strA)
dblB = Val (strB)
dblC = Sqr (dblA^2 + dblB^2)
Form1.Print "Гипотенуза равна:", dblC
End Sub
Возможен также следующий вариант записи программы:
Dim dblA, dblB, dblC As Double
Sub Command1_Click()
dblA = Val (InputBox ("Первый катет:", "Катет А"))
dblB = Val (InputBox ("Второй катет:", "Катет В"))
dblC = Sqr (dblA^2 + dblB^2)
Form1.Print "Гипотенуза равна:", dblC
End Sub
Важно, что строковое выражение числа может быть задано не только в десятичной, но также восьмеричной Val ("&O3720") и шестнадцатеричной Val ("&H7DO") системах счисления. Появляется возможность перевода чисел, выраженных в строковой форме, из десятичной, шестнадцатеричной и восьмеричной систем счисления в десятичную систему счисления.
Таким образом, можно складывать числа в различных системах счисления, например:
Sub Command1_Click()
Form1.Print Val ("2000") + Val ("&H7DO") + Val ("&03720")
End Sub
Функции Str, Hex, Oct. Функция Str осуществляет обратное преобразование, т.е. преобразование числа в строку. Аргументом функции является число, а значением — строка:
Str (Число)
Например, значением Str (2000) является строка "2000". Данная функция часто применяется для преобразования чисел в строки для их вывода на панель сообщений с помощью функции MsgBox.
В рассмотренной выше программе вычисления гипотенузы можно ее значение не печатать на форме, а выводить с помощью панели сообщений. Для этого строку программы, содержащую метод Print необходимо заменить на строку:
MsgBox Str (dblC), , "Гипотенуза С равна"
Функции Hex и Oct позволяют производить преобразование десятичных чисел в шестнадцатеричные и восьмеричные числа в строковой форме.
Sub Command1_Click()
Form1.Print Hex (2000), Oct (2000)
End Sub
Функция Asc. Функция Asc осуществляет преобразование строки в числовой код первого символа. Аргументом функции является строка, а значением — число:
Asc (Строка$).
Например, значением функции Asc ("Э") является числовой код символа 221. Программа, реализующая преобразование символа и печать его кода, приведена ниже:
Dim bytA As Byte
Sub Command1_Click()
bytA = Asc ("3")
Form1.Print bytA
End Sub
Функция Chr. Функция Chr осуществляет преобразование числового кода в символ. Аргументом функции является число, а значением — символ:
Chr (Число)
Например, значением функции Chr (221) является символ «Э». Программа, реализующая преобразование кода символа в символ приведена ниже:
Dim strA As String
Sub Command1_Click()
strA = Chr (221)
Form1.Print strA
End Sub