Saltar al contenido principal
Versión: v20 R4 BETA

Objetos


Tipo

PARÁMETRO OBLIGATORIO

Esta propiedad designa el tipo del objeto formulario activo o inactivo.

Gramática JSON

NombreTipos de datosValores posibles
typestring"button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write"

Objetos soportados

Área 4D View Pro - Área 4D Write Pro - Botón - Rejilla de botones - Casilla de selección - Combo Box - Lista desplegable - Group Box - Lista jerárquica - List Box - Columna List Box - Pie de List Box - Encabezado de List Box - Botón imagen - Menú emergente imagen - Área de Plug-in - Indicador de progreso - Botón de radio -Spinner - Splitter - Imagen estática - Stepper - Subformulario - Control de pestañas - Área de texto - Área web


Nombre del objeto

Cada objeto de formulario activo está asociado a un nombre de objeto. Cada nombre de objeto debe ser único.

Los nombres de objetos están limitados a un tamaño de 255 bytes.

Cuando utilice el lenguaje 4D, puede referirse a un objeto de formulario activo por su nombre de objeto (para más información sobre esto, consulte Propiedades Objeto en el manual de Referencia del Lenguaje 4D).

Para más información sobre las reglas de denominación de los objetos de formulario, consulte la sección Identificadores.

Gramática JSON

NombreTipos de datosValores posibles
namestringTodo nombre permitido que no pertenezca a un objeto ya existente

Objetos soportados

Área 4D View Pro - Área 4D Write Pro - Botón - Rejilla de botones - Casilla de selección - Combo Box - Lista desplegable - Group Box - Lista jerárquica - List Box - Columna List Box - Pie de List Box - Encabezado de List Box - Botón imagen - Menú emergente imagen - Área de Plug-in - Indicador de progreso - Spinner - Splitter - Imagen estática - Stepper - Botón Radio - Subformulario - Control de pestañas - Área de texto - Área web


Guardar valor

Esta propiedad está disponible cuando la opción Guardar geometría está marcada para el formulario.

Esta funcionalidad sólo es soportada con los objetos que contribuyen a la geometría general del formulario. Por ejemplo, esta opción está disponible para las casillas de verificación porque su valor puede utilizarse para ocultar o mostrar áreas adicionales en la ventana.

Esta es la lista de objetos cuyo valor se puede guardar:

ObjectValor guardado
Casilla a seleccionarValor de la variable asociada (0, 1, 2)
Lista desplegableNúmero de línea seleccionada
Botón radioValor de la variable asociada (1, 0, True o False para los botones de acuerdo a su tipo)
Control de pestañasNúmero de pestaña seleccionada

Gramática JSON

NombreTipos de datosValores posibles
memorizeValuebooleantrue, false

Objetos soportados

Casilla de selección - Lista desplegable - Botón de radio - Control de pestañas


Variable o expresión

Ver también Expression para las columnas de list box de tipo selección y colección.

Esta propiedad especifica la fuente de los datos. Cada objeto de formulario activo está asociado a un nombre de objeto y a un nombre de variable. El nombre de la variable puede ser diferente del nombre del objeto. En el mismo formulario, puede utilizar la misma variable varias veces, mientras que cada nombre de objeto debe ser único.

El tamaño del nombre de la variable está limitado a 31 bytes. Consulte la sección Identificadores para obtener más información sobre las reglas de asignación de nombres.

Las variables de los objetos del formulario permiten controlar y supervisar los objetos. Por ejemplo, cuando se presiona un botón, su variable se pone en 1; el resto del tiempo, en 0. La expresión asociada a un indicador de progreso permite leer y modificar el parámetro actual.

Las variables o expresiones se pueden introducir o no y pueden recibir datos de tipo Texto, Entero, Numérico, Fecha, Hora, Imagen, Booleano u Objeto.

Gramática JSON

