mudar propriedade em massa [d7+d2010]
Olá,
quero mudar a propriedade do dbedit.readyonly em massa.
como faço isso?
obrigado
quero mudar a propriedade do dbedit.readyonly em massa.
como faço isso?
obrigado
Jonny
Curtidas 0
Respostas
Marco Salles
14/08/2010
a partrir do Delphi2007 vc usar o For Each
..
No Delphi7 percorra a lista for
ps) ha uma diferença sutil entre os dois codigos no que se refere a proprietarios e container
na verdade o codigo do delphi7 se refere a parentes e não ha progenitores . Mas da para alterar
tanto o primeiro Delphi2010 ou o Delphi7 para serem equivalentes
Veja esta diferença sutil colocando um Edit Dentro do Panel e executando
AlterarReadOnly(panel1,true); // Nada acontece pois Panel não é Proprietário do Edit apesar do Edit estar dentro do
//Panel
AlterarReadOnlyDelphi7(panel1,true); //Desabilita o Edit pois Panel é o Container do Edit e não o seu Proprietário
bem , falei + , espero ter entendido alguma coisa
procedure AlterarReadOnly(Progenitor:TWinControl;Chave:Boolean = True); var c:TComponent; begin for C in Progenitor do if C is TEdit Then TEdit(C).ReadOnly:=chave; end; procedure TForm3.Button1Click(Sender: TObject); begin AlterarReadOnly(self,true); end;
procedure AlterarReadOnlyDelphi7(Progenitor:TWinControl;Chave:Boolean = True); var i: Integer; begin for i := 0 to Pred(progenitor.ControlCount) do if progenitor.Controls[i] is TEdit then TEdit(Progenitor.Controls[i]).ReadOnly:=Chave; end; procedure TForm3.Button2Click(Sender: TObject); begin AlterarReadOnlyDelphi7(self,true); end;
GOSTEI 0