logotipo Blog Giovani Da Cruz
Delphi

Apontar um procedimento para eventos no Delphi/Lazarus

3 min de leitura 111 visualizações
Apontar um Procedimento para Eventos de Componentes em Delphi e Lazarus
Neste exemplo estamos “trocando o clique” do botão BtnVerMensagem

 

Em desenvolvimento com Delphi e Lazarus, os eventos são fundamentais para reagir às interações do usuário ou às mudanças no estado dos componentes. Apontar um procedimento para um evento é uma prática comum que oferece flexibilidade ao código e melhora a organização da lógica do programa.

 

O que são eventos?

Eventos são métodos associados a componentes, disparados automaticamente em resposta a determinadas ações, como cliques, alterações de valores, entre outros. Por exemplo, o evento OnClick de um botão é chamado quando o botão é clicado.

Em Delphi e Lazarus, os eventos são representados por propriedades que armazenam referências para procedures compatíveis, chamadas de event handlers.

 

Passo a Passo para Apontar um Procedimento a um Evento

Criar o Procedimento Compatível

Um evento exige um método com uma assinatura específica (número e tipo de parâmetros). Por exemplo, o evento OnClick requer:

procedure(Sender: TObject) of object;

Exemplo de um handler:

procedure TForm1.ButtonClick(Sender: TObject);
begin
  ShowMessage('Botão clicado!');
end;

Sender: Indica o componente que disparou o evento.

 

Atribuir o Procedimento ao Evento

Para apontar o procedimento ao evento, você pode fazer isso de duas formas:

2.1. No Design do Formulário

  • Clique no componente.
  • No Object Inspector, localize a aba Events.
  • Dê um duplo clique no evento desejado.
  • Delphi ou Lazarus criará automaticamente o procedimento no código e fará a atribuição.

 

2.2. Em Tempo de Execução (Runtime)

Atribuir eventos programaticamente é útil em cenários dinâmicos, como quando os componentes são criados em tempo de execução.

Em Delphi

Button1.OnClick := ButtonClick;

Em Lazarus

Button1.OnClick := @ButtonClick;

 

Desvincular o Procedimento (Opcional)

Para desassociar um evento, basta atribuir nil:

Em ambas IDEs

Button1.OnClick := nil;

 

Dicas para um Código Mais Limpo

Evite duplicação de lógica: Reutilize um único handler para múltiplos componentes.

procedure TForm1.GenericClick(Sender: TObject);
begin
  if Sender is TButton then
    ShowMessage(TButton(Sender).Caption);
end;

Button1.OnClick := GenericClick;
Button2.OnClick := GenericClick;

Organize os Handlers: Para projetos grandes, mantenha handlers agrupados logicamente, facilitando a manutenção do código.

 

Conclusão

Apontar procedimentos para eventos é uma tarefa essencial no desenvolvimento com Delphi e Lazarus, permitindo criar interfaces interativas e responsivas. Pratique atribuir eventos tanto no design quanto em runtime para maximizar sua produtividade e flexibilidade no desenvolvimento!

 

 

💬 O que você achou deste conteúdo?
Deixe seu comentário aqui embaixo! 📥 Queremos saber sua opinião, tirar suas dúvidas ou ouvir suas sugestões. 🚀

Participe da conversa! 😊

 

Lembre de compartilhar este post com amigos e colegas que tenham interesse no assunto! 👫🔗

 

📚 Obrigado por acompanhar até aqui! Explore outros posts relacionados no blog e continue evoluindo suas habilidades. Tem mais conteúdos sobre diversos assuntos te esperando! 👩‍💻 🔍✨

Até o próximo post. Valeu! 👋📖

 

#Delphi #Lazarus #Desenvolvimento

#Programação #Eventos

#CódigoLimpo #Desenvolvedores

#Tecnologia #DicasDeProgramação #DevLife

#GiovaniDaCruz

 

Deixe um comentário

Seu e-mail não será publicado.