Objetos
Tipo
CONFIGURAÇÃO OBRIGATÓRIA
Esta propiedad designa el tipo del objeto formulario activo o inactivo.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
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" |
Objectos suportados
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
Nome de objeto
Cada objeto de formulário ativo está associado a um nome de objeto. Cada nome de objeto deve ser único.
Os nomes dos objectos estão limitados a um tamanho de 255 bytes.
Ao usar a linguagem 4D, você pode se referir a um objeto de formulário ativo pelo nome do objeto (para obter mais informações sobre isso, consulte Propriedades Objeto no manual de referência da linguagem 4D).
Para obter mais informações sobre regras de nomenclatura para objetos de formulário, consulte a seção Identificadores.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
name | string | Qualquer nome permitido que não pertença a um objeto já existente |
Objectos suportados
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 propriedade está disponível quando a opção Salvar Geometria está marcada para o formulário.
This feature is only supported for objects that contribute to the overall geometry of the form. For example, this option is available for check boxes because their value can be used to hide or display additional areas in the window.
Eis a lista de objetos cujo valor pode ser guardado:
Object | Valor guardado |
---|---|
Caixa de seleção | Valor da variável associada (0, 1, 2) |
Lista suspensa | Número da linha seleccionada |
Botão de rádio | Valor da variável associada (1, 0, True ou False para os botões, consoante o seu tipo) |
Controle de guias | Número da aba selecionada |
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
memorizeValue | boolean | true, false |
Objectos suportados
Casilla de selección - Lista desplegable - Botón de radio - Control de pestañas
Variável ou expressão
Consulte também Expression para colunas do list box do tipo seleção e coleção.
Esta propriedade especifica a fonte dos dados. Each active form object is associated with an object name and a variable name. O nome da variável pode diferir do nome do objeto. No mesmo formulário, você pode usar a mesma variável várias vezes, mas cada nome do objeto deve ser exclusivo.
O tamanho do nome da variável é limitado a 31 bytes. Consulte a seção Identificadores para obter mais informações sobre regras de nomenclatura.
As variáveis de objeto do formulário permitem controlar e monitorar os objetos. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting.
Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
dataSource | string ou array de strings |
Expressões
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
. The expression is evaluated when the form is executed and reevaluated for each form event. Tenga en cuenta que las expresiones pueden ser asignables o no asignables.
If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method.
Variáveis dinâmicas
You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dinamicamente e de acordo com suas necessidades. Para ello, basta con dejar en blanco la propiedad "Variable o expresión" (o el campo JSON de dataSource
).
When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). Esta variável temporária será destruída quando o formulário for fechado. Para que este princípio funcione em modo compilado, é imperativo que as variáveis dinâmicas sejam explicitamente tipadas. Há duas formas de o fazer:
- 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 exemplo:
// assign the time 12:00:00 to the variable for the "tstart" object
$p :=OBJECT Get pointer(Object named;"tstart")
$p->:=?12:00:00?
Este mecanismo tem duas vantagens:
- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty.
- Por outro lado, pode ser utilizado para limitar a utilização da memória. De facto, os objectos formulário só funcionam com variáveis processo ou inter-processo. No entanto, no modo compilado, uma instância de cada variável de processo é criada em todos os processos, incluindo os processos do servidor. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory.
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.
Objectos suportados
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 expressão
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.
Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. Não digita efetivamente a variável em si. De cara a la compilación del proyecto, debe declarar la variable.
No entanto, essa propriedade tem uma função de digitação nos seguintes 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. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. O tipo de texto não tem formatos de visualização específicos. Também estão disponíveis quaisquer formatos personalizados existentes.
- Variables imagen: puede utilizar este menú para declarar las variables antes de cargar el formulario en modo interpretado. Specific native mechanisms govern the display of picture variables in forms. 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. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode).
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
dataSourceTypeHint | string |
Objectos suportados
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
Classe CSS
Lista de palabras separadas por espacios que se utilizan como selectores de clase en los archivos css.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
"class" | string | Uma cadeia de caracteres com o(s) nome(s) do CSS separados por caracteres de espaço |
Objectos suportados
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
Seleção de entidade ou coleção
To use collection elements or entities to define the row contents of the list box.
Insira uma expressão que retorne uma coleção ou uma seleção de entidades. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection.
A coleção ou a seleção da entidade deve estar disponível para o formulário quando for carregada. 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. However in this case you will not be able to modify values or to access the current object (see below).
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
dataSource | string | Expressão que devolve uma coleção ou uma seleção de entidades. |
Objectos suportados
Fonte de dados
Especifique o 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
Nome | Tipo de dados | Valores possíveis |
---|---|---|
listboxType | string | "array", "currentSelection", "namedSelection", "collection" |
Objectos suportados
Tipo de plug-in
Nombre del área externa del plug-in asociada al objeto. Plug-in external area names are published in the manifest.json file of the plug-in.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
pluginAreaKind | string | Nome da área externa do plug-in (começa com um carácter %) |
Objectos suportados
Grupo Rádio
Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
radioGroup | string | Nome do grupo rádio |
Objectos suportados
Título
Permite inserir uma etiqueta num objeto. O tipo de letra e o estilo desta etiqueta podem ser especificados.
Pode forçar um retorno de carro na etiqueta utilizando o carácter \ (barra invertida).
Para inserir um \ na etiqueta, introduzir "\".
Por padrão, a etiqueta é colocada no centro do 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
Nome | Tipo de dados | Valores possíveis |
---|---|---|
text | string | qualquer texto |
Objectos suportados
Botón - Casilla de selección - Encabezado List Box - Botón radio - ÁreaTexto
Cálculo de variáveis
Esta propiedad define el tipo de cálculo que se realizará en un área pie de columna.
The calculation for footers can also be set using the
LISTBOX SET FOOTER CALCULATION
4D command.
Existem vários tipos de cálculos disponíveis. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code):
Cálculo | Num | Text | Date | Hora | Bool | Pict | tipo var rodapé |
---|---|---|---|---|---|---|---|
Mínimo | X | X | X | X | X | Igual ao tipo de coluna | |
Máximo | X | X | X | X | X | Igual ao tipo de coluna | |
Soma | X | X | X | Igual ao tipo de coluna | |||
Contagem | X | X | X | X | X | X | Longint |
Média | X | X | Real | ||||
Desvio padrão(*) | X | X | Real | ||||
Variância(*) | X | X | Real | ||||
Soma dos quadrados(*) | X | X | Real | ||||
Personalizado ("none") | X | X | X | X | X | X | Qualquer |
(*) Apenas para list boxes do 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
.
Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation.
Null no se tienen en cuenta para ningún cálculo.
If the column contains different types of values (collection-based column for example):
- Average and Sum only take numerical elements into account (other element types are ignored).
- 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().
Using automatic calculations in footers of columns based upon expressions has the following limitations:
- 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". Precisa 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
Nome | Tipo de dados | Valores possíveis |
---|---|---|
variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |