Documentación de Velneo
30
30
  • Introducción
  • Velneo
    • Requerimientos de Velneo
    • Notas de la versión
    • Funcionalidades comunes a los componentes de Velneo
      • Instalación
      • Conexión con Velneo vServer
      • Cambiar el estilo de visualización
      • Ver u ocultar barras de herramientas
      • Mensajería interna entre usuarios
      • Soporte de alta resolución (HighDPI)
      • Carpetas de trabajo de los componentes de Velneo
      • Numeración de versiones de Velneo
      • Certificado de firma digital para componentes de Windows
    • Tipos de archivo generados por Velneo
    • Velneo Web
      • Plataformas y navegadores compatibles
      • Acceso a recursos del sistema
      • Siempre https
      • Funcionamiento de vatp por websocket
      • CORS para llamadas xmlhttprequest
  • Velneo vDevelop
    • ¿Qué es Velneo vDevelop?
    • Identificación de usuario
    • Interfaz de Velneo vDevelop
      • Menú Soluciones
      • Menú Proyectos
      • Menú Objetos
      • Menú Scripts
      • Menú Edición
      • Menú Ver
      • Menú Componentes
      • Menú Ayuda
    • Lista de teclas aceleradoras de Velneo vDevelop
    • Soluciones y proyectos
    • Control y edición de proyectos
    • Herencia
    • Inspectores
    • Proyectos objetos y editores
      • Proyecto de datos
      • Proyecto de aplicación
        • Crear CSS para aplicar a objetos en edición
      • Objeto
        • Refactorización automátca
      • Objetos de proyecto de datos
        • Indice complejo
        • Tabla
          • Actualización
          • Campo
          • Enlace
          • Indice
          • Plural
          • Traspaso de campo
          • Trigger
        • Tabla estática
        • Variable
      • Objetos de proyecto de aplicación
        • Acción
        • Alternador de lista
        • Arbol visor de tablas
        • Bloc de formularios
        • Casillero
        • Cesta
        • ComboView
        • Control SVG
        • Dispositivo serie
        • Formulario
          • Controles de visualización
            • Texto estático
            • Nombre de campo
            • Visor HTML
            • Dibujo
            • Imagen SVG
            • Caja de grupo
            • Menú arbolado
            • Barra de progreso
            • Reloj
            • Manómetro
            • Termómetro
          • Controles de edición
            • Caja de texto
            • Caja de texto enriquecido
            • Data catcher edit
            • Edición alfabética
            • Edición fecha
            • Edición fecha/hora
            • Edición fórmula
            • Edición hora
            • Edición numérica
            • Edición senda fichero
            • Edición senda directorio
            • Objeto dibujo
          • Controles de entrada
            • Botón
            • Botón de check
            • Botón de radio
            • Calendario
            • ComboBox
            • Deslizador
            • Dial
            • ListBox
            • Rueda
          • Contenedores
            • Área de scroll
            • Caja de formularios
            • Pila de formularios
            • Separador de formularios
            • Splitter
            • Vista de datos
          • Layout
          • Tree widget
          • Controles SVG
          • Extensión de ficha
        • Formulario QML
        • Gráfico
        • Imagen SVG
        • Impresora lógica
        • Informe
          • Editor de informes
          • Agrupamiento
          • Sección
          • Cálculo
        • Informe personalizable
          • Diseñando un informe personalizable básico
          • Diseño avanzado
          • Diseñando un informe personalizable
          • Añadiendo orígenes de datos
          • Añadiendo elementos al informe
          • Características avanzadas
          • Etiquetas
          • Asistente de scripts
          • Impresión de gráficos
          • Opciones html
        • ListView
        • Lista QML
        • Localizador
        • Marco
        • Menú
        • Multivista
        • Protocolo TCP-IP
        • Reemplazo
        • Rejilla
          • Propiedades de columna de rejilla
        • Rejilla avanzada
          • Propiedades de columna de rejilla avanzada
        • Toolbar
        • ViewFlow
        • Sub-objetos de vistas de datos
          • Conexión de evento
          • Drop
          • Inserción
          • Manejador de evento
      • Objetos comunes a proyecto de datos y de aplicación
        • Búsqueda
        • Cola
        • Constante
        • Dibujo
        • Esquema de tablas
        • Fichero adjunto
        • Función
        • Librería externa
        • Lupa
        • Proceso
          • Indice de comandos de instrucción de proceso
          • Comandos de base de datos
            • API
            • Bases de datos externas
            • Búsquedas
            • Campos (grupo de comandos)
            • Cestas
            • Fichas
            • Fichas seleccionadas
            • Listas
            • Tablas
            • Tubos
          • Básicos
            • Controles de flujo
            • Debug
            • Ejecución
            • Salida/retornos
            • Scripts (grupo de comandos)
            • Transacciones (comandos)
            • Variables
          • Comunicación
            • GPS
            • Internet
            • Protocolo TCP
            • Puerto serie
            • SDV
          • Interfaz
            • Acciones (comandos)
            • Control
              • Ejemplo de CSS
            • Diálogos
            • Formularios - comandos
            • Localizadores
            • Objeto - grupo de comandos
            • Ventana principal
            • Vista de datos - comandos
          • Sistema
            • Comandos de Sistema
            • Configuración
            • Directorios
            • Ficheros
        • Tubo de ficha
        • Tubo de lista
        • Variable local
      • Editores
        • Asistente de fórmulas
          • Operadores
          • Funciones estándar
            • Funciones API
            • Funciones básicas
            • Funciones de cadenas
              • Expresiones regulares
            • Funciones científicas
            • Funciones de Cliente-servidor
            • Funciones de color
            • Funciones de códigos
            • Funciones de directorios
            • Funciones de fechas
            • Funciones de ficha en curso
            • Funciones de horas
            • Funciones JSON
            • Funciones de Internet
            • Funciones de juegos de caracteres
              • Codecs
            • Funciones numéricas
            • Funciones de sistema
            • Funciones de tiempo
            • Funciones trigonométricas
          • Funciones de dll
          • Funciones de proceso
          • Funciones de campo
          • Campos
          • Constantes
          • Variables globales
          • Variables locales
          • Variables del sistema
          • Verificador de fórmulas
          • Conversión automática de datos
          • Introducción de datos literales
          • Secuencias de escape en cadenas de caracteres
          • Composición de sendas en fórmulas
          • Operar con datos de tipo fecha, hora y tiempo
        • Editor de imágenes
        • Selector de fuentes
    • Scripts
      • Lenguajes
        • JavaScript
          • Procesos JavaScript
          • Fórmulas JavaScript
          • Clases
            • Funciones globales
            • Objetos
            • VAbstractBrowser
            • VAbstractDataView
            • VAbstractListDataView
            • VAdvandedGridListDataView
            • VAlternatorListDataView
            • VApp
              • VApp: enumeraciones
              • VApp: ejemplos
            • VBoundFieldComboBox
            • VBoundFieldEdit
            • VBoundFieldEditBrowser
            • VBoundFieldListBox
            • VByteArray
            • VCheckBox
            • VClipboard
            • VClockWidget
            • VComboBox
            • VComboListDataView
            • VCoverFlowListDataView
            • VCWebView
            • VDataCatcherEdit
            • VDataCatcherEditBrowser
            • VDataView
            • VDataViewDialog
            • VDateEdit
            • VDateEditBrowser
            • VDateTimeEdit
            • VDateTimeEditBrowser
            • VDial
            • VDir
              • VDir: enumeraciones
            • VExtension
              • VExtension: enumeraciones
            • VFile
              • VFile: enumeraciones
            • VFileInfo
            • VFilePathEditBrowser
            • VFinder
            • VFont
              • VFont: enumeraciones
            • VFormBlockListDataView
            • VFormDataView
            • VFormulaEditBrowser
            • VGaugeWidget
            • VGPS
            • VGridListDataView
            • VGroupBox
            • VImage
            • VImageEdit
            • VImageWidget
            • VInstancesList
            • VInstance
            • VInstances
            • VItemRegisterPattern
            • VLabel
            • VLineEdit
            • VLineEditBrowser
            • VListBox
            • VListDataView
            • VLogin
            • VMainWindow
              • VMainWindow: enumeraciones
            • VMdiView
            • VMimeData
            • VMultiDataView
            • VNumberSpinBox
            • VNumberSpinBoxBrowser
            • VObjectInfo
              • VObjectInfo: enumeraciones
            • VObjectInstance
            • VProcess
            • VProgressBar
            • VProjectInfo
            • VPushButton
            • VQmlFormDataView
            • VQmlListDataView
            • VQmlListModel
            • VQuery
            • VRadioButton
            • VRegister
            • VRegisterList
            • VReportListDataView
            • VRequest
            • VResponse
            • VRoot
            • VScreen
            • VScrollArea
            • VServerAdmin
            • VSettings
            • VSlider
            • VSlotListDataView
            • VSolutionInfo
            • VSplitter
            • VSqlDatabase
            • VSSLCertificate
            • VSSLInfo
            • VSSLSessionCipher
            • VStackedWidget
            • VSvgButton
            • VSvgSlideSwitch
            • VSvgToggleSwitch
            • VSvgWidget
            • VSysInfo
              • VSysInfo: enumeraciones
            • VTableInfo
              • VTableInfo: enumeraciones
            • VTabWidget
            • VTextEdit
            • VTextFile
            • VThermometerWidget
            • VThumbWheel
            • VTimeEdit
            • VTimeEditBrowser
            • VToolBox
            • VTreeItem
            • VTreeItemRegister
            • VTreeListDataView
            • VTreeMenu
            • VTreeMultiTableListDataView
            • VTreeWidget
            • VUser
            • VUserGroup
            • VUserGroupList
            • VUserList
            • VXmlReader
            • VXmlWriter
            • Widget
            • XMLHttpRequest
        • QML
          • Tipos QML
          • Funciones específicas de QML
    • Depuración
      • Depuración de procesos de Velneo
      • Depuración de procesos JavaScript
      • Monitor de vClient
    • Extensiones de Velneo vDevelop
    • Acceso directo a una solución desde vDevelop
    • Buenas prácticas
      • Buenas prácticas de organización
        • Proyectos
        • Organización de carpetas
        • Proyecto de datos
        • Proyecto de aplicación
      • Buenas prácticas de codificación
        • Identificadores
        • Teclas aceleradoras
        • Documenta
        • Diseña los formularios como si no existiesen los layouts
      • Buenas prácticas de rendimiento
        • Arquitectura
          • Listas de registros
          • Lista de resultados de una búsqueda
          • Las cestas
          • Las variables globales
          • La caché de fichas
          • Programa en cloud
        • Formularios
          • Condiciones de visible y activo
          • Carga de subformularios en pestaña, caja o pila
        • Base de datos
          • Campos
          • Indices
          • Actualizaciones
          • Eventos de tabla o triggers
          • Variables globales y constantes
          • Tablas en memoria vs tablas en disco
          • Optimizar migraciones de datos
          • Búsquedas en el servidor ¿Cuándo y Cómo?
          • Campos fórmula vs campos en disco
          • Indices condicionados vs búsquedas complejas
          • ¿Cuándo usar tablas de extensión?
          • Indices de trozos y palabras
          • ¿Cuándo usar cada tipo de campo alfa?
        • Procesos y funciones y eventos
          • 1º, 2º, 3º y 4º plano ¿Cuándo usar cada uno?
          • Bloqueo blando vs bloqueo duro
          • Pasar información del cliente al servidor
          • ¿Cómo optimizar transacciones grandes?
          • ¿Cómo gestionar las transacciones?
          • Grabaciones optimizadas para el usuario
        • Carga de registros en objetos de lista
          • Rejillas
            • Campos punteros a singular
            • Totales
            • Condiciones de activo, visible y color en columna
            • Campos de tipo objeto
        • Conoce los límites
      • Imágenes
      • Buenas prácticas para el desarrollo en equipo
      • Modo mantenimiento
    • Análisis de bases de datos para aplicaciones de Velneo
      • Un centro de enseñanza
      • Facturas de un cliente
      • Repartos de obras de teatro
      • Galería de arte
      • Gestión de un colegio
      • Instalación de lunas para vehículos
      • Libros y autores
      • Tienda de discos
      • Últimos pedidos de un proveedor
      • Existencias por almacén y precios por cliente
      • Generación de tickets para un quiosco
      • Navegación por facturas
  • Velneo vDevelop Web
  • Velneo vAdmin
    • ¿Qué es Velneo vAdmin?
    • Gestión de usuarios
    • Gestión de aplicaciones
      • Soluciones
      • Instancias
      • Disco
    • Monitorización
      • Lista de comandos
    • Tareas
    • Acceso directo
    • Velneo vAdmin Web
  • Velneo vClient
    • ¿Qué es Velneo vClient?
    • Movilidad
    • Funcionalidades de Velneo vClient
      • Accesos directos y VRL
      • Cambiar idioma
      • Panel de procesos en 2º plano
      • Manejo de rejillas
        • Submenú de filtros
      • Uso de la rejilla avanzada
      • Manejo de cestas
      • Refrescos
      • Caché local
      • Edición de campos enlazados a maestro
      • Edición de campos de tipo fecha
      • Capturar imagen desde una cámara
      • Asignar impresoras lógicas
      • Actualización automática
      • Personalización de la ventana de conexión de Velneo vClient
      • Instalador personalizado de Velneo vClient
      • Ordenación de listas
  • Velneo vServer
    • ¿Qué es Velneo vServer?
    • Instalación y configuración
      • Activación de la licencia
      • Línea de comandos de Velneo vServer
      • Parámetros configurables de Velneo vServer
      • Estructura de directorios
    • Iniciar y detener Velneo vServer
    • Funcionalidades
      • Protocolo VATP
      • Protocolo VATPS
      • Multi-hilo
      • Integridad referencial
      • Refrescos terciarios
      • Sistema transaccional
      • Sistema de bloqueos
      • Tecnología bigkey
      • Hilo de control
    • Mensajes de log de sistema
    • vPacker
  • Velneo vInstallBuilder
    • ¿Qué es Velneo vInstallBuilder?
    • Configurar una instalación
    • Probar una instalación
    • Crear el instalable
    • Accesos directos
  • Velneo vModApache
    • ¿Qué es Velneo vModApache?
    • Instalación y configuración
    • Nomenclatura de objetos en urls
    • Uso de ficheros adjuntos
    • Caché local de Velneo vModApache
  • Velneo vDataClient
    • ¿Qué es Velneo vDataClient?
    • Iniciar Velneo vDataClient
    • Interfaz de Velneo vDataClient
    • Procesos
    • Utilidades
    • Acceso directo a una instancia de datos
    • Velneo vDataClient Web
  • Velneo vTranslator
    • ¿Qué es Velneo vTranslator?
    • Importación y exportación basada en XLIFF
    • Acceso directo a una solución
  • Velneo ODBC Driver
    • ¿Qué es velneo ODBC Driver?
    • Referencia de comandos SQL
  • Velneo vVersion
    • ¿Qué es Velneo vVersion?
  • Velneo vERP
    • ¿Qué es Velneo vERP?
    • Manual del programador
    • Documentación de la ApiRest
    • Novedades de la versión
  • Velneo vTutor
    • ¿Qué es vTutor?
    • Tutores de objetos básicos
      • Tutor de árboles visores de tablas arboladas
      • Tutor de búsquedas
      • Tutor de cestas
      • Tutor de formularios
      • Tutor de informes
      • Tutor de localizador básico
      • Tutor de marcos
      • Tutor de rejillas
      • Tutor de rejillas avanzadas
    • Tutores de objetos avanzados
      • Tutor de alternadores de lista
      • Tutor de comboview
      • Tutor de drag and drop
      • Tutor de eventos
      • Tutor de tablas de extensión y extensiones de ficha
      • Tutor de tubos de ficha y de lista
      • Tutor de grabación de fichas
      • Tutor de gráficos
      • Tutor de impresión de informes
      • Tutor de lupas
      • Tutor de protocolo TCP/IP
      • Tutor de reemplazo
    • Tutores de controles
      • Tutor de botones de menú
      • Tutor de controles SVG
      • Tutor de edición numérica
      • Tutor de visor html dinámico
      • Tutor de vistas de datos de lista
    • Tutores de procesos y manejadores de evento avanzados
      • Tutor de cambio de marco
      • Tutor de comandos de interfaz y acciones
      • Tutor de importación y exportación de ficheros ASCII
      • Tutor de portapapeles
      • Tutor de procesos
      • Tutor de SDV
    • Tutores de scripts
      • QML: hola mundo
      • QML: tutor básico
      • QML: tutor de vistas
      • Tutor de XMLHttpRequest (webServices)
  • Velneo cloud
    • ¿Qué es Velneo Cloud?
    • Panel de control vServer cloud
      • URC
      • vServer
      • Apache
      • SFTP
      • Usuarios
    • Copias de seguridad
    • Velneo cloud API
      • Uso de Velneo cloud API
    • Explorador de archivos cloud sFTP
    • TCP en Velneo cloud
    • Dominios de empresa y certificados
    • Velneo vModApache en cloud
    • SLA
    • Hora de los servidores en el cloud de Velneo
    • ¿Qué puedo hacer si tengo una incidencia en mi servidor cloud?
Con tecnología de GitBook
En esta página
  • Asistente para la creación de formularios
  • Editor de formularios
  • Añadir campos al formulario
  • Controles

¿Te fue útil?

  1. Velneo vDevelop
  2. Proyectos objetos y editores
  3. Objetos de proyecto de aplicación

Formulario

Última actualización hace 4 años

¿Te fue útil?

Un formulario es el objeto de que permite introducir, modificar y ver los distintos campos de una ficha o registro de una por medio de subobjetos denominados . Para ello debe tener una tabla asociada de la que podrá presentar los registros.

Como entrada y salida el formulario tiene ficha de la tabla asociada.

También puede ser usado para inicializar valores que se usarán como contenidos iniciales en .

Las propiedades de un formulario son:

Identificador

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un formulario no puede haber duplicidad.

Nombre

Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir los estilos:

Privado

Limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Punto de inserción

Bloqueo duro

Si usamos un formulario con bloqueo duro como dock el registro editado en el mismo permanecerá bloqueado todo el tiempo ya que, aunque se cierre el dock, el formulario sigue abierto pues cuando cerramos un dock no cerramos el objeto contenido en él sino que lo ocultamos.

Sin barra de título (Sólo diálogos)

Permite omitir la barra de título de la ventana. Solamente funcional en cuadros de diálogo. En el caso de Windows, debido a imposición del sistema operativo, dejará una pequeña banda blanca en la parte superior de la ventana de 6 píxels.

