PROCEDURE lista2cursor
PARAMETERS tcLISTA,tcAlias,tcCol1,tcSeparator
&& tcLista este un sir de caractere care contine elementele separate prin <;> default	
&& tcAlias este cursorul care se completeaza - trebuie dat prin referinta
&& tcSeparator separatorul de elemente din tcLista - default este ";" - este optional
&& intoarce numarul de elemente gasite

&& ex: lnNr = lista2array("ana;are;mere",@alista,";")
	LOCAL Lclista,lcSeparator,lnNRF,lcF1,i

	lcLista=UPPER(ALLT(tcLISTA))
	IF PARAMETERS()<3 OR EMPTY(tcSeparator)
		lcSeparator=";"
	ELSE
		lcSeparator=ALLTRIM(tcSeparator)
	ENDIF 
	
	IF RIGHT(Lclista,1)!=lcSeparator
		Lclista=Lclista+lcSeparator
	ENDIF

	lnNRF=OCCURS(lcSeparator,lcLista)


	FOR i=1 TO lnNRF
		lcF1=LEFT(lcLista,AT(lcSeparator,lcLista)-1)

		IF i!=lnNRF
			lcLista=SUBSTR(lcLista,AT(lcSeparator,lcLista)+1)
		ENDIF

	INSERT INTO (tcAlias) (&tcCol1) VALUES (lcF1)
	
	ENDFOR

	RETURN lnNrf
	
ENDPROC && lista2cursor