![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
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; |
|
#2
|
|||
|
|||
|
Alguien que me responda por favor
Gracias. |
|
#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;
|
|
#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. |
|
#7
|
|||
|
|||
|
Otra pregunta.
En el caso del TreeView como relaciono el nombre del objeto?
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|