Sin menú de sistema

Permite omitir el menú de sistema de la ventana.

Sin botón maximizar

Permite ocultar el botón maximizar de la ventana.

Sin botón minimizar

Permite ocultar el botón minimizar de la ventana.

Sin botón cerrar

Permite ocultar el botón de cierre de la ventana.

En Linux, el funcionamiento en Linux de los botones maximizar, minimizar y cerrar en cuadro de diálogo dependen de la distribución y el gestor de ventanas. Por ejemplo, Ubuntu con el gestor Gnome no presenta estos controles, y sin embargo tiene otras funcionalidades.

Personalizable

Si activamos este estilo, el objeto podrá ser reemplazado por otro del mismo tipo en tiempo de ejecución mediante un objeto reemplazo.

Vista única

Si activamos este estilo, al abrir un formulario sin origen que se abre en modo vista , antes de abrirse el formulario se comprueba si ya existe una instancia del mismo en la vista principal . En caso de que ya exista se convierte en la pestaña activa y se cancela la creación del nuevo formulario .

Al abrir un formulario con origen que se abre en modo vista , antes de abrirse el formulario se comprueba si ya existe una instancia en la vista principal de ese formulario con ese registro . En caso de que ya exista se convierte en la pestaña activa y se cancela la creación del nuevo formulario.

Comentarios

Esta propiedad nos permite documentar el uso del formulario.

Tabla asociada

Alto

Longitud vertical en píxeles del formulario. Es la longitud con la que se presenta en edición y con la que por defecto se presente en ejecución, pudiendo el usuario redimensionar el formulario si así lo especificamos.

Ancho

Longitud horizontal en píxeles del formulario. Es la longitud con la que se presenta en edición y con la que por defecto se presente en ejecución, pudiendo el usuario redimensionar el formulario si así lo especificamos.

Siempre cuadro de diálogo

Los valores posibles son:

  • Verdadero: el formulario se presentará en forma modal, bloqueando el interfaz en primer plano.

  • Falso: : el formulario se presentará en forma de vista, como una ventana más del interfaz, en función del sistema de ventanas seleccionado.

Excepciones: siempre se abrirán como cuadro de diálogo los formularios llamados desde proceso y desde otros cuadros de diálogo.

Condición de activo

Título opcional

Permite definir el título del formulario por medio de una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello debemos pulsar el botón que aparece al editar esta propiedad y que nos abre el asistente.

Icono

Permite definir el dibujo que se mostrará a modo de icono en la barra de título del formulario.

Color de fondo

Color que presenta el fondo del formulario. En caso de que hayamos escogido una paleta de colores, el color asignado será el de ventana.

Dibujo de fondo

Objeto dibujo que se presenta en el fondo del formulario.

Aspecto de dibujo

En el caso de que hayamos seleccionado un objeto dibujo para que se presente como dibujo de fondo, podremos especificar la forma en que se presente:

  • Original centrado: el dibujo se muestra con el tamaño original centrado en el formulario.

  • Estirar/encoger: el dibujo se muestra ajustado al tamaño del formulario. Si el ancho y alto del dibujo no son proporcionales el dibujo se verá deformado si el tamaño del formulario no tiene la misma relación de aspecto.

  • Proporcionar sin ampliar: el dibujo se mostrará en su tamaño original o se reducirá de forma proporcionada para adaptarse al tamaño del control, en el caso que éste sea menor que el tamaño de la imagen.

  • Proporcionar: el dibujo se muestra a escala proporcional ajustado al tamaño del formulario, sin superar el tamaño de éste. Si el dibujo es pequeño y el formulario es grande se hará un zoom sobre el tamaño original de la imagen para adaptarla al formulario.

  • Mosaico: el dibujo se muestra con el tamaño original repetido horizontal y verticalmente las veces necesarias para rellenar por completo el fondo del formulario.

  • Original: el dibujo se muestra con el tamaño original, alineado en la parte superior izquierda del formulario.

Timer (Milisegundos)

Tipo de layout

  • Ninguno: está desactivada la distribución por medio de layouts.

  • Horizontal: los layouts y controles que contiene el formulario se distribuyen horizontalmente.

  • Vertical: los layouts y controles que contiene el formulario se distribuyen verticalmente.

  • Grid: los layouts y controles que contiene el formulario se distribuyen como celdas en una rejilla.

Alineamiento horizontal

Los layouts y controles que contiene el formulario se distribuyen horizontalmente en función de los valores posibles:

  • Izquierda: los layouts y controles se distribuyen horizontalmente alineados hacia la izquierda.

  • Derecha: los layouts y controles se distribuyen horizontalmente alineados hacia la derecha.

  • Centrado: los layouts y controles se distribuyen horizontalmente centrados.

  • Justificado: los layouts y controles se distribuyen horizontalmente justificados.

Alineamiento vertical

Los layouts y controles que contiene el formulario se distribuyen verticalmente en función de los valores posibles:

  • Arriba: los layouts y controles se distribuyen verticalmente alineados hacia arriba.

  • Abajo: los layouts y controles se distribuyen verticalmente alineados hacia abajo.

  • Centrado: los layouts y controles se distribuyen verticalmente centrados.

Espaciado

Espacio de separación en píxeles entre los layouts y controles que se distribuyen en el formulario.

Margen izquierdo

Espacio de separación en píxeles, en el margen izquierdo, de los controles incluidos en el formulario.

Margen derecho

