4D v16Eventos |
||
|
4D v16
Eventos
Eventos
Además de las manipulaciones explicadas en el vídeo, también debe tener en cuenta que: No todos los objetos tienen los mismos eventos: por ejemplo, no se puede seleccionar el evento "On Data Change" para un botón, ya que no puede "entrar" en su contenido (título). Estos son algunos ejemplos:
Esta lista le ayudará a entender los eventos. Puede consultar la documentación de 4D para obtener una descripción completa de los eventos. Hay un detalle importante que los usuarios nuevos siempre preguntan: “¿Debo seleccionar los eventos de formulario o los eventos de objetos?” La respuesta es simple: todo depende de dónde va a crear su método.
Mientras que los métodos objeto deben contener lo que es específico a cada objeto (botón, campo, etc.) Esa es la regla general y usted debe tener varias buenas razones antes de considerar romperla. Recuerde:
Lo que ocurre es que movemos ciertos procesos en el método formulario. Por ejemplo, debe recalcular un valor en función de 10 parámetros editables. Para cada parámetro modificado, debe volver a realizar el cálculo. En lugar de poner la fórmula (o llamada de método) en cada uno de los 10 campos parámetros, es posible mover este cálculo en el método formulario. En este caso, es más fácil y centralizado, sin embargo, es muy probable que el nuevo cálculo se efectúe con más frecuencia de lo necesario, especialmente durante la modificación de un área que no figura en el cálculo final. (Nota: 4D permite saber cuál fue el objeto modificado para que podamos adaptar el cálculo de acuerdo con esta información). Es importante saber el orden en que los eventos se ejecutan. Por ejemplo, para un botón, los eventos se ejecutan en el siguiente orden:
Un campo o una variable en donde se haga clic:
Para ahorra tiempo al escribir su código y hacerlo más confiable, recuerde configurar macros (archivo “macros.xml”). Por ejemplo, puede crear una macro que escriba el siguiente código cuando digite “#$evt” en su método: $evt:=Form event Mientras esté aprendiendo a utilizar 4D, le recomendamos empezar por poner sus métodos en sus objetos, tendrá más flexibilidad para la actualización. Luego, comience por utilizar las llamadas de métodos genéricos y por último, cuando todo funcione correctamente, vea lo que puede pasar de los métodos objeto a su método formulario o métodos proyectos. A continuación, puede empezar a pasar punteros también. Para ir más lejos:
y por supuesto los grandes clásicos:
En este vídeo, vamos a aprender el funcionamiento de los eventos y su programación. Primero, vamos a diferenciar entre:
Los eventos de formulario sólo se activan cuando se utiliza un formulario (en la pantalla o al imprimir), por lo tanto, cuando la interfaz está siendo utilizada por un usuario (clic, arrastrar y soltar, selección de elementos de un menú, teclado...). Los eventos base sólo se refieren a 3 acciones que se realizan en los datos:
Estos 3 eventos son interceptados por el motor de datos. Esto es importante ya que en modo cliente/servidor, el motor de datos se ejecuta en el servidor por lo que nunca va a ver un evento de base de datos ejecutarse en la máquina cliente. No podrá rastrearlo desde un equipo cliente. Volveremos a los eventos de base de datos más adelante. En primer lugar, vamos a divertirnos un poco y crear un botón un tanto "especial".
introducimos el siguiente código: //Ubicación del ratón cuando inicia el método If($Mouse_V<$Center_V) //Si el ratón está arriba del centro lo que significa que:
Veamos lo que esto nos da:
Cada vez que nos acercamos al botón, se mueve en la dirección opuesta (izquierda, derecha, arriba o abajo). Si el botón se sale de la pantalla, cerramos el formulario y empezamos de nuevo, el botón volverá a aparecer en su posición inicial. Ese fue un ejemplo del uso de eventos. Demos un vistazo a otro ejemplo: durante la entrada de una intervención, queremos calcular su duración basados en la información introducida en la hora de inicio y final. Tendremos que:
La duración se recalculará como la diferencia entre la hora final menos la hora de intervención, con la condición de que el tiempo final se llene (en otras palabras, que no sea cero). Ahora podemos copiar el código y crear el método de hora de final. Cuando la vamos a modificar: la hora de intervención debe llenarse y el cálculo de la duración siempre será el mismo.
La programación fue realizada realmente cuando salimos del campo, en otras palabras, en el contexto del evento "On Data Change". En la siguiente sección, vamos a tratar la programación de arrays.
|
PROPIEDADES
Producto: 4D
HISTORIA
ARTICLE USAGE
Autoformación ( 4D v16) |