NombreTipos de datosValores posibles
dataSourcecadena o array de cadenas
  • Variable, nombre de campo o cualquier expresión 4D.
  • Cadena vacía para variables dinámicas.
  • Array de cadenas (colección de nombres de array) para una columna hierarchical listbox]
  • Expresiones

    Puede utilizar una expresión como fuente de datos para un objeto. Se permite toda expresión 4D válida: expresión simple, propiedad de objeto, fórmula, función 4D, nombre de método proyecto o campo que utilice la sintaxis estándar [Table]Field. La expresión se evalúa cuando se ejecuta el formulario y se reevalúa para cada evento del formulario. Tenga en cuenta que las expresiones pueden ser asignables o no asignables.

    Si el valor introducido corresponde a la vez a un nombre de variable y a un nombre de método, 4D considera que está indicando el método.

    Variables dinámicas

    Puede dejar en manos de 4D la creación de variables asociadas a sus objetos de formulario (botones, variables introducibles, casillas de selección, etc.) de forma dinámica y según sus necesidades. Para ello, basta con dejar en blanco la propiedad "Variable o expresión" (o el campo JSON de dataSource).

    Cuando una variable no tiene nombre, al cargar el formulario, 4D crea una nueva variable para el objeto, con un nombre calculado que es único en el espacio de las variables de proceso del intérprete (lo que significa que este mecanismo puede utilizarse incluso en modo compilado). Esta variable temporal se destruirá cuando se cierre el formulario. Para que este principio funcione en modo compilado, es imprescindible que las variables dinámicas estén explícitamente declaradas. Hay dos maneras de hacer esto:

    • Puede definir el tipo utilizando la propiedad tipo de expresión.
    • Puede utilizar un código de inicialización específico cuando se carga el formulario que utilice, por ejemplo, el comando VARIABLE TO VARIABLE:
     If(Form event code=On Load)
    var $init : Text
    $Ptr_object:=OBJECT Get pointer(Object named;"comments")
    $init:=""
    VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init)
    End if

    En el código 4D, se puede acceder a las variables dinámicas utilizando un puntero obtenido con el comando OBJECT Get pointer. Por ejemplo:

      // asigna la hora 12:00:00 a la variable para el objeto "tstart"
    $p :=OBJECT Get pointer(Object named;"tstart")
    $p->:=?12:00:00?

    Este mecanismo tiene dos ventajas:

    • Por un lado, permite desarrollar componentes de tipo "subformulario" que pueden utilizarse varias veces en el mismo formulario local. Tomemos como ejemplo el caso de un subformulario datepicker que se inserta dos veces en un formulario anfitrión para definir una fecha de inicio y una fecha de fin. Este subformulario utilizará objetos para elegir la fecha del mes y del año. Será necesario que estos objetos trabajen con variables diferentes para la fecha de inicio y la fecha final. Dejar que 4D cree su variable con un nombre único es una forma de resolver esta dificultad.
    • Por otra parte, puede utilizarse para limitar el uso de la memoria. De hecho, los objetos formulario sólo funcionan con variables proceso o interproceso. Sin embargo, en el modo compilado, se crea una instancia de cada variable de proceso en todos los procesos, incluidos los procesos del servidor. Esta instancia ocupa memoria, incluso cuando el formulario no se utiliza durante la sesión. Por lo tanto, dejar que 4D cree variables dinámicamente al cargar los formularios puede ahorrar memoria.

    List box array

    Para un list box array, la propiedad Variable o Expresión normalmente contiene el nombre de la variable array definida para el list box y para cada columna. Sin embargo, puede utilizar un array de cadenas (que contenga nombres de arrays) como dataSource valor de una columna list box para definir un list box jerárquico.

    Objetos soportados

    Área 4D View Pro - Área 4D Write Pro - Botón - Rejilola de botones - Casilla de selección - Combo box - Lista desplegable - Lista jerárquica - List box - Columna List box - Encabezado list box - Pie List Box - Pop-up Menu Imagen - Área Plug-in - Indicador de progreso - Botón Radio - Spinner - Splitter - Stepper - Subformulario - Control de pestañas - Área Web


    Tipo de expresión

    Esta propiedad se denomina Data Type en la Lista de propiedades para las columnas de list box de tipo selección y colección y para las Listas desplegables asociadas a un objeto o a un array.

    Especifique el tipo de datos para la expresión o variable asociada al objeto. Tenga en cuenta que el objetivo principal de este ajuste es configurar las opciones (como los formatos de visualización) disponibles para el tipo de datos. En realidad, no escribe la variable en sí. De cara a la compilación del proyecto, debe declarar la variable.

    Sin embargo, esta propiedad tiene una función tipográfica en los siguientes casos específicos:

    • Variables dinámicas: puede utilizar esta propiedad para declarar el tipo de variables dinámicas.
    • Columnas List Box : esta propiedad se utiliza para asociar un formato de visualización a los datos de la columna. Los formatos suministrados dependerán del tipo de variable (list box de tipo array) o del tipo dato/campo (list boxes de tipo selección y colección). Los formatos 4D estándar que pueden utilizarse son: Alfa, Numérico, Fecha, Hora, Imagen y Booleano. El tipo Texto no tiene formatos de visualización específicos. Todos los formatos personalizados existentes también están disponibles.
    • Variables imagen: puede utilizar este menú para declarar las variables antes de cargar el formulario en modo interpretado. Mecanismos nativos específicos rigen la visualización de variables de imagen en los formularios. Estos mecanismos exigen una mayor precisión a la hora de configurar las variables: a partir de ahora, deberán haber sido declaradas antes de cargar el formulario -es decir, incluso antes del evento de formulario On Load - a diferencia de otros tipos de variables. Para ello, es necesario que la instrucción C_PICTURE(varName) se haya ejecutado antes de cargar el formulario (normalmente, en el método que llama al comando DIALOG), o que la variable se haya digitado a nivel de formulario utilizando la propiedad tipo de expresión. De lo contrario, la variable imagen no se mostrará correctamente (sólo en modo interpretado).

    Gramática JSON

    NombreTipos de datosValores posibles
    dataSourceTypeHintstring
  • objetos estándar: "integer", "boolean", "number", "picture", "text", date", "time", "arrayText", "arrayDate", "arrayTime", "arrayNumber", "collection", "object", "undefined"
  • columnas list box: "boolean", "number", "picture", "text", date", "time". Sólo para Array/selección list box: "integer", "object"
  • Objetos soportados

    Casilla de verificación - Combo Box - Lista desplegable - Entrada - Columna de List Box - Pie de List Box - Área de plug-in - Indicador de progreso - Botón de radio - Regla - Spinner - Stepper - Subformulario - Control de pestañas


    Clase CSS

    Lista de palabras separadas por espacios que se utilizan como selectores de clase en los archivos css.

    Gramática JSON

    NombreTipos de datosValores posibles
    classstringUna cadena con los nombres de los CSS separados por caracteres de espacio

    Objetos soportados

    Área 4D View Pro - Área 4D Write Pro - Botón - Rejilla de botones - Casilla de selección - Combo Box - Lista desplegable - Caja de grupo - Lista jerárquica - List Box List Box - Botón de imagen - Menú emergente imagen - Área Plug-in - Botón de radio - Imagen estática - Subformulario - Área de texto - Área web


    Collection o entity selection

    Para utilizar elementos de colección o entidades para definir el contenido de las líneas del list box.

    Introduzca una expresión que devuelva una colección o una selección de entidades. Normalmente, introducirá el nombre de una variable, un elemento de una colección o una propiedad que contenga una colección o una selección de entidades.

    La colección o la selección de entidades debe estar disponible para el formulario cuando se carga. Cada elemento de la colección o cada entidad de la selección de entidades se asociará a una línea del list box y estará disponible como objeto a través de la palabra clave This:

    • si ha utilizado una colección de objetos, puede llamar a This en la expresión de la fuente de datos para acceder a cada valor de propiedad, por ejemplo This.<propertyPath>.
    • si ha utilizado una selección de entidades, puede llamar a This en la expresión de la fuente de datos para acceder a cada valor de atributo, por ejemplo This.<attributePath>.

      Si ha utilizado una colección de valores escalares (y no objetos), 4D le permite mostrar cada valor llamando a This.value en la expresión datasource. Sin embargo, en este caso no podrá modificar valores ni acceder al objeto actual (ver más adelante).

    Gramática JSON

    NombreTipos de datosValores posibles
    dataSourcestringExpresión que devuelve una colección o una selección de entidades.

    Objetos soportados

    List Box


    Fuente de datos

    Especifique el tipo de list box.

    • Arrays(por defecto): utiliza elementos de array como líneas del list box.
    • Selección actual: utiliza expresiones, campos o métodos cuyos valores se evaluarán para cada registro de la selección actual de una tabla.
    • Selección temporal: utiliza expresiones, campos o métodos cuyos valores se evaluarán para cada registro de una selección temporal.
    • Colección o Selección de entidades: utilice elementos de colección o entidades para definir el contenido de las líneas del list box. Tenga en cuenta que con este tipo de list box, debe definir la propiedad Colección o Selección de entidades.

    Gramática JSON

    NombreTipos de datosValores posibles
    listboxTypestring"array", "currentSelection", "namedSelection", "collection"

    Objetos soportados

    List Box


    Tipo de plug-in

    Nombre del área externa del plug-in asociada al objeto. Los nombres de las áreas externas del plug-in.se publican en el archivo manifest.json del plug-in.

    Gramática JSON

    NombreTipos de datosValores posibles
    pluginAreaKindstringNombre del área externa del plug-in (comienza con un carácter %)

    Objetos soportados

    Área de plug-in


    Grupo radio

    Permite utilizar los botones de radio en conjuntos coordinados: sólo se puede seleccionar un botón a la vez en el conjunto.

    Gramática JSON

    NombreTipos de datosValores posibles
    radioGroupstringNombre del grupo radio

    Objetos soportados

    Botón radio


    Título

    Permite insertar una etiqueta en un objeto. Se puede especificar la fuente y el estilo de esta etiqueta.

    Puede forzar un retorno de carro en la etiqueta utilizando el caracter \ (barra invertida).

    Para insertar un \ en la etiqueta, ingrese "\\".

    Por defecto, la etiqueta se coloca en el centro del objeto. Cuando el objeto también contiene un icono, puede modificar la ubicación relativa de estos dos elementos utilizando la propiedad Posición Título/imagen.

    Para la traducción de la aplicación, puede introducir una referencia XLIFF en el área del título de un botón (ver Apéndice B: arquitectura XLIFF).

    Gramática JSON

    NombreTipos de datosValores posibles
    textstringtodo texto

    Objetos soportados

    Botón - Casilla de selección - Encabezado List Box - Botón radio - ÁreaTexto


    Cálculo de variables

    Esta propiedad define el tipo de cálculo que se realizará en un área pie de columna.

    El cálculo de los pies de página también puede establecerse utilizando el comando 4D LISTBOX SET FOOTER CALCULATION.

    Hay varios tipos de cálculos disponibles. La tabla siguiente muestra los cálculos que se pueden utilizar según el tipo de datos que se encuentran en cada columna e indica el tipo afectado automáticamente por 4D a la variable de pie de página (si no está escrita por el código):

    CálculoNumTextFechaHoraBoolImágenestipos de variables de pie de página
    MínimoXXXXXIgual que el tipo de columna
    MáximoXXXXXIgual que el tipo de columna
    SumaXXXIgual que el tipo de columna
    ConteoXXXXXXLongint
    PromedioXXReal
    Desviación estándar(*)XXReal
    Varianza(*)XXReal
    Suma de cuadrados(*)XXReal
    Personalizado ("None ")XXXXXXCualquiera

    (*) Sólo para list boxes de tipo array.

    Sólo las variables declaradas o dinámicas pueden utilizarse para mostrar los cálculos de pie de página. No se soportan otros tipos de expresiones como Form.value.

    Los cálculos automáticos ignoran el estado mostrado/oculto de las líneas list box. Si desea restringir un cálculo sólo a las líneas visibles, debe utilizar un cálculo personalizado.

    Null no se tienen en cuenta para ningún cálculo.

    Si la columna contiene distintos tipos de valores (columna basada en colecciones, por ejemplo):

    • Promedio y Suma sólo tienen en cuenta elementos numéricos (se ignoran otros tipos de elementos).
    • Mínimo y Máximo devuelven un resultado según el orden habitual de las listas de tipos, tal como se define en la función collection.sort().

    El uso de cálculos automáticos en pies de columnas basados en expresiones tiene las siguientes limitaciones:

    • es soportado con todos los tipos de list boxes cuando la expresión es "simple" (como [table]field o this.attribute),
    • se soporta pero no se recomienda por razones de rendimiento con list boxes colección/selección de entidades cuando la expresión es "compleja" (distinta de this.attribute) y el list box contiene un gran número de líneas,
    • no se soporta con list boxes selección actual/selección temporal cuando la expresión es "compleja". Es necesario utilizar cálculos personalizados.

    Cuando está configurado Personalizado ("none" en JSON), 4D no realiza cálculos automáticos y debe asignar el valor de la variable en esta área por programación.

    Gramática JSON

    NombreTipos de datosValores posibles
    variableCalculationstring"none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare"

    Objetos soportados

    Pie de list box