Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
poner invisible una imagen justo antes de imprimir en quickreport

buenas, he realizado en quickreport un reporte de recibos, para ello, he escaneado la imagen del recibo original, y luego he puesto la imagen en el reporte. sobre él he puesto todos los campos de la base de datos, en su justo lugar, para que el cliente pueda ver como queda la lista de reciboS. ahora lo que quiero, es que justo antes de imprimir por la impresora, no me imprima la imagen del recibo, ya que el papel metido en la impresora, tiene ese dibujo. he probado a poner en el detail, antes en el evento de antes de imprimir. (imagen.visible:=false), que aunque no me funciona, luego he pensado que esto lo que haría sería poner la imagen invisible en el reporte de muestra al cliente y eso claro está no lo quiero. de todas maneras, no me hace nada. ¿alguien sabe como p uedo solucionar esto? gracias a todos.
Responder Con Cita
  #2  
Antiguo 14-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
yo pienso que lo que necesitas es una variable bandera, por ejemplo en el evento beforePrint del componente que posea la imagen colocar(asumiendo que es un qrimage, y el componente padre de este sea un detail):

Código:
//para determinar si se imprime
procedure TReporte1.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
   if VecesImpreso > 0 then
      qrImage1.Picture := Nil;
end;

//para acumular la variable de impresion
procedure TReporte1.DetailBand1AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
begin
   Inc(VecesImpreso);
end;
debes asegurarte que VecesImpreso se inicialize como cero en el create del formulario.

te explico lo que pienso: Al darle un preview al qrreport se ejecutan estos dos eventos, al igual que al enviarlos a imprimir desde el visualizador, el codigo te asegura que la primera vez que se ejecuten los eventos se muestre la imagen pero la segunda vez, no se muestra, eso es lo que nos interesa porq la segunda vezseria la impresion.

ahora en el caso de que envies el reporte directamente a la impresora sin previsualizar, asignale nulo al picture y listo.

Nota: la sentencia "qrImage1.Picture := Nil;" la hice de memoria si esta mal confio que mis amigos del foro me corrijan.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 14-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
a ver que te parece esto como lo he hecho

la fórmula que tu me has comentado, no funciona, ya que son varios los recibos que muestro en el preview, así que me imprime la imagen del primer recibo, pero los demás me aparecen en blanco, porque ya se ha incrementado la variable. Pero me he puesto a pensar, y con lo que me has dicho hay dos formas de arreglarlo. una es que al crear el reporte, le mande inciliaziando una variable con el número total de registros que se van a mostrar, entonces en vez de poner vecesImpreso>0 pongo vecesImpreso>num_registros. con esto y tu forma, funciona. pero para no tener que hacer esto, he pensado en cambiar tu forma a:

procedure TReporte1.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
if puede_imprimir then
qrImage1.Picture := Nil;

donde puede_imprimir está inicializada a falso. entonces siempre me muestra las imagenes, luego he puesto una banda resumen, que se imprime siempre al final del documento, y en su evento afterPrint, he puesto la variable puede_imprimir a true, para que ya la siguiente vez que se imprima, no muestre las imágenes. He intentado hacer esto con el evento after print del documento, pero no funciona, no sé si estoy haciendo algo mal. tu que opinas?
Responder Con Cita
  #4  
Antiguo 14-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
pues me gusta mas la banda resumen, por que tarda menos en imprimir que haciendo el prepare, y acuerdate que en la programacion hay un problema pero mil soluciones...
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 14-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
y tu sabrias como hacer esto en el quickreport?

me he dado cuenta que cuando vas a imprimir, en el propio preview, tienes que seleccionar en uno de los botones la impresora a imprimir, y luego darle a otro bobon que imprime. lo que quiero es que justo cuando le has dado a seleccionar impresora y aceptar, directamente se ponga a imprimir, como todos las ventanas de impresión.
Responder Con Cita
  #6  
Antiguo 15-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por soyhugo
lo que quiero es que justo cuando le has dado a seleccionar impresora y aceptar, directamente se ponga a imprimir
Para eso tendrás que hacerte tu propio previsualizador (en mi web tienes uno si quieres).

Y ya que tienes que hacerte un Preview personalizado, otro solución para tu problema es, en el botón de imprimir, poner a nil el contenido del QrImage

Para soluciones que no se diga
Responder Con Cita
  #7  
Antiguo 16-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
gracias, le he echado un vistazo a tu preview y parece bastante bueno

es la segunda página de moderador que acceso y encuentro gran cantidad de información soys unos máquinas.
Responder Con Cita
Respuesta



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 01:28:34.


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