Lo más sencillo es que utilices una función PARSER()
¿Qué es una función parser? Una que te permite separar todos los elementos que recibe en su parámetro de tipo caracter. A la función parser tienes que enviarle dos parámetros:
- El texto que contiene todos los elementos. Se debe enviar por referencia.
- El caracter (o caracteres) que separa a un elemento del siguiente.
lcTexto = "hormigas, cucarachas, ratones"
lcSeparador = ","
do while !Empty(lcTexto)
lcAnimal = Parser(@lcTexto, lcSeparador)
? AllTrim(lcAnimal)
enddo
*
*
Function PARSER
Parameters tcTexto, tcDivisor
Local lnPosicion, lcValor
lnPosicion = At(tcDivisor, tcTexto)
if lnPosicion > 0
lcValor = Left(tcTexto, lnPosicion - 1)
tcTexto = SubStr(tcTexto, lnPosicion + 1)
else
lcValor = tcTexto
tcTexto = ""
endif
Return(lcValor)
*
*
Una función parser es súper útil, se puede usar para enviar en un solo parámetro lo que en otro caso requeriría de un montón de parámetros. O para muchas cosas más.
Saludos.
Walter.
Date: Tue, 7 Jun 2011 19:39:21 -0700
From:
irc...@gmail.comTo:
publice...@googlegroups.comSubject: [vfp] Cadena separada por comas a cursor