Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2010
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 16
cslbcn Va por buen camino
Exclamation Concatenar variable a nombre de objeto

Hola. Sé que esto que pregunto en javascript y en php se puede hacer, pero no consigo hacerlo en Deplhi.

Tengo 12 checkboxes llamados: ck1, ck2, ck3 ... ck12

Quiero que en un bucle for, me marque todos los checkbox como true

Código Delphi [-]

for k:=1 to 12 do
begin
    ck+k.Checked := true;
end;

el ck+k es lo que no le gusta al compilador... Como se puede hacer? Gracias
Responder Con Cita
  #2  
Antiguo 02-06-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola cslbcn, puedes utilizar FindComponent, pero también podrías cambiar por un CheckListBox y acceder directamente a sus items recorriendo dicho componente.

Código Delphi [-]
 Check : TComponent;
begin
 for k:=1 to 12 do
  begin
   Check := FindComponent('ck'+IntToStr(k));
   if Assigned(Check) then
    TCheckBox(Check).Checked := True;
  end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 02-06-2010
cecam cecam is offline
Miembro
 
Registrado: may 2006
Ubicación: Girona
Posts: 47
Poder: 0
cecam Va por buen camino
Tambien se puede hacer así para encontrar/recorrer componentes :
Código:
   
for i := 0 to ComponentCount - 1 do begin
       if   Components[i] is TCheckBox
       then TCheckBox(Components[i]).Checked:=True
   end;
Saludos!!
Responder Con Cita
  #4  
Antiguo 07-06-2010
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 16
cslbcn Va por buen camino
Hola. Los ejemplos de antes funcionaron. He intentado aplicar eso en otro caso y no funciona.

Cuando hago click en una Label, quiero que cambie el formato de esta. Para ellos llamo a un procedure de este tipo:

Código Delphi [-]
procedure TFMante.cambiarFormato(Objeto:String; Estado:String; Categoria:String);
begin

  if (Estado = 'mouseClick') then
  begin

    TLabel(Objeto).Font.Color := clAqua;
    
  end;

end;

Cuando hago la llamada, en Objeto envío el nombre de la label (labelUsuarios1, por ejemplo). Entonces

TLabel(Objeto).Font.Color := clAqua;
debería ser reemplazado por:
TLabel(labelUsuarios1).Font.Color := clAqua;

Pero al hacerlo no funciona, el programa peta. Creo que es porque envío el nombre como String...

Alguna idea? Gracas
Responder Con Cita
  #5  
Antiguo 07-06-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola cslbcn, si quieres manejarlo como String debes utilizar FindComponent o de la forma que te indica cecam tienes que recorrer e ir preguntando por su Name.

Código Delphi [-]
 if (Estado = 'mouseClick') then
  begin

    TLabel(FindComponent(Objeto)).Font.Color := clAqua;
    
  end;

No te sería mejor manejar tu parámetro Objeto como TLabel?.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 08-06-2010
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 16
cslbcn Va por buen camino
Gracias por la ayuda. Tal y como propones ya cumple con lo que quiero. Tengo que manejar la función con varios objetos con varios nombres y de esta forma funciona perfecto.

Muchas gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ver el tipo al que pertenece una variable u objeto r1d2m3 OOP 4 21-05-2010 16:02:57
Variable : Tabla.Objeto... sepuede..? PABECO Conexión con bases de datos 2 08-05-2010 17:40:31
acceder a objeto mediante una variable joanajj Varios 37 12-07-2007 18:02:06
nombre de objeto tipo cadena Carlos Arevalo Varios 2 17-12-2005 18:31:48
Enlazar una variable a un objeto Nuria Varios 2 20-01-2004 17:00:40


La franja horaria es GMT +2. Ahora son las 14:51:06.


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
Copyright 1996-2007 Club Delphi