Quick Tips : Method Pointer no Delphi

Nesta Quick veremos Method Pointer no Delphi

 

Olá galera, nesta Quick Tips irei mostrar como trabalhar com Method Pointer no Delphi, vou criar dois métodos para poder implementar nos Edits e Combobox, mas nada impede de vocês usarem outros componentes claro que adaptando o exemplo.

 

  Mas o que seria Method Pointer ?

R: Method pointer é um recurso que nos possibilita atribuir procedures e funções à variáveis ou à outras procedures e funções, isso é possivel porque cada método possui um ponteiro, com isso apenas apontamos a referencia de uma procedure/function/variavel para a referencia de um outro método

 

Vamos ao exemplo, adicione:

1 Edit

1 Combobox

 

 

Criar uma procedure MudarCorEntra(Sender: TObject)

  1. procedure TForm1.MudarCorEntra(Sender: TObject);
  2. begin
  3.   if Sender is TEdit then
  4. TEdit(Sender).Color := $00BFFFFF
  5.   else
  6.   if Sender is TComboBox then
  7. TComboBox(Sender).Color := $00BFFFFF;
  8. end;

 Criar uma procedure MudarCorSair (Sender: TObject)

  1. procedure TForm1.MudarCorSair(Sender: TObject);
  2. begin
  3.   if Sender is TEdit then
  4. TEdit(Sender).Color := clWhite
  5.   else
  6.   if Sender is TComboBox then
  7. TComboBox(Sender).Color := clWhite
  8. end;

 

Create do Form : Estamos varrendo aqui todos os componentes que tem no form, e verificando se eles pertencem a classe TEdit, e TCombobox, caso pertença, podemos fazer o Method Pointer

 

  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.   I: Integer;
  4. begin
  5. exit;
  6.   for I := 0 to ComponentCount - 1 do
  7.   begin
  8. if Components[i] is TEdit then
  9. begin
  10. TEdit(Components[i]).OnEnter := MudarCorEntra;
  11. TEdit(Components[i]).OnExit  := MudarCorSair;
  12. end
  13. else
  14. if Components[i] is TComboBox then
  15. begin
  16. TComboBox(Components[i]).OnEnter := MudarCorEntra;
  17. TComboBox(Components[i]).OnExit  := MudarCorSair;
  18. end;
  19.   end;
  20. end;

 

Obs : Você pode melhorar este onCreate para habilitar os componentes, ou desabilitar ou limpar por exemplo, fica ai com a imaginação de vocês.

 

Fico por aqui até a  próxima Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br



Artigos relacionados