FoxPro/Visual FoxPro - Más de 255 caracteres con Substrim

 
Vista:

Más de 255 caracteres con Substrim

Publicado por Jesús (2 intervenciones) el 31/03/2003 17:27:37
Hola a todos,

estoy tratando de volcar una base de datos en formato texto a mi base de datos dbf. El problema está en que no puedo hacer una estructura y volcarlo con un append, ya que la estructura del fichero cambia y tiene líneas de más de 255 caracteres. Por eso me veo obligado a ir haciendo SUBSTR de los campos que van en cada línea. Lo que pasa es que el SUBSTR sólo "alcanza" has 255 caracteres, es decir, que no puedo ir a la posición 400 y sacar por ejemplo 3 caracteres.
¿Alguien puedo hacharme una mano?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Más de 255 caracteres con Substrim

Publicado por cesarz (84 intervenciones) el 31/03/2003 19:14:12
Hola amigo, yo lo haria utilizando las funciones de bajo nivel:
fopen()
fseek()
fread()
fgets()
fclose()

suerte !!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Más de 255 caracteres con Substrim

Publicado por Oscar Pallarozo (19 intervenciones) el 01/04/2003 20:14:53
Yo si puedo usar mas de 255 caracteres es raro lo que preguntas bueno en todo caso te envio fragmento de mi codigo de importación de un archivo de texto a tabla.

suerte

if xestatus = 0
p=fseek(thisform.hand,0,0)
else
p=fseek(thisform.hand,0,0)
endif
xtipo = ''
xaño = ''
do while !feof(thisform.hand) and .t.
linea = fgets(thisform.hand)
if !empty(linea)
sele secu
append blank
replace secuencia with val(substr(linea,001,04))
replace año with substr(linea,005,04)
replace mes with substr(linea,011,02)
replace HidroPunta with Val(substr(linea,015,11))
replace HidroMedia with Val(substr(linea,027,11))
replace HidroBase with Val(substr(linea,039,11))
replace YananPunta with Val(substr(linea,051,11))
replace YananMedia with Val(substr(linea,063,11))
replace YananBase with Val(substr(linea,075,11))
replace ChimaPunta with Val(substr(linea,087,11))
replace ChimaMedia with Val(substr(linea,099,11))
replace ChimaBase with Val(substr(linea,111,11))
replace UtiPunta with Val(substr(linea,123,11))
replace UtiMedia with Val(substr(linea,135,11))
replace UtiBase with Val(substr(linea,147,11))
replace BBCPunta with Val%2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Más de 255 caracteres con Substrim

Publicado por Jesús (2 intervenciones) el 03/04/2003 14:06:25
Hola Oscar, pero en tu código no haces ningún substrim del tipo Val(substr(linea,300,11)) . Prueba a ver y me cuentas si te va. El amigo Cesar me comento hacer un fgets, que he probado y funciona, pero no sé como cojer por ejemplo de ese fgets de la posición 300, a la 324.

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar