PDA

Ver la Versión Completa : Variables dinámicas de String a Txxx


jairoj2012
19-07-2013, 17:24:27
Hola, soy nuevo en este foro
Me gustaría consultar si es posible realizar en delphi lo siguiente;
Tengo una variable declarada del tipo string, denominada cadena
si yo la cargo con el siguiente valor: cadena:='Label'+inttostr(lni) obtengo Label1
asumiendo que el valor de la variable lni es 1
deseo hacer lo siguiente
cadena.caption:='NUEVO TITULO';
Así mismo si quiero que cadena luego sea un checkbox
cadena.checked;
He programado en vfp, y recuerdo que para lograrlo se hacía algo así como:
cadena:='Label'+inttostr(lni)+'.caption:='+chr(39)+'Nuevo titulo';
&cadena
gracias por ayudarme

Casimiro Notevi
19-07-2013, 17:41:09
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración :)

Recuerda poner los tags al código fuente, ejemplo:

http://www.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)

gatosoft
19-07-2013, 18:32:52
Lo que quieres no es tan simple como trabajar cadenas de texto, pero puede manejarse...

Para ésto debes accesar a la lista de componentes o de controles que manejan las clases contenedoras de componentes, como por ejemplo los formularios, los paneles, etc.

Debes recorrer una de éstas lista e ir verificando tipo y nombre.

También puedes manejar la función FindComponent, que busca por nombre

Algo, como:

Procedure CambiarCapton(NombreComponente, NuevoCaption:String);
Var Etiqueta: TLabel;
Begin
Etiqueta := TLabel(FindComponent(NombreComponente));
Etiqueta.Caption:= NuevoCaption;
end;

Puedes ver un hilo interesante aqui (http://www.clubdelphi.com/foros/showthread.php?t=51023)