PDA

Ver la Versión Completa : problema envio de label


anubis
09-05-2007, 20:01:34
Buenas.
Tengo bastantes componentes tipo label en el form, todos hacen lo mismo, los label son numeros diferentes.
101, 120...
tienen como label 101,102, y como name tienen Lh101,Lh102..

cuando pulso sobre un numero, me devuelve el valor del label en funcion del numero pulsado. Estoy usando un metodo que me comentasteis para recoger ese numero

procedure Tfentrada.lh101Click(Sender: TObject);

begin
// Acceder al label
lbl := TLabel(Sender);
// Acceder al pabel relacionado con ese label
ha:=strtoint(lbl.caption);

como va asignado a un este solo procedure la cosa va fenomenal porque al pulsar sobre cualquier label me devuelve lo que yo quiero.

El problema es que quiero hacerlo al reves, sobre un numero que yo le de, queria que se posicionara en el label correspondiente para que hiciera algo con ese label, pero no se como hacerlo al reves del ejemplo.
He probado a asignar
tlabel(sender):=lbl;
lbl.name:='Lh'+numero;
pero en name me produce error;

alguna sugerencia?

gracias

droguerman
09-05-2007, 20:44:20
con el método findComponent:


var
comp : TLabel;
begin
comp := TLabel(self.FindComponent('Lh'+IntToStr(numero)));
end;

anubis
09-05-2007, 21:05:58
gracias.
Voy entendiendo pero me explique mal creo.

cuando pulso en un label, el tlabel(sender) me lo almacena en una variable, lbl que es tlabel tambien y tiene almacenado todo, asi que con el valor de esa lbl puedo "jugar" en todos los forms puesto que es public.
El problema es que en ese tlabel(sender) me asigna TODO los componentes del label. y queria hacer lo mismo pero al reves,asignar casi todos los componentes al label lbl añadiendolos a mano.

nose si me explique bien.

gracias