PDA

Ver la Versión Completa : url imagen guardada en MYSL cargar en fastreport


darkbits
26-04-2016, 01:06:23
Hola a todo
estoy trabajando DX10 y fastreport

en la DB en un campo tengo guardada la url del logo de la empresa

quiero cargar en fastreport en un campo imagen, eh logrado cargar de la DB los demas datos como nombre de empresa teléfono etc. al final tengo un campo que dice logo_emp y ahi esta guardada D:\SIS\Win32\Debug\image\logo.jpg

esa URL quiero cargar en mi fastreport en un picture objet no puedo :(
manualmente me funciona.
es mas si coloco la url en filelink también funciona.

los demás datos los recupere con una consulta sql y un frxDBDataset y funciona de maravilla.

mi pregunta es como recupero o como se cargar una URL de imagen en un picture objet de fastreport no tengo la mínima idea.

AgustinOrtu
26-04-2016, 02:55:46
Lo logico seria descargar u obtener un stream con la imagen y cargarlo en el picture de FastReport

bucanero
26-04-2016, 11:53:16
hola, yo utilizo un sistema de listado similar y lo hago asignando el evento onBeforePrint del componenente picture en el report, y desde este evento se realiza la lectura del fichero. Te dejo el código que yo utilizo


procedure Picture1OnBeforePrint(Sender: TfrxComponent);
var
s:string;
begin
//ruta de la imagen
S:=<dataset."imagen">;
if (Sender is TfrxPictureView) then
begin
With TfrxPictureView(Sender), Picture do
if (S<>'') then
try
LoadFromFile(S);
Visible := true;
except
Visible := False;
end;
end
end;

Un saludo

bucanero
26-04-2016, 11:59:29
en el codigo de arriba, la variable S es donde se guarda el path o ruta de la imagen

al encerrarla entre los delimitadores del código DELPHI no aparece bien, su valor es:

S:=<dataset."imagen">;

donde dataset es el nombre de la tabla o consulta con los datos enlazados al informe y el nombre del campo en mi caso imagen va dentro de comillas y todo entre los delimitadores menor y mayor que.

darkbits
26-04-2016, 16:16:53
bucanero
me lo solucionaste el problema,
importe una sola imagen, tan difícil es importar imagen a fastreport como sera cuando quieres importar nombre completo teléfono e imagen... NI IDEA.

mil gracias.

tengo el dataset donde cargo la consulta lo cual de ese dataset rescato nombre apellido teléfono etc. en el fastreport
no te entendí lo que hiciste tu, si puedes explicarlo con ejemplo para que lo entienda mejor, lo veo mas limpio tu código
S:=<dataset."imagen">;

lo hice asi. logo_empresa esta la url.
S:=_DM.sqlEmpresa.FieldByName('logo_empresa').Value ;

bucanero
26-04-2016, 18:27:11
Perdón por no explicarme demasiado bien

Todas estas operaciones se hacen en el modo diseño del propio informe. Y este código en realidad es interpretado por el propio FAST REPORT.

Y te comento con respecto a tus datos, si en el report tienes asignado un dataset para tu caso llamado sqlEmpresa y este contiene entre otros un campo llamado logo_empresa, inserta un componente de tipo Picture object y pulsa sobre este componente para acceder a sus eventos.

Aquí selecciona el evento OnBeforePrint y copia el código primero, sustituyendo la linea que aparece como S:=; que en realidad debe de ser S:=<sqlEmpresa."logo_empresa">; incluido los caracteres mayor y menor (si lo encierro entre los delimitadores de código delphi interpreta los mayores y menores como etiquetas HTML y por eso no apareció la primera vez que publique el código, quedando vacía la linea).

y listo si pulsas vista previa te aparecerán las imágenes.

Como ultima anotación, te recomiendo que el campo logo_empresa contenga la ruta completa a la imagen.
Yo esto lo utilizo para sacar catálogos de productos con miles de artículos y lee perfectamente todas las imágenes.

Espero que esta vez quede un poco mas claro :-)
Un saludo

darkbits
26-04-2016, 18:52:01
Ahora si, también funciono!

mil gracias a todos que colaboraron.