4D v16Eventos |
||
|
4D v16
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:
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.
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:
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:
Um campo ou uma variável onde seja feito clique:
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 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:
E claro os grandes clássicos:
Neste vídeo, vamos a aprender o funcionamento dos eventos e sua programação. Primeiro, vamos a diferenciar entre:
Os eventos de formulário só se ativam quando se utiliza um formulário (na tela ou ao imprimir), portanto, quando a interface está sendo utilizada por um usuário (clique, arrastar e soltar, seleção de elementos de um menu, teclado...). Os eventos base só se referem a 3 ações que se realizam nos dados:
Estes 3 eventos são interceptados pelo motor de dados. Isto é importante já que em modo cliente/servidor, o motor de dados se executa no servidor pelo que nunca irá ver um evento de base de dados ser executado no computador cliente. Não poderá ser rastreado desde um computador cliente. Volveremos aos eventos de base de dados mais a frente. Em primeiro lugar, vamos nos divertir um pouco e criar um botão um tanto "especial".
introduzimos o seguinte código: //Localização do mouse quando inicia o método If($Mouse_V<$Center_V) //Se o mouse está encima do centro O que significa que:
Vamos ver no que isto nos dá:
Cada vez que nos acercamos ao botão, é movida na direção oposta (esquerda, direita, acima ou abaixo). Se o botão se retira da tela, fechamos o formulário e começamos de novo, o botão voltará a aparecer em sua posição inicial. Esse foi um exemplo do uso de eventos. Demos uma olhada a outro exemplo: durante a entrada de uma intervenção, queremos calcular sua duração com base na informação introduzida na hora de inicio e final. Teremos que:
A duração se recalculará como a diferença entre a hora final menos a hora de intervenção, com a condição de que o tempo final se enche (em outras palavras, que não seja zero). Agora podemos copiar o código e criar o método de hora de final. Quando vamos a modificá-la: a hora de intervenção deve ser preenchida e o cálculo da duração sempre será o mesmo.
A programação foi realizada realmente quando saímos do campo, em outras palavras, no contexto do evento "On Data Change". Na seguinte seção, vamos a tratar a programação de arrays.
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
ARTICLE USAGE
Autoformação ( 4D v16) |