Распечатать страницу

Число переданных параметров в Microsoft VFP

« Назад

Функции

PARAMETERS( )

или

PCOUNT( )

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

Пример 1. Процедура SomeProc( ) сообщает число переданных ей параметров.

do SomeProc with 1, 2  && Сообщит: Число переданных параметров: 2

procedure SomeProc(p1, p2, p3)

gcMessage = 'Число переданных параметров: ' + Transform(Parameters( ))

wait window gcMessage

endProc

Пример 2 (приводится в справке VFP). Вычисляется средняя величина переданных функции числовых параметров.

gnAvg = GetAvg(10, 20, 30, 40)

? 'Среднее значение числовых параметров: ', gnAvg

function GetAvg

parameters gnPara1, gnPara2, gnPara3, gnPara4, ;

gnPara5, gnPara6, gnPara7, gnPara8, gnPara9

if Pcount( ) = 0 then

return 0

endif

gnResult = 0

numberOfNumericParameters = 0   && Число числовых параметров

for gnCount = 1 to Pcount( )

&& Формируем имя параметра

gcCompare = 'gnPara' + Transform(gnCount)

&& Получаем его значение

pValue = Evaluate(gcCompare)

&& Проверяем тип параметра

if VarType(pValue) = 'N' then

numberOfNumericParameters = numberOfNumericParameters + 1

gnResult = gnResult + pValue

endif

endFor

&& Формируем и возвращаем результат

if numberOfNumericParameters > 0 then

return gnResult / numberOfNumericParameters

else

return 'Нет числовых параметров!'

endif

endFunc