Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   como trabajo con tqrlabel (https://www.clubdelphi.com/foros/showthread.php?t=7979)

morfeo21 03-03-2004 16:54:32

como trabajo con tqrlabel
 
Hola a todos. Una consulta amigos tengo un programa que utiliza la visualizacion de uno de sus reportes la impresion de varias etiquetas que deacuerdo a una funcion creada. las habilita o desabilita.

Procedure HabiltaEtiqueta(habilita:Boolean);
Begin
lbl001.Enabled:=habilita; lbl002.Enabled:=habilita; lbl003.Enabled:=habilita; lbl004.Enabled:=habilita;
lbl005.Enabled:=habilita; lbl006.Enabled:=habilita; lbl007.Enabled:=habilita; lbl008.Enabled:=habilita;
lbl009.Enabled:=habilita; lbl010.Enabled:=habilita; lbl011.Enabled:=habilita; lbl012.Enabled:=habilita;
lbl013.Enabled:=habilita; lbl014.Enabled:=habilita;
...
..
..
lbl033.Enabled:=habilita; lbl034.Enabled:=habilita;
End;

El caso que yo quisiera reducir el codigo por algo asi:
for i:= 1 to 34 do
Begin
(tcomponent is Tqrlabel).name('lbl'+i).enabled:=Habilita;
End;

Pero desconosco la forma de hacerlo. No se si alguien pudiera darme una ayuda con respecto a esto...
:D

__cadetill 03-03-2004 18:40:51

Lo que puedes usar es la función FindComponent

Código:

for i:= 1 to 34 do
  Tqrlabel(FindComponent('lbl'+FormatFloat('000', i))).enabled := Habilita;

Más o menos, no lo he probado pero por ahy van los tiros

jachguate 03-03-2004 21:14:16

Como observación al autor...

Creo que el tema de este hilo debio ser algo como "cómo obtengo una referencia a un componente por su nombre" o algo similar..., además de estar en el foro de oop, dado que tanto la pregunta como la solución, aun cuando se trate de componentes para la impresión, no tiene nada que ver con la acción de imprimir.

Esto es una invitación a esforzarse un poco mas, para luego hacer funcionales también las busquedas... alguien con la misma inquietud, pero con TCheckBoxes, no podrá encontrar este tema, con lo que solventaria su necesidad. Y si por casualidad lo encontrará... dificilmente entraria a leerlo, no te parece?

Hasta luego, y adelante en los foros :)


La franja horaria es GMT +2. Ahora son las 01:48:41.

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