PDA

Ver la Versión Completa : ejemplo TQRPreview


El_Chava
10-12-2009, 18:13:43
Buenos dias compañeros del foro esperando que esten bien, aqui de nuevo solicitando su ayuda si me puden proporcionar informacion de como se utiliza el componente TQRPreview del quickreport o donde puedo conseguir. Ya que he estado buscando y no he encontrado. Aqui en el foro manejan que el usuario aciram tiene un ejemplo pero al tratar de entrar a la liga http://www.clubdelphi.com/users/cadetill manda un error de que ya caduco espero que me puedan ayudar de antemano muchas gracias.

rgstuamigo
10-12-2009, 18:37:37
Chequea este PDF (http://www.rinconcitodelphi.com/articulos/QReport/QReport.pdf), si no te convence y no entiendes, pues me avisas y te adjunto un archivo ejemplo.;).
Saludos...:)

El_Chava
10-12-2009, 19:29:23
gracias rgstuamigo (http://www.clubdelphi.com/foros/member.php?u=33325) ya lo habia checado pero creo que no explica lo que yo quiero hacer y es poner el objeto TQRPreview en una forma y que se visualice un archivo que tenga guardado con extension .QRP . En pocas palabras cargar un reporte guardado y que se visualice en el TQRPreview. Espero que me haya explicado y gracias por tu ayuda.

rgstuamigo
10-12-2009, 19:45:13
Lo que pasa es que el componente TQRPreview es para personalizar la vista previa de tus informes;).
Para abrir un informe guardado desde un archivo, puedes abrirlo desde el botoncito que tiene la carpetita amarilla,que se ve cuando estamos en una vista previa.;)
Saludos...:)

El_Chava
10-12-2009, 20:11:27
Creo que no me explique bien pero espero que con la imagen que adjunto me explique mejor en la imagen pongo el componente donde deseo se que visualice un reporte que ya este guardado. darle la opcion al usuario de que busque el archivo y cuando lo abra se vea en el componente. y muchas gracias por tu ayuda

rgstuamigo
10-12-2009, 20:35:14
Creo que no me explique bien pero espero que con la imagen que adjunto me explique mejor en la imagen pongo el componente donde deseo se que visualice un reporte que ya este guardado. darle la opcion al usuario de que busque el archivo y cuando lo abra se vea en el componente. y muchas gracias por tu ayuda
Que yo sepa..(asi como te he comentado en el anterior post) el componente TQRPreview es solo para Personalizar tus informes,:rolleyes: desconosco si tiene la funcionalidad de poder abrir informes guardados.:rolleyes:;).
Saludos...:)

El_Chava
10-12-2009, 20:46:21
aaaa ok muchas gracias por tu tiempo y respuestas. estamos en contacto bye

bubba
15-12-2009, 14:28:22
Hola,

Para recuperar un fichero QRP, como te dicen, desde el formulario que se crea al hacer un Preview desde cualquier QuickReport lo puedes hacer.

Entiendo que a lo mejor no tienes un listado para que salga en el Preview, yo me encontré en esa situación y lo único que hice para construirme un Visualizador de QuickReports es crear un formulario con un QuickReport, en el FormCreate puse:

QuickRep1.Visible := False;

La propiedad PrintIfEmpty la puse a True y un botón [Visualizar], y en el evento OnClick hago un QuickRep1.Preview y me sale el Preview estándar de QuickReport, pero sin mostrarme nada y pulsando el botón de abrir el usuario puede abrir cualquier fichero QRP.

Si quieres utilizar el TQRPreview, entonces lo que harás es sustituir el formulario que se crea dinámicamente por el QuickReport, yo tengo uno propio y evidentemente te lo has de "currar" tú todo, puse una ToolBar con los botones necesarios (página Primera|Anterior|siguiente|Última, imprimir, Ampliar, etc), y por supuesto un componente TQRPreview.

Para usuar mi formulario de previsualización, en el evento OnPreview de cualquier QuickReport, escribo lo siguiente:

procedure TForm1.QuickRep1Preview(Sender: TObject);
begin
FormVisualizarQR.qrpListado.QRPrinter := TQRPrinter(Sender);
FormVisualizarQR.Show;
end;

Y en el evento OnShow del formulario que utilizo para previsualizar tengo lo siguiente:

procedure TFormVisualizarQR.FormShow(Sender: TObject);
begin
WindowState := wsMaximized;
Caption := qrpListado.QRPrinter.Title;
qrpListado.QRPrinter.PreviewModal;
end;

Y automáticamente me aparece el formulario por mí diseñado con la previsualización del QuickReport .

En tu caso, deberías tener un botón que sirva para "Leer QuickReport",
y deberias escribir esto en el evento OnClick de dicho botón (en mi caso es un TToolButton):

procedure TVISQR.ToolButton6Click(Sender: TObject);
begin
qrpListado.QRPrinter.Load('C:\LISTADO.QRP');
qrpListado.QRPrinter.Preview;
end;


Espero haberte ayudado, yo lo he probado y me ha funcionado.

Saludos

El_Chava
15-12-2009, 19:00:54
Muchas gracias compañero bubba voy a probar tu metodo ;) cualquier duda estamos en contacto

bubba
15-12-2009, 20:25:57
Muchas gracias compañero bubba voy a probar tu metodo cualquier duda estamos en contacto

De nada El_Chava!

Por cierto, en la claúsula Uses a continuación de Interface al principio de la Unit donde tienes tu QuickReport y llamarás al formulario con la previsualización, has de añadir la siguiente unit: QRPrntr (donde están las generales -Windows, SysUtils, Controls, etc...-), para que te reconozca el objeto TQRPrinter, es lo que explicaba como:

procedure TForm1.QuickRep1Preview(Sender: TObject);
begin
FormVisualizarQR.qrpListado.QRPrinter := TQRPrinter(Sender);
FormVisualizarQR.Show;
end;

En este TForm es donde has de poner en Uses la unit citada.

Saludos y suerte!