Для чого потрібна процедура Function? h2>
Отже,
функція. Що це таке? Функція виконує службове дію, наприклад
обчислення, і повертає значення. Викликати функцію можна, написавши її ім'я та
передавши їй аргументи, в потрібному місці вашої програми. Чим же корисна функція?
Зараз поясню на дуже простому прикладі! Наприклад, Ви пишіть простеньку
програму, яка обчислює середнє арифметичне трьох чисел, потім множить
отриманий результат на кожне число і забирає їх суму. Неважливо навіщо вам
така програма, це ж приклад ;-). Ось вона (пишемо в модулі): p>
Sub
Main () p>
Dim
a As Integer оголошуємо змінну для
першого числа p>
Dim
b As Integer оголошуємо змінну для
другого числа p>
Dim
c As Integer оголошуємо змінну для
третього числа p>
a
= InputBox ( "Введіть перше число") отримуємо перше число p>
b
= InputBox ( "Введіть друге число") отримуємо друге число p>
c
= InputBox ( "Введіть третє число") отримуємо третє число p>
проробляємо
потрібну операцію над числами p>
виводимо
результат на екран p>
MsgBox ((((( a + b + c)/3) * a) *
b) * c) - (a + b + c) p>
End
Sub p>
Начебто
б все нормально. А тепер уявіть собі, що програма почала шириться й
формулою доводиться користуватися з різних місць програми і Ви повинні тому
її колом писати 8:-O!!! p>
Так,
негарно виходить ... Для цього можна скористатися функцією, яка буде
мати цю формулу і тільки чекати свого виклику і ваших чисел ;-)! Напишемо таку
функцію і назвемо її, наприклад FuncX (поза межами підпрограми Sub): оголошуємо функцію і ставимо що передаються
аргументи p>
Public Function FuncX (a, b, c) As
Integer прісваевает собі значення формули p>
FuncX = ((((( a + b + c)/3) * a) *
b) * c) - (a + b + c) p>
End
Function p>
Є!
А тепер Ви можете викликати функцію з будь-якого місця вашої програми, написав її
ім'я та передав три числа a, b і з: p>
FuncX (a, b, c) або FuncX (4, 5, 6) p>
і
не треба більше цієї довгої формули! Замість p>
((((( a + b + c)/3) * a) * b) * c)
- (A + b + c) p>
Тепер
можна писати p>
FuncX (a,
b, c) p>
Неправда
це зручніше? Сподіваюся я пояснив зрозуміло;)? p>
Примітка:
передаються значення функції змінюються! Напрмер: p>
Function ABC (X, Y) p>
ABC
= (2 * X) + (2 * Y) p>
End
Function p>
Тепер
X дорівнює 2 * Х, а Y одно 2 * Y, тобто їх значення подвоїлися. Для того щоб
передані значення не змінювалися то в дужках треба писати перед аргументом
ByVal. Наприклад: p>
Function
ABC (ByVal X, ByVal Y) p>
Самі
того не підозрюючи, ми дуже часто використовуємо функції. Наприклад InputBox. Дивіться: p>
A = InputBox (Prompt, Title) p>
А
- Це результат, що повертається функцією. InputBox - це ім'я функції. Prompt і Title - передаються
значення. Але функція це стандартна. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://visualprogs.narod.ru/
p>