casi mejor que con el tag se puede hacer con el operador
is para verificar la clase:
Código Delphi
[-]
var i:integer;
begin
for i:=0 To ComponentCount-1 DO
IF Components[i] is TButton then
with Components[i] as TButton do
begin
Caption:='hola';
end
else if Components[i] is TCheckBox then
with Components[i] as TCheckBox do
begin
Color:=clred;
end;
end;
aunque lo realmente interesante seria verificar la propiedad 'Color' en runtime y cambiarla, para ello hay un par de funciones muy interesantes en TypInfo.pas, por ejemplo vease esta funcion que cambia el 'Color' a todos los componentes del form que tengan 'Color':
Código Delphi
[-]
var pinfopropinfo;
var i:integer;
begin
for i:=0 To ComponentCount-1 DO
begin
pinfo:=GetPropInfo(Components[i].ClassInfo,'Color');
if pinfo<>nil then
SetPropValue(Components[i],'Color',clred);
end;
end;