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

PARAMETERS( )

Expand imageВозвращаемое значение

Числового типа

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

Функция PARAMETERS( ) обычно применяется для определения количества передаваемых параметров в программный модуль, процедуру или пользовавтельскую функцию.

NoteПримечание

Возвращаемое функцией PARAMETERS() значение очищается при каждом вызове программного модуля, процедуры или функции или при выполнении команды ON KEY LABEL. В отличие от функции PARAMETERS(), функция PCOUNT() не выполняет очистку передаваемых параметров, поэтому использование функции PCOUNT() является предпочтительным в различных программных ситуациях.

Expand imageПримеры

Пример 1: Вызывается процедура и отображается количество переданных параметров.

Пример 2: Используется вызов процедуры для определения среднего значения из 4-х параметров.

  CopyCode imageКопировать Код
* Пример 1
DO testpar WITH 1,2,3

PROCEDURE testpar
PARAMETERS gn1,gn2,gn3
gcMessage = 'PARAMETERS( ) ='+ALLTRIM(STR(PARAMETERS( )))
WAIT WINDOW (gcMessage)
RETURN

* Пример 2
SET TALK OFF
gnVal1 = 10
gnVal2 = 20
gnVal3 = 30
gnVal4 = 15
gnMin = getavg(gnVal1, gnVal2, gnVal3, gnVal4)
? 'Average value is '
?? gnMin

* This user-defined function permits up to 9 parameters to be passed.
* It uses the PARAMETERS( ) function to determine how many
* were passed and returns the average value.

FUNCTION getavg
PARAMETERS gnPara1,gnPara2,gnPara3,gnPara4,gnPara5, ;
gnPara6,gnPara7,gnPara8,gnPara9
IF PARAMETERS( ) = 0
RETURN 0
ENDIF
gnResult = 0
FOR gnCount = 1 to PARAMETERS( )
gcCompare = 'gnPara' +(STR(gnCount,1))
gnResult = gnResult + EVAL(gcCompare)
ENDFOR
gnResult = gnResult / (gnCount - 1)
RETURN gnResult

Expand imageСм. также