FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Convertir una cadena en Array
Posts: 96
Joined: Tue Oct 11, 2005 05:56 AM
Convertir una cadena en Array
Posted: Wed Jul 19, 2006 04:44 PM

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

José Martin Uriarte
jmuarg@yahoo.es
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Convertir una cadena en Array
Posted: Wed Jul 19, 2006 05:00 PM

José Martin,

Puedes usar StrToken() de FWH para extraer las distintas palabras, usando el delimitador que le indiques. Revisa la documentación de StrToken().

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 96
Joined: Tue Oct 11, 2005 05:56 AM
Convertir una cadena en Array
Posted: Thu Jul 20, 2006 07:13 AM
Gracias Antonio.
Lo pruebo y te comento

Antonio Linares wrote:José Martin,

Puedes usar StrToken() de FWH para extraer las distintas palabras, usando el delimitador que le indiques. Revisa la documentación de StrToken().
José Martin Uriarte
jmuarg@yahoo.es
Posts: 96
Joined: Tue Oct 11, 2005 05:56 AM
Convertir una cadena en Array
Posted: Thu Jul 20, 2006 07:14 AM

Gracias antonio lo pruebo y te comento

José Martin Uriarte
jmuarg@yahoo.es
Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
Convertir una cadena en Array
Posted: Thu Jul 20, 2006 06:28 PM

que tal un :

cCadena := "{|| {"+cadenaquetienes+"}}"

aArray := EVAL(&cCadena)

Saludos

R.F.
Posts: 92
Joined: Fri Nov 18, 2005 11:15 PM
Convertir una cadena en Array
Posted: Thu Jul 20, 2006 07:51 PM
Esta funcion que uso te debe servir:

 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_
Ralph del Castillo

Lima PERU

Fwh 24.07, xHb123_10193, MySQL 8.x, BCC 7.3
Posts: 96
Joined: Tue Oct 11, 2005 05:56 AM
Convertir una cadena en Array
Posted: Fri Jul 21, 2006 02:04 PM
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
José Martin Uriarte
jmuarg@yahoo.es

Continue the discussion