- •Лекция 4.Преобразование типов данных. Процедуры и функции. Типы операторов. Состав проекта Назначение типов данных
- •Преобразование типов данных
- •Преобразование числовых типов данных
- •Currency
- •Строковые переменные
- •Строки изменяемой и фиксированной длины
- •Преобразование числовых данных в строковые
- •Boolean
- •Форматирование данных
- •Процедуры и функции
- •Аргументы
- •Примеры процедур
- •Функции
- •Обзор типов операторов
- •Операторы объявления
- •Операторы присваивания (инициализации)
- •Выполняемые операторы
- •Параметры компилятора
- •Состав проекта
Процедуры и функции
Собственно процедура – это подпрограмма. Она начинается оператором Sub и заканчивается оператором End. Подпрограммы могут вызываться или самим VB, или другими процедурами.
Макрос VBA – это процедура типа Sub, не имеющая аргументов. Это единственный класс процедур типа Sub, способных выполняться непосредственно путем вызова по имени либо из редактора, либо из приложения.
В пустые скобки в заголовке процедуры могут быть помещены аргументы.
Аргументы
В процедурах и функциях вместо переменных можно применять аргументы. Аргументы упрощают процедуру использования процедур и восприятие программного кода:
аргументы помогают при создании программного кода уменьшить число объявляемых переменных;
при чтении кода аргументы ясно указывают, какие значения требуются процедуре от других частей программы для выполнения работы.
При вызове процедуры с аргументами программа Visual Basic заставляет определить значения для этих аргументов.
Использование аргументов в процедурах событий можно проиллюстрировать примером события MouseMove (движения манипулятора "мышь").
Для обеспечения перемещения мыши процедура будет выглядеть так:
Private Sub Command1_ MouseMove (Button As Integer, X As Single, Y As Single)
…………………… (операторы)………
End Sub
Как видно, передаются 3 аргумента: состояние кнопок, координаты X и Y.
Примеры процедур
Рассмотрим пример - процедуру приветствия (вывод приветствия на экран):
Sub Привет( )
Print "Здравствуйте, я – ваша тетя!"
End Sub
Вызов процедуры осуществляется по её имени (Привет), например нажатием кнопки:
Private Sub Command1_Click( )
Привет
End Sub
Если нужно оперативно изменять информацию, то в процедуре можно использовать задание аргументов, например:
Sub Привет1(Msg1, Msg2 As String)
Print "Друзья!" & Msg1; Msg2
End Sub
Имена аргументов в заголовке процедуры отделяются друг от друга запятой, а в операторе – точкой с запятой. Со строковыми данными имена аргументов соединяется знаком конкатенации (амперсандом).
Для вызова данной процедуры (Привет1) используется другая процедура (например, процедура нажатия кнопки). При этом информация, содержащаяся в объявленных аргументах, вводится в код с заключением ее в кавычки.
Данные, содержащиеся в объявленных в процедуре Привет1 аргументах Msg1,Msg2, отделяются друг от другазапятой:
PrivateSubCommand1_Click()
Привет1 " прекрасен", " наш союз..."
End Sub
Функции
Процедуры (Sub) используются для обработки данных и возврата значений каких-либо переменных, и этим похожи на функции, за исключением того, что они не возвращают значения,ассоциированного с их именем.
То-есть, процедура типа "Функция" (Function) возвращает результат вычислений под её именем в алгебраической форме.
Функция может иметь аргументыс объявляемым типом данных и сопровождается также заданием типа данных возвращаемого (т. е., вычисленного) значения. Например, функция вычисления налога на добавленную стоимость:
Function НДС(Стоимость As Currency, Процент As Single) As Currency
НДС = Стоимость * Процент
EndFunction
За скобками аргументов указывается тип данных результата вычислений.
Таким образом, имя функции(НДС) можно рассматривать какпеременную, объявление которой осуществляется операторомFunction.
Вызов функцииотличается от вызова процедуры:
Private Sub Command1_Click( )
Dim Tax As Currency
Tax= НДС(100, 0.2)
Print Tax
End Sub
Как видно, привызовефункцииаргументы указываютсяв скобках, т. е., функция вызывается следующим образом:
Возвращаемое значение = Функция (Аргумент1, Аргумент2, …)
В отличие от функции, при вызовепроцедуры, аргументыне берутсяв скобки, а заключаютсяв кавычки:
Процедура Аргумент1, Аргумент2, …
Как, в частности, в вышеприводимом примере:
Привет1 " прекрасен", " наш союз..."
При этом возвращаемое значение отсутствует.