* 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 <paArray> 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 <atest> 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 && '<sys(2018)>' is not an array. *!* function isempty *!* lparameter puvalue *!* return empty(puvalue) or isnull(puvalue)