Возвращает управление вызывающей программе.

RETURN [eExpression | oObjectName | TO MASTER | TO ProcedureName]

Параметры

eExpression

Определяет выражение, возвращаемое вызывающей программе Если данный аргумент отсутствует или данная команда RETURN отсутствует совсем в программном модуле, то автоматически возвращается значение = True (.T.).

oObjectName

Определяет имя объекта, который получает фокус ввода после завершения программы. Применяется только для программного кода События  Valid.

TO MASTER

Определяет передачу управления вызывающей программе самого верхнего уровня.

TO ProcedureName

Определяет имя вызывающей программы, в которую передается управление.

Expand imageКомментарии

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

Система Visual FoxPro очишает все текущие переменные со статусом PRIVATE при выполнении команды RETURN (при явном или неявном (если команда отсутствует совсем)).

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

Вы можете переопределить получение фокуса ввода для Объекта, который получает данный фокус, для этого используется аргумент  oObjectName команды RETURN для программного кода  События Valid. Указываемый объект должен быть определен системой Visual FoxPro и иметь актуальное состояние (должен быть доступен: Enabled=.t.). Если указаваемый объект отключен в настоящий момекнт: disabled или не может получить фокус ввода, то фокус передается следующему доступному объекту. Если указанный объект отсутствует или не может получить фокус ввода Visual FoxPro сохраняет фокус для текущего объекта. Вы можете передать фокус любому доступному объекту из другой формы, или на невидимой страницы Page или контрола Pageframe.

Expand imageПример 1

В следующем примере, пользовательская функция с именем longdate возвращает символьную строку как адаптированную Дату, например для печати.

 CopyCode imageКопировать Код
SET CENTURY ON
? longdate({^1998-02-16}) && Displays Monday, February 16, 1998

FUNCTION longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate)

Expand imageПример 2

Вы можете возвращать массивы, как элементы некоторого класса, при помощи специального оператора @. Возврат массивов из методов Класса позволяет использовать технологию компонент Visual FoxPro COM, когда используемые компоненты написаны на других языках программирования:  Visual Basic / Visual C++. В этом случае используется ключевое слово IMPLEMENTS при описании класса COM.

Поскольку используется прямая адресация элементов массива, то локальные объявление этих массивов недействительны: LOCAL / PRIVATE. Вам необходимо глобальное объявление массивов PUBLIC. Данные конструкции не работают в команде STORE TO....

В следующем примере, из создаваемого класса с именем t1, с помощью метода GetMyArray возвращается массив заданных значений.

 CopyCode imageКопировать Код
DEFINE CLASS t1 AS custom OLEPUBLIC
DIMENSION Arrayelement[3]
FUNCTION GetMyArray() AS array
this.Arrayelement[1] = 1
this.Arrayelement[2] = 2
this.Arrayelement[3] = 3
RETURN @THIS.Arrayelement
ENDFUNC
ENDDEFINE

Expand imageСм. также