Page 1 of 1

ASAVE() AREAD()

PostPosted: Mon Dec 22, 2008 8:00 pm
by rbecares
Amigos:

Estamos trabajando con aSave() y aRead() en la grabacion y recuperacion de arrays en campos memo. Los datos que contienen estos arrays son datos binarios, con caracteres de control, etc.

Algunos arrays se graban y recuperan bien, pero otros al recuperarlos encontramos que no son iguales al original.

Alguien sabe algo sobre este tema? tal vez alguna versión de fivewin realizó la corrección.

Nosotros tenemos el build diciembre 2005, fivewin para clipper.

Desde ya muchas gracias.

PostPosted: Tue Dec 23, 2008 8:11 am
by Antonio Linares
Ricardo,

Los datos binarios estan almacenados como cadenas ?

PostPosted: Wed Dec 24, 2008 2:16 pm
by jmansur
Antonio.

Que tal. Soy jorge mansur, socio de ricardo.

El tema es este. Queremos migrar a Harbour. Estamos usando las librerias de FlexFile que no estan disponibles para Harbour.

Lo que hicimos fue lo siguiente.

Intento 1:

Cada campo memo que contiene los datos de FlexFile lo leemos con Flex y la salvamos en otro campo memo con ASave()
Luego cuando queremos recuperar desde nuestro ERP los datos con ARead() algunos campos memos estan truncados. Como que no se grabo toda la informacion con Asave()

Intento 2:
Leemos cada campo memo con Flex lo convertimos con cmimeenc() y lo grabamos con ASave()
Funciona, peroo en algunos campos memos, la funcion cmimeenc() revienta. Es por el limite de los 64Kb del 16bits.

Intento 3:
Consultarte como podemos sacar Flex. para ya compilar en Harbour.

Un abrazo grandee

PostPosted: Wed Dec 24, 2008 3:11 pm
by Antonio Linares
Jorge,

Que tipos de datos guardais ? Arrays, ficheros, etc ?

Se puede construir facilmente una funcion en C que lo transforme a cadena y se podria guardar como blobs, o ficheros en disco, etc.

PostPosted: Wed Dec 24, 2008 3:37 pm
by rbecares
Antonio:

Te preparamos un post con el pedazo concreto de programa y un registro con los datos que fallan para que opines al respecto.

Entre tanto, te deseamos desde EvoSistemas ( y lo hacemos extensivo a la comunidad FiveWin ) unas muy felices fiestas! para vos y los tuyos.

PostPosted: Wed Dec 24, 2008 7:28 pm
by Antonio Linares
Ricardo,

Gracias, igualmente :-)

Re: ASAVE() AREAD()

PostPosted: Fri Jan 02, 2009 12:24 pm
by jmansur
Que tal Antonio. Espero qye hayas pasado un muy buen comienzo de año.

Solo te moletaba para consultarte.

Que diferencia hay entre una funcion C que convierta datos binarios a cadenas para guardarlos en los campos memo, y la funcion cmimeenc?

No tendria el mismo problema de que se me revienta por el uso de la memoria?

La otra que se me ocurrio es utilizar tambien ya un RDD, y leer de flexfile y pasarlos a blobs.

Pero bueno. sigo analizando.

graciasss

Re: ASAVE() AREAD()

PostPosted: Fri Jan 02, 2009 1:33 pm
by Antonio Linares
Jorge,

>
Que diferencia hay entre una funcion C que convierta datos binarios a cadenas para guardarlos en los campos memo, y la funcion cmimeenc?
>

La función en C no realizaría ninguna modificación/manipulación de los datos binarios originales.
Es decir, se pasarían a tipo cadena sin modificarlos en absoluto.

La función a usar es _retclen() desde C.