News & Events
Como usar Array de Objetos?
Olá pessoal,
O assunto é: Como usar Array de Objetos?
Neste mini-artigo vamos criar um pequeno aplicativos mostrando como usar um Array de Objetos para ativar e desativar botões em um form.
Crie uma nova aplicação no Delphi e desenhe uma janela como mostrada a seguir:
Crie uma nova unit em File >> New >> Unit.
Em nossa unit declare uma nova procedure na área Interface como abaixo:
procedure HabilitarDesabilitar(AForm: TForm; AEstado: Boolean;
AComps: Array of TObject);
begin
with AForm do
begin
if AEstado then
begin
(AComps[0] as TSpeedButton).Enabled := True;
(AComps[1] as TSpeedButton).Enabled := True;
(AComps[2] as TSpeedButton).Enabled := True;
(AComps[3] as TSpeedButton).Enabled := False;
(AComps[4] as TSpeedButton).Enabled := False;
end
else
begin
(AComps[0] as TSpeedButton).Enabled := False;
(AComps[1] as TSpeedButton).Enabled := False;
(AComps[2] as TSpeedButton).Enabled := False;
(AComps[3] as TSpeedButton).Enabled := True;
(AComps[4] as TSpeedButton).Enabled := True;
end;
end;
end;
Salve todos os arquivos e vamos voltar a unit principal. Declare a unit2, onde consta nossa função, no uses do form principal. Em seguida declare a variável AComps na seção public do form.
AComps : Array[0..4] of TObject;
Agora vamos atribuir valores a variável criada no evento onCreate do form.
Codifique o evento como a seguir:
procedure TForm1.FormCreate(Sender: TObject);
begin
AComps[0] := SpeedButton1;
AComps[1] := SpeedButton2;
AComps[2] := SpeedButton3;
AComps[3] := SpeedButton4;
AComps[4] := SpeedButton1;
end;
Isso fará com que os quatro elementos do Array recebam os botões que colocamos no form. Todos são TSpeedButton.
Agora inclua dois novos botões ao form. Cada um fará a ativação ou desativação dos SpeedButtons chamando a função HabilitarDesabilitar. A função é chamada passando como parâmetro o form onde se encontram os botões, se ativa ou desativa e por último o array de objetos. Veja abaixo o código de cada botão:
procedure TForm1.Button1Click(Sender: TObject);
begin
//Ativa os botões
HabilitarDesabilitar(Form1, True, AComps);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//Desativa os botões
HabilitarDesabilitar(Form1, False, AComps);
end;
Veja o exemplo funcionando abaixo:
Faça o download do exemplo na seção Downloads.
Siga @tdevrocks no Twitter agora e fique por dentro de todas as atualizações do blog.
Siga também o autor @asrsantos
This comment has been removed by a blog administrator.
This comment has been removed by a blog administrator.