Общепринято, что функции возвращают значения в вызывающую программу. Однако, в Visual FoxPro, вы можете возвращать данные, как из функций, так и из процедур. Когда процедуры и функции не включают явно предложения команды RETURN, возвращающую определенное значение, Visual FoxPro самостоятельно явно включает в код предложение команды RETURN, которое автоматически вернет значение True (.T.). В общем случае, вы можете пожелать использовать команду RETURN для возврата определенных значений из функций, например, как результат обработки, указывающий - успешно ли завершилось исполнение операции.
Замечание |
---|
Команда RETURN, кроме того, определяет, возврат управления исполнением кода вызывающей программе. Для получения более подробной информации смотрите описание команды RETURN Command. |
Предположим, что в приведенном ниже примере, вы послали дату определенной функции. Функция вернет дату, значение которой на 14 дней позде, чем дата, переданная в качестве параметра:
Скопировать код | |
---|---|
FUNCTION plus2weeks PARAMETERS dDate RETURN dDate + 14 ENDFUNC |
Вы, затем, можете присвоить полученное из функции значение переменной так, как это показано в приведенной ниже строке кода:
Скопировать код | |
---|---|
dDeadLine = plus2weeks(DATE()) |
Присвоение возвращаемых процедурами и функций значений
Вы можете присвоить, причем явно, значение возвращенное процедурой или функцией, например, переменной с помощью использования оператора присвоения (символ знака равенства (=)) или послать возвращенное значение напрямую другой функции.
Предположим, что в приведенном ниже примере функция myFunc
возвращает определенное значение. Первая строка кода присваивает возвращаемое функцией myFunc
значение переменной памяти с именем myVar
. Вторая строка кода посылает возвращаемое функцией myFunc
значение непосредственно функции Visual FoxPro STR(), которое вернет значение и отобразит его в активном окне вывода с помощью команды ?:
Скопировать код | |
---|---|
myVar = myFunc( ) ? STR( myFunc( ) ) |