Возвращает количество параметров, переданных последней вызванной программе, процедуре или пользовательской функции.
Синтаксис:
PARAMETERS( )
Результат:
Числовой.
Комментарии:
Функция PARAMETERS( ) используется, когда нужно определить, сколько параметров передано программе, процедуре или пользовательской функции.
Замечание. Значение, возвращаемое функцией PARAMETERS( ), сбрасывается при каждом вызове программы, процедуры или пользовательской функции и при каждом выполнении команды ON KEY LABEL.
Пример:
* В примере 1 производится вызов процедуры и в окне ожидания * отображается количество переданных параметров. * В примере 2 используется процедура, отображающая среднее четырех * значений. * Example 1 DO testpar WITH 1,2,3 PROCEDURE testpar PARAMETERS gn1,gn2,gn3 gcMessage = 'PARAMETERS( ) ='+ALLTRIM(STR(PARAMETERS( ))) WAIT WINDOW (gcMessage) RETURN * Example 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