![]() |
![]() |
| 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
|
|||
|
|||
|
Lo siento mucho, es que casi no uso las etiquetas, les prometo que de ahora en adelante voy a tratar de trabajar mas con ellas.
Ya solucione mi problema creo que habia un problema, porque no tenia un ciclo, y creaba dos labels al mismo tiempo y se encimaban las etiquetas en las pila. Otra pregunta, esta si es relacionada con qreport. En el qreport se pueden añadir paginas , pero no le he encontrado la manera de añadir una, en el ejemplo que les puse anteriormente, cuando creo las labels, le puse un ciclo desde 0 hasta 100, pero en la primera pagina solamente se muestran como 60 aprox . pero no me añade automaticamente la otra pagina, como le puedo añadir la otra pagina o paginas en caso de que sea necesario???![]() Alguna vez en la vida le trate con quickrep1.newpage , pero no pasa nada, algunas veces me marca error, ya lei la ayuda, pero nomas no me sale.Gracias. Cómo te sientes hoy?? Alguien sabe donde puedo conseguir o comprar o bajar algun manual completo de quickreport??? ![]() ![]() ![]() ![]() Última edición por david duarte fecha: 10-10-2005 a las 20:28:09. Razón: Complemento |
|
#2
|
|||
|
|||
|
Hola!!!
Oigan, se puede sabel la longitud de caracteres del nombre del campo, esto es para saber que espacio le voy a dejar antes de crear el TQRLabel o el TQRDBtext. esto es si el campo 1 se llama "Analisis_1" su longitud seria 10 y el campo 2 "Analisis2", entonces el campo 1 se va a mostrar desde las coordenadas 0(top),0(left), y para mostrar adecuadamente el campo2 tendria que sumarle a left los 10 caracteres mas 5 espacios en blanco y mostrar el siguiente nombre de campo. Hice la prueba, pero creo que se manejan por pixeles o algo asi, no?? Gracias |
|
#3
|
|||
|
|||
|
Hola a todos!!!
Voy a crear muchas TQRLabels, que es donde voy a poner el nombre de los campos que selecciono el usuario y voy a mostrar su informacion. Pero no he podido hacer el arreglo de etiquetas que comentaron anteriormente
pero al momento de querer crearla o mejor dicho asignarla al arreglo me marca un error primero la creaba asi la declaracion: asignacion
y ahi no hay ningun problema.. pero si lo hago como dijeron, asignarla a el arreglo directamente cuando se crea
me marca un error: EAccessViolation y no se porque. y por lo tanto cuando quier ver un segundo reporte, me marca error de que ya existen las etiquetas. No se como liberarlas. Agradeceria que me dijeran como asignarlas a un arreglo dinamico. Gracias Cómo te sientes hoy? |
|
#4
|
||||
|
||||
|
david,
no se si has asignado el tamaño del array de las etiquetas antes de crearlas. Código:
SetLength(Etiquetas, Nº_de_etiquetas_que_vas_a_crear); for n:= 0 to Nº_de_etiquetas_que_vas_a_crear begin etiquetas[n]:= TQRLabel.Create(Self); // resto de propiedades de etiquetas[n] end; Cuando destruyas el formulario, libera el espacio que has reservado. for n:= sizeof(Etiquetas) downto 0 do Etiquetas[n].Free; Espero que te sirva de ayuda Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#5
|
||||
|
||||
Probado y funcionando. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 13-10-2005 a las 14:48:44. |
|
#6
|
||||
|
||||
|
Para saber cuanto ocupa un String en el QuickReport, habría que usar el canvas del QuickReport.Printer, pero en el OnCreate del form, no está todavía asignada, así que tendremos nosotros que buscarlo por otro sitio:
uses shellapi, graphics, types, windows He editado mi mensaje anterior para incluir la llamada a esta rutina.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#7
|
|||
|
|||
|
Gracias por sus ayudas.
Gracias fjcg02, lo malo es que no se cuantas etiquetas se van a crear, eso depende de los analisis que requiera el usuario, pueden ser desde 2 hasta 50 o 1000, no se. Imaginate, si el usuario quiere que se le realicen 30 muestras y por cada muestra son 5 analisis, ahi serian 150 labels y aparte de los titulos de los analisis. Gracias Lepe. Esta muy bien explicado Los felicito a ambos Solamente una cuestion, que cuando veo el primer reporte, no hay problema, se muestran los nombres de los campos bien, pero cuando quiero ver un segundo reporte, me salen encimadas las letras(creo que no se borran las etiquetas con anterioridad) que era lo que me estabas diciendo fjcg02, ya no me marca el mismo error, pero aparte me marca un error de EInvalidOp, y sale un error : "Error Floating Point" Gracias. Entonces: Primero si es que me libera las etiquetas que creo en tiempo de ejecucion, no me las borra de la banda. Y segundo, al ver un segundo o tercer reporte, me encima el nombre de los analisis(o las letras) Cabe señalar que hasta ahorita solamente estoy mostrando el nombre de los analisis a realizar, posteriormente me enfocare a mostrar los resultados. Cómo te sientes hoy Lo solucione de la siguiete forma. no se si sea la mas adecuada, pero me funciona.
Checenlo y me dan su opinion, probablemente sea posible de otra forma mas facil. Última edición por david duarte fecha: 13-10-2005 a las 17:50:20. Razón: Solucion |
|
#8
|
||||
|
||||
|
Hay una cosa que no acabo de entender.
Hablas de 2, 50, 1000 etiquetas. el código que adjunto es para imprimir una consulta a una BBDD, que puede devolver desde 0 a n registros, dependiendo de los datos que se hayan introducido en la misma, el filtro que se aplique, etc. Para ello, observa que en la llamada se pasa como parámetro una query, que es la que origina los datos. Lógicamente, se crearán tantas columnas como campos se visualicen el la consulta Insisto, vale para cualquier consulta que hagas en tu programa. A grosso modo El reporte tiene 3 bandas, titulos- > titulos de los campos, los toma de al query que le pasas de parámetro campos -> valores de los campos. Por cada registro el QickReport crea una banda. Totales-> Es un string que se pasa como parámetro con los nombres de los campos que se quieren totalizar. Por ejemplo GenerarListado( ADOQuery1, DBGrid1, 'Titulo que quiero que ponga', 'Empresa','Condiciones por si pongo un filtro en la consulta','campo2;campo3','campo1' ); ADOQuery1 es una consulta de articulos en un primer caso SELECT * FROM Articulos ORDER BY nombre ADOQuery1 es una consulta de personas en un primer caso SELECT * FROM Personas ORDER BY nombre La llamada será igual en los dos casos, cambiando el titulo del listado, el resto lo hará todo la función. :: Funcion de generar listados a partir de un Grid automáticamente :: :: Forma de llamarlo :: :: GenerarListado( Query que queremos imprimir ADO :: :: Grid asociado a la query :: :: Titulo del Listado :: :: empresa del listado :: :: Condiciones del listado ( literal) :: :: Campos que queremos sumar separados por comas :: :: Campos que cuando cambian se imprimen los totales:: :: separados por comas :: :: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: } POR CIERTO, me he dado cuenta de que el código publicado no está del todo correcto al ser primeras versiones, seguro que tiene algun error. Si puedo os colgaré el bueno, con el dfm para que podais echarle un vistazo. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|