Espacio de separación en píxeles, en el margen derecho, de los controles incluidos en el formulario.

Margen superior

Espacio de separación en píxeles, en el margen superior, de los controles incluidos en el formulario.

Margen inferior

Espacio de separación en píxeles, en el margen inferior, de los controles incluidos en el formulario.

Si estamos editando un formulario en el editor de formularios, para editar sus propiedades bastará con que hagamos clic dentro del editor de formularios en cualquier punto fuera del área del formulario.

Asistente para la creación de formularios

Cuando en un proyecto de aplicación creamos un formulario, se abrirá un asistente que nos facilitará su creación:

Las propiedades de este primer paso del asistente son:

Tabla asociada

Podremos tanto seleccionar una tabla de un proyecto de datos heredado cuyos registros van a ser creados, modificados o visualizados en el formulario como seleccionar ninguna, si no queremos asociar el formulario a tabla alguna.

Nombre (requerido)

Etiqueta alfanumérica que servirá como descriptor del formulario. Se usará para presentar información del formulario en objetos y en los inspectores. Podemos definir una etiqueta por cada idioma presente en el proyecto. Este dato será también usado para generar el identificador del objeto que va a ser creado.

En la parte central de este formulario podremos seleccionar una plantilla para distribuir los distintos controles que contendrá nuestro formulario. Si no queremos aplicar ningún tipo de plantilla seleccionaremos la llamada vacía (esto desactivará las propiedades siguientes); en caso contrario, seleccionaremos con un clic la deseada.

Los controles podrán ser distribuidos en los distintos bloques indicados en la plantilla seleccionada.

Generar layouts

Activaremos esta opción si queremos que el formulario a crear contemple layouts.

Bloque de botones

Activaremos esta opción si queremos que el formulario a crear contenga un bloque para situar botones.

Posición

Si la opción anterior está activada, en esta indicaremos en qué posición será situado el bloque de botones. Los valores posibles son:

  • Abajo: el bloque de botones será creado en la parte inferior del formulario.

  • Derecha: el bloque de botones será creado en la parte derecha del formulario.

  • Izquierda: el bloque de botones será creado en la parte izquierda del formulario.

  • Arriba: el bloque de botones será creado en la parte superior del formulario.

Si hemos seleccionado la plantilla vacía el asistente finalizará, se creará el formulario vacío y será editado en el editor de formularios.

Si hemos seleccionado cualquier otro tipo de plantilla, pulsaremos el botón “siguiente” para ir al siguiente paso del asistente; donde tendremos que seleccionar los campos que irán en cada bloque que va a generarse en el formulario. Por cada bloque existirá una pestaña y en ella se indicarán los campos a incluir en el mismo. Además, si en el paso anterior del asistente hemos activado la propiedad Bloque de botones aparecerá también la pestaña correspondiente al mismo:

A continuación podemos definir las siguientes propiedades:

Distribución: en esta propiedad seleccionaremos cuál va a ser la posición de las etiquetas con respecto a los controles de edición correspondientes. Los valores posibles son:

Estirar controles: si esta propiedad está activa, todos los controles de un bloque serán creados con la misma longitud; si está inactiva serán creados según el tipo y longitud del campo que editen.

Una vez establecido el contenido de cada bloque, si en el paso anterior del asistente hemos activado la propiedad Bloque de botones, accederemos a la pestaña Botones para configurar su apariencia.

Eliminar: añadirá un botón ya programado con la función que elimina la ficha editada.

Finalmente, seleccionaremos el modo en que el los botones serán alineados con respecto al formulario en la propiedad alineamiento horizontal:

  • Izquierda: los botones sean alineados a la izquierda del bloque.

  • Derecha: los botones sean alineados a la derecha del bloque.

  • Centrado: los botones sean centrados dentro del bloque.

  • Justificado: los botones sean justificados dentro del bloque.

Pulsar el botón “Finalizar” para terminar el asistente. Una vez hecho esto el formulario será añadido a nuestro proyecto y editado.

Editor de formularios

En la parte izquierda del editor de formularios se incluye la barra de controles. Permite crear los distintos controles que formarán parte del formulario. Éstos se encuentra agrupados por tipo.

Para crear un control en un formulario seleccionar el comando adecuado de la barra de controles del editor de formularios o seleccionar la opción adecuada dentro del menú objetos, sub-menú nuevo objeto. Una vez seleccionado el control, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.

Para cambiar el tamaño de un control dentro de un formulario hacer un clic con el botón izquierdo del ratón sobre el mismo, esto hará que el control aparezca seleccionado y rodeado por una serie de cuadraditos rojos, llamados trackers, hacer clic sobre uno de ellos y, sin soltar el botón, arrastrarlo hasta la posición deseada y soltar:

También podremos modificar directamente el valor numérico de su tamaño (ancho/alto) en las propiedades del mismo.

Para eliminar un control en el formulario seleccionarlo con un clic del ratón dentro del editor del formulario y pulsar la tecla Supr.

Para mover un control dentro de un formulario hacer un clic con el botón izquierdo del ratón sobre el mismo y, sin soltar el botón, arrastrar hasta la posición deseada y soltar. También podremos modificar directamente el valor numérico de su posición X e Y en las propiedades del mismo.

En la parte superior del editor de formularios se incluye la barra de maquetación. Nos permite maquetar los distintos controles que se incluyan en el formulario. Los comandos que contiene son:

Al arrastrar los controles al editor de formularios que se ajusten posiciones y tamaños en función de la cuadrícula.

Si no se seleccionan controles, ordena todos.

El algoritmo de ordenación que sigue es:

Se ordenan por la posición de X en orden ascendente .

Si coincide el mismo X, se ordenan ascendentemente por Y .

Si coincide X e Y , se ordena DESCENDENTEMENTE por el alto del control. El más alto va primero.

Si coincide X, Y y altura , se ordena DESCENDENTEMENTE por anchura del control. El más ancho va primero.

Si coincide X, Y, altura y anchura , primero se ponen los layouts.

Los layouts se ordenan igual que el resto de controles y con los mismos criterios.

Haciendo clic sobre el cuadro con el orden de tabulación, se puede ordenar, comenzando por el primer seleccionado.

Al pulsar de nuevo la opción, se desmarca y deja de mostrar las posiciones.

  • Cuando un layout que agrupa una serie de controles está después que éstos en el orden tab, si intentamos seleccionar un control lo que se selecciona es el layout.

  • Cuando hacemos clic en una zona donde no hay controles pero que se encuentra dentro de un layout, este queda seleccionado.

Si activamos esta opción, desasctivaremos los layouts en edición, esto implica que no podrán ser seleccionados, lo que nos facilitará la selección de los controles que contengan. En ejecución seguirán siendo funcionales.

Para seleccionar un control hacer un clic sobre él con el botón izquierdo del ratón. Una vez hecho esto, podremos editar sus propiedades en el panel de propiedades de Velneo vDevelop.

Para seleccionar dos o más controles mientras se mantiene pulsada la tecla Shift o Control hacer un clic sobre cada uno de los controles con el botón izquierdo del ratón. El último control seleccionado será el que se tome como referencia a la hora de ejecutar comandos de maquetación. Éste será destacado de forma diferente al resto de los controles seleccionados:

Para cambiar el control de referencia en una selección múltiple de controles bastará con hacer un clic con el botón izquierdo del ratón sobre el mismo mientras se mantiene pulsada la tecla Alt.

Si estando editando las propiedades de un subcontrol del formulario queremos editar las propiedades del formulario, bastará con situar el cursor en cualquier área vacía del editor de formularios o del propio formulario y hacer un clic con el botón derecho del ratón.

Añadir campos al formulario

Esta funcionalidad nos ahorrará mucho tiempo a la hora de añadir campos a un formulario que ya ha sido creado, ya que permite añadir varios campos al formulario de una sola vez haciendo drag & drop.

Los controles se crearán a partir de la posición donde hayamos hecho el drop en modo grid, es decir, una fila por campo y dos columnas por fila, una con la etiqueta o otra con el control de edición. Todos alineados y con la misma separación entre ellos.

El comportamiento será distinto si cuadrícula está o no activada.

Si está activada la cuadrícula, los controles estarán ajustados a la misma y tanto su posición como su tamaño serán múltiplos de 10.

Para seleccionar los campos en el árbol de campos:

Si queremos seleccionar un bloque continuo de campos lo que haremos será situar el foco en el primero de ellos y, con la tecla Shift pulsada, con las teclas de cursor arriba y abajo avanzar hasta el último campo que se quiere seleccionar.

Lo anterior también podemos hacerlo si hacemos clic con el ratón sobre el primer campo a seleccionar, pulsamos la techa Shift y, sin soltarla, hacemos clic con el ratón sobre el último campo a seleccionar.

Si queremos seleccionar campos alternos, entonces lo haremos manteniendo pulsada la tecla Control y haciendo clic con el ratón sobre cada campo a seleccionar.

Si tenemos seleccionado uno o varios campos y queremos seleccionar otro bloque, pulsar la tecla Control y la techa Shift de forma simultanea y, sin soltarlas, hacer clic sobre el primer campo a seleccionar y luego sobre el último. De este modo, el bloque seleccionado se añadirá a la selección.

Si arrastramos los campos al formulario en una posición en la que no hay espacio suficiente para meter los controles, se ampliará el tamaño formulario lo necesario para que puedan entrar en el mismo.

A continuación dispones de una tabla donde se indican qué propiedades se establecerán a cada control según el tipo de campo:

Tipo de control

Identificador de control

Identificador por defecto

Ancho

Alto

Alineamiento horizontal

Alineamiento vetical

Ancho en layout

Alto en layout

Otras propiedades

Texto estático

TXT_IDCAMPO

TXT

120

20

Izquierda

Centrado

Por defecto

Por defecto

-

Nombre de campo

TXT_IDCAMPO

TXT

120

20

Izquierda

Centrado

Por defecto

Por defecto

-

Visor html

VIS_HTM_IDCAMPO

VIS_HTM

240

120

-

-

Por defecto

Por defecto

-

Dibujo

DIB_IDCAMPO

DIB

120

120

-

-

Fijo

Fijo

Aspecto dibujo: proporcionar

Imagen SVG

IMG_SVG_IDCAMPO

IMG_SVG

120

120

-

-

Por defecto

Por defecto

-

Caja de grupo

CAJ_GRPNº

CAJ_GRP

240

120

Izquierda

Arriba

Por defecto

Por defecto

Tipo de layout: grid

Menú arbolado

ARBNº

ARB

240

120

-

-

Por defecto

Por defecto

-

Barra de progreso

BAR_PRONº

BAR_PRO

120

20

Izquierda

Centrado

Fijo

Por defecto

Texto visible: verdadero

Reloj

RELNº

REL

120

120

-

-

Fijo

Fijo

-

Manómetro

MANNº

MAN

120

120

-

-

Fijo

Fijo

-

Termómetro

TERNº

TER

60

240

-

-

Fijo

Fijo

-

Edición alfabética

ALF_IDCAMPO

ALF

240

20

Izquierda

Centrado

Por defecto

Por defecto

-

Edición numérica

NUM_IDCAMPO

NUM

30 por byte

20

Derecha

Centrado

Fijo

Por defecto

Formato local: local. Tipo de botones: ocultos

DataCatcherEdit

DAT_CAT_IDCAMPO

DAT_CAT

120

20

Izquierda

Centrado

Por defecto

Por defecto

-

Objeto dibujo

OBJ_DIB_IDCAMPO

OBJ_DIB

120

120

-

-

Fijo

Fijo

Aspecto dibujo: proporcionar

Edición fecha/hora

FCH_HOR_IDCAMPO

FCH_HOR

180

20

Derecha

Centrado

Fijo

Por defecto

Opciones: con calendario

Edición fecha

FCH_IDCAMPO

FCH

120

20

Derecha

Centrado

Fijo

Por defecto

Opciones: Con calendario

Edición hora

HOR_IDCAMPO

HOR

120

20

Derecha

Centrado

fijo

Por defecto

-

Caja de texo

