КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функции. Если в проекте создать общую процедуру с именем Main, то именно с нее начнется выполнение приложения без отображения какой бы то ни было формы
Процедура Main Если в проекте создать общую процедуру с именем Main, то именно с нее начнется выполнение приложения без отображения какой бы то ни было формы. Такие процедуры часто бывают нужными для выполнения некоторых действий по инициализации программы перед загрузкой формы. Функция отличается от процедуры тем, что у нее нет выходных параметров, а все ее входные параметры называются аргументами. Функция не вызывается, подобно процедуре, из какого-нибудь места программы, а включается в состав выражения. При этом говорят, что функция возвращает свое значение. Это все справедливо и для встроенных функций и для функций, определяемых программистом. Общий синтаксис ее таков: [ Область видимости ] [Static] Function имя функции (список аргументов) As тип Выполняемые операторы End Function Так как VB должен знать тип возвращаемого значения, то после перечня параметров указывают тип функции. Выполняемые операторы могут быть любыми, но среди них обязательно должны быть такие, в результате действия которых переменной «Имя функции» должно присваиваться некоторое значение. Чаще всего функции выполняют определенные расчеты. Пример: Создадим функцию расчета подоходного налога. Для этого создадим форму с кнопкой «Пуск» и напишем программу:
Dim dohod, nalog As Single
Private Sub Command1_Click() dohod = InputBox("Введите сумму дохода") nalog = nds(dohod) MsgBox "Налог составляет " & nalog End Sub
Public Function nds(a) If a > 50000 Then nds = a * 0.2 Else nds = a * 0.12 End If End Function
Пример процедуры:
Sub SubDemo (Rlen As Single, Rwid As Single, Area As Single ) 'заголовок процедуры SubDemo с тремя аргументами- Rlen-длина, Rwid-ширина и Area-площадь Area = RLen * Rwid ' расчет площади End Sub
Пример функции:
Function FunDemo (RLen As Single, Rwid As Single ) As Single 'заголовок функции FunDemo с двумя аргументами- Rlen-длина и Rwid-ширина FunDemo = RLen * Rwid ' расчет площади и присвоение имени функции вычисленного значения End Function Обратите внимание, что в процедуре для вычисления и записи результата используется аргумент Area (выходной аргумент). В функции для записи результата используется имя функции FunDemo.
Пример обращения к процедуре:
Private Sub Command1_Click() Dim A As Single, B As Single, C As Single A = Val(InputBox("Введите значение длины прямоугольника")) B = Val(InputBox("Введите значение ширины прямоугольника")) Call SubDemo (A, B, C) MsgBox "Площадь прямоугольника равна " & Str(C) End Sub Пример обращения к функции:
Private Sub Command2_Click() Dim A As Single, B As Single, C As Single A = Val(InputBox("Введите значение длины прямоугольника")) B = Val(InputBox("Введите значение ширины прямоугольника")) C = FunDemo (A, B) * 2 MsgBox "Удвоенная площадь прямоугольника равна " & Str(C) End Sub
Параметры могут передаваться в процедуру или функцию двумя способами: 1. Передача параметров по ссылке. Данный режим используется вVB по умолчанию. При этом вызываемая процедура может изменять значения тех переменных, которые ей передаются в качестве параметров. 2. Передача параметров по значению. В этом случае изменениям будут подвержены только «копии» переменных, передаваемых в процедуру. Примеры Private Sub Form_Load() Dim x,y X=3 Y=5 Call ByReference (x, y) ‘Результат: х=4, у=6 X=3 Y=5 Call ByValue (x, y) ‘Результат: х=4, у=5 End Sub
Sub ByReference (a, b) ‘Передача параметров по ссылке а=а+1 b=b+1 End Sub
Sub ByValue (a, ByVal b) ‘Передача параметров по значению а=а+1 b=b+1 End Sub, т.е. в переменную b после выполнения процедуры не передано никакого значения. Среди параметров могут быть необязательные, которые снабжаются впереди служебным словом Optional и которые при вызове можно не задавать. Пример:
Private vntA As Byte, vntB As Byte
Private Sub Form_Load() vntA=5 vntB=10 Call Opt (vntA, vntB) ‘Результат: vntA=6, vnt=11 vntA=5 vntB=10 Call Opt (vntA) ‘Результат: vntA=6, vnt=10 End Sub
Private Sub Opt (a, Optional b) a=a+1 If Not IsMissung (b) Then b=b+1 (если параметр указан – True) End Sub Существует возможность при описании необязательных параметров указывать те или иные значения, которые необходимо принимать по умолчанию, если при вызове процедуры или функции они не указаны. Тогда следующий пример: Private Sub Opt (a, Optional b=3) a=a+b End Sub и при первом вызове vntA=15, при втором – vntA=8.
Дата добавления: 2014-01-07; Просмотров: 392; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |