>I want to pass a series of parameters to a function but have them arrive in the function as an array.
>
>So far there are 2 ways I can think of doing this but I am hoping there is a more obvious way that I am missing.
>
>eg
>
>
>
>? myfunc('apple','orange','pear')
>
>
>func myfunc
>lparam myarray
>? myarray(1)
>? myarray(2)
>? myarray(3)
>return
>
>
>
>Here are the ways I am considering using
>
>1. Create the array first and send it by reference :( not pretty
>
>2. send a single string myfunc('apple,orange,pear') and then parse the string into an array.
>
>this is a great little function for parsing a comma deliminated string into an array
>* nRows = ALINES(myarray, STRTRAN(cTest,",",CHR(13)))
>
>
>Can someone put my mind at rest, whats the obvious thing I am missing?
Mark,
Here's a method I sometimes use
function FunctionWithVarArgs
lparameters _p01,_p02,_p03,_p04,_p05,_p06,_p07,_p08,_p09,_p10,_p11,_p12,_p13, ;
_p14,_p15,_p16,_p17,_p18,_p19,_p20,_p21,_p22,_p23,_p24,_p25,_p26,_p27
local argc, argv[1], _i_, _p_
argc = pcount()
dime argv[ max(argc, 1) ]
for _i_ = 1 to argc
_p_ = '_p' + padl(ltrim(str(_i_,4,0)),2,'0')
argv[_i_] = &_p_
endfor
release all like _p??
release _i_, _p_
local i
for i = 1 to argc
?argv[ i ]
endfor
Gregory