Initial commit — sursa COMUN (framework partajat ROA)
This commit is contained in:
38
programe/lista2cursor.prg
Normal file
38
programe/lista2cursor.prg
Normal file
@@ -0,0 +1,38 @@
|
||||
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
|
||||
Reference in New Issue
Block a user