Texto a Registros

Texto a Registros

Postby jaba » Sat Nov 08, 2008 3:04 pm

Hola Foro

Tengo una cadena bastante larga con delimitadores numéricos, hay alguna función con la que pueda convertir la cadena en un registro por cada delimitador?

Gracias

Cordialmente
Jairo Barbosa
jaba
 
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA

Postby Manuel Valdenebro » Sat Nov 08, 2008 6:30 pm

Se me ocurren dos posibles soluciones:

1) Grabar la cadena en un fichero txt con memowrit() y añadir los registro con APPEND FROM indicando el delimitador.

2) Con un bucle usando strtoken() para determinar los parámetros de inicio y fin de cada regstro y SUBSTR().
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Postby jaba » Sat Nov 08, 2008 6:36 pm

Manuel Valdenebro wrote:Se me ocurren dos posibles soluciones:

1) Grabar la cadena en un fichero txt con memowrit() y añadir los registro con APPEND FROM indicando el delimitador.

2) Con un bucle usando strtoken() para determinar los parámetros de inicio y fin de cada regstro y SUBSTR().

*----------------------------------------------------------------
Manuel Gracias pr tu respuesta

lo intento y te comento

Jairo
jaba
 
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA

Postby jaba » Wed Nov 19, 2008 2:50 pm

jaba wrote:
Manuel Valdenebro wrote:Se me ocurren dos posibles soluciones:

1) Grabar la cadena en un fichero txt con memowrit() y añadir los registro con APPEND FROM indicando el delimitador.

2) Con un bucle usando strtoken() para determinar los parámetros de inicio y fin de cada regstro y SUBSTR().

*----------------------------------------------------------------
Manuel Gracias pr tu respuesta

lo intento y te comento

Jairo

**---------------------------------------------------------------
Manuel
Un saludo cordial
Manuel he estado haciendo las pruebas sin exito, tiene algun ejemplo que me pueda ilistrar como lo puedo lograr?

Te lo agradeceria mucho

Jairo Barbosa
jaba
 
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA

Postby Antonio Linares » Wed Nov 19, 2008 3:17 pm

Jairo,

Esta funcion es muy rapida:
Code: Select all  Expand view
// nFrom hay que pasarlo por referencia "@" y empieza valiendo 1

function ExtractLine( cText, nFrom )

  local cLine, nAt

  nAt := At( CRLF, SubStr( cText, nFrom ) )

  if nAt > 0
    cLine := Substr( cText, nFrom, nAt - 1 )
    nFrom += nAt + 1
  else
    cLine := Substr( cText, nFrom )
    nFrom := Len( cText ) + 1
  endif

return cLine

Solo tienes que cambiar CRLF por el delimitador que uses
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41476
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jaba » Wed Nov 19, 2008 11:41 pm

Antonio Linares wrote:Jairo,

Esta funcion es muy rapida:
Code: Select all  Expand view
// nFrom hay que pasarlo por referencia "@" y empieza valiendo 1

function ExtractLine( cText, nFrom )

  local cLine, nAt

  nAt := At( CRLF, SubStr( cText, nFrom ) )

  if nAt > 0
    cLine := Substr( cText, nFrom, nAt - 1 )
    nFrom += nAt + 1
  else
    cLine := Substr( cText, nFrom )
    nFrom := Len( cText ) + 1
  endif

return cLine

Solo tienes que cambiar CRLF por el delimitador que uses


//------------------------------------------------------------------------

Antonio Gracias, lo intentare

Jairo
jaba
 
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 137 guests