Página 1 de 1

Fast Report con imágenes

Publicado: Sab Nov 18, 2023 1:16 am
por Daniel Pechir
HOLA NUEVAMENTEE

HE TRATADO DE LOGRAR UN REPORTE CON UNA COLUMNA DE IMAGENES
HACE ALGUN TIEMPO, CON UNA VERSION ANTERIOR DE FR, LO HACIA SIN PROBLEMAS
AHORA REQUIERO DE UN REPORTE CON IMAGENES DESDE UN CAMPO BLOB O TEXT EN UN CAMPO DE IMAGEN FR Y CONFIGURADO CORRECTAMENTE
SEGUN EL MANUAL DE FR Y NO MUESTRA LAS IMAGENES YA SEAN JPG O BMP
YO TENGO XAILER ENTERPRICE CON FR Y NO SE QUE HAYA CAMBIADO EN EL FR

ESPERO ME HAGAN EL FAVOR DE ORIENTARME

SALUDOS y GRACIAS

DANIEL PECHIR

Re: Fast Report con imágenes

Publicado: Sab Nov 18, 2023 12:52 pm
por ignacio
Buenos días,

Echele un vistazo al proyecto de samples\fastreport\biolife

Saludos

Re: Fast Report con imágenes

Publicado: Dom Nov 19, 2023 7:19 pm
por Daniel Pechir
Hola Ignacio

Ya he corrido el ejemplo que Usted me indica

La diferencia que veo en el Browse del ejemplo, es que el campo del Picture contiene puros caracteres raros (Binario ?)
En mi DataSet he probado con campo BLOB y campo TEXT ( Anteriormente funcionaba con campo text indicando la Ruta de los archivos.)

Le adjunto Imágenes para dar la idea :

Muchas gracias por sus atenciones

Daniel Pechir

Re: Fast Report con imágenes

Publicado: Lun Nov 20, 2023 10:29 am
por ignacio
Buenos días,

Lo siento, pero no sé como lo está haciendo realmente, pero le doy la solución de hacerlo igual que en el ejemplo. Seguro que no le costará mucho

Saludos

Re: Fast Report con imágenes

Publicado: Lun Nov 20, 2023 10:45 pm
por Daniel Pechir
Hola Ignacio

Tal vez el problema sea el tipo de campo en mysql

Ya he probado con BLOB y TEXT donde coloco la ruta y nombre de los JPG's alojados en disco
Cargo mi DataSet:

WITH OBJECT ::oFotos
:oDataSource := AppData:oMySqlDS
:cSelect := "Select * from fotosintro"
:nCursorType := adOpenDynamic
:nLockType := adLockOptimistic
:cProcess := 'GENERAL'
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
MsgStop( "ERROR: No es posible abrir el archivo Agente", "Error de conexion.." )
RETURN NIL
ENDIF
ENDIF
:lReadOnly := .F.
END

Supongo que el Campo Picture del FR debe convertir a imágen lo indicado en el campo TEXT o BLOB
o; ¿Como debo cargar las imágenes en dicho campo en MySQL? o ¿como debo crear my DataSet?
Al abrir la DB del ejemplo con SQlite (ya que es un DBF) y exportarla a MySQL, el campo Graphic contiene solo el valor: BMÞ—

Perdón por tanta insistencia, pero esto ha sido épico

Reciba un cordial Saludo

Daniel Pechir

Re: Fast Report con imágenes

Publicado: Mar Nov 21, 2023 9:25 am
por ignacio
Buenos días,

Compruebe primeramente que las imágenes están grabadas correctamente en su base de datos. Su problema puede estar ahi.

Saludos

Código: Seleccionar todo

Al abrir la DB del ejemplo con SQlite (ya que es un DBF) y exportarla a MySQL, el campo Graphic contiene solo el valor: BMÞ—
Absolutamente correcto. Todos los ficheros tipo BMP tienen como marca inicial de archivo esas letras. A continuación de ahí, es la representación de la imagen.

Re: Fast Report con imágenes

Publicado: Mar Nov 21, 2023 7:18 pm
por Daniel Pechir
Gracias Ignacio

Saludo afectuoso

Re: Fast Report con imágenes

Publicado: Mié Nov 22, 2023 8:55 pm
por Daniel Pechir
Hola Ignacio

Resuelto con el siguiente código

cCmdQuery:= "CREATE TABLE IF NOT EXISTS fotosintro (Nucuenta Varchar (7) NOT NULL, "+;
"Foto longblob NOT NULL, PRIMARY KEY (Nucuenta)) "+;
"ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"
AppData:oMySqlDS:Execute( cCmdQuery )

cCmdQuery:= "INSERT INTO fotosintro (nucuenta,foto) VALUES "+;
"('0202001', Load_File('C:/DapeBaseSQL/IntroByapple/GinaPagaelIva.jpg'))"
AppData:oMySqlDS:Execute( cCmdQuery )

Saludos y Gracias