Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
425 Кб
Скачать
☆
    1. Функции, создаваемые пользователем

Разработчик программы может создавать и собственные функции, для наиболее часто используемых в программе операций.

Все что надо сделать для создания функции это создать некоторую процедуру с операторами Function и End Function вместо Sub и End Sub. Для создания функции можно использовать диалоговое окно Add Procedure меню Tools и выбрать Function.

Полная синтаксическая форма записи функции включает оператор Function, оператор Sub End и операторы составляющие тело функции. Кроме того тело функции включает оператор, выполняющий присваивание значения функции.

[Public | Private ] [ Static ] Function funcname ([ argument])

<операторы>

funcname = expression

End Function

Ключевые слова Public, Private, Static в операторе Function являются необязательными параметрами, определяющими , откуда может быть выполнено обращение к функции. Имя функции представляет funcname. Как и все другие имена, оно должно быть уникальным. Имя функции должно начинаться с буквы и записываться по тем же правилам, что и имена переменных. Необязательные аргументы arguments представляют величины передаваемые функции для обработки. Этими аргументами являются имена переменных, используемых при записи кода функции. Большинство функций имеют в списке аргументов по крайней мере одну переменную.

Оператор funcname = expression является обязательной частью функции, funcname представляет имя функции, определенное с помощью оператора Function.

Знак равенства является обязательной частью этого оператора; expression представляет величину, которая будет возвращена функцией. Это может быть латеральное значение, переменная, выражение, содержащая операции, или даже другая функция. Тип этого выражения должен совпадать с типом самой функции. Оператор End Function является обязательной частью описания функции, определяя последнюю строку функции. После достижения этого оператора управление передается в вызывающую программу.

Пример:

Pablic Function VarAverage (varavg1, varavg2)

VarAverage = (varavg1 + varavg2)/2

End Function

Вызов функции

Newavg = VarAverage(25,30)

Вызов функции из условного оператора

If VarAverage (varavg1, varavg2) > 25 Then

NunSun = Num1 + num2

End If

Функции как и процедуры, могут работать с массивами. Рассмотрим функцию поиска строки среди элементов входного массива. В качестве аргументов функции передается сам массив , размер массива и искомая строка. Функция возвращает индекс первого элемента , содержащего искомую строку. Если искомой строки нет ни в одном элементе массива, функция возвращает - 1.

Пример

Pablic Function ArraySrch (InputArray ( ),ardim, srchstr)

For i = 1 To ardim

fndstr = InStr ( InputArray ( i ), srchstr, 1 ) ' Функция InStr позволяет найти строку

If fndstr > 0 Then

ArrayStr = i

Exit Function

End If

Next i

ArraySrch = -1

End Function

    1. Модульная конструкция программы. Модули, формы. Стандартные модули, модули класса.

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

Правильно написанная программа создается по модульному принципу, аналогичному процессу сборки автомобиля. Большинство программ создается из блоков , известных как модули, процедуры и функции.

Модули.

Когда мы открываем в окне проекта форму или окно редактирования кода мы открываем модуль формы Которая содержит не только код записанных процедур, но и код описания самой формы и коды создающие элементы управления. Когда мы сохраняем форму, как файл с расширением .frm, мы сохраняем полный модуль форм, которую как мы знаем можно использовать как самостоятельно, так и присоединять к другим проектам.

Таким образом, можно заключить, что модуль представляет собой относительно самостоятельную программную единицу (самостоятельное программное средство).

Существуют три вида модулей.

Модуль формы – содержит коды процедур событий, коды описания формы и элементов управления, используемых в форме.

Стандартный модуль – содержит процедуры, которые не имеют отношение к формам.

Стандартный модуль может иметь любое имя. В файле проекта приведены имена и расположение всех модульных файлов, используемых в вашей программе. Модульные файлы имеют расширение >bas.

Модуль классов – содержит коды, которые определяют новые классы объектов.