Существуют различные способы вызова процедур, встроенных функций Visual FoxPro и пользовательских функций. Кроме того, пользовательские функции (user-defined functions-UDF) могут вызываться так же, как процедуры. Вы можете вызывать созданные Вами процедуры, хранящиеся в программных (.prg) файлах как самостоятельные программы или как функции, если необходимо использовать возвращаемые этими процедурами значения.

NoteПодсказка

Если процедуры и функции размещены в отдельном программном файле (.prg), то сделать их доступными в программе можно командой SET PROCEDURE TO. Например, если имеется файл с именем ProcFile.prg, то можно сделать его доступным в программе, введя в командном окне следующую команду:

  CopyCode imageСкопировать код
SET PROCEDURE TO ProcFile.prg

Функции Visual FoxPro или пользовательские функции можно вызвать:

  • Без сохранения возвращаемого значения.

    -или-

  • С присвоением возвращаемого значения переменной памяти.

    -или-

  • Включив вызов функции в состав другой команды или функции.

Некоторые функции могут принимать передаваемые из вызывающей программы данные в качестве параметров. Для более подробной информации смотрите Передача параметров и Параметры в процедурах и функциях.

В следующем примере первая строка кода вызывает функцию DATE( ), возвращающую текущую системную дату. Никаких действий над возвращаемым значением не выполняется. Вторая строчка кода присваивает возвращаемое значение переменной памяти dToday. Третья строка кода включает функцию в состав другой команды, выводящей возвращаемое значение в текущее активное окно вывода. В четвертой строке функция включена в состав другой, внешней функции, и передает ей возвращаемое значение в качестве параметра, после чего внешняя функция возвращает номер дня недели, исходя из принятой даты.

  CopyCode imageСкопировать код
DATE( )
dToday = DATE( )
? DATE( )
DOW(DATE( ))

Для более подробной информации смотрите Возвращение данных из процедур и функций.

Для вызова процедуры

  • Используйте команду DO со следующим за ней названием процедуры.

В следующем примере команда DO вызывает процедуры myProc1 и myProc2. Первая строка кода вызывает процедуру myProc1 без параметров. Четвертая строка кода включает предложение WITH в команду DO чтобы передать список параметров в процедуру myProc2.

  CopyCode imageСкопировать код
DO myProc1
var1=4
var2=5
DO myProc2 WITH (var1, var2)

Для более подробной информации смотрите DO, команда.

Смотрите также