CAJ_TXT_IDCAMPO

CAJ_TXT

240

120

-

-

Por defecto

Por defecto

-

Caja de texto enriquecido

CAJ_HTM_IDCAMPO

CAJ_HTM

240

120

-

-

Por defecto

Por defecto

Barra de herramientas: iconos. Estilos de texto: verdadero. Formato: verdadero. Alineación: verdadero. Numeración y viñetas: verdadero.

Edición fórmula

FOR_IDCAMPO

FOR

240

20

Izquierda

Centrado

Por defecto

Por defecto

-

Edición senda fichero

SND_FICNº

SND_FIC

240

20

Izquierda

Centrado

Por defecto

Por defecto

-

Edición senda directorio

SND_DIRNº

SND_DIR

240

20

Izquierda

Centrado

Por defecto

Por defecto

-

Botón

BTNNº

BTN

120

30

-

-

Fijo

Por defecto

-

Botón de radio

BTN_RADNº

BTN_RAD

120

20

-

-

Por defecto

Por defecto

-

Botón de check

BTN_CHKNº

BTN_CHK

120

20

-

-

Por defecto

Por defecto

-

Combobox

COM_BOXNº

COM_BOX

120

20

-

-

Por defecto

Por defecto

-

Listbox

LIS_BOXNº

LIS_BOX

240

120

-

-

Por defecto

Por defecto

-

Deslizador

DESNº

DES

120

20

-

-

-Fijo

Por defecto

-

Rueda

RUENº

RUE

120

20

-

-

Fijo

Por defecto

-

Dial

DIANº

DIA

120

120

-

-

Fijo

Fijo

-

Calendario

CALNº

CAL

240

180

-

-

Fijo

Fijo

Separador

SEPNº

SEP

240

120

-

-

Por defecto

Por defecto

-

Splitter

SPLNº

SPL

240

120

-

-

Por defecto

Por defecto

-

Pila de formularios

PILNº

PIL

240

120

-

-

Por defecto

Por defecto

-

Caja de formularios

CAJNº

CAJ

240

120

-

-

Por defecto

Por defecto

-

Area de scroll

SCRNº

SCR

240

120

-

-

Por defecto

Por defecto

-

Vista de datos

VISNº

VIS

240

120

-

-

Por defecto

Por defecto

Modo de carga: siempre que se muestra

Layout horizontal

LAY_HORNº

LAY_HOR

240

120

Izquierda

Centrado

Por defecto

Por defecto

-

Layout vertical

LAY_VERNº

LAY_VER

240

120

Izquierda

Arriba

Por defecto

Por defecto

-

Layout grid

LAY_GRDNº

LAY_GRD

240

120

Izquierda

Arriba

Por defecto

Por defecto

-

Espaciador fijo

ESPNº

ESP

120

20

Izquierda

Centrado

-

-

-

Expaciador expandible

EXPNº

EXP

120

20

Izquierda

Centrado

-

-

-

Tree widget

TRENº

TRE

240

120

-

-

Por defecto

Por defecto

-

Botón SVG

SVG_BTNNº

SVG_BTN

120

120

-

-

Por defecto

Por defecto

-

Interruptor SVG

SVG_INTNº

SVG_INT

120

120

-

-

Por defecto

Por defecto

-

Swith SVG

SVG_SWINº

SVG_SWI

120

120

-

-

Por defecto

Por defecto

-

Reloj indicador SVG

SVG_RELNº

SVG_REL

120

120

-

-

Por defecto

Por defecto

-

Controles

Los formularios disponen de los siguientes tipos de controles:

Sin origen, es decir, sin tabla asociada podemos usar el formulario como menú tipo formulario pudiendo usar controles con contenido, lanzar opciones o editar , mostrar , etc. Para crear un formulario seleccionar la opción nuevo objeto/formulario del menú objetos de Velneo vDevelop.

Etiqueta alfanumérica que identifica de forma unívoca un formulario dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarlo en otras propiedades de otros .

Etiqueta alfanumérica que servirá como descriptor del formulario. Se usará para presentar información del formulario en objetos y en los .

Permitirá establecer una relación de con un objeto de un proyecto que hereda el proyecto actual. La activación de este estilo hará que el formulario no pueda ser editado ya que su contenido será establecido en el proyecto heredado por éste. Ver el capítulo relativo a sub-objeto para ampliar información al respecto. Un formulario con este estilo activado se distinguirá visualmente en el panel de proyectos por usar una tipografía cursiva en su identificador:

En un formulario definido como punto de inserción no solamente se puede insertar un único formulario, sino que se pueden insertar n formularios, por lo tanto, este tipo de formularios solamente podrá ser usado en objetos que soporten multiplicidad, como puede ser el por ejemplo.

Propiedad específica para modificación de fichas; no para altas. El sistema de bloqueos por defecto en formularios es el bloqueo blando, esto quiere decir que si dos usuarios editan la misma ficha, modifican y aceptan cambios, si no hay colisión (es decir, si han modificado diferentes) se fundirán las modificaciones de ambos. Si hay colisión, es decir, que modifican un mismo campo, el valor que mantendrá la ficha en ese campo será el del usuario haya guardado la ficha en último lugar. Por el contrario, el bloqueo duro implica que se bloqueará el registro editado en el formulario, provocando el inicio de una y lo bloqueará en exclusiva en modo lectura/escritura hasta que finalice la transacción, por lo que no podrá ser modificado por otros usuarios mientras el formulario esté abierto. Es fundamental conocer las implicaciones derivadas del bloqueo duro, por lo que es aconsejable leer detenidamente el capítulo dedicado al de Velneo vServer.

Tabla de un heredado cuyos registros van a ser creados, modificados o visualizados en el formulario.

Permite condicionar que el formulario esté activo en base a una que podremos escribir usando el . Para ello debemos pulsar el botón que aparece al editar esta propiedad y que nos abre el asistente.

Es un reloj que permitirá ejecutar automáticamente uno o varios declarados en el formulario de forma periódica. En este parámetro se indicará el tiempo, en milisegundos, para cada iteración del timer. Si el valor es 0, querrá decir que no se activará el timer.

