Convertir una cadena en Array
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Wed Jul 19, 2006 4:44 pm
by jmua
Hola chicos,
tengo una cadena con bastantes palabras y con delimitadores (",.
![Wink ;)](./images/smilies/icon_wink.gif)
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
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
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().
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Thu Jul 20, 2006 7:14 am
by jmua
Gracias antonio lo pruebo y te comento
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Thu Jul 20, 2006 6:28 pm
by R.F.
que tal un :
cCadena := "{|| {"+cadenaquetienes+"}}"
aArray := EVAL(&cCadena)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
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_
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
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