Power Builder - FileWrite -- FileWriteEx

 
Vista:

FileWrite -- FileWriteEx

Publicado por jcardenas (86 intervenciones) el 11/07/2014 22:44:33
Buenas, en PB6 no existe la función FileWriteEx ni FileReadEx, para poder leer ficheros de mas de 32kb se puede ir leyendo en bloques de 32kb e ir almacenando:

flen = FileLength(ls_pathname)
li_FileNum = FileOpen(ls_pathname, StreamMode!)
IF flen > 32765 THEN
IF Mod(flen, 32765) = 0 THEN
loops = flen/32765
ELSE
loops = (flen/32765) + 1
END IF
ELSE
loops = 1
END IF
new_pos = 1
FOR i = 1 to loops
bytes_read = FileRead (li_FileNum, b)
lb_usu_foto = lb_usu_foto + b
NEXT
FileClose (li_FileNum)


El problema que tengo es que si leo de BD una imagende mas de 32kb y la almaceno en una variable blob e intento guardarla en disco, solo se graban los primeros 32Kb cortando la imagen, alguien sabe como puedo hacer el mismo proceso que se hace en la lectura en bloques de 32kb pero para la escritura?

De alguna manera tendria que saber cuantos bloques de 32KB tiene el blob e ir escribiendo en disco en bloques de 32.

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