Определение функций

Формат определения функции [Private|Public] [Static] Function ИмяФункции ([ СписокАргументов) As Туре [ Блок операторов ] ИмяФункции = Выражение [ Блок операторов ] [Exit Sub] [ Блок операторов ] End Function Private — необязательное ключевое слово, которое означает, что данная функция может быть вызвана только из того модуля или формы, в которой описана; Public — необязательное ключевое слово, которое означает, что данная функция может быть вызвана из любого модуля или формы данного проекта. При этом сама функция должна быть описана в модуле; Static — свидетельствует о статусе локальных переменных, т. е. переменных объявленных внутри этой функции. При наличии этого слова локальные переменные будут сохранять свои значения между последовательными вызовами данной функции, при отсутствии — не будут; ИмяФункции — строка символов, подчиняющаяся тем же правилам, что и имя переменной; СписокАргументов — переменные (с их типами), которые играют роль аргументов функции. Переменные перечисляются через запятую. Список берется в круглые скобки; Туре — тип значения, возвращаемого функцией, т. е. тип величины, которая является результатом работы функции; Выражение — арифметическое, строковое или логическое выражение, которое вычисляет возвращаемое функцией значение; Блок операторов — любое количество операторов любого типа; Exit Sub — служит для преждевременного завершения работы функции

Замечание. Не забудьте строку ИмяФункции = Выражение. Если вы не присвоите имени функции значения, функция не вернет peзультата, т.е. станет совершенно бесполезной.

Размещение пpoгpaммного кода функции. Функция, как и процедура, может входить в состав модуля экранной формы (файл frm) или в состав универсального модуля (файл bas). Если функция должна входить в состав модуля экранной формы, ее код записывается в окне программного кода заданной экранной формы. Если функция должна входить в состав универсального модуля, она определяется в окне программного кода для этого модуля. Для создания функции можно воспользоваться теми же способами, что и при создании процедуры.

Способ 1. Курсор необходимо поместить в то место программного кода, которое не принадлежит никакой процедуре. Можно, например, щелкнуть по элементу (General) меню Object. Курсор автоматически переместится в область, общую для всех процедур модуля экранной формы. Затем нужно набрать клавиатуре ключевое слово Function, вслед за которым — ИмяФункции, а за ним — СписокАргументов в скобках. Visual Basic мгновенно выдаст последнюю строку определения: End Function. Ваша задача — вписать в этот "шаблон" необходимые строки определения функции.

Способ 2. Следует выбрать команду Add Procedure меню Tools а в диалоговом окне в текстовое поле ввести имя функции и установить соответствующие переключатели. Если функция имеет универсальный характер, ее, как и процедуру, можно поместить в файл стандартного модуля. Из таких функций можно создавать целые библиотеки полезных, на ваш взгляд, функций.

Замечание. Хорошим решением считается сохранение функций в файлах модуля. В этом случае коды, отвечающие за работу пользовательского интерфейса, не будут смешиваться с кодами, выполняющими обработку данных и производящими вычисления.

Пример:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: