Saltar al contenido principal
Versión: 18

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


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.

Expresiones

Puede utilizar una expresión como fuente de datos para un objeto. Se permite toda expresión 4D válida: expresión simple, 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=On Load)
C_TEXT($init)
$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.

Gramática JSON

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

Objetos soportados

Área 4D View Pro - Área 4D Write Pro - Botón - Rejilla de botones - Casilla de verificación - Combo Box - Lista desplegable - Lista jerárquica - List Box - Columna de list Box - Encabezado de List Box - Pie de List Box - Menu Pop-up imagen - Área plug-in - Indicador de progreso - Spinner - Splitter - Stepper - Control de pestañas - Subformulario - Botón radio - Área web


Tipo de expresión

Esta propiedad se denomina Tipo de datos en la Lista de propiedades de las columnas del list box de tipo Selección y colección.

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í. En vista de la compilación de una base de datos, debe utilizar los comandos del lenguaje 4D del tema Compilador.

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" (sólo list box array/selección) "integer", "time", "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

Una 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 del comando This:

  • si ha utilizado una colección de objetos, puede llamar a This en la expresión datasource 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 al valor de cada 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. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the ORDA chapter.

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 base de datos, 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 definirse con 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ínimoXXXXIgual que el tipo de columna
MáximoXXXXIgual que el tipo de columna
SumaXXXIgual que el tipo de columna
ConteoXXXXXXInteger
PromedioXXReal
Desviación estándar(*)XXReal
Varianza(*)XXReal
Suma de cuadrados(*)XXReal
Personalizado ("None ")XXXXXXCualquiera

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

Cuando se establece un cálculo automático, éste se aplica a todos los valores que se encuentran en la columna del list box. Tenga en cuenta que el cálculo no tiene en cuenta el estado mostrado/oculto de las líneas del list box. Si desea restringir un cálculo sólo a las líneas visibles, debe utilizar un cálculo personalizado.

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.

Los cálculos automáticos no son soportados con:

  • pies de columnas basados en fórmulas,
  • pies de página de los list boxes de colecciones y de selección de entidades. Es necesario utilizar cálculos personalizados.

Gramática JSON

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

Objetos soportados

Pie de list box