Sabías que (2) …

Vamos con una nueva entrega de nuestro mítico juego… “Sabías que“.

Por si te perdiste la primera parte del juego y quieres ganar el primer “quesito” del trivial, aquí te dejo el enlace ¿Sabías que?… Parte 1

¿Sabías que..?

¿Sabías que se puede ocultar la Barra de Estado con un comando nativo de Velneo?

    • Usar el comando Interfaz: Ocultar (STATUS_BAR).
    • Podemos usarlo al inicio de la Aplicación en el evento POS_INI del marco Autoexec.
    • También disponemos de la función del API theMainWindow.hideStatusBar().

¿Sabías que a veces los comandos Else y Else if no funcionan correctamente porque …?

    • Los comandos de instrucción Else y Else if siempre deben estar precedidos de un comando If o Else if. Los comandos If y Else if deben estar situados al mismo nivel y no puede haber ninguna otra línea al mismo nivel entre ambos, ni siquiera un Rem.

¿Sabías que se puede convertir un control de puntero a maestro en un control de edición alfabética?

    • El control de edición del puntero a maestro tiene un comportamiento especial para permitir el Autocompletado o la selección de un registro desde la Vista de datos.
    • Si solo nos interesa mostrar el Nombre del maestro como un control de edición alfabética añadimos el string vacío “” al contenido del campo.
      Por ejemplo el contenido   “” + #PUNTERO_MAESTRO.NAME  hará que las propiedades Autocompletar y Tipo de botones desaparezcan.
      Fijando a 1 el valor de la propiedad Solo lectura conseguimos un control no editable.
    • Recordad que la clase VBoundFieldEdit representa al control de edición de puntero a maestro y la clase VLineEdit al control de edición alfabética.

¿Sabías que se puede determinar el tamaño de los iconos del objeto de lista ListView?

    • El tamaño de los Iconos en un objeto de lista ListView se determina con el tamaño del Dibujo del proyecto que asignamos a la propiedad Icono nulo.
    • Añade al proyecto un objeto Dibujo y ponle un tamaño con el editor (por ejemplo 150x100px) y lo asignas a la propiedad Icono nulo del ListView.

¿Sabes cuándo se calculan por primera vez los valores iniciales de los campos de una Tabla?

    • Desde un formulario se calculan siempre en primer plano.
    • En el plano que corresponda cuando se ejecuta el comando Crear nueva ficha en memoria.
    • La función del API VRegister.setTable() es la que ejecuta los valores iniciales. Tenedlo en cuenta en los bucles que añaden registros a una tabla.
    • Crear Copia de ficha en memoria no ejecuta valores iniciales. Podemos usar el comando Calcula campos dependientes, pero solo funciona con fórmulas que contienen campos de la tabla.
    • Los Tubos de ficha o lista no ejecutan los valores iniciales. Solamente se ejecutan los valores iniciales que dependan de otros campos de la tabla de destino

¿Sabes el orden de las señales cuando se han definido mas de una vez sobre el mismo control?

    • Un objeto de lista del proyecto con una conexión de evento Cambio de seleccionado se incrusta en un control Vista de datos del formulario.
    • En el control Vista de datos definimos la misma conexión de evento Cambio de seleccionado.
    • Se ejecutarán los 2 manejadores de evento, pero siempre primero el manejador de evento del objeto del proyecto.
    • De esta forma podemos tener funcionalidad común en el objeto del proyecto (por ejemplo guardar el ID seleccionado) y en los distintos formularios disparar una conexión de evento con un manejador de evento personalizado cuya primera línea podrá ser

Interfaz: Get variable local de vista de datos (CTR_LISTA, NID_FICHA, NID_FICHA_LISTA)

La variable local de la Vista de datos NID_FICHA tendrá un valor fijado previamente por la conexión de evento del objeto de lista.

¿Sabías que VReport SOLO tiene acceso al proyecto de datos?

    • Desde el editor de fórmulas de VReport solo tenemos acceso a los controles del proyecto de datos de la tabla de entrada (funciones, constantes, variables globales, …)

¿Sabías que un proceso ejecutado desde un formulario recibe como entrada la ficha en memoria que está en Alta o Modificación?

    • El comando Ejecutar proceso ejecutado desde un manejador de evento o desde un botón del formulario pasa como entrada la Ficha que tenemos en memoria en Alta o Modificación.
    • Por lo tanto podemos modificar los campos de la Ficha en memoria sin generar nueva transacción (equivale al comando Pedir formulario).
    • ¡¡Ojo!! no es lo mismo que ejecutar los comandos Crear manejador de objeto, Añadir ficha al objeto y Disparar objeto. En este caso lo que pasamos al proceso es la ficha en disco.

¿Sabías que puedes aplicar formato HTML/CSS a los controles de Texto estático en los formularios?

    • La propiedad Nombre de los controles de tipo Texto estático aceptan código HTML/CSS que se interpreta en tiempo de diseño y en ejecución.
      Un ejemplo de lo que se puede conseguir se muestra en la captura siguiente. Encima de cada Texto estático aparece el contenido de la propiedad Nombre.

VAF_S2_HTML

    • Como se puede ver podemos usar directamente Titulares H1, H2, …, colorear texto, crear líneas horizontales con un simple <hr>, insertar imágenes desde la carpeta caché o directorio por defecto, subíndices y superíndices.
    • No es una funcionalidad documentada, por lo tanto puede desaparecer en futuras versiones.

Y ahora confiesa… ¿cuántas sabías? 

Déjame un comentario mas abajo y comenzamos el debate.

Paco Satué
correo@pacosatu.es

Es un Ingeniero de Telecomunicación de carrera y un Informático-programador por vocación, que empezó en los 80 con DBase, Clipper y FoxBase. Hasta el año 2012 utilizó Visual Foxpro, pero debido a su abandono por parte de Microsoft tuvo que buscar una herramienta de desarrollo alternativa. La elección fue Velneo porque principalmente es una empresa española con soporte cercano, aparte de un producto moderno y adaptado a las últimas tecnologías Cliente-Servidor en Cloud.

1Comment
  • Miguel
    Posted at 12:12h, 26 Enero Responder

    Gracias Paco, como siempre enseñando a pescar.

Post A Comment

Pin It on Pinterest