Ver Mensaje Individual
  #12  
Antiguo 26-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
Por supuesto que no tiene utilidad ni sentido... es un caso didáctico. Pongamos por ejemplo el caso que indica roman, pero con algo más cercano a nosotros, la propiedad Tag que tienen todos los controles, imaginamos un Checkbox, que al marcarlo, queremos poner un texto en un Edit, podríamos hacer algo así:

En el Oncreate:
Código Delphi [-]
  checkbox1.tag := integer(Edit1);

Al hacer clic en el checkbox:
Código Delphi [-]
TEdit(checkbox1.tag).Text:= 'Opcion activa';

para un checkbox es complicarse la vida, pero extrapolemos las cosas.... 30 checkbox asociados cada uno con un Edit. podemos tener un solo evento Onclick del checkbox, pero común a los 30 checkboxs de esta forma:
Código Delphi [-]
TEdit(    TCheckbox(Sender).tag     ).Text:= 'Opcion activa';
Sender : será el checkbox donde se haga clic
TCheckbox(Sender) : es necesario un moldeo de tipos, para que el compilador trate a ese Tobject como un Tcheckbox
TCheckbox(Sender).tag : Accedemos a su propiedad Tag, aquí se está usando lo ya comentado por roman, usar un tipo de datos integer para almacenar un puntero.
TEdit(TCheckbox(Sender).tag) : moldeo necesario para que ese .Tag lo trate como un TEdit en lugar de un tipo de dato entero.
Por último accedemos a su propiedad Text y lo modificamos.

Si, ya, complejo ¿acaso es mejor algo así?:

Onclic del checkbox1:
Código Delphi [-]
edit1.text:= 'Opcion activa';

Onclic del checkbox2:
Código Delphi [-]
edit2.text:= 'Opcion activa';

Onclic del checkbox3:
Código Delphi [-]
edit3.text:= 'Opcion activa';

... no sigo, ya lo entiendes de sobra .

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita