Mudar Propriedade de vários componentes em tempo de execução

Delphi

01/06/2004

Por exemplo, tenho 50 edit´s (edtcodigo, edtnome, edtCPF, edt...)
Tem como eu mudar a propriedade Enabled de todos eles de false para true, de uma maneira diferente de:
edtCodigo.enabled := true;
edtNome.enabled := true;
edtCPF.enabled := true;
...
50 vezes mais
...
edt*.enabled :=true;(ufa!!!)


Bossoni

Bossoni

Curtidas 0

Respostas

Tatuweb

Tatuweb

01/06/2004

Faça assim

var
  i: word;
begin
  for I := 0 to ComponentCount - 1 do
  if (Components [I] is TEdit) then (Components [I] as TEdit).Enabled := TRUE;
end;



GOSTEI 0
Djjunior

Djjunior

01/06/2004

em lugar do is TEdit no teste eu prefiro o InheritsFrom(TCustomEdit) fica mais genérico :wink:.
Só que pra gravar vc tem q usar o TapCast apropriado. tipo
para um TCurrencyEdit vc tem que usar um as TCurrencyEdit mesmo :twisted:


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/06/2004

em lugar do is TEdit no teste eu prefiro o InheritsFrom(TCustomEdit) fica mais genérico :wink:. Só que pra gravar vc tem q usar o TapCast apropriado. tipo para um TCurrencyEdit vc tem que usar um as TCurrencyEdit mesmo :twisted:


Sem dúvidas !!!!!! :P


GOSTEI 0
Paulo_amorim

Paulo_amorim

01/06/2004

Faça assim
var
  i: word;
begin
  for I := 0 to ComponentCount - 1 do
  if (Components [I] is TEdit) then (Components [I] as TEdit).Enabled := TRUE;
end;


Olá

Só para completar, também existe a sintaxe
TEdit( Components[i] ).Enabled := True;

Até+


GOSTEI 0
Bossoni

Bossoni

01/06/2004

Obrigado a todos pela ajuda.


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/06/2004

[quote:b5c24b5f1d=´TatuWeb´]Faça assim
var
  i: word;
begin
  for I := 0 to ComponentCount - 1 do
  if (Components [I] is TEdit) then (Components [I] as TEdit).Enabled := TRUE;
end;


Olá

Só para completar, também existe a sintaxe
TEdit( Components[i] ).Enabled := True;

Qual o motivo da repetição do código que já foi postado, por vc mesmo?

Até+[/quote:b5c24b5f1d]


GOSTEI 0
Paulo_amorim

Paulo_amorim

01/06/2004

Olá

Não fui eu quem postei o código que havia funcionado...

Coloquei o código na citação porque já estava la e não tirei...

Até+


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/06/2004

Olá Não fui eu quem postei o código que havia funcionado... Coloquei o código na citação porque já estava la e não tirei... Até+


Beleza, amigão !!! :wink:


GOSTEI 0
POSTAR