FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Alguien me enseña a hacer un preview?
Tengo Rave Report 5, y Fast Report.
Pero quiciera poder hacer una vista previa en un Form, y realmente no se como. Todos los tutoriales que baje, solo enseñan a utilizar el diseñador. Mi idea es hacer un reporte y dejarlo guardado en un archivo, y este poder visualizarlo antes de imprimir, en un form cualquiera. Agradecere todo tipo de ayuda, ya sean sugerencias, tutoriales, una mano... lo que sea. Gracias
__________________
|
#2
|
|||
|
|||
Creo que esto puede ayudarte.
Saludos. |
#3
|
||||
|
||||
Gracias por el ejemplo, esta muy claro. El unico problema que tengo ahora, es que si bien ya tengo creado los reportes con el Rave, no me deja precargarlos para compilarlos dentro del ejecutable, si lo intento al cargarlo me tira un error. Lo que pienso es que este error se puede deber a que la ruta de origen del archivo rav es muy larga, es decir exederia alguna limitacion de caracteres para la ruta de archivos, ya que si lo pongo en otra carpeta, mas corta, lo carga sin problemas, muy similar a cuando ensamblo con el MPLab para los uC, tenia el mismo error. No se si esto le sirve a alguien como dato.
Con esta ayuda que me diste, voy a diseñar algun reporteador y mandarlo al objet repository a ver que sale, un saludo y gracias.
__________________
|
#4
|
||||
|
||||
Bueno, a ver si entendi bien los pasos a seguir para generar un preview porque no lo logre hacer funcionar:
Los componentes Rave que necesito - 1 RvProject que contiene el reporte "mi_reporte.rav" - 1 RvNDRWriter - 1 RvRenderPreview - 1 RvRenderPrinter Otros - 1 ScrollBox - 1 Button Y los pasos a seguir para generar el reporte son los siguientes 1) Designo una variable a usar como TMemoryStream Código:
var NDRStream: TMemoryStream; Código:
NDRStream := TMemoryStream.Create; RvProject1.SaveToStream(NDRStream); MemoryStream, la cual a esta altura, deberia contener el reporte Código:
RvNDRWriter1.Stream := NDRStream; 4) Ejecuto el reporte, RvProject.Execute Código:
RvProject1.Execute; Código:
RvRenderPrinter1.Render(NDRStream); Código:
RvRenderPrinter1.Render(NDRStream); Código:
NDRStream.Free; Esta bien asi? me olvide de algo? Porque no lo puedo hacer andar. Me dice, "el sistema no puede hallar la ruta especificiada" y no entiendo porque, el reporte existe, y esta en el mismo directorio del proyecto. Saludos
__________________
Última edición por MaMu fecha: 02-05-2007 a las 04:56:28. |
#5
|
||||
|
||||
Lo mas sencillo que se me ocurrio, es hacerlo mediante:
Código:
RvRenderPreview1.Render(RvNDRWriter1.FileName); Saludos
__________________
|
#6
|
|||
|
|||
No tengo muchos conocimientos, los problemas los resuelvo con lo que aportan otros. Esto es como lo uso.
Saludos |
#7
|
||||
|
||||
Cita:
Código:
Saludos.
__________________
|
#8
|
|||
|
|||
He intentado adjuntar otro archivo, pero no me lo ha admitido.
Este es el codigo del Datamodule.
saludos |
#9
|
||||
|
||||
EL codigo del DM esta muy claro, no tengo problemas en la generacion del reporte, puedo generarlo por codigo o simplemente con el designer, mi problema esta en el Stream:
Código:
NDRStream := TMemoryStream.Create; RvProject1.ProjectFile:='c:\mi_programa\mi_reporte.rav'; RvProject1.Engine := RvNDRWriter1; RvProject1.open; RvProject1.SaveToStream(NDRStream); RvNDRWriter1.Stream := NDRStream; RvRenderPrinter1.Render(NDRStream); //ERROR Saludos
__________________
Última edición por MaMu fecha: 02-05-2007 a las 11:31:49. |
#10
|
|||
|
|||
A mi no me da ningún tipo de error, quizás el problema esté en los 'uses'.
Saludos. |
#11
|
||||
|
||||
Mmm a esta altura no se
Código:
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, RpRenderPrinter, RpRender, RpRenderCanvas, RpRenderPreview, RpBase, RpFiler, RpDefine, RpRave, RpCon, RpConDS, StdCtrls, RpSystem; Código:
var Form1: TForm1; NDR: TMemoryStream; Saludos
__________________
|
#12
|
||||
|
||||
Hasta ejecutanto:
Código:
RvRenderPreview1.Render('mi_reporte.rav'); Saludos
__________________
|
#13
|
||||
|
||||
Hasta ejecutanto:
Código:
RvRenderPreview1.Render('mi_reporte.rav'); Necesito una recomendacion, quiero armar un procedure que me imprima directamente el reporte, sin abrir ningun dialgo de imprimir ni nada, asi directamente como esta y setear todo por codigo. Que consideraciones debo tener? (tamaño papel, color o negro, copias, etc..)Una suerte de... Código:
procedure imprimedirecto(ProjectFile:string);
__________________
|
#14
|
|||
|
|||
El fallo puede ser que destruye el NDRStream antes de tiempo. Yo lo hago cuando cierro el form del previo.
Saludos. |
#15
|
||||
|
||||
Lo destruyo al salir en el evento OnClose del Form principal de la aplicación.
A mi entender, es como que el Stream está vacio, otra explicación no tengo. Saludos
__________________
|
#16
|
|||
|
|||
En el componente TRvNDRWrite la propiedad StreamMode debe ser smUser.
El RvProject.Engine apunta al TRvNDRWrite. El NDRStream debes destruirlo en el onClose del previo, ya que lo estás creando en el onCreate del mismo, evitará crear múltiples instancias cada vez que visualice un report. Saludos. |
#17
|
||||
|
||||
Y como puedo hace para mandar a imprimir un reporte ya creado, por ejemplo "mi_reporte.rav", pero quiero mandarlo a imprimir directamente sin hacer ningun preview.
Saludos
__________________
|
#18
|
||||
|
||||
Hola mamu
No se en rave, pero en qreport: Para imprimir, directamente: Para hacer un Preview: Asi de simple, la verdad no se porque no usas QReport, que viene con delphi. Saludos |
#19
|
||||
|
||||
Cita:
Ahora bien, yo elegi Rave, porque me es muy comodo modificar los reportes con el Designer, lo que me ahorra tiempo a la hora de tener que modificar el codigo del programa y hasta a veces ni es necesario. De todas maneras son muchos los que me han sugerido que me vuelque al QReport, asi que proximamente voy a empezar a ver el tema. Saludos y gracias.
__________________
|
#20
|
|||
|
|||
Esto me funciona perfectamente.
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Alguien sabe como imprimir directamente sin el Preview en FreeReport? | maravert | Impresión | 1 | 08-03-2007 19:27:55 |
Deshabilitar botones del preview hasta que el preview del report no haya termindo | Jesús Pena | Impresión | 8 | 27-11-2005 21:39:18 |
a ver si a alguien se le ocurre como hacer este DBgrid | ale21alito | SQL | 4 | 12-02-2005 17:33:15 |
Alguien sabe como hacer que tu aplicacion se ejecute... | Supra | Varios | 7 | 05-02-2005 21:10:09 |
Hacer Preview cargando un archivo .QRP | dabas | Impresión | 2 | 21-09-2003 20:32:44 |
|