Permite configurar el uso de para la distribución, organización y gestión del tamaño de los controles.

Para añadir un campo o una selección de campos en un bloque seleccionaremos la pestaña correspondiente al bloque deseado y pulsaremos el botón . Para añadir todos los campos de la tabla en una pestaña pulsaremos el botón . En el primer caso se abrirá una ventana con la lista de campos de la tabla, con una casilla de verificación a la izquierda de cada uno. Activar la casilla de cada uno de los campos que queramos incluir en el bloque y pulsar el botón “Aceptar” de dicha ventana.

El orden en que se muestran los campos seleccionados será el orden en el que serán creados en el formulario. Podemos cambiar la posición de un campo usando los botones de la toolbar incluida en la pestaña.

Podremos borrar un campo pulsando el botón .

El sistema por defecto asume la creación de dos botones, “Aceptar” y “Cancelar”, ambos ya programados con las funciones de grabación y cancelación de ficha, respectivamente. Si queremos añadir más botones, pulsaremos el botón de la barra de herramientas incluida dentro de esta pestaña. Al hacerlo, nos ofrecerá dos posibilidades:

Sin especificar: añadirá un botón genérico, es decir, sin ninguna función programada. Ese mismo tipo de botón también podremos obtenerlo pulsando directamente el botón de la toolbar incluida en esta pestaña.

El orden en que se muestran los botones será el orden en el que serán creados en el formulario. Podemos cambiar la posición de un botón usando los botones de la toolbar incluida en la pestaña.

Podremos borrar un botón pulsando el botón .

incorpora un editor visual para facilitar la creación de un formulario. Para abrirlo bastará con hacer doble clic sobre un objeto de tipo formulario y será mostrado en el panel central de Velneo vDevelop.

El comando Modo de edición se usa para mover controles o cambiar su tamaño.

El control será creado con un identificador por defecto y con unas dimensiones concretas, en función del tipo de control de que se trate. Al final de esta página encontrarás una donde, entre otra información, podrás ver el identificador por defecto que se asigna a cada control y sus dimensiones por defecto.

Alinea izquierda: alinea los controles seleccionados por el borde izquierdo del control seleccionado en último lugar.

Alinea derecha: alinea los controles seleccionados por el borde derecho del control seleccionado en último lugar.

Alinea arriba: alinea los controles seleccionados por el borde superior del control seleccionado en último lugar.

Alinea abajo: alinea los controles seleccionados por el borde inferior del control seleccionado en último lugar.

Reparto horizontal: distribuye horizontalmente los controles seleccionados dejando la misma separación entre ellos.

Reparto vertical: distribuye verticalmente los controles seleccionados dejando la misma separación entre ellos.

Adjuntar horizontal: alinea los botones seleccionados horizontalmente con respecto al que haya sido seleccionado en último lugar.

Adjuntar vertical: alinea los botones seleccionados verticalmente con respecto al que haya sido seleccionado en último lugar.

Centrar horizontal: centra horizontalmente el control o los controles seleccionados con el formulario.

Centrar vertical: centra verticalmente el control o los controles seleccionados con el formulario.

Mismo ancho: da el mismo ancho a los controles seleccionados de aquel que ha sido seleccionado en último lugar.

Mismo alto: da la misma altura a los controles seleccionados de aquel que ha sido seleccionado en último lugar.

Mismo tamaño: da el mismo tamaño a los controles seleccionados de aquel que ha sido seleccionado en último lugar.

Cuadrícula: permite activar o desactivar una rejilla de puntos en el formulario para facilitar la maquetación de controles. Los puntos que componen la rejilla están situados cada 10 píxels y se podrán tomar como referencia para la maquetación controles. Si la rejilla de puntos está activa, los controles que creemos en el formulario se ajustaría a la misma y tanto su posición como su tamaño serán múltiplos de 10. Lo mismo ocurrirá cuando los cambiemos de posición o los redimensionemos.

Mostrar dimensiones controles: permite activar/desactivar que se muestren los bordes del control para que se muestre su tamaño real.

Ordenar los controles para la tabulación: esta opción permite ordenar los controles seleccionados de 1 en adelante.

Mostrar y cambiar orden de tabulación: al pulsar la opción, y mientras esté marcada, muestra en cada control un cuadro con el orden.

Desactivar layouts en edición (Alt + Shift + L): hay ocasiones en el que la selección de controles se hace difícil, por ejemplo:

Mostrar dimensiones controles: permite activar o desactivar la visualización de los límites de los controles.

Aplicar layouts: reorganiza el contenido del formulario en función de los layouts. A continuación vemos dos capturas de pantalla, la primera muestra el diseño del formulario en el editor antes de aplicar el layout y el segundo el diseño del formulario una vez aplicado:

Previsualizar: muestra cómo será visualizado el formulario al ejecutar el proyecto.

Para ello no tenemos más que seleccionar en el los campos a incluir en el formulario, arrastrarlos y soltarlos en el punto del formulario donde queremos añadirlos.

Por cada campo se creará una etiqueta () y un que será el específico para el tipo de campo de que se trate.

A su vez, cada control se creará con un identificador en base al tipo de control y el identificador del campo. Por ejemplo, el control de un campo ID numérico de una tabla maestra se generará con el identiificador NOM_ID, y el control de de ese mismo campo se llamará NUM_ID.

Si no está la cuadrícula activada, deja posiciones y tamaños del mismo modo que lo hace el para la creación de formularios (no son múltiplos de 10 ni los tamaños de los controles ni sus posiciones).

.

.

.

.

.

.

.

.

variables globales
dibujos
objetos
inspectores
herencia inversa
inserción
separador formularios,
proyecto de datos
fórmula
asistente para edición de fórmulas
manejadores de evento
layouts
Velneo vDevelop
nombre de campo
control de edición
nombre de campo
edición numérica
Controles de visualización
Controles de edición
Controles de entrada
Contenedores
Layouts
Tree widget
Controles SVG
Fichas de extensión
tabla
asistente
campos
sistema de bloqueos
transacción
proyecto de aplicación
tabla
búsquedas
controles
árbol de campos