Присваивает значения данных из вызывающей программы частным (private) переменным или массивам

PARAMETERS Parameter1 [ AS type [ OF ClassLib ] ] 
[, Parameter2 [ AS type [ OF ClassLib ] ] ]

Параметры

PARAMETERS ParameterList

Определяет одну или более переменных или имена массивов для присваивания им данных. Используйте запятые для разделения параметров в списке ParameterList. Обычно вы можете передать максимум 26 параметров, однако в некоторых обстоятельствах вы можете передать 27 параметров.
Замечание:
Команда PARAMETERS должна описывать по крайней  мере столько параметров, сколько использовалось при вызове программы, процедуры или функции, содержащей команду PARAMETERS. Если в списке команды PARAMETERS указано больше переменных и массивов, чем использовано при вызове, неиспользованные переменные и массивы будут инициализированы значением Ложно (.F.).

[ AS type [ OF ClassLib] ]

Определяет тип данных переменной или массива и библиотеку классов, содержащую описание типа type, на котором базируется переменная или массив. Вы можете использовать фразу AS для осуществления строгой типизации. Функциональность IntelliSense доступна для объектов и переменных только если они строго типизированы. Для дальнейшей информации обратитесь к Как сделать: Осуществление строгой типизации для классов, объектов и переменных программного кода.

Примечания

Когда команда PARAMETERS используется в программе, процедуре или пользовательской функции, вызываемой командой DO, она должна быть первой исполняемой командой в вызываемой программе, процедуре или пользовательской функции.

По умолчанию фраза WITH в команде DO обеспечивает передачу значений переменных и массивов в процедуры по ссылке (by reference). По умолчанию Visual FoxPro передает аргументы в пользоватеьские функции по значению (by value).

Замечание:
Для передачи в функции целого массива вы должны передать его по ссылке. Если вы не передадите массивы в пользовательскую функцию по ссылке, будет передан только первый элемент массива. Для дальнейшей информации обратитесь к Как сделать: Передача  параметров по ссылке (by Reference).

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

Пример

В следующем примере параметры передаются в программу обработки ошибок.

  Скопировать код
ON ERROR DO errhand WITH ERROR( ), MESSAGE( ), ;
MESSAGE(1),PROGRAM( ),LINENO( )
USE nodatabase
ON ERROR && восстановление системной программы обработки ошибок

PROCEDURE errhand
PARAMETERS gnError, gcMess, gnMess1, gcProg, gnLineNo
? 'Ошибка номер: ' + LTRIM(STR(gnError))
? 'Сообщение об ошибке: ' + gcMess
? 'Строка кода, содержащая ошибку: ' + gnMess1
? 'Номер строки кода, содержащей ошибку: '+ LTRIM(STR(gnLineNo))
? 'Имя программы, содержащей ошибку: ' + gcProg

См.также