sábado, 20 de dezembro de 2014

Anonymous Methods + Class Helper Delphi



Caros, uma união perfeita, que pode melhorar e simplificar bastante nossa vida no desenvolvimento de aplicações utilizando Delphi, mostrarei um exemplo pratico utilizando a classe TDataSet;

- Crie uma unit, na seção type adicione;

  TMetodoDataSet = reference to procedure(Table: TDataSet);

  TDataSetHelper = class helper for TDataSet
    procedure Eoff(Metodo: TMetodoDataSet);
  end;

- Implementação;

{ TDataSetHelper }

  procedure TDataSetHelper.Eoff(Metodo: TMetodoDataSet);
  begin
    DisableControls;
    try
      First;
      while not Eof do
      begin
        Metodo(Self);
        Next;
      end;
    finally
      EnableControls;
    end;
  end;

- Para utilizar o método basta adicionar a unit ao seu form
- Exemplo;

  with FDMemTable1 do
  begin
    with FieldDefs do
    begin
      Add('cod', ftInteger);
      Add('nome', ftString, 20);
    end;
    CreateDataSet;
    AppendRecord([1, 'Develop 001']);
    AppendRecord([2, 'Develop 002']);
    AppendRecord([3, 'Develop 003']);
    AppendRecord([4, 'Develop 004']);
  end;

- Exemplo:

  FDMemTable1.eoff(procedure(Table: TDataSet)
                   begin
                     ShowMessage(Table.FieldByName('nome').AsString)
                   end)


Nenhum comentário:

Postar um comentário