![]() |
![]() |
| 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
|
|||
|
|||
|
Hola!!!
La form que tiene el qreport se genera desde que se carga el proyecto, y esta forma la mando llamar desde otra forma que tengo que es form_opcion(en esta forma aparecen dos botones los cuales son: capturar datos o ver reporte), y cuando le das clic en ver reporte utilizo esto:
y en la frm_reporte2 en la propiedad OnShow manejo lo que es la creacion de las labels
en este caso manejo el mismo procedimiento para mostrar el reporte la 1a vez que la 2a y 3a, etc... Ahora para destruir los labels lo hago despues del AfterPreview
Espero que me hayan entendido Les doy las gracias por tomarse el tiempo de revisar mi codigo. Gracias Cómo te sientes hoy? Última edición por david duarte fecha: 13-10-2005 a las 21:08:44. Razón: Por error |
|
#2
|
||||
|
||||
|
Efectivamente, tal y como yo lo he preparado, cada vez que ejecuto el listado, genero el form, porque ¿ para que voy a gastar recursos del pc si no los necesito?. Una vez terminado, se destruye. Por lo tanto, no tengo que preocuparme de liberar, no liberar, ...
No he podido coger el código, pero esta tarde podré y lo colgaré para que le echeis un vistazo, con un ejemplo de llamada. En los programas que hago, generalmente pongo un módulo de listados ( "Cuadro de Mando" para los responsables ) que cogen las querys de una tabla, cuyo resultado presento en un grid; desde un botón llamo a la función con los parámetros correspondientes si se desea imprimir ( los parametros están tanbién en la misma tabla, por supuesto). De esta manera, para añadir un listado en el programa, solo tengo que añadir un registro en la tabla de listados, y no tengo que recompilar el programa y distribuirlo. Con una pequeña entrevista con los clientes, en una tarde puedes definir todos los listados que necesite y darlos de alta en la tabla. El programa no cambia. De todas maneras, no flipeis, que los listados son muy simples, pero efectivos. Soy de la opinion de que en un programa/aplicación empresarial lo importante son los datos, no las presentaciones. Tendreis noticias, un saludo PD: Cuando empecé a desarrollar la idea me llamaron 'tarao', pero al final es una manera muy útil de sacar la información en papel. Antes haciamos los programas, y posteriormente tardabamos el doble de tiempo una vez desarrollado haciendo listados de todo tipo.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#3
|
||||
|
||||
|
Cita:
Cuando lo necesites lo llamas así (suponiendo que los nombres son estos):
y en el Onclose:
De esta forma el Reporte consume memoria, solo cuando lo necesites ver.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
||||
|
||||
|
Lo prometido... es deuda
Ya teneis el código, perfectamente utilizable, con ejemplo y todo.
Queda por hacer: - hacerlo como un componente. - mirar tal y como dice Lepe cómo se generan los titulos, campos, ... Si se crean con campo:= TQRLabel.Create(Banda), no seria necesario crear los arrays y destruirlos. - Ajustar alguna cosilla Este es un ejemplo ampliado. Permite imprimir y exportar a Excel, seleccionar los campos a listar, etc. Si en la llamada el primer parametro es falso, imprime directamente, si no saca la ventana para elegir campos. Los campos en rojo son los que se totalizan, ... Si le lavais la cara a la ventana, marcaros un tanto en la oficina. Este código es jamonware, o sea, que me podeis mandar un jamón. Mi mujer y yo os lo agradeceremos Si los administradores del foro lo quieren publicar, pues que lo hagan , les doy mi permiso, ya que la idea la tenía, pero la forma y el cómo la di tras leer el hilo que doy de referencia. Un saludo y que lo disfruteis
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#5
|
|||
|
|||
|
OK. Gracias
Lo voy a revisar y a cambiarle unas cosas. Gracias. Cómo te sientes hoy? |
|
#6
|
|||
|
|||
|
Hola!!!! fjcg02
ya revise tu codigo y me parece perfecto, pero hay una cosa!!! Sigo sin entender como hacerle para que las labels no se te traslapen?? he seguido haciendo pruebas, pero al momento de crear la segunda hilera de labels, todas se me traslapan, ya estoy un poco fastidiado con eso, me tiene estresado. Pero asi es esto, hay que seguir a prueba y error. Gracias Vi las funciones de ancho de caja y otras, pero verdaderamente estoy hecho un lio. Cómo te sientes hoy? Acabo de fijarme en algo, esta chistoso Al momento de crear todas las labels del nombre de los analisis, que van en la primera fila, cuando se crean, todo esta perfecto, pero al momento de crear las labels para mostrar los resultados, se baja el ultimo nombre del analisis a la label del primer resultado y por lo tanto se enciman. Alguien sabe porque??? Gracias Cómo te sientes hoy? Les mando las imagenes en zip para que las cheques el primero es grid_res, que es donde tengo la informacion como debe de quedar. la segunda imagen es qrp_antes, esta imagen como puedes ver, se muestran bien los titulos de los analisis a realizar, son los ultimos y la 3a imagen es qrp_c_resultados, si te fijas bien, el nombre del ultimo analisis se bajo a la linea siguiente y los resultados no se muestran bien, las rayas '----' son los analisis que todavia no tienen resultados. Gracias Cómo te sientes hoy?? Última edición por david duarte fecha: 18-10-2005 a las 17:44:46. |
|
#7
|
||||
|
||||
|
Perdona, pero creo que estamos en dimensiones diferentes.
Intuyo que lo que quieres es realizar un listado que no coincide con el que te he pasado. El mio es para sacar una fila de datos por registro, hacer totales, etc, una cosa sencilla. Creo que tú quieres imprimir tus datos en un informe tipo factura, más elaborado, en el que las bandas de cabecera, cuerpo etc, tienen un diseño más alborado. No te acabo de entender del todo, por lo que no puedo ayudarte ( siempre y cuando sepa ) a no ser que me des más información. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#8
|
|||
|
|||
|
es mas o menos parecido al tuyo
mira, como comentaba al principio de este hilo, tengola tabla de resultados con los siguientes datos(Paradox). Folio -> folio de la solicitud Num -> numero de muestra a analizar Posicion -> numero de la posicion de la muestra (las muestras tienen una posicion, ya que son de unas maquinas de hilo, y existen muchas maquinas de hilo con muchas posiciones). Analisis1 -> aqui manejo 'o' para saber si esta seleccionado y se va a capturar los resultados o 'x' para ver que no esta seleccionado y no se va a realizar analisis de este. Analisis2 -> etc. y para cada muestra, tiene un registro. p.e. me traen una 3 muestras para hacerles el analisis1, analisis2, analisis 4 y analisis 6, (folio1) y me traen otros analisis con 2 muestras, analisis: 1,3,5(folio 2) entonces en la tabla voy a tener lo siguiente (cuando apenas se de de alta)
etc.. puedes tener x folios. La posicion siempre tiene que estar seleccionada. Entonces p.e. si quiero ver el reporte del folio 1, me tiene que aparecer... Analisis Seleccionados : 1, 2, 4, 6 en la parte de resultados (en caso de que tengan resultados capturados), te aparecera la posicion y el resultado de el analisis que ya se realizo y en caso de que no se haya realizado ese analisis, te debera de aparecer en blanco o te aparecera '----'. aqui no se ha realizado el analisis6. y asi es como debe de aparecer en el qreport, pero no me queda. se traslapan las labels de los resultados. Gracias Espero que me entiendas me puedas ayudar!!!! Cómo te sientes hoy?? Última edición por david duarte fecha: 18-10-2005 a las 18:26:30. |
|
#9
|
||||
|
||||
|
Pues sinceramente creo que te estas complicando la vida. El primer mensaje que puse hablando del QrCreateList hace exactamente eso.
Lo único es montar una consulta, del tipo Ahora creas un TStringList, y añades los campos: Analisis1 Analisis2 Analisis4 Analisis6 Llamas a la función qrCreateList, y ya tienes generado el listado. Si acaso, puedes recorrer los datos antes de hacer el preview, para que el campo que sea nulo, ponerle los guiones '----', si no lo haces, saldrá un 0 (que tampoco es tan grave). En apens 15 lineas de código lo tienes hecho. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|