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 28-09-2017
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Respuesta

Gracias ElDioni por la respuesta, en realidad el nombre lo compongo de la siguiente manera:
Código Delphi [-]
  for i:=0 to 10 do
    begin
      nombre:='F1_' ;
      butaca:=FindComponent(nombre + InttoStr(i));
  ... 
  ...

para que me genere y busque los 10 nombres
Responder Con Cita
  #2  
Antiguo 28-09-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Sólo un detalle, en ese caso la comprobación:
Código Delphi [-]
  if Assigned(butaca)then  // <-
        begin
          if (butaca is TCheckBox) then
es innecesaria.

Dado que el operador is devuelve True si el objeto evaluado pertenece a la clase o es descendiente de ella y False de otro modo (incluyendo también a nil), podes escribir:
Código Delphi [-]
...
 var
  i: Integer;
  Butaca: TComponent;
begin
  for i := 0 to ComponentCount-1 do
  begin
    Butaca := FindComponent('F1_'+IntToStr(i+1));  // +1 si los nombres fuesen: F1_1, ..., F1_10
    if Butaca is TCheckBox then
      TCheckBox(Butaca).Checked := True;
  end;
end;

Lo que no alcanzo a comprender bién es la mecánica de la obtención del nombre desde la tabla, pero en principio podrías hacer uso del método Locate.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-09-2017
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Otra manera podría ser.

Cita:
Empezado por Neftali Ver Mensaje
Tal vez esta entrada pueda ayudar: "Modificar propiedades de controles en ejecución utilizando RTTI".

La ventaja de hacerlo con RTTI es que podría llamar a esta función:

Código Delphi [-]

// Otros ejemplos 
SetPropAsString(Components[i], 'Left', '10'); 
SetPropAsString(Components[i], 'Color', 'clRed');

Sin preocuparte del Tipo de control (TEdit, TCheckbox,...). Si tiene la propiedad y se llama así la cambiará.
Responder Con Cita
  #4  
Antiguo 28-09-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como menciona Soa Pelaez, también se puede usar RTTI. Con la salvedad que debe verificarse si la propiedad sobre la que se va a aplicar el valor existe en el componente actual para evitar excepciones.
Código Delphi [-]
...
implementation

uses TypInfo;

procedure TForm1.CheckOnOff(const aChecked: Boolean);
var
  i: Integer;
begin
  for i := 0 to ComponentCount-1 do
    if Assigned(GetPropInfo(Components[i].ClassInfo, 'Checked')) then
      SetOrdProp(Components[i], 'Checked', Integer(aChecked) );
end;

// Ejemplo de uso:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CheckOnOff(not CheckBox1.Checked);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
speedbutton propiedades componente anubis Varios 5 26-08-2007 00:12:35
Propiedades Componente Punzo OOP 2 20-12-2006 20:50:58
Propiedades de un Componente diegofhernando OOP 3 13-09-2004 16:38:22
Quitar propiedades a un componente soul6301 Varios 1 30-08-2004 09:31:37
Propiedades en Componente ingacg Conexión con bases de datos 3 09-05-2003 22:52:56


La franja horaria es GMT +2. Ahora son las 01:43:14.


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