Blog sobre programación en VFP, Actualizado por Jorge Mota en Guatemala ;)



Desarrollo & Ideas & Trucos 13 dAmerica/Chicago Febrero dAmerica/Chicagol 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í:
reporte_picture_val2.jpg

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!

, , , , , , , , ,

Sí vives en México puedes tener un seguro de vida gratis por hasta 750,000 pesos y ganar dinero al mismo tiempo! clic acá para más información.

7 personas han dicho algo en “Como imprimir imágenes almacenadas en tablas sin usar campo general en los reportes (VFP 9)”

  1. on 08 Abr 2008 at 17:37 1.Walkit Wow NICARAGUA dijo …

    Que bien que tengamos un sitio así en Guate.

    Los felicito, y éxitos. El código lo voy a probar.

  2. on 08 Abr 2008 at 19:57 2.Jorge Mota GUATEMALA dijo …

    @Walkit: :) grcias, ojalá y te sirva.

  3. on 10 Jun 2009 at 9:20 3.Leo Saldivar dijo …

    en presentacion preliminar si muestra el reporte péro al envio a la impresora no, necesito ayuda me podrias enviar un ejemplo leosaldivar@hotmail.com

  4. on 10 Jun 2009 at 15:24 4.TENGO UNA MEROR FORMA DE HACER LAS COSAS dijo …

    tengo una forma mas facil de hacer eso y mucho más rápida.

  5. on 08 Jul 2009 at 11:44 5.lizardo dijo …

    saludos

    ami a la hora de enviar la impresion me sale el grafico grande tapando el resultado del informe

    en el preview se ve bien, en la matricial tambien pero en impresoras de tinta como hp,lexmar sale grande.
    probe cambiando en las propiedades del campo general
    y el que me mantiene el tamaño de imagen es la opcion clip contents, pero me lo imprime en el medio
    cambie los lugares pero igual..
    alguna idea??

    GRACIAS

  6. on 15 Sep 2009 at 16:09 6.DIEGO dijo …

    EL programa funciona en vista preliminar pero al realizar la impresion en laser no se imprime nada y en matricial imprime agrandada por favor enviame una solucion al correo diegoyamaa@yahoo.com

  7. on 25 Nov 2009 at 11:07 7.Luis Ruano GUATEMALA dijo …

    Por favor enviar un ejemplo.
    yo uso una tabla llamada Personal con los campos
    Codigo c 10
    nombre c 40
    apellidospaterno c 25
    apellidomaterno c 25
    foto blob

    En mi editor de reportes no aparece la opcion de:
    Expression o variable nombre me podria decir por favor a que se debe.

    Muchas gracias.

Trackback para este post | Suscribete a los comentarios de este post

Vea también:

Deja un comentario, di algo


Quienes visitaron esto, vieron:

  • N/A