Desarrollo & Ideas & Trucos 13 de Febrero del 2008 02:02 pm
Como imprimir imágenes almacenadas en tablas sin usar campo general en los reportes (VFP 9)
Bueno, hasta hace poco lo que hacáa al necesitar imprimir una imagen en un reporte era usar campo general para almacenarlas o sacarlas a un directorio temporal para así poder mandarlas a impresión.
Pero ahora con el campo BLOB en VFP9 podemos almacenar el contenido de una imagen y al mismo tiempo imprimirla en un reporte sin necesitar hacer conversión a un campo general.
Veamos un ejemplo
Create cursor qImagen (imagen blob)
append blank in qImagen
lcDir =FullPath(Curdir())
replace qImagen.imagen with filetostr(getfile([jpg;bmp;gif]))
cd (lcDir)
private oImg
oImg = newobject([image])
oImg.pictureVal = qImagen.imagen
Necesitamos también un reporte con un objeto Picture/OLE Bound establecido así:

Ahora corremos el reporte
report form "NuestroReporte" preview
Pero y que pasa si queremos imprimir imágenes que están almacenados en una tabla (en registros diferentes)?
Grabamos lo siguiente como GetImg.prg
*Function getImg
lParameters nId, cImgCont
oImg = newobj([image])
oImg.pictureval =cImgCont
return oImg
Creamos un reporte y le agregamos un objeto Picture/OLE Bound y le establecemos la propiedad así:

Ahora podemos probar la funcin en el reporte:
use in select([qImagen])
Create cursor qImagen (numero i,imagen blob)
append Blank in qImagen
append Blank in qImagen
append Blank in qImagen
append Blank in qImagen
lcDir =FullPath(Curdir())
lcFile = getfile([jpg;bmp;gif])
update qImagen set numero =recno(),imagen =filetostr(lcFile)
report form “MiReporte” preview
Bueno hasta la próxima!
blob, Desarrollo, getfile, Ideas, imagen, listener, olistener, picture, reporte, Trucos vfp
on 08 Abr 2008 at 17:37 1.Walkit Wow
dijo …
Que bien que tengamos un sitio así en Guate.
Los felicito, y éxitos. El código lo voy a probar.
on 08 Abr 2008 at 19:57 2.Jorge Mota
dijo …
@Walkit:
grcias, ojalá y te sirva.