>* Author............: Paul D. Wilcox >* Project...........: WIS Common Utility >* Created...........: Warren Information Services, Inc. - 01/01/98 >* Copyright.........: (c) 1998 The Warren Group >* Description.......: ISARRAY.PRG >* : Function evaluates whether is an array. >* : If so, returns the number of elements unless it is >* : the identity array (a single empty element array) >* : when it returns 0. Returns - 1 if it is not an array. >* Called by.........: >* Calling Samples...: lbarray = isarray(@atest) >= 0 && Be sure to pass by reference! >* Parameter List....: paArray >* Procs & Fncts.....: >* External........: >* Internal........: >* Data..............: >* Major change list.: - // >* New idea..........: Rick Borup rborup@prairienet.or >* Changed by : Nadya Nosonovsky 07/21/2000 01:12:19 PM >*************************************************************** >lparameter paArray >local lnReturn, lnElements >external array paArray >if type("paArray[1]")="U" && paArray is not array > lnReturn=-1 >else > lnElements=alen(paArray) > if lnElements = 1 and empty(paArray[1]) > lnReturn=0 > else > lnReturn=lnElements > endif >endif >return lnReturn >*!* lcerror = "on error "+ on("error") > >*!* on error lberr232 = atest(error()) > >*!* lnelements = alen(paArray) > >*!* &lcerror > >*!* if lberr232 >*!* return - 1 >*!* endif > >*!* return iif(lnelements = 1 and isempty(paArray[1]), 0, lnelements) > >*!* function atest >*!* lparameter pnerror >*!* return pnerror = 232 && '' is not an array. > >*!* function isempty >*!* lparameter puvalue >*!* return empty(puvalue) or isnull(puvalue)