Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
Formularios dinámicos

Formularios dinámicos  


 

Formularios dinámicos son formularios cuyas estructuras se definen en un archivo .json o en un objeto 4D. Se regeneran cada vez que se ejecutan y ofrecen un nivel superior de flexibilidad. Algunas ventajas notables incluyen:

  • Usabilidad
    • actualizaciones sencillas
    • modificaciones dinámicas del usuario
    • fácil reutilización
    • búsqueda más rápida
  • Portabilidad
    • intercambio simplificado
    • puede ser almacenado en control de fuente

Cada objeto definido en un formulario dinámico, incluido el formulario en sí, tiene una o más propiedades. Consulte Directorio de páginas para ver rápidamente sus descripciones.

El siguiente es un archivo JSON simple ("HW.json", almacenado en la carpeta Recursos) con texto, una imagen y un botón:

{
    "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
                }
            }
        }
    ]
}

Este formulario se puede cargar en un diálogo con el siguiente código 4D:

 Open form window("/RESOURCES/HW.json")
 DIALOG("/RESOURCES/HW.json")

Que muestra:

Al crear formularios a partir de archivos, deben:

  • cumplir con el esquema JSON. El esquema de formulario JSON 4D se puede encontrar en la carpeta del programa 4D: Resources/formsSchema.json. Es su responsabilidad verificar la validez del archivo de formulario .json. Ver el comando JSON Validate.
  • estar en archivos con una extensión de archivo ".json".
  • almacenarse dentro del paquete de la aplicación, relativo al archivo de estructura.

Notas:

  • Los comentarios dentro de los archivos .json deben estar dentro de la propiedad "comentarios". Los caracteres de codificación estándar para comentarios (es decir, "//", "/ *", "'", etc.) renderizarán el archivo inválido.
  • Los arrays en JSON actúan como las colecciones en 4D.

Todas las rutas de archivos pueden ser relativas o absolutas. Deben utilizar '/' como delimitador de ruta y se resuelven de la siguiente manera:

  • Una ruta relativa no debe comenzar por '/'. Se resuelve relativamente al documento JSON donde se ha encontrado la cadena de ruta,
  • Una ruta absoluta comienza con '/'. Por razones de seguridad, solo se acepta "/RESOURCES" como ruta absoluta y se designa la carpeta de recursos de la base actual. Por ejemplo, "/RESOURCES/templates/myfile.json" apunta al archivo "myfile.json" ubicado en la carpeta de recursos de la base actual.

Notas:

  • La resolución del nombre es sensible a mayúsculas y minúsculas
  • 4D no resuelve una ruta a un archivo .json ubicado en la red (a partir de "http/https").
  • Si la ruta es incorrecta o el archivo no es válido por el esquema JSON, se generará un error.         

Los formularios dinámicos pueden contener punteros JSON. Los punteros JSON se resuelven automáticamente cuando llama uno de los comandos 4D que aceptan un formulario dinámico como parámetro (ruta del archivo .json u objeto 4D):

Para más información sobre los punteros JSON, consulte la sección Definir punteros JSON.

Documentación trasladada


La documentación de esta sección ha sido actualizada y trasladada a developer.4d.com en las siguientes secciones:



Ver también 

Introducción

 
PROPIEDADES 

Producto: 4D
Tema: Creación de formularios

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R6

 
ARTICLE USAGE

Manual de Diseño ( 4D v20 R7)