Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2005
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Cargar foto en QReport en tiempo ejecución

Hola nuevamente.

¿Cómo puede cargar una imagen en un QReport en tiempo de ejecución?

Lo estoy haceiendo de la siguiente manera y me da error.

Foto.Picture.LoadfromFile (ruta + nom_fichero).

Así es como lo hago con una foto normal en un form.

Gracias
__________________
Un Saludo a todos/as
Responder Con Cita
  #2  
Antiguo 28-11-2005
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Hola:

Esto a mi me funciona

QRImage1.Picture.LoadFromFile('Imagen.jpg');

El nombre de la imagen entre comillas y comprueba que Foto es un TQRImage (a veces se nos cruzan los cables y ponemos un TImage en lugar de un TQRImage).

Un saludo
Responder Con Cita
  #3  
Antiguo 28-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por mrmanuel
Hola nuevamente.

¿Cómo puede cargar una imagen en un QReport en tiempo de ejecución?

Lo estoy haceiendo de la siguiente manera y me da error.

Foto.Picture.LoadfromFile (ruta + nom_fichero).

Así es como lo hago con una foto normal en un form.

Gracias
Y específicamente, cual es el error que te da?
Responder Con Cita
  #4  
Antiguo 29-11-2005
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Hola,

Respondiendo a FIDEL, si tengo un TQRImage. En tiempo de diseño, le inserté la foto y me la imprime perfectamente, es en tiempo de ejecución cuando le digo que me cargue cualquier foto, incluso la que le asigné en diseño, y me da el error correspondiente.

Y en resouesta a maeyanes, el error es de acceso a memoria: "raised exception class EAccessViolation" con el mensaje: "Access violation at address 0059..... in module".

Gracias
__________________
Un Saludo a todos/as
Responder Con Cita
  #5  
Antiguo 30-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
El error que te da, es por que al momento de hacer la llamada tal vez el componente TQRImage no está creado.

Sería bueno saber desde donde estas haciendo Foto.Picture.LoadFromFile(...) y bajo que condiciones.



Saludos...
Responder Con Cita
  #6  
Antiguo 01-12-2005
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Primeramente creo el Form q contiene el QReport.
Una vez creado, le paso los datos por parámetro y mediante una funcio, los coloco en su casilla correspondiente, y por ultimo le digo que cargue la imagen. En ese momento "casca", porque no me deja imprmirlo.

Lo he parcheado con una excepcion, para poder imprimir los datos, pero la imagen se queda en blanco.

gracias
__________________
Un Saludo a todos/as
Responder Con Cita
  #7  
Antiguo 09-12-2005
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
hola nuevamente

concretamente uso:
TQuickReport,
TQrBand, y sobre el inserto los TQRLabels y los TQRImage.

he porbado a cargar el directorio donde está la foto (con chdir) y cargar la foto, sin ruta ni dada.

Tambien he probado a meterle la feto a pelo, sin usar varibles y sigue fallando.

gracias.
__________________
Un Saludo a todos/as
Responder Con Cita
  #8  
Antiguo 09-12-2005
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Imagenes en QReport

Ojala te sirva lo que te voy a comentar mrmanuel.


Ya que tuve ese problema hace mucho mucho tiempo


Agrega al uses de tu la unidad: jpeg


Declara una variable así:
jp : TJpegImage;



y escribe este código:
TFrmRep.DetailBand1BeforePrint

Código Delphi [-]
jp := TJpegImage.Create;
jp.LoadFromFile('c:\foto.jpg');
qmyImg.Picture.Assign(jp);
FreeAndNil(jp);


qmyIMg es el qrImage.




Espero te sriva, No tengo Delphi instalado en este momento y estoy viendo un .Pas anterior.


NaCl-U2
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #9  
Antiguo 19-12-2005
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Sigue dando el mismo error.



Gracias. de todas formas.
__________________
Un Saludo a todos/as
Responder Con Cita
  #10  
Antiguo 19-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Espero que alguno de estos puntos te ayuden:

- Estas usando una base de datos, o ¿usas el evento OnNeedData para alimentar el informe?

- La foto es jpg, bmp, ¿?

- ¿La ruta contiene espacios en blanco?, Si es así, tendrás que darle la ruta entre comillas dobles.
Código Delphi [-]
  Foto.Picture.LoadfromFile('__"c:\archivo de programas\foto1.bmp"__');
He puesto guiones bajos ___ para separar un poco las comillas dobles de la comilla simple de delphi. Por supuesto los guiones bajos tendrás que quitarlos.

Cita:
Empezado por mrmanuel
Una vez creado, le paso los datos por parámetro y mediante una funcio, los coloco en su casilla correspondiente
Sería bueno poner puntos de ruptura (BreakPoints) al inicio de esa función y ver paso a paso en qué instrucción da el error. Si no has encontrado el error, pon esa función en el foro, por si vemos algo "raro".

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 23-12-2005
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
Hola.
Respondiendo a LEPE.

LEPE: - Estas usando una base de datos, o ¿usas el evento OnNeedData para alimentar el informe?

Resp: Estoy usando un vlbe local que lee los datos de un fichero ini. Tambien lo ha intentado metiendolos a pelo y usando un TEdit.

-------

LEPE: - La foto es jpg, bmp, ¿?

Resp: He probado los 2 tipos de foto, tanto BMP como JPG.

-------

LEPE: - ¿La ruta contiene espacios en blanco?, Si es así, tendrás que darle la ruta entre comillas dobles.

Resp: La ruta la tomo del sistema, aunque tambien se la he metido a pelo. y no contiene ningun espacio en blanco.

-------

He Debugeado, linea a linea, el programa y es justamente cuando usa el evento LoadFromFile, cuando falla.


La manera de hacerlo es la sigueinte:

..Logo:= Sacar_Logo_Fich_Ini;
..If logo <> '' then
.....Try
........Logo:= Ruta + '\' + Logo;
........Logo.Picture.LoadFromFole (Logo); //Justamente aqui, falla.
....Except
........Logo.Free;
...End;
..End;

Nota: Pongo los puntos para q sea mas legible el codigo.

Gracias
__________________
Un Saludo a todos/as
Responder Con Cita
  #12  
Antiguo 23-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por mrmanuel
La manera de hacerlo es la sigueinte:

..Logo:= Sacar_Logo_Fich_Ini;
..If logo <> '' then
.....Try
........Logo:= Ruta + '\' + Logo;
........Logo.Picture.LoadFromFole (Logo); //Justamente aqui, falla.
....Except
........Logo.Free;
...End;
..End;

Nota: Pongo los puntos para q sea mas legible el codigo.

Gracias
Viendo tu código, noto que usas Logo como si fuera un string pero al mismo tiempo como si fuera la variable tipo TImage. No se si sea así como en realidad lo estas usando o solo fue para ejemplificar, por lo pronto te pongo este ejemplo:

Código Delphi [-]
var
  Logo: TImage;  // TImage para uso temporal
  LogoFileName: string;

begin
  Logo := TImage.Create;
  try
    // Obtienes la ruta y el nombre de archivo del logo de un .ini
    // Ejemplo: C:\imagen.jpg
    LogoFileName := GetFileNameFromIni;
    if LogoFileName <> '' then
    begin
      Logo.Picture.LoadFromFile(LogoFileName);
      // Asignas la imagen al TQRImage
      QRLogo.Picture.Assign(Logo.Picture)
    end
  finally
    Logo.Free
  end
end;

Sobre formatear tu código, puedes usar las etiquetas [ delphi ] [ /delphi ] (sin espacio entre los corchetes) y verás que no necesitas rellenar con puntos para identarlo. Para muestra, el código que te puse de ejemplo.



Saludos...
Responder Con Cita
  #13  
Antiguo 11-01-2006
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
nada, la cosa sigue igual.

sigue dando el fallo en el mismo sitio. a la hora de cargar la foto el QRImagen.

[dephi]
QRLogo.Picture.Assign(Logo.Picture)
[/delphi]



Gracias......
__________________
Un Saludo a todos/as
Responder Con Cita
  #14  
Antiguo 11-01-2006
mrmanuel mrmanuel is offline
Miembro
 
Registrado: may 2003
Posts: 135
Poder: 21
mrmanuel Va por buen camino
nada, la cosa sigue igual.

sigue dando el fallo en el mismo sitio. a la hora de cargar la foto el QRImagen.

Código Delphi [-]
        QRLogo.Picture.Assign(Logo.Picture)



Gracias......
__________________
Un Saludo a todos/as
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:13:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi