Objetos
Tipo
PARÁMETRO OBLIGATORIO
Esta propiedad designa el tipo del objeto formulario activo o inactivo.
Gramática JSON
Nombre | Tipos de datos | Valores posibles |
---|---|---|
type | string | "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
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Group Box - Hierarchical List - List Box - List Box Column - List Box Footer - List Box Header - Picture Button - Picture Pop-up Menu - Plug-in Area - Progress indicator - Radio Button -Spinner - Splitter - Static Picture - Stepper - Subform - Tab control - Text Area - Web Area
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.
When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to Object Properties in the 4D Language Reference manual).
Para más información sobre las reglas de denominación de los objetos de formulario, consulte la sección Identificadores.
Gramática JSON
Nombre | Tipos de datos | Valores posibles |
---|---|---|
name | string | Todo nombre permitido que no pertenezca a un objeto ya existente |
Objetos soportados
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Group Box - Hierarchical List - List Box - List Box Column - List Box Footer - List Box Header - Picture Button - Picture Pop-up Menu - Plug-in Area - Progress indicator - Spinner - Splitter - Static Picture - Stepper - Radio Button - Subform - Tab control - Text Area - Web Area
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:
Object | Valor guardado |
---|---|
Casilla de verificación | Valor de la variable asociada (0, 1, 2) |
Drop-down List | Número de línea seleccionada |
Botón de radio | Valor de la variable asociada (1, 0, True o False para los botones de acuerdo a su tipo) |
Tab control | Número de pestaña seleccionada |
Gramática JSON
Nombre | Tipos de datos | Valores posibles |
---|---|---|
memorizeValue | boolean | true, 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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
dataSource | cadena o array de cadenas |
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
You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dinámicamente y de acuerdo a 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
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Hierarchical List - List Box - List Box Column - List Box Header - List Box Footer - Picture Pop-up Menu - Plug-in Area - Progress indicator - Radio Button - Spinner - Splitter - Stepper - Subform - Tab control - Web Area
Tipo de expresión
This property is called Data Type in the Property List for selection and collection type list box columns and for Drop-down Lists associated to an object or an 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 To do this, you need either for the statementC_PICTURE(varName)
to have been executed before loading the form (typically, in the method calling theDIALOG
command), or for the variable to have been typed at the form level using the expression type property. De lo contrario, la variable imagen no se mostrará correctamente (sólo en modo interpretado).
Gramática JSON
Nombre | Tipos de datos | Valores posibles |
---|---|---|
dataSourceTypeHint | string |
Objetos soportados
Check Box - Combo Box - Drop-down List - Input - List Box Column - List Box Footer - Plug-in Area - Progress indicator - Radio Button - Ruler - Spinner - Stepper - Subform - Tab Control
Clase CSS
Lista de palabras separadas por espacios que se utilizan como selectores de clase en los archivos css.
Gramática JSON
Nombre | Tipos de datos | Valores posibles |
---|---|---|
class | string | Una cadena con los nombres de los CSS separados por caracteres de espacio |
Objetos soportados
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Group Box - Hierarchical List - List Box - Picture Button - Picture Pop-up Menu - Plug-in Area - Radio Button - Static Picture - Subform - Text Area - Web Area
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. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the This
keyword:
- 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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
dataSource | string | Expresión que devuelve una colección o una selección de entidades. |
Objetos soportados
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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
listboxType | string | "array", "currentSelection", "namedSelection", "collection" |
Objetos soportados
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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
pluginAreaKind | string | Nombre del área externa del plug-in (comienza con un carácter %) |
Objetos soportados
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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
radioGroup | string | Nombre del grupo radio |
Objetos soportados
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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
text | string | todo 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álculo | Num | Text | Fecha | Hora | Bool | Imágenes | tipos de variables de pie de página |
---|---|---|---|---|---|---|---|
Mínimo | X | X | X | X | X | Igual que el tipo de columna | |
Máximo | X | X | X | X | X | Igual que el tipo de columna | |
Suma | X | X | X | Igual que el tipo de columna | |||
Conteo | X | X | X | X | X | X | Longint |
Promedio | X | X | Real | ||||
Desviación estándar(*) | X | X | Real | ||||
Varianza(*) | X | X | Real | ||||
Suma de cuadrados(*) | X | X | Real | ||||
Personalizado ("None ") | X | X | X | X | X | X | Cualquiera |
(*) 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
othis.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
Nombre | Tipos de datos | Valores posibles |
---|---|---|
variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |