* *** begin test >clear >DIME a_UsedDS(1,1) >NumOfDSFound = ASESSIONS(@a_UsedDS) >?NumOfDSFound >DISPL MEMO LIKE a_UsedDS >return >* *** end test > >* *** ********************************************************************** >* *** ASESSIONS() >* *** by Gunnar Philipp >* *** 03/21/2003 >* *** ********************************************************************** >FUNC ASESSIONS > LPARA ; > ArrayPointer > LOCAL ; > ReturnValue, ; > i, ; > MaxLoop, ; > GotError, ; > OldError, ; > OldDS > > * *** set var > OldDS = SET("datasession") > ReturnValue = 0 > MaxLoop = 50 > OldError = ON("error") > ON ERROR GotError = .T. > > * *** proccess > FOR i=1 TO MaxLoop > GotError = .F. > SET DATASESSION TO i > IF GotError = .F. > * *** existing datasession > MaxLoop = MaxLoop + 1 > ReturnValue = ReturnValue + 1 > DIME ArrayPointer(ReturnValue, 1) > ArrayPointer(ReturnValue, 1) = i > ENDIF > ENDFOR > > * *** clean-up > ON ERROR &OldError > SET DATASESSION TO OldDS > RETURN(ReturnValue) >ENDFUNC