Saltar al contenido principal
Versión: 20 R6 BETA

Formularios

Los formularios ofrecen la interfaz a través de la cual se introduce, modifica e imprime la información en una aplicación de escritorio. Los usuarios interactúan con los datos de una base de datos mediante formularios e imprimen informes utilizando formularios. Los formularios pueden utilizarse para crear cajas de diálogo personalizadas, paletas o toda ventana personalizada.

Los formularios también pueden contener otros formularios a través de las siguientes funcionalidades:

Creación de formularios

Puede añadir o modificar formularios 4D utilizando los siguientes elementos:

  • La interfaz 4D Developer: cree nuevos formularios desde el menú Archivo o la ventana del Explorador.
  • El editor de formularios: modifique sus formularios utilizando el editor de formularios.
  • El código JSON: cree y diseñe sus formularios utilizando JSON y guarde los archivos de los formularios en la ubicación adecuada. Ejemplo:
{
"windowTitle": "Hello World",
"windowMinWidth": 220,
"windowMinHeight": 80,
"method": "HWexample",
"pages": [
null,
{
"objects": {
"text": {
"type": "text",
"text": "Hello World!",
"textAlign": "center",
"left": 50,
"top": 120,
"width": 120,
"height": 80
},
"image": {
"type": "picture",
"pictureFormat": "scaled",
"picture": "/RESOURCES/Images/HW.png",
"alignment":"center",
"left": 70,
"top": 20,
"width":75,
"height":75
},
"button": {
"type": "button",
"text": "OK",
"action": "Cancel",
"left": 60,
"top": 160,


"width": 100,
"height": 20
}
}
}
]
}

Formulario proyecto y formulario tabla

Hay dos categorías de formularios:

  • Los formularios de proyecto - Formularios independientes que no están unidos a ninguna tabla. Están pensados, sobre todo, para crear cajas de diálogo de interfaz, al igual que componentes. Los formularios proyecto pueden utilizarse para crear interfaces que cumplan fácilmente con los estándares del sistema operativo.

  • Los formularios tablas - Se adjuntan a tablas específicas y, por tanto, se benefician de funciones automáticas útiles para el desarrollo de aplicaciones basadas en bases de datos. Normalmente, una tabla tiene formularios de entrada y salida separados.

Normalmente, se selecciona la categoría del formulario al crearlo, pero se puede cambiar después.

Páginas formulario

Cada formulario consta de al menos dos páginas:

  • una página 1: una página principal, mostrada por defecto
  • una página 0: una página de fondo, cuyo contenido se muestra en todas las demás páginas.

Puede crear varias páginas para un formulario de entrada. Si tiene más campos o variables de los que caben en una pantalla, puede crear páginas adicionales para mostrarlos. Las páginas múltiples le permiten hacer lo siguiente:

  • Coloque la información más importante en la primera página y la menos importante en otras.
  • Organice cada tema en su propia página.
  • Reducir o eliminar el desplazamiento durante la entrada de datos definiendo el orden de entrada.
  • Deje espacio alrededor de los elementos del formulario para lograr un diseño de pantalla atractivo.

Las páginas múltiples son útiles sólo para los formularios de entrada. No son para imprimir. Cuando se imprime un formulario de varias páginas, sólo se imprime la primera.

No hay restricciones en el número de páginas que puede tener un formulario. El mismo campo puede aparecer un número ilimitado de veces en un formulario y en todas las páginas que desee. Sin embargo, cuantas más páginas tenga un formulario, más tiempo tardará en mostrarse.

Un formulario multipáginas tiene una página de fondo y varias páginas de visualización. Los objetos que se colocan en la página de fondo pueden ser visibles en todas las páginas de visualización, pero sólo se pueden seleccionar y editar en la página de fondo. En los formularios multipágina, debe colocar su paleta de botones en la página de fondo. También es necesario incluir uno o más objetos en la página de fondo que ofrezcan las herramientas de navegación para el usuario.

Formularios heredados

Los formularios 4D pueden utilizar y ser utilizados como "formularios heredados", lo que significa que todos los objetos de Formulario A pueden ser utilizados en Formulario B. En este caso, Formulario B "hereda" los objetos de Formulario A.

Las referencias a un formulario heredado están siempre activas: si se modifica un elemento de un formulario heredado (estilos de botón, por ejemplo), se modificarán automáticamente todos los formularios que utilicen este elemento.

Todos los formularios (formularios tabla y formularios proyecto) pueden ser designados como un formulario heredado. Sin embargo, los elementos que contienen deben ser compatibles con el uso en diferentes tablas de la base de datos.

Cuando se ejecuta un formulario, los objetos se cargan y combinan en el siguiente orden:

  1. Página cero del formulario heredado
  2. Página 1 del formulario heredado
  3. Página cero del formulario abierto
  4. Página actual del formulario abierto.

Este orden determina el orden de entrada de los objetos en el formulario.

Sólo las páginas 0 y 1 del formulario heredado pueden aparecer en otros formularios.

Las propiedades y el método de un formulario no se tienen en cuenta cuando ese formulario se utiliza como formulario heredado. Por otro lado, se llaman los métodos de los objetos que contiene.

Para definir un formulario heredado, el nombre del formulario heredado y la Tabla de formularios heredada (para el formulario tabla) las propiedades deben definirse en la forma que heredará algo de otro formulario.

Un formulario puede heredar de un formulario proyecto, definiendo la propiedad Inherited Form Table en \<None> en la Lista de propiedades (o " " en JSON).

Para dejar de heredar un formulario, seleccione \<None> en la lista de propiedades (o " " en JSON) para la propiedad Inherited Form Name.

Es posible definir un formulario heredado en un formulario que eventualmente se utilizará como formulario heredado para un tercer formulario. La combinación de objetos se realiza de forma recursiva. 4D detecta los bucles recursivos (por ejemplo, si el formulario [table1]form1 se define como el formulario heredado de [table1]form1, es decir, él mismo) e interrumpe la cadena de formularios.

Propiedades soportadas

Barra de menú asociada - Altura fija - Ancho fijo - Divisor de formulario - Detalle de formulario - Pie de formulario - Encabezado de formulario - Nombre de formulario - Tipo de formulario - Nombre de formulario heredado - Tabla de formulario heredado - Altura máxima - Ancho máximo - Método - Altura mínima - Ancho mínimo - Páginas - Configuración de impresión - Publicado como subformulario - Guardar geometría - Título de ventana