Buscar

Controlando a propriedade de vários objetos deferentes ao mesmo tempo.

Código

Imagine um projeto de cadastro de clientes que ao clicar no botão cadastrar você precise desabilitar um panel, alguns botões e outros tipos de componentes, normalmente em um caso desses você pensaria em fazer o seguinte codigo:

Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := False;
Button4.Enabled := False;
Panel1.Enabled := False;
Panel2.Enabled := False;
RadioButton1.Enabled := False;
RadioButton2.Enabled := False;
DBNavigator1.Enabled := False;
DBGrid1.Enabled := False;

Que tal deixar este codigo bem mais claro e funcional?
Pois bem, com essa procedure abaixo você pode habilitar/desabilitar vários itens ao mesmo tempo sem precisar fazer essa bagunça de código, pois todos esses tipos de controles são herdados de TControl e possuem muitas propriedades em comum inclusive esta.

Procedure:
procedure TForm1.Controla_Componentes(Itens: array of TControl; Acao: Boolean);
var
  i: Integer;
begin
  for i := Low(Itens) to High(Itens) do
    TControl(Itens[i]).Enabled := Acao;
end;

Exemplo de uso:
procedure TForm1.Button3Click(Sender: TObject);
begin
  Controla_Componentes([Button1, GroupBox1,
  Panel1, ListBox1,
  ComboBox1, RadioButton1,
  Checkbox1, BitBtn1,
  SpeedButton1, Memo1,
  Edit1, Label1,
  DBGrid1, CheckListBox1,
  TrackBar1, MonthCalendar1,
  PageControl1, ColorGrid1,
  Calendar1, RichEdit1], False);
end;

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 29/06/07
Por: Daniel Breda
Visualizada: 5801 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009