Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Asignar valore en forma dinamica a TQRLabel (https://www.clubdelphi.com/foros/showthread.php?t=64159)

ocram 19-03-2009 20:09:08

Asignar valore en forma dinamica a TQRLabel
 
Hola de nuevo a todos.

en esta ocacion estoy queriendo asignar los valores de un array de 40 posiciones a 40 etiquetas en una banda goupfooter de un quickreport. Ahora para esto se me ocurren 2 opciones:

1.- crear las 40 etiquetas con un nombre continuo por ejemplo qrlT1....qrlT40 y con un ciclo agregar los valores del del array a los botones. ¿Como podria hacer esto tomando en cuenta que ya tengo creadas las 40 etiquetas y el array ya tiene los 40 valores?

2.- Crear las etiquetas en tiempo de ejecucion y asignarle los valores del array(esto ultimo ya lo intente pero me marca un error de access violation).
las variables que uso son:
m tipo Intetger
grupo tipo integer (Esta se incrementa cada que se crea una banda groupfooter para no repetir en mismo nombre de la etiqueta)
total tipo array[1..40] de float

este codigo lo puse en el evento beforeprint de la footerband

for m:= 1 to 40 do begin
with TQRLabel.Create(frmrptCalificacionesFecha.qrbSumSource.AddPrintable(TQRLabel)) do begin
Name := 'qrlTotal'+IntToStr(Grupo)+IntToStr(m);
Left := l*10;
Top := m*6;
Caption := FloatToStr(total[m]);
end;
end;




Agradezco sus comentarios

ContraVeneno 19-03-2009 20:12:47

sobre los 40 valores,
¿son sumatorias o promedios de los datos que tienes en el detalle del reporte?

ocram 19-03-2009 20:15:11

los 40 valores ya los tengo asignados en el array de float la idea es decirle de forma dinamica ej:

qrlT1.Caption := FloatToStr(Total[1]);
qrlT2.Caption := FloatToStr(Total[2]);
.
.
.
qrlT40.Caption := FloatToStr(Total[40]);

ContraVeneno 19-03-2009 20:30:01

si, pero me pareció que son sumas de lo que ya tienes en el reporte. Me pareció que muestras los datos en el "Detail" del reporte y en otro Query haces la sumatoria de esos datos. Eso me pareció que estas haciendo y si ese es el caso, lo mejor es utilizar expresiones con el componente TQRExpr que te permite hacer las sumas.

Por eso preguntaba que si eran sumas. Si estoy equivocado entonces no puedo ayudarte.

nanozaja 08-04-2009 15:28:29

ese codigo q pones es el q te tira error?? yo tengo hecho algo de generar etiquetas en tiempo de ejecucion... si especificas bien dnd tira el error y agregas un poco de codigo, te puedo ayudar...


La franja horaria es GMT +2. Ahora son las 17:52:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi