FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Seleccionar un reporte cualquiera de una lista
Que tal amigos.
Voy ahora con una de QuickReport. El problema es el siguiente: Tengo una tabla donde estoy alojando las propiedades de cada reporte incluyendo el nombre para personalizar la impresión de cada reporte por usuario. Esta tabla la muestro con un stringgrid para que el usuario seleccione el reporte a imprimir. Hice la siguiente función pero no logro pasar el nombre del reporte que quiero imprimir. Código:
imprimir('reportes.QuickReprecibo'); Código:
procedure imprimir(reporte: string); xreporte: TQuickRep; begin xreporte:=TQuickRep(reporte); xreporte.Preview; end;
__________________
Carlos Arevalo MSN Messenger: carlos@arevalo.com.ve |
#2
|
|||
|
|||
Alguien que me responda por favor
Gracias.
__________________
Carlos Arevalo MSN Messenger: carlos@arevalo.com.ve |
#3
|
||||
|
||||
Creo que lo estas enfocando mal. Prueba por este otro método
FrmFactura1 será una ventana que tenga dentro el TquickRep. Si no es lo que quieres, tendrás que especificar mejor que es lo que guardas para "personalizar" el reporte y como lo guardas saludos |
#4
|
|||
|
|||
Gracias Lepe por contestar.
Tengo una lista de reportes en un stringgrid donde la col1 es el nombre del formulario y la col2 el nombre del reporte. Lo que quiero es poder seleccionar de la lista el formulario y poder imprimirlo con un procedimiento generico para todos los reportes y no declarar cada reporte como actualmente lo hago. Código:
procedure imprimir(formulariox,formatox: string); var cont: integer; xreporte: TQuickRep; begin if formulariox='reportes' then begin with reportes do begin if formatox='QuickReprecibo' then xreporte:=QuickReprecibo; if formatox='QuickRepFactura' then xreporte:=QuickRepFactura; if formatox='QuickRepOrden' then xreporte:=QuickRepOrden; end; end; xreporte.Preview; end;
__________________
Carlos Arevalo MSN Messenger: carlos@arevalo.com.ve |
#5
|
||||
|
||||
Vamos a ver si entiendo porque tratándose de QuickReport soy más slow que quick pero da la impresión de que el fondo del problema no está relacionado con QuickReport.
Supongo que QuickReprecibo, QuickRepFactura, QuickRepOrden, etc. son objetos de tipo TQuickRep. Lo que tú quieres es- corrígeme si me equivoco - Cita:
Lo único que necesitas es una forma de asociar un objeto con su nombre. Un TStringList hace justamente esto usando su propiedad Objects que te permite asociar a cada entrada de la lista un objeto:
El punto es que tengas la lista Reportes lista antes de que requieras acceder a los reportes. Muy posiblemente Reportes será una variable global que pueda accederse desde cualquier unidad que defina un reporte. En cada unidad de reporte puedes, en su sección initialization, crear el objeto y agregarlo a la lista Reportes. Algo similar puedes hacer para los formularios manteniendo un TStringList para ellos. // Saludos |
#6
|
|||
|
|||
Es justo lo que quiero.
Muchas gracias Roman ya lo pongo en practica para ver como me funciona.
__________________
Carlos Arevalo MSN Messenger: carlos@arevalo.com.ve |
#7
|
|||
|
|||
Otra pregunta.
En el caso del TreeView como relaciono el nombre del objeto?
__________________
Carlos Arevalo MSN Messenger: carlos@arevalo.com.ve |
|
|
|