Ver Mensaje Individual
  #6  
Antiguo 21-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Reputación: 20
ruina Va por buen camino
bueno, enredando enredando he hecho un ejemplito que creo que es bastante parecido a lo que estabas intentando hacer:

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
  procedure RellenarPropiedades(NombreSeccion:string;Componente:Tcomponent);
  var k:integer;
      valor:string;
      SL:TStringList;
      pinfopropinfo; // está en TypInfo
  begin
      SL:=TStringList.Create;
      try
          ini.ReadSection(NombreSeccion,SL);
          for k:=0 to SL.count-1 do
          begin
               pinfo:=GetPropInfo(Componente.ClassInfo,SL[k]);
               if pinfo<>nil then
               begin
                    valor:=ini.ReadString(NombreSeccion,SL[k],'');
                    if valor<>'' then
                      SetPropValue(Componente,SL[k],valor);
               end;
          end;
        finally
            SL.Free;
        end;
  end;
var i:integer;
begin
      for i:=0 To ComponentCount-1 DO
      begin
            RellenarPropiedades(Components[i].ClassName,Components[i]);
            RellenarPropiedades(Components[i].Name,Components[i]);
      end;
end;

y el ini seria de la forma
Código:
[TButton]
Color=1205
Caption=hola
 
[TCheckBox]
Checked=true
color=23123
 
[Memo1]
BorderStyle=bsnone
 
[Button1]
Caption=Boton Nº 1
Vease que se puede escribir las porpiedades de los componentes según su clase o su nombre concreto ^_^
Responder Con Cita