Процедуры и функции


Программный код приложения представляет собой совокупность отдельных блоков программного кода, т.е. состоит из процедур, выполняемых автоматически при наступлении того или иного события, например, щелчке на командной кнопке, нажатии клавиши в текстовом окне (KeyPress) или при загрузке формы (Load).

Помимо встроенных «событийных» процедур (и стандартных функций) VВ позволяет программисту создавать и использовать в программном коде свои процедуры и функции, которые выполняют определенные действия и вычисления. Для этого фрагмент программного кода, выполняющий задачу, оформляется в виде отдельного блока, и ему назначается имя. Затем этот блок можно использовать в нужных местах программного кода, вызывая его по имени. Например, можно оформить в виде процедуры ввод и вывод элементов массива, причем эта процедура может работать с различными массивами с разным числом элементов. В виде функции можно оформить вычисление какой-либо величины, например, факториала числа.

Расчленение программного кода на отдельные фрагменты – процедуры и функции – имеет ряд преимуществ:

- повышает понятность программы;

- упрощает написание и отладку программного кода, т.к. каждая процедура пишется и отлаживается отдельно от других;

- облегчает модифицируемость программного кода;

- позволяет исключить повторяемость фрагментов программы;

- представляется возможность создания библиотеки процедур для использования их в других приложениях.

Все это в конечном итоге делает работу приложения более эффективной и надежной.

Структура процедуры и функции, созданной программистом, почти буквально повторяет структуру «событийных» процедур VB:

- заголовок;

- описание переменных, констант и т.д.

- операторы, выполняющие необходимые действия для решения задачи процедурой;

- оператор конца процедуры.

Переменные и константы, описанные в процедуре, являются локальными, т.е. являются доступными только внутри данной процедуры.

При вызове процедуры или функции выполняются ее операторы, а затем продолжается выполнение той процедуры, из которой она была вызвана, с оператора, следующего за вызовом процедуры.

VB допускает наличие вложенных процедур, т.е. процедура может содержать вызов другой процедуры, эта, в свою очередь, - следующей и т.д. (Уровень вложенности может достигать нескольких сотен). Структуру внутренних процедур можно изобразить следующим образом: