Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir un qreport (https://www.clubdelphi.com/foros/showthread.php?t=46732)

gabyzava 07-08-2007 19:12:27

Imprimir un qreport
 
hola, otra vez estoy atorada

tengo un Qreport, en el solo tengo un QRrichtext y un qrimage

No puedo imprimir.

Lo que hago es:

form2.QuickRep1.OnPreview:=form2.asigna_previo;
form2.QuickRep1.Preview;
form2.QRPreview1.QRPrinter.Print;

Pero marca error:(

Les agradezco sus respuestas

ContraVeneno 07-08-2007 23:54:13

Sí mira, ese error se ha vuelto muy común estos días, lo más recomendable que puedes hacer, es revisar muy bien este enlace.

Después de que lo revises, responde estas preguntas:
¿qué versión de delphi utilizas?
¿qué error es el que marca?

Saludos cordiales y con todo gusto te ayudaremos después de que revises el enlace y después de contestes estas preguntas.

:rolleyes:

gabyzava 08-08-2007 00:59:28

Imprimir Qreport
 
Hola, lamento no haberme explicado

Utilizo DElphi 5

Marca un error al tener este codigo:
form2.QuickRep1.OnPreview:=form2.asigna_previo;
form2.QRPreview1.QRPrinter.Print;

El error dice:
Access violation, read of address 00000044

Con este codigo lo que hago es usar el OnPreviw y despues mando a imprimir, al usar el OnPreview con el procedimiento asigna_previo solamente tengo esta linea:

form2.qrpreview1.QRPrinter:=TQRprinter(sender);
-------------------------------------------------

Por otro lado si uso este otro codigo:

form2.QuickRep1.OnPreview:=form2.asigna_previo;
form2.QuickRep1.Preview;

es decir mostrar lo que se va imprimir, no sale nada en la pantalla

----------------------------------------------------------------
Espero haberme explicado
Tal vez lo que me ayude seria ver que pasos debo seguir para imprimir
el contenido del Qreport, tal vez omito algo

Muchas, pero muchas;) gracias

ContraVeneno 08-08-2007 16:21:45

Al utilizar:
Código Delphi [-]
   form2.QuickRep1.OnPreview:=form2.asigna_previo;
   form2.QRPreview1.QRPrinter.Print;

Estas tratando de accesar a algo que todavía no se puede accesar, por eso te marca el error; el punto es que todavía no existe la vista previa, pero ya le estas queriendo enviar a imprimir desde una impresora que no existe. Por eso el error.

Segundo: ¿por qué tratas de asignar la impresora? ¿es una especial? ¿existe? :confused::confused:

Lo más común para enviar a imprimir es solamente utiliza la propiedad preview de tu reporte, en tu caso:
Código Delphi [-]
      form2.QuickRep1.Preview;
y solo eso, no es necesario nada más. El sistema se encargará de seleccionar la impresora predeterminada o le dará la opción al usuario de que seleccione la impresora requerida y lo imprima en el momento que desee.

si al utilizar el preview solamente, no te aparece ningún dato, entonces hay que revisar como esta enlazado tu reporte a los datos y si estos se generan correctamente.

gabyzava 08-08-2007 16:55:05

Imprimir Qreport
 
Hola, gracias por la respuesta

Realmente yo voy a imprimir sin mostrar en pantalla lo que se imprime, pero quiero verlo en el preview para ver que hay pues no lo puedo imprimir.

¿Como enlazo mis datos?

solo tengo un qrimage y un qrrich text,

Mil gracias

ContraVeneno 08-08-2007 17:14:36

en el evento beforeprint puedes asignar la imagen y agregar el texto al richText. Tambien puedes usar el evento OnNeedData

primero prueba que se muestren los datos utilizando:

form2.QuickRep1.Preview;

Cuando compruebes que todo esta bien,
ya lo puedes enviar a imprimir directo:

form2.QuickRep1.Print;

gabyzava 08-08-2007 18:58:07

Imprimir Qreport
 
hola otra vez

Lo siento mucho pero no logro saber como usar el beforeprint,
es algo como esto:

form2.QuickRep1.BeforePrint:=TQRreportBeforePrintevent(sender);

marca error, esta mal escrito,por otro lado no entiendo donde enlazar la imagen,

lo que tengo es esto:

form2.qrimage1.Picture.LoadFromFile(ruta+'ima.bmp');//leo imagen
form2.qrrichtext1.LINES.LoadFromFile(ruta+'2.RTF');//asigno el texto
form2.QuickRep1.Preview;

esto si muestra el Preview pero vacio, no sale la imagen ni texto


si agrego la linea :
form2.QuickRep1.OnPreview:=form3.asigna_previo;
antes del preview no sale nada

Gracias, disculpen la lata

ContraVeneno 08-08-2007 19:02:59

BeforePrint es evento, no variable, no lo puedes asignar... :confused:

Siento que deberías de ir a lo realmente básico y buscar un manual o ejemplo de quickreports para que veas como se hace...

en la carpeta de demos de delphi viene un ejemplo.

Presionando F1 en delphi tambien puedes encontrar más información.


La franja horaria es GMT +2. Ahora son las 06:20:58.

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