4D v14

Eventos

Página Inicial

 
4D v14
Eventos

Eventos    


 

 

Além das manipulações explicadas no vídeo, também se deve levar em conta que:

Não todos os objetos têm os mesmos eventos: por exemplo, não se pode selecionar o evento "On Data Change" para um botão, como não pode "entrar" em seu conteúdo (título).

Estes são alguns exemplos:

  • On Mouse Enter
    Quando o mouse entra no "espaço aéreo" de um objeto.
  • On Data Change
    Ao sair de um campo ou uma variável cujo conteúdo foi mudado.
    Isto se utiliza sobre todo para os controles de entrada, formato (maiúsculas e minúsculas), pesquisas e cálculos.
  • On Clicked
    Quando é feito clique em um objeto (principalmente botões, pop-ups, menus, etc.)
    Também podem ser utilizados em objetos editáveis.
  • On Getting Focus
    O objeto acaba de receber o foco (de On Clicked, se utiliza com a tecla tab ou por programação).
  • On Load
    Justo antes que um formulário seja mostrado na tela ou se utilize durante uma impressão.
    Durante este evento geralmente se realiza a inicialização.
  • On Printing Detail
    Durante a impressão de registros.
    Permite, por exemplo, definir um valor para as variáveis de total, concatenação.

Esta lista lhe ajudará a entender os eventos. Pode consultar a documentação de 4D para obter uma descrição completa dos eventos.

Há um detalhe importante que os  usuários novos sempre perguntam: “¿Devo selecionar os eventos de formulário ou os eventos de objetos?” A resposta é simples: tudo depende de onde vai ser criado seu método.
O método formulário, em teoria, só deve conter o que é relevante para processar todo o formulário:

  • Redimensionar
  • Chamada exterior
  • Visualização/ocultar objetos
  • etc.

Enquanto os métodos objeto devem conter o que é específico a cada objeto (botão, campo, etc.) Essa é a regra geral e você deve ter boas razões antes que a considere quebrar.

Lembre:

  • Método formulário: centralizado, processamento global, fácil manutenção.
    Risco de ser executado com mais frequência do que o necessário.
  • Método objeto: específico, adaptado, executado somente quando seja necessário.
    Permite facilmente mover um objeto utilizando copiar e colar (sobre se utiliza ponteiros).
    Obriga a duplicar o método ou chamar ao método em cada objeto.

O que sucede é que movemos certos processos no método formulário.

Por exemplo, deve recalcular um valor em função de 10 parâmetros editáveis. Para cada parâmetro modificado, deve voltar a realizar o cálculo. No lugar de colocar a fórmula (ou chamada de método) em cada um dos 10 campos parâmetros, é possível mover este cálculo no método formulário.

Neste caso, é mais fácil e centralizado, no entanto, é bem provável que o novo cálculo se realize com maior frequência do que o necessário, especialmente durante a modificação de uma área que não figura no cálculo final.  (Nota: 4D permite saber qual foi o objeto modificado para que podamos adaptar o cálculo de acordo com esta informação).

É importante saber a ordem em que os eventos se executam. Por exemplo, para um botão, os eventos se executam na seguinte ordem:

  • On Mouse Enter
  • On Mouse Move
  • On Getting Focus
  • On Clicked (if any)
  • On Mouse Leave
  • On Losing Focus

Um campo ou uma variável onde seja feito clique:

  • On Mouse Enter
  • On Mouse Move
  • On Getting Focus
  • On Data Change (if any)
  • On Losing Focus
  • On Mouse Leave

Para economizar tempo ao escrever seu código e torná-lo mais confiável, lembre configurar macros (archivo “macros.xml”).

Por exemplo, pode criar um macro que escreva o seguinte código quando digite “#$evt” em seu método:

 $evt:=Form event
 Case of
    :($evt=On Data Change)
 
    :($evt=On Load)
 
 End case

Enquanto esteja aprendendo a utilizar 4D, lhe recomendamos começar por colocar seus métodos em seus objetos, terá maior flexibilidade para a atualização. Logo, comece por utilizar as chamadas de métodos genéricos e por último, quando tudo funcione corretamente, veja o que pode passar dos métodos objeto a seu método formulário ou métodos projetos. A continuação pode começar a passar ponteiros também.

Para ir mais longe:
Dê uma boa olhada a como funcionam os eventos, já que lhe permitirá entender exatamente quando executar sua programação. Também encontrará uma série de ideias para dar poderosos primeiros passos utilizando eventos tais como:

  • On Drag Over
  • On Drop
  • On Selection Change
  • mais os três eventos ’On Mouse’ (Move, Leave, Enter)

E claro os grandes clássicos:

  • On Clicked
  • On Double Clicked
  • On Long Click
  • etc.

 
 

 
PROPRIEDADES 

Produto: 4D
Tema: Eventos

 
ARTICLE USAGE

Autoformação ( 4D v13)
Autoformação ( 4D v14)