Общепринято, что функции возвращают значения в вызывающую программу. Однако, в Visual FoxPro, вы можете возвращать данные, как из функций, так и из процедур. Когда процедуры и функции не включают явно предложения команды RETURN,  возвращающую определенное значение, Visual FoxPro самостоятельно явно включает в код предложение команды RETURN, которое автоматически вернет значение True (.T.). В общем случае, вы можете пожелать использовать команду RETURN для возврата определенных значений из функций, например, как результат обработки, указывающий - успешно ли завершилось исполнение операции.

NoteЗамечание

Команда RETURN, кроме того, определяет, возврат управления исполнением кода вызывающей программе.  Для получения более подробной информации смотрите описание команды RETURN Command.

Предположим, что в приведенном ниже примере, вы послали дату определенной функции. Функция вернет дату, значение которой на 14 дней позде, чем дата, переданная в качестве параметра:

  CopyCode imageСкопировать код
FUNCTION plus2weeks
   PARAMETERS dDate
   RETURN dDate + 14
ENDFUNC

Вы, затем, можете присвоить полученное из функции значение переменной так, как это показано в приведенной ниже строке кода:

  CopyCode imageСкопировать код
dDeadLine = plus2weeks(DATE())

Присвоение возвращаемых процедурами и функций значений

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

Предположим, что в приведенном ниже примере функция myFunc возвращает определенное значение. Первая строка кода присваивает возвращаемое функцией myFunc значение переменной памяти с именем myVar. Вторая строка кода посылает возвращаемое функцией myFunc значение непосредственно функции Visual FoxPro STR(), которое вернет значение и отобразит его в активном окне вывода с помощью команды  ?:

  CopyCode imageСкопировать код
myVar = myFunc( )
? STR( myFunc( ) )

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