Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 17-06-2011
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 23
defcon1_es Va por buen camino
Hola. Puedes hacer un procedimiento con los parámetros que necesites tener en cuenta y/o cambiar
Código Delphi [-]
procedure CambiarPropiedad(Contenedor: TForm; NumeroElemento: Integer; NuevoColor: TColor, Activar:Boolean);
var i:Integer;
begin
  for i := 0 to (Contenedor.ComponentCount - 1) do  
  begin         
    if (Contenedor.Components[i] is TEdit)
    then begin
      if TEdit(Contenedor.Components[i]).Name = 'Edit+IntToStr(NumeroElemento)
      then begin       
        TEdit(Contenedor.Components[i]).Color := NuevoColor;         
        TEdit(Contenedor.Components[i]).Enabled := Activar;         
      end;
    end;
  end;
end;

Esto está bien para 2 o 3 clases de componentes, pero si son 6 o mas clases de componentes que quieres cambiar sus propiedades,
es mejor aprovecharse de la RTTI (esa gran desconocida)

Código Delphi [-]
procedure CambiarPropiedad(Contenedor: TForm; Clase: String; NuevoColor: TColor; Activar:Boolean);
var i:Integer;
PropInfo: PPropInfo;
begin
  for i := 0 to (Contenedor.ComponentCount - 1) do  
  begin         
      if Contenedor.Components[i].ClassNameIs(Clase)
      then begin
// 2.-Buscamos si el componente tiene la propiedad 'Color'
       PropInfo := TypInfo.GetPropInfo(Contenedor.Components[i].ClassInfo, 'Color') ;
       if Assigned(PropInfo)
       then begin
// 3.-Damos el valor que queremos a la propiedad 'Color'
         TypInfo.SetOrdProp(Contenedor.Components[i], PropInfo, LongInt(NuevoColor));
// 4.-Buscamos si el componente tiene la propiedad 'Enabled'
         PropInfo := TypInfo.GetPropInfo(Contenedor.Components[i].ClassInfo, 'Enabled') ;
         if Assigned(PropInfo) then
// 5.-Damos el valor que queremos a la propiedad 'Enabled'
           TypInfo.SetOrdProp(Contenedor.Components[i], PropInfo, LongInt(Activar));
       end;
    end;
  end;
end;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...

Última edición por defcon1_es fecha: 17-06-2011 a las 09:38:29.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cambiar propiedades de la barra de scroll dmr1974 Varios 2 18-06-2008 20:04:02
Como asiganar IP a PC cambiar propiedades TCP/IP JuanErasmo API de Windows 2 08-09-2007 20:37:06
Cambiar Propiedades de ZConnection Maury Manosalva MySQL 4 12-12-2006 17:11:57
Llamar a una funcion almacenandola en una variable papulo Varios 15 02-02-2006 18:19:25
Llamada a una funcion que incluye en el nombre una variable papulo PHP 11 28-12-2005 16:38:19


La franja horaria es GMT +2. Ahora son las 23:10:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi