Skip to content
25 de julho de 2012 / rafaelti

Método Anônimo e Economize dedo

Objetivo

Criar métodos anônimos para reaproveitar códigos

Plataforma

Delphi e windows

Conhecimento
Delphi

Introdução

Algumas vezes a trechos de códigos que são exatamente iguais, tal como na ordenação de array.

Solução

Utilizar métodos anônimos para inserir código para passar trechos de código no método.

1º Declarar o ponteiro de uma procedimento

type
  TProcedure = reference to procedure(ComponentProc : TComponent);

2º Depois criar o método que irá receber o método anônimo

procedure Form1.PercorrerComponentes(p: TProcedure);
var
  i: Integer;
begin
  for i := 0 to (Self.ComponentCount - 1) do
  begin
    p(Self.Components[i]);
  end;
end;

3º Fazer a chamada do método e passar seu método anônimo

PercorrerComponentes(
    procedure(cmp: TComponent)
    begin
      if cmp is TPageControl then
        TPageControl(cmp).ActivePageIndex := 0;
    end);

Os métodos anônimos aceitam variáreis do escopo acima.

procedure Form1.SetActiveCDS(const Actived: Boolean);
begin
  PercorrerComponentes(
    procedure(cmp: TComponent)
    begin
      if cmp is TClientDataSet then
      begin
        TClientDataSet(cmp).DisableControls;
        try
          TClientDataSet(cmp).Active := Actived;
          if Actived then
            TClientDataSet(cmp).Refresh;
        finally
          TClientDataSet(cmp).EnableControls;
        end;
      end;
    end);
end;
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: