07 Jun Sabías que … (6)
Se ha hecho esperar pero ya tenemos una nueva entrega de nuestro famoso juego «Sabías que«. En este post veremos curiosidades sobre gráficos, manejadores y CSS… ¡en vDevelop!.
Por si te perdiste las cinco primeras entregas del «juego», no está de mas recordarlas:
- Primer «quesito» del trivial: ¿Sabías que?… Parte 1
- Segundo «quesito» del trivial: ¿Sabías que?… Parte 2
- Tercer «quesito» del trivial: ¿Sabías qué?… Parte 3
- Cuarto «quesito» del trivial: ¿Sabías qué? … Parte 4
- Quinto «quesito» del trivial: ¿Sabías qué? … Parte 5
Los gráficos nativos se pueden imprimir con vReport, pero con ciertas limitaciones.
-
- Si queremos imprimir un gráfico nativo de Velneo podremos hacerlo con VReport teniendo en cuenta lo siguiente:
- En Vreport no se ejecutarán los eventos del gráfico y por lo tanto cualquier asignación de variables locales no tendrá efecto
- Si el modo de leyenda es «Interactiva» tampoco podemos reflejar el estado de visualización de las series
- El gráfico nativo de Velneo es un objeto estático que solo puede ser personalizado en vReport mediante el proceso que lo alimenta y el uso de variables globales.
- Sin embargo en QML podemos usar el componente ChartView, interactuar con él, guardar en disco una foto e imprimirla en vReport.
- Si queremos imprimir un gráfico nativo de Velneo podremos hacerlo con VReport teniendo en cuenta lo siguiente:
Las Cestas con el mismo nombre se reutilizan cuando son creadas en un manejador llamado por otro.
-
- Aunque muchos ya lo sabréis, no está de más recordar este comportamiento ya que puede ocasionar errores graves en nuestra aplicación.
- Despista el hecho de que tengamos que usar el comando «Cesta: crear cesta local» y sin embargo la cesta se reutilizará si le asignamos el Nombre de una Cesta creada previamente en un manejador padre.
- Usaremos el comando «Cesta: limpiar» inmediatamente después de crearla para asegurarnos de que no se reutiliza.
- Más información en la ayuda de Velneo.
Los manejadores de evento encadenados se comportan como un solo proceso.
-
- Ejecutar un manejador de evento desde otro manejador no implica generar un nuevo proceso.
- Las transacciones abiertas en el segundo manejador no se cierran hasta que termina el primer manejador
- Es un comportamiento diferente al de los procesos y por eso es importante recordarlo.
- Más información en la ayuda de Velneo.
Obtener el primer y último día del mes.
-
- En Velneo disponemos de la función daysInMonth(fecha)
Set (FECHA, currentDate()) Set (PRIMERDIA, setDate(FECHA), month(FECHA), 1) Set (ULTIMODIA, setDate(FECHA), month(FECHA), daysInMonth(FECHA)))
-
- En Javascript restamos un día al primer dia del mes siguiente
var fecha = new Date(); var primerDia = new Date(fecha.getFullYear(), fecha.getMonth(), 1); var ultimoDia = new Date(fecha.getFullYear(), fecha.getMonth() + 1, 0);
Un Manejador de Evento puede utilizarse para validar los datos antes de guardar.
-
- Ejecutar un Manejador de evento VALIDAR_REGISTRO con variable Local LOK para el retorno.
- Ejecutando los comandos «Set retorno de proceso = No» y «Finalizar proceso» el valor de LOK será 0, de lo contrario 1.
- Comprobamos el valor de LOK para validar la Ficha.
- De esta forma podemos ejecutar VALIDAR_REGISTRO como si fuera una función.
- Nos servirá para comprobar la Ficha antes de Guardar y en el evento On_Close si el usuario cambia de pestaña sin Guardar.
Interfaz: Ejecutar manejador de evento (VALIDAR_REGISTRO, LOK) If (LOK) Interfaz: Aceptar else ...
CSS en vDevelop.
-
- ¿No te gusta el aspecto de vDevelop? ¿Has notado como tu vista cansada sufre desde que usas Velneo?
- Construye entonces tu propio CSS tal como lo harías para una aplicación de vClient para tu mejor cliente.
- Usa el parámetro -stylesheet=<path>\hoja_estilo.css en vDevelop.exe y todo cambiará.
- Y aunque no te lo creas está documentado.
- Tenemos en Internet algún ejemplo de CSS en Qt-Creator que podemos aplicar a vDevelop.
En la imagen siguiente se muestra el editor de código con fuente de espaciado fijo, consolas y 14pt.
Ordenar Controles en los Formularios.
-
- El panel de subObjetos de vDevelop muestra la lista de todos los controles en la pestaña del mismo nombre.
- Seguro que más de una vez habrás pensado que es una herramienta claramente insuficiente.
- Hay procedimientos que pueden pasar desapercibidos.
- Por ejemplo, ¿ cómo podemos ordenar varios objetos rápidamente ?
- Mantén pulsado Shift y haz click en varios controles en el mismo orden en que deben ser ordenados.
- Pulsa Ctrl+X para cortar los controles seleccionados.
- Selecciona un Control del formulario.
- Pulsa Ctrl+V para pegar los controles.
- Los controles se situarán después del control seleccionado y en el orden deseado.
Condiciones de Estilo en Rejillas, no sobrescribir el valor de Color de fondo.
-
- En el subObjeto «Condición de estilo» de la Rejilla podemos definir las propiedades de Color de texto y Color de fondo.
- Aunque solo queramos cambiar el Color de texto, el Color de fondo se aplicará siempre, que será blanco por defecto.
- Si la Rejilla tiene un color de fondo alternado (efecto de cebra), aplicado mediante CSS, cuando se aplica la «Condición de estilo» las columnas afectadas perderán el efecto cebra.
- Para evitarlo no tenemos más que definir un color transparente en la propiedad Color de fondo. Un color transparente se obtiene poniendo a cero el canal alfa del Selector de color.
Usar funciones en vReport.
-
- Desde un informe vReport tenemos acceso a las tablas y al resto de objetos del Proyecto de datos de la Aplicación.
- Por lo tanto, podemos ejecutar Funciones del Proyecto de datos desde el Editor de fórmulas.
- Una aplicación inmediata puede ser imprimir los acumulados en el Encabezado del agrupamiento en lugar de hacerlo en el pie.
- Esto es otra forma de hacer más potentes y dinámicos nuestros informes
Evitar la ejecución de un Dock de Formulario.
-
- El objeto Dock de Formulario es una potente herramienta para mostrar o gestionar información de forma permanente en nuestra aplicación.
- Un Dock de Formulario es accesible en vDevelop desde cualquier objeto del proyecto de aplicación.
- Además de mostrar u ocultar el Dock, disponemos del comando «Interfaz: set dock features» para determinar su comportamiento de cara al usuario.
- Pero, ¿cómo podemos evitar que se cree un Dock de formulario según el perfil del usuario?
- Muy sencillo, pongamos un comando «Set retorno de proceso = NO» en el manejador PRE_INI del formulario y ya no habrá rastro del Dock en nuestra aplicación.
Y ahora confiesa… ¿cuántas de estas curiosidades gráficos, manejadores y CSS… ¡en vDevelop! sabías?
Déjame un comentario mas abajo y comenzamos el debate.
Ramon Denuc
Posted at 17:37h, 11 junioPaco,
Sensacional, como siempre, todos estos apuntes son un buen repaso de cosas que uno sabe, pero que ha veces no se utiliza y se va dejando a un lado.
Gracias
Paco Satué
Posted at 11:09h, 12 junioHola Ramon.
Gracias por el comentario.
Este apartado se creó precisamente para recordar aquellos trucos o funcionalidades de Velneo que están allí pero muchas veces no caemos en ello.
Espero que os sirvan para descubrir lo divertido que puede llegar a ser programar con Velneo.
Saludos
Paco Satué