Существуют различные способы вызова процедур, встроенных функций Visual FoxPro и пользовательских функций. Кроме того, пользовательские функции (user-defined functions-UDF) могут вызываться так же, как процедуры. Вы можете вызывать созданные Вами процедуры, хранящиеся в программных (.prg) файлах как самостоятельные программы или как функции, если необходимо использовать возвращаемые этими процедурами значения.
![]() |
---|
Если процедуры и функции размещены в отдельном программном файле (.prg), то сделать их доступными в программе можно командой SET PROCEDURE TO. Например, если имеется файл с именем ProcFile.prg, то можно сделать его доступным в программе, введя в командном окне следующую команду: |
![]() | |
---|---|
SET PROCEDURE TO ProcFile.prg |
Функции Visual FoxPro или пользовательские функции можно вызвать:
-
Без сохранения возвращаемого значения.
-или-
-
С присвоением возвращаемого значения переменной памяти.
-или-
-
Включив вызов функции в состав другой команды или функции.
Некоторые функции могут принимать передаваемые из вызывающей программы данные в качестве параметров. Для более подробной информации смотрите Передача параметров и Параметры в процедурах и функциях.
В следующем примере первая строка кода вызывает функцию DATE( ), возвращающую текущую системную дату. Никаких действий над возвращаемым значением не выполняется. Вторая строчка кода присваивает возвращаемое значение переменной памяти dToday
. Третья строка кода включает функцию в состав другой команды, выводящей возвращаемое значение в текущее активное окно вывода. В четвертой строке функция включена в состав другой, внешней функции, и передает ей возвращаемое значение в качестве параметра, после чего внешняя функция возвращает номер дня недели, исходя из принятой даты.
![]() | |
---|---|
DATE( ) dToday = DATE( ) ? DATE( ) DOW(DATE( )) |
Для более подробной информации смотрите Возвращение данных из процедур и функций.
Для вызова процедуры
-
Используйте команду DO со следующим за ней названием процедуры.
В следующем примере команда DO вызывает процедуры myProc1 и myProc2. Первая строка кода вызывает процедуру myProc1 без параметров. Четвертая строка кода включает предложение WITH в команду DO чтобы передать список параметров в процедуру myProc2.
![]() | |
---|---|
DO myProc1 var1=4 var2=5 DO myProc2 WITH (var1, var2) |
Для более подробной информации смотрите DO, команда.