Convertir una cadena en Array
Posted:
Wed Jul 19, 2006 4:44 pm
by jmua
Hola chicos,
tengo una cadena con bastantes palabras y con delimitadores (",.
hay alguna funcion que me lo convierta en un array con las palabras.
Creo recordar que en Catools si que habia pero no vale esta libreria para Fw26h.
Saludos
Posted:
Wed Jul 19, 2006 5:00 pm
by Antonio Linares
José Martin,
Puedes usar StrToken() de FWH para extraer las distintas palabras, usando el delimitador que le indiques. Revisa la documentación de StrToken().
Posted:
Thu Jul 20, 2006 7:14 am
by jmua
Gracias antonio lo pruebo y te comento
Posted:
Thu Jul 20, 2006 6:28 pm
by R.F.
que tal un :
cCadena := "{|| {"+cadenaquetienes+"}}"
aArray := EVAL(&cCadena)
Posted:
Thu Jul 20, 2006 7:51 pm
by ralph
Esta funcion que uso te debe servir:
- Code: Select all Expand view
Function Str2Array( cString, cSepar )
local aString_ := {}
DEFAULT cSepar := ','
do while at( cSepar, cString ) <> 0
aadd( aString_, trim( substr(cString,1,at(cSepar,cString)-1) ) )
cString := trim( substr(cString,at(cSepar,cString)+1,len(cString)) )
enddo
aadd( aString_, cString )
return aString_
Posted:
Fri Jul 21, 2006 2:04 pm
by jmua
Hola Foro,
Gracias a todos.
Este String es parte de lo que quiero convertir
Como se ve hay comas dentro de las cadenas
"CORTINOVA,S.A.","","CRTA.DE PRATS,KM.2.3","","","SABADELL","","","PERSIANAS DECORACION CR. SL"
Lo he solucionado con StrTran() y StrToken() asi:
Quiero extraer 59 Cadenas texto o numero de un string
For nToken := 1 To 59
1 Quito las comas que hay entre dos comillas y pongo otro caracter
cLine := StrTran(cLine,'","','|',1)
2 Quito todas las comillas dobles
cLine := StrTran(cLine,'"','',1)
3 Extraigo nToken con StrToken
cToken := StrToken( cLine, nToken, '|' )
aAdD(aTabla,cToken)
Next
Asi ha funcionado de maravilla.
Gracias a todos