diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md index 431467d394eb9b..5ebfb9df46d87b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/parameters.md @@ -170,28 +170,34 @@ La instrucción `return` finaliza la ejecución de una función o de un método Por ejemplo, la siguiente función devuelve el cuadrado de su argumento, $x, donde $x es un número. ```4d -Function square($x : Integer) -> $result : Integer +Function square($x : Integer) : Integer return $x * $x ``` -:::note - -Internamente, `return x` ejecuta `myReturnValue:=x`, y regresa al llamante. Si `return` se utiliza sin una expresión, la función o el método devuelve un valor nulo del tipo de retorno declarado (si lo hay), de lo contrario *undefined*. - -::: - -La instrucción `return` puede utilizarse junto con la sintaxis estándar para los [valores devueltos](#valor-devuelto) (el valor devuelto debe ser del tipo declarado). Sin embargo, hay que tener en cuenta que termina inmediatamente la ejecución del código. Por ejemplo: +La instrucción `return` puede utilizarse junto con la sintaxis estándar para los [valores devueltos](#valor-devuelto) (el valor devuelto debe ser del tipo declarado). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // devuelve 20 + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // nunca ejecutado - // devuelve 10 + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indirección de parámetros (${N}) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md index 409a30134a2e23..62122f6b3e12f9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valor mínimo de un indicador. Para los steppers numéricos, esta propiedad repr #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md index a226a6bb32e8fc..c1f58442b66cc5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ El nombre de la ruta a introducir es similar al de [la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ Aspecto general del botón. El estilo del botón también influye en la disponib #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ Este parámetro es útil, por ejemplo, cuando la imagen de fondo contiene bordes #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ Designa la ubicación de un icono en relación con el objeto formulario. #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ El título del botón se desplazará hacia la derecha y hacia la parte inferior #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ Cada estado está representado por una imagen diferente. En la imagen fuente, lo #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ El nombre de la ruta a introducir es similar al de [la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ Aquí están los resultados utilizando las distintas opciones para esta propieda #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ Por defecto, cuando un botón contiene un título y una imagen, los elementos se #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ Este parámetro es útil, por ejemplo, cuando la imagen de fondo contiene bordes #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ Es importante señalar que la propiedad "Con menú emergente" sólo gestiona el #### Gramática JSON -| Nombre | Tipos de datos | Valores posibles | -| :------------- | -------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nombre | Tipos de datos | Valores posibles | +| :------------- | -------------- | ------------------------------------------------------------- | +| popupPlacement | string | | #### Objetos soportados -[Botón de barra de herramientas](button_overview.md#toolbar) - [Botón biselado](button_overview.md#bevel) - [Botón biselado redondeado](button_overview.md#rounded-bevel) - [Botón de degradado OS X](button_overview.md#os-x-gradient) - [Botón con textura OS X](button_overview.md#os-x-textured) - [Botón Office XP](button_overview.md#office-xp) - [Botón circular](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/commands/open-form-window.md b/i18n/es/docusaurus-plugin-content-docs/current/commands/open-form-window.md index e1976020f58ac6..ce29ec3c41dbba 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/commands/open-form-window.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/commands/open-form-window.md @@ -10,16 +10,19 @@ toc_max_heading_level: 3 +
    + | Parámetros | Tipo | | Descripción | | ---------- | ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | aTable | Tabla | → | Tabla del formulario o Tabla por defecto, si se omite | | formName | Text, Object | → | Name (string) of table or project form, or a POSIX path (string) to a .json file describing the form, oran object describing the form | -| type | Integer | → | Window type | +| type | Integer | → | Tipo de ventana | | hPos | Integer | → | Horizontal position of the window | | vPos | Integer | → | Posición vertical de la ventana | | \* | Operador | → | Guardar la posición y el tamaño actuales de la ventana | | Resultado | Integer | ← | Número de referencia de la ventana | +
    ## Descripción @@ -83,7 +86,7 @@ These parameters are expressed relative to the top left corner of the contents a If you pass the optional parameter *\**, the current position and size of the window are memorized when closed. Cuando se vuelve a abrir la ventana, se respetan su posición y tamaño anteriores. In this case, the *vPos* and *hPos* parameters are only used the first time the window is opened. -### Window types {#window-types} +### Tipos de ventanas {#window-types} #### Controller form window {#controller-form-window} diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md index 3b6de84b93bf6b..22800c28d4d011 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md @@ -544,10 +544,10 @@ Este ejemplo ilustra el uso de la opción `ck resolve pointers`:
    -|Parameter|Type||Description| +|Parámetro|Tipo||Descripción| |---------|--- |:---:|------| -|propertyPath|Text|->|Object property path to be used for calculation| -|Result|Real|<-|Number of elements in the collection| +|propertyPath|Text|->|Ruta de propiedad del objeto a utilizar para el cálculo| +|Resultado|Real|<-|Number of elements in the collection|
    diff --git a/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md b/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md index 1654439c9433ec..4154acb710935e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md @@ -223,4 +223,4 @@ Es importante señalar que la propiedad "Con menú emergente" sólo gestiona el #### Objetos soportados -[Botón de la barra de herramientas](button_overview.md#toolbar) - [Botón Bisel](button_overview.md#bevel) - [Botón Bisel redondeado](button_overview.md#rounded-bevel) - [Botón Gradiente OS X](button_overview.md#os-x-gradient) - [Botón Texturizado OS X](button_overview.md#os-x-textured) - [Botón Office XP](button_overview.md#office-xp) - [Botón Círculo](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md index eabf194b3c9174..704ff415380c21 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md @@ -647,10 +647,10 @@ Este ejemplo ilustra el uso de la opción `ck resolve pointers`:
    -|Parameter|Type||Description| +|Parámetro|Tipo||Descripción| |---------|--- |:---:|------| -|propertyPath|Text|->|Object property path to be used for calculation| -|Result|Real|<-|Number of elements in the collection| +|propertyPath|Text|->|Ruta de propiedad del objeto a utilizar para el cálculo| +|Resultado|Real|<-|Number of elements in the collection|
    diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md index 7005e27d03425f..f9680d32c0afba 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md @@ -256,10 +256,10 @@ Es importante señalar que la propiedad "Con menú emergente" sólo gestiona el #### Gramática JSON -| Nombre | Tipos de datos | Valores posibles | -|:-------------- | -------------- | --------------------------------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nombre | Tipos de datos | Valores posibles | +|:-------------- | -------------- | ------------------------- | +| popupPlacement | string | | #### Objetos soportados -[Botón de la barra de herramientas](button_overview.md#toolbar) - [Botón Bisel](button_overview.md#bevel) - [Botón Bisel redondeado](button_overview.md#rounded-bevel) - [Botón Gradiente OS X](button_overview.md#os-x-gradient) - [Botón Texturizado OS X](button_overview.md#os-x-textured) - [Botón Office XP](button_overview.md#office-xp) - [Botón Círculo](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md index 431467d394eb9b..77228afc9eb4b0 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md @@ -174,24 +174,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -Internamente, `return x` ejecuta `myReturnValue:=x`, y regresa al llamante. Si `return` se utiliza sin una expresión, la función o el método devuelve un valor nulo del tipo de retorno declarado (si lo hay), de lo contrario *undefined*. - -::: - -La instrucción `return` puede utilizarse junto con la sintaxis estándar para los [valores devueltos](#valor-devuelto) (el valor devuelto debe ser del tipo declarado). Sin embargo, hay que tener en cuenta que termina inmediatamente la ejecución del código. Por ejemplo: +La instrucción `return` puede utilizarse junto con la sintaxis estándar para los [valores devueltos](#valor-devuelto) (el valor devuelto debe ser del tipo declarado). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // devuelve 20 + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // nunca ejecutado - // devuelve 10 + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indirección de parámetros (${N}) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md b/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md index 409a30134a2e23..62122f6b3e12f9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valor mínimo de un indicador. Para los steppers numéricos, esta propiedad repr #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md b/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md index a226a6bb32e8fc..c1f58442b66cc5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ El nombre de la ruta a introducir es similar al de [la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ Aspecto general del botón. El estilo del botón también influye en la disponib #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ Este parámetro es útil, por ejemplo, cuando la imagen de fondo contiene bordes #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ Designa la ubicación de un icono en relación con el objeto formulario. #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ El título del botón se desplazará hacia la derecha y hacia la parte inferior #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ Cada estado está representado por una imagen diferente. En la imagen fuente, lo #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ El nombre de la ruta a introducir es similar al de [la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ Aquí están los resultados utilizando las distintas opciones para esta propieda #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ Por defecto, cuando un botón contiene un título y una imagen, los elementos se #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ Este parámetro es útil, por ejemplo, cuando la imagen de fondo contiene bordes #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ Es importante señalar que la propiedad "Con menú emergente" sólo gestiona el #### Gramática JSON -| Nombre | Tipos de datos | Valores posibles | -| :------------- | -------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nombre | Tipos de datos | Valores posibles | +| :------------- | -------------- | ------------------------------------------------------------- | +| popupPlacement | string | | #### Objetos soportados -[Botón de barra de herramientas](button_overview.md#toolbar) - [Botón biselado](button_overview.md#bevel) - [Botón biselado redondeado](button_overview.md#rounded-bevel) - [Botón de degradado OS X](button_overview.md#os-x-gradient) - [Botón con textura OS X](button_overview.md#os-x-textured) - [Botón Office XP](button_overview.md#office-xp) - [Botón circular](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md index dcd9b3244bf9a6..4842ff7927426d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md @@ -180,24 +180,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -Internamente, `return x` ejecuta `myReturnValue:=x`, y regresa al llamante. Si `return` se utiliza sin una expresión, la función o el método devuelve un valor nulo del tipo de retorno declarado (si lo hay), de lo contrario *undefined*. - -::: - -La instrucción `return` puede utilizarse junto con la sintaxis estándar para los [valores devueltos](#valor-devuelto) (el valor devuelto debe ser del tipo declarado). Sin embargo, hay que tener en cuenta que termina inmediatamente la ejecución del código. Por ejemplo: +La instrucción `return` puede utilizarse junto con la sintaxis estándar para los [valores devueltos](#valor-devuelto) (el valor devuelto debe ser del tipo declarado). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // devuelve 20 + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // nunca ejecutado - // devuelve 10 + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indirección de parámetros (${N}) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md index f780ef9be2a24d..0886874aa56331 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md @@ -70,7 +70,7 @@ Puede añadir o modificar formularios 4D utilizando los siguientes elementos: Hay dos categorías de formularios: -- **Los formularios de proyecto** - Formularios independientes que no están unidos a ninguna tabla. Están pensados, sobre todo, para crear cajas de diálogo de interfaz, al igual que componentes. Los formularios proyecto pueden utilizarse para crear interfaces que cumplan fácilmente con los estándares del sistema operativo. +- **Los formularios proyecto** - Formularios independientes que no están unidos a ninguna tabla. Están pensados, sobre todo, para crear cajas de diálogo de interfaz, al igual que componentes. Los formularios proyecto pueden utilizarse para crear interfaces que cumplan fácilmente con los estándares del sistema operativo. - **Los formularios tablas** - Se adjuntan a tablas específicas y, por tanto, se benefician de funciones automáticas útiles para el desarrollo de aplicaciones basadas en bases de datos. Normalmente, una tabla tiene formularios de entrada y salida separados. diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md index 409a30134a2e23..62122f6b3e12f9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valor mínimo de un indicador. Para los steppers numéricos, esta propiedad repr #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md index a226a6bb32e8fc..c1f58442b66cc5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ El nombre de la ruta a introducir es similar al de [la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ Aspecto general del botón. El estilo del botón también influye en la disponib #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ Este parámetro es útil, por ejemplo, cuando la imagen de fondo contiene bordes #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ Designa la ubicación de un icono en relación con el objeto formulario. #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ El título del botón se desplazará hacia la derecha y hacia la parte inferior #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ Cada estado está representado por una imagen diferente. En la imagen fuente, lo #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ El nombre de la ruta a introducir es similar al de [la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ Aquí están los resultados utilizando las distintas opciones para esta propieda #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ Por defecto, cuando un botón contiene un título y una imagen, los elementos se #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ Este parámetro es útil, por ejemplo, cuando la imagen de fondo contiene bordes #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ Es importante señalar que la propiedad "Con menú emergente" sólo gestiona el #### Gramática JSON -| Nombre | Tipos de datos | Valores posibles | -| :------------- | -------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nombre | Tipos de datos | Valores posibles | +| :------------- | -------------- | ------------------------------------------------------------- | +| popupPlacement | string | | #### Objetos soportados -[Botón de barra de herramientas](button_overview.md#toolbar) - [Botón biselado](button_overview.md#bevel) - [Botón biselado redondeado](button_overview.md#rounded-bevel) - [Botón de degradado OS X](button_overview.md#os-x-gradient) - [Botón con textura OS X](button_overview.md#os-x-textured) - [Botón Office XP](button_overview.md#office-xp) - [Botón circular](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md index 57fee0494954ff..810a76104e25f6 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/CollectionClass.md @@ -94,13 +94,13 @@ Une collection est initialisée avec les commandes [`New collection`](../command #### Description -Différent de +La fonction `.at()` retourne l'élément à la position *index*, acceptant des entiers positifs et négatifs. > Cette fonction ne modifie pas la collection d'origine. Les nombres entiers négatifs déterminent la position à partir du dernier élément de la collection. -Voici un exemple : +La fonction renvoie la valeur Undefined si *index* dépasse les limites de la collection. #### Exemple @@ -144,17 +144,17 @@ $element:=$col.at(10) // undefined #### Description -Différent de +La fonction .average() retourne la moyenne arithmétique des valeurs définies dans la collection. Seuls les éléments ayant une valeur numérique sont pris en compte pour le calcul (les autres types d'éléments sont ignorés). Les positions sont retournées dans un ordre croissant. -Vous pouvez passer tout type d'élément accepté par les collections, y compris une autre collection. +`.average()` retourne `undefined` si : - la collection est vide, - la collection ne contient pas d'éléments numériques, -- Egal à +- *propertyPath* n'est pas trouvé dans la collection. #### Exemple 1 @@ -204,7 +204,7 @@ Vous pouvez passer tout type d'élément accepté par les collections, y compris #### Description -Vous devez prêter attention aux problèmes de conversion suivants : +La fonction `.clear()` supprime tous les éléments de la collection et retourne une collection vide. > Cette fonction modifie la collection d'origine. @@ -248,17 +248,17 @@ $vSize:=$col.length //$vSize=0 #### Description -Vous pouvez passer : Vous pouvez passer : +La fonction `.combine()` insère des éléments *col2* à la fin ou à la position *index* spécifiée dans l'instance de collection et renvoie la collection modifiée. A la différence de la fonction `.insert()`, `.combine()` ajoute chaque valeur de *col2* dans la collection d'origine, et non en tant qu'élément unique de collection. > Cette fonction modifie la collection d'origine. -Nom de méthode Exemples : +Par défaut, les éléments *col2* sont ajoutés à la fin de la collection originale. Vous pouvez passer dans *index* la position à laquelle vous souhaitez que les éléments *col2* soient insérés dans la collection. -> Exemple 1 +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. -- Exemple 2 -- Inclus parmi -- Vous souhaitez un tri croissant des première et troisième collections, et une synchronisation pour la deuxième collection : +- Si *index* > la longueur de la collection, l'*index* de départ sera fixé à la longueur de la collection. +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). +- Si la valeur calculée est négative, *index* est mis à 0. #### Exemple @@ -292,18 +292,18 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6] | Paramètres | Type | | Description | | ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. | -| Résultat | Collection | <- | En cas d'incohérence, les règles suivantes sont appliquées : | +| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées | #### Description -Par exemple : +La fonction `.concat()` renvoie une nouvelle collection contenant les éléments de la collection originale avec tous les éléments du paramètre *value* ajoutés à la fin. > Cette fonction ne modifie pas la collection d'origine. -La collection retournée contient l'élément spécifié par *startFrom* et tous les éléments suivants jusqu'à l'élément spécifié par *end* (mais non compris). Si seul le paramètre *startFrom* est spécifié, la collection retournée contient tous les éléments de *startFrom* au dernier élément de la collection d'origine. +Si *value* est une collection, tous ses éléments sont ajoutés en tant que nouveaux éléments à la fin de la collection d'origine. Si la *value* n'est pas une collection, elle est ajoutée elle-même en tant que nouvel élément. #### Exemple @@ -324,10 +324,10 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
    Historique -| Release | Modifications | -| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 18 R3 | Les dates sont stockées sous la forme de date « aaaa-mm-jj » ou des chaînes au format « AAAA-MM-JJTHH: ss.SSSZ: mm » , selon la configuration actuelle « dates à l'intérieur des objets » de la base de données. Cet exemple retourne des personnes embauchées il y a plus de 90 jours : | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | ---------------------------------------------------------------------------- | +| 18 R3 | Nouvelle option *ck shared*. Nouveaux paramètres *groupWith* | +| v16 R6 | Ajout |
    @@ -337,40 +337,40 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
    -| Paramètres | Type | | Description | -| ------------ | ---------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| option | Integer | -> | Exemple 3 | -| groupWithCol | Collection | -> | Collection partagée à grouper avec la collection résultante | -| groupWithObj | Object | -> | Objet partagé à grouper avec la collection résultante | -| Résultat | Collection | <- | *pathStrings* contient une formule constituée de 1 à N chemin(s) de propriété(s) et (optionnellement) ordres de tri, séparés par des virgules. | +| Paramètres | Type | | Description | +| ------------ | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| option | Integer | -> | `ck resolve pointers`: résoudre les pointeurs avant la copie,
    `ck shared`: retourner une collection partagée | +| groupWithCol | Collection | -> | Collection partagée à grouper avec la collection résultante | +| groupWithObj | Object | -> | Objet partagé à grouper avec la collection résultante | +| Résultat | Collection | <- | Copie profonde de la collection d'origine (deep copy) |
    #### Description -Lorsque vous utilisez une valeur constante, les règles suivantes doivent être respectées : +La fonction `.copy()` renvoie une copie profonde (deep copy) de l'instance de collection. ***Deep copy*** signifie que les objets ou les collections présents dans la collection d'origine sont dupliqués et ne partagent pas leur référence avec la collection qui est retournée. > Cette fonction ne modifie pas la collection d'origine. -Utilisation de guillemets +S'il est passé, le paramètre *option* peut contenir l'une des constantes suivantes (ou les deux) : -| option | Description | -| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ck resolve pointers` | Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Dans ce cas, chaque pointeur contenu dans la collection est évalué lors de la copie et sa valeur déréférencée est utilisée. | -| `ck shared` | Prise en charge des formules Symbole(s) L'évaluation est sensible à la casse et différencie les caractères accentués. | +| option | Description | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ck resolve pointers` | Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Toutefois, vous pouvez résoudre les pointeurs au moment de la copie en passant la constante `ck resolve pointers`. Dans ce cas, chaque pointeur contenu dans la collection est évalué lors de la copie et sa valeur déréférencée est utilisée. | +| `ck shared` | Par défaut, `copy()` retourne une collection standard (non partagée), même si la fonction s'applique à une collection partagée. Passez la constante `ck shared` pour créer une collection partagée. Dans ce cas, vous pouvez utiliser le paramètre *groupWith* pour associer la collection partagée à une autre collection ou à un autre objet (voir ci-dessous). | -Par défaut si omis, une évaluation non diacritique est effectuée +Les paramètres *groupWithCol* ou *groupWithObj* vous permettent de désigner une collection ou un objet avec lequel la collection résultante doit être associée. :::note -Les objets Datastore, dataclass et entity ne sont pas copiables. Collection mise à plat +Les objets Datastore, dataclass et entity ne sont pas copiables. Si `.copy()` est appelé avec eux, les valeurs `Null` sont retournées. ::: #### Exemple 1 -Inférieur ou égal à Null +Nous souhaitons copier la collection régulière (non partagée) *$lastnames* dans l'objet partagé *$sharedObject*. Pour cela, nous devons créer une copie partagée de la collection (*$sharedLastnames*). ```4d var $sharedObject : Object @@ -392,7 +392,7 @@ End use #### Exemple 2 -Null Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. +Nous voulons combiner *$sharedColl1* et *$sharedColl2*. Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. Par conséquent, nous devons faire une copie partagée de *$sharedColl1* et désigner *$sharedColl2* comme étant un groupe partagé pour la copie. ```4d var $sharedColl1;$sharedColl2;$copyColl : Collection @@ -409,7 +409,7 @@ $sharedColl2:=New shared collection(New shared object("lastname";"Brown")) #### Exemple 3 -Supérieur ou égal à Paramètre querySettings +Nous avons une collection standard (*$lastnames*) et nous souhaitons la placer dans le **Storage** de l'application. Pour cela, nous devons créer une copie partagée au préalable (*$sharedLastnames*). ```4d var $lastnames;$sharedLastnames : Collection @@ -427,10 +427,24 @@ End use #### Exemple 4 -Collection d'origine dont tous les éléments ont été supprimés +Cet exemple illustre l'utilisation de l'option `ck resolve pointers` : ```4d -Résultat + var $col : Collection + var $p : Pointer + $p:=->$what + + $col:=New collection + $col.push(New object("alpha";"Hello";"num";1)) + $col.push(New object("beta";"You";"what";$p)) + + $col2:=$col.copy() + $col2[1].beta:="World!" + ALERT($col[0].alpha+" "+$col2[1].beta) //"Hello World!" + + $what:="You!" + $col3:=$col2.copy(ck resolve pointers) + ALERT($col3[0].alpha+" "+$col3[1].what) //"Hello You!" ``` @@ -453,19 +467,19 @@ Résultat
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | --------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Real | <- | La recherche d'une personne nommée "smith OR status='private"' échouera simplement. | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Real | <- | Nombre d'éléments dans la collection |
    #### Description -Ajout +La fonction `.count()` retourne le nombre d'éléments non nuls dans la collection. -Exemple 2 Tri d'une collection de nombres par ordre croissant ou décroissant : +Si la collection contient des objets, vous pouvez passer le paramètre *propertyPath*. Dans ce cas, seuls les éléments qui contiennent le *propertyPath* sont pris en compte. #### Exemple @@ -502,27 +516,27 @@ Exemple 2 Tri d'une collection de nombres par ordre croissant ou décroissant :
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| value | any | -> | Valeur à compter | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Real | <- | Par défaut, `copy()` retourne une collection standard (non partagée), même si la commande est appliquée à une collection partagée. | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| value | any | -> | Valeur à compter | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Real | <- | Nombre d'occurrences de la valeur |
    #### Description -Lorsque vous utilisez des placeholders, le contournement des options de sécurité n'est pas possible : +La fonction `.countValues()` retourne le nombre d'occurrences de *value* dans la collection. -L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. +Vous pouvez passer dans *value* : - une valeur scalaire (texte, numérique, booléen, date), - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +Pour qu'un élément soit comptabilisé, le type de *value* doit être égal à celui de l'élément ; la fonction utilise l'opérateur d'égalité. -Comparaison +Le paramètre optionnel *propertyPath* vous permet de compter des valeurs à l'intérieur d'une collection d'objets : passez dans *propertyPath* le chemin de la propriété dont vous souhaitez comptabiliser le nombre de valeurs. > Cette fonction ne modifie pas la collection d'origine. @@ -569,10 +583,10 @@ Comparaison
    Historique -| Release | Modifications | -| ------- | -------------------------------------------------------------------------------------- | -| 20 | Vous souhaitez créer une nouvelle collection puis ajouter un élément : | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | ------------------------------------ | +| 20 | Prise en charge de `ck count values` | +| v16 R6 | Ajout |
    @@ -586,27 +600,27 @@ Comparaison | ------------ | ---------- | :-------------------------: | ----------------------------------------------------------------------- | | propertyPath | Text | -> | Chemin de l'attribut dont vous souhaitez obtenir les valeurs distinctes | | options | Integer | -> | `ck diacritical`, `ck count values` | -| Résultat | Collection | <- | Commentaire | +| Résultat | Collection | <- | Nouvelle collection contenant uniquement les valeurs distinctes | #### Description -Nom de méthode +La fonction `.distinct()` renvoie une collection contenant uniquement les valeurs distinctes (différentes) de la collection originale. > Cette fonction ne modifie pas la collection d'origine. -La collection retournée est automatiquement triée. Vous souhaitez créer une collection pré-remplie : +La collection retournée est automatiquement triée. Les valeurs **Null** ne sont pas retournées. -Cette recherche semble sécurisée puisque les données non publiques sont filtrées. +Si la collection contient des objets, vous pouvez passer le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir les valeurs distinctes. -Exemple 2 +Dans le paramètre *options*, vous pouvez passer une ou une combinaison des constantes suivantes : -| Constante | Valeur | Commentaire | -| ----------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ck diacritical` | 8 | L'évaluation est sensible à la casse et différencie les caractères accentués. Par défaut si omis, une évaluation non diacritique est effectuée | -| `ck count values` | 32 | Renvoie le nombre d'éléments pour chaque valeur distincte. Prise en charge des formules | +| Constante | Valeur | Commentaire | +| ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ck diacritical` | 8 | L'évaluation est sensible à la casse et différencie les caractères accentués. Par défaut si omis, une évaluation non diacritique est effectuée | +| `ck count values` | 32 | Renvoie le nombre d'éléments pour chaque valeur distincte. Lorsque cette option est passée, `.distinct()` renvoie une collection d'objets contenant une paire d'attributs `{"value":*value*;"count":*count*}`. | #### Exemples @@ -644,31 +658,31 @@ Exemple 2
    -| Paramètres | Type | | Description | -| ----------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------- | -| collection2 | Collection | -> | Collection à comparer | -| option | Integer | -> | La formule reçoit les paramètres suivants : | -| Résultat | Boolean | <- | Cet exemple illustre l'utilisation de l'option `ck resolve pointers` : | +| Paramètres | Type | | Description | +| ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- | +| collection2 | Collection | -> | Collection à comparer | +| option | Integer | -> | `ck diacritical`: évaluation diacritique ("A" # "a" par exemple) | +| Résultat | Boolean | <- | Vrai si les collections sont identiques, sinon faux |
    #### Description -Ajout +La fonction `.equal()` compare récursivement le contenu de la collection et de *collection2* (comparaison profonde)et renvoie **true** si elles sont identiques. :::note Notes -- Historique La callback reçoit les paramètres suivants : -- Par exemple, imaginez une chaîne de recherche du type : +- La fonction `.equal()` ne vérifie l'égalité que pour les chaînes de caractères, les booléens, les nombres et les éléments de type null dans les collections. Elle ne vérifie pas l'égalité des objets natifs. +- Les éléments avec des valeurs **null** ne sont pas égaux aux éléments non définis. ::: -Par défaut, une évaluation non diacritique est effectuée. L'évaluation est sensible à la casse et différencie les caractères accentués. +Par défaut, une évaluation non diacritique est effectuée. Si vous souhaitez que l'évaluation soit sensible à la casse ou pour différencier des caractères accentués, passez la constante `ck diacritical` dans le paramètre option. :::tip -dans *$2* : param Modifications +Une comparaison récursive de collections peut prendre beaucoup de temps si la collection est grande et profonde. Si vous souhaitez uniquement comparer deux références de collection, vous pouvez envisager d'utiliser l'opérateur de comparaison [`=` pour les références de collection](../Concepts/dt_collection.md#collection-operators). ::: @@ -716,51 +730,60 @@ dans *$2* : param Modifications
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Elément à partir duquel débuter l'évaluation | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Boolean | <- | Paramètres | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------- | +| startFrom | Integer | -> | Elément à partir duquel débuter l'évaluation | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Boolean | <- | True si tous les éléments ont passé le test avec succès |
    #### Description -Ajout +La fonction `.every()` retourne **true** si tous les éléments de la collection ont été évalués à vrai par le test implémenté dans l'objet *formula* ou la méthode *methodName* fourni(e). Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 Par défaut, les propriétés sont triées pas ordre croissant. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection à combiner -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si l'évaluation de la valeur de l'élément est réussie, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Prise en charge des formules +Dans tous les cas, au point où la fonction `.every()` rencontre le premier élément de la collection évalué à **false**, elle cesse d'appeler la callback et retourne **false**. -Objet formule Les propriétés suivantes sont prises en charge : +Par défaut, `.every()` évalue l'ensemble de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer le test. -- Prise en charge des formules -- Prise en charge des formules -- Commentaire +- Si *startFrom* >= la longueur de la collection, **false** est retourné, ce qui signifie que la collection n'est pas testée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple 1 ```4d -Comparaison +var $c : Collection +var $b : Boolean +var $f : 4D.Function + +$f:=Formula($1.value>0) +$c:=New collection +$c.push(5;3;1;4;6;2) +$b:=$c.every($f) // retourne true +$c.push(-1) +$b:=$c.every($f) // retourne false ``` #### Exemple 2 @@ -801,29 +824,29 @@ $b:=$c.every($f;Is real) //$b=false
    -| Paramètres | Type | | Description | -| ------------ | ---------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet dont les valeurs doivent être extraites dans la nouvelle collection | -| targetpath | Text | -> | Chemin ou nom de propriété cible | -| option | Integer | -> | Prise en charge des formules Sommaire | -| Résultat | Collection | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ------------ | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet dont les valeurs doivent être extraites dans la nouvelle collection | +| targetpath | Text | -> | Chemin ou nom de propriété cible | +| option | Integer | -> | `ck keep null` : inclure les propriétés null dans la collection retournée (ignorées par défaut). Paramètre ignoré si *targetPath* est passé. | +| Résultat | Collection | <- | Nouvelle collection contenant les valeurs extraites |
    #### Description -OU +La fonction `.extract()` crée et renvoie une nouvelle collection contenant les valeurs *propertyPath* extraites de la collection originale d'objets. > Cette fonction ne modifie pas la collection d'origine. -Exemple +Le contenu de la collection retournée dépend du paramètre *targetPath* : -- Prise en charge des formules +- Si le paramètre *targetPath* est omis, `.extract()` remplit la nouvelle collection avec les valeurs de *propertyPath* de la collection d'origine. - Exemple 2 Exemple + Par défaut, les éléments pour lesquels *propertyPath* est null ou indéfini sont ignorés dans la collection résultante. Vous pouvez passer la constante `ck keep null` dans le paramètre *option* pour inclure ces valeurs en tant qu'éléments null dans la collection retournée. -- Exemple Par exemple, vous pouvez organiser une recherche de la manière suivante : +- Si un ou plusieurs paramètre(s) *targetPath* sont passés (correspondant à un ou plusieurs paramètre(s) *propertyPath*), `.extract()` remplit la nouvelle collection avec les propriétés *propertyPath* et chaque élément de la nouvelle collection est un objet avec les propriétés *targetPath* remplies avec les propriétés *propertyPath* correspondantes. Les valeurs null sont conservées (le paramètre *option* est ignoré avec cette syntaxe). #### Exemple 1 @@ -874,31 +897,31 @@ $c2:=$c.extract("name";"City";"zc";"Zip") //$c2=[{Zip:35060},{City:null,Zip:3504
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| value | any | -> | Valeur de remplissage | -| startFrom | Integer | -> | Indice l'élément de départ (inclus) | -| end | Integer | -> | Indice de fin (non inclus) | -| Résultat | Collection | <- | Vous pouvez modifier ce comportement en utilisant le sélecteur `Dates inside objects` de la commande `SET DATABASE PARAMETER`. | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------ | +| value | any | -> | Valeur de remplissage | +| startFrom | Integer | -> | Indice l'élément de départ (inclus) | +| end | Integer | -> | Indice de fin (non inclus) | +| Résultat | Collection | <- | Collection d'origine avec valeurs de remplissage |
    #### Description -Exemples +La fonction `.fill()` remplit la collection avec la *valeur* spécifiée, éventuellement de l'index *startFrom* à l'index *end*, et renvoie la collection résultante. > Cette fonction modifie la collection d'origine. -- nombres -- Exemple 2 -- Exemple 3 +- Si le paramètre *startFrom* est omis, *value* est appliquée à tous les éléments de la collection (*startFrom*=0). +- Si le paramètre *startFrom* est passé et *end* omis, *value* est appliquée aux éléments de la collection à partir de *startFrom* jusqu'au dernier élément de la collection (*end*=length). +- Si à la fois le paramètre *startFrom* et *end* sont passés, *value* est appliquée aux éléments de la collection à partir de *startFrom* jusqu'à l'élément *end*. En cas d'incohérence, les règles suivantes sont appliquées : -- Exemple 3 nombres -- Prise en charge de querySettings -- La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). Si la valeur calculée est négative, *startFrom* est défini à 0. +- Si *end* < 0 , il est recalculé comme *end:=end+length*. +- Si *end* < *startFrom* (valeurs passées ou recalculées), la méthode ne fait rien. #### Exemple @@ -932,43 +955,43 @@ En cas d'incohérence, les règles suivantes sont appliquées :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | Résultat | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------ | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Nouvelle collection contenant les éléments filtrés (shallow copy) |
    #### Description -Utilisation de placeholders Modifications Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +La fonction `.filter()` retourne une nouvelle collection contenant tous les éléments de la collection d'origine pour lesquels le résultat de la *formula* ou de la méthode *methodName* est **true**. Cette fonction retourne une ***shallow copy***, ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour filtrer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 4 Par exemple, si vous exécutez la recherche suivante : +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (optionnel) et un objet en premier paramètre (*$1*). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant la condition et donc, devant être ajouté à la nouvelle collection. La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Nom de méthode -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- *$1.result* (Booléen) : **true** si la valeur de l'élément correspond à la condition de filtre et doit être conservée, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. :::note -Lors de la conversion de dates 4D en texte avant de les stocker dans la collection, par défaut le programme prend en compte le fuseau horaire local. +Lorsque vous utilisez *methodName* comme callback, et si la méthode ne renvoie aucune valeur, `.filter()` recherchera la propriété *$1.result* que vous devez définir à **true** pour chaque élément remplissant la condition. ::: @@ -1021,47 +1044,47 @@ Vous voulez filtrer les éléments de la collection en fonction de leur type :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | any | <- | Pour cela, nous devons créer une copie partagée de la collection (*$sharedLastnames*). | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | any | <- | Première valeur trouvée (Undefined si non trouvée) |
    #### Description -Exemple +La fonction `.find()` retourne la première valeur dans la collection pour laquelle le résultat de *formula* ou de *methodName*, appliqué à chaque élément, retourne **true**. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit renvoyer **true** pour le premier élément qui satisfait la condition. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection d'origine redimensionnée -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si la valeur de l'élément correspond à la condition de recherche, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Exemple 2 Exemple 2 +Par défaut, `.find()` effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer la recherche. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple 1 @@ -1112,47 +1135,47 @@ $c2:=$c.find(Formula($1.value.name=$2); "Clanton") //$c2={name:Clanton,zc:35046
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Integer | <- | Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ---------------------------------------------------------------------- | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Integer | <- | Numéro du premier élément trouvé (-1 si non trouvé) |
    #### Description -Exemple +La fonction `.findIndex()` retourne l'indice, dans la collection, du premier élément pour lequel *formula* ou *methodName*, appliqué à chaque élément, retourne **true**. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Collection partagée à grouper avec la collection résultante +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit renvoyer **true** pour le premier élément qui satisfait la condition. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection d'origine redimensionnée -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si la valeur de l'élément correspond à la condition de recherche, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Les parenthèses sont obligatoires lorsque NOT est utilisé avant une déclaration contenant plusieurs opérateurs. Exemple 2 +Par défaut, `.findIndex()` effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer la recherche. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1191,16 +1214,16 @@ $val3:=$c.findIndex($val2+1;Formula($1.value.name=$2);"Clanton") //$val3=4
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Premier élément de collection |
    #### Description -Ajout +La fonction `.first()` retourne le premier élément de la collection. > Cette fonction ne modifie pas la collection d'origine. @@ -1239,19 +1262,19 @@ $first:=$emptyCol.first() // retourne Undefined
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| depth | Integer | -> | La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. Par défaut=1 | -| Résultat | Collection | <- | *$1.result* (booléen): **true** si *$1.value < $1.value2*, **false** sinon | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------ | +| depth | Integer | -> | La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. Par défaut=1 | +| Résultat | Collection | <- | Collection mise à plat |
    #### Description -Exemple 2 +La fonction `.flat()` crée une nouvelle collection avec tous les éléments des sous-collections concaténés de manière récursive jusqu'à la *depth* spécifiée. -Exemple avec une référence d'objet : +Par défaut, si le paramètre *depth* est omis, seul le premier niveau de la structure de la collection imbriquée sera mis à plat. > Cette fonction ne modifie pas la collection d'origine. @@ -1295,41 +1318,41 @@ $col.flat(MAXLONG)
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | **Note** : Même si *startFrom* est négatif, la recherche est effectuée de la droite vers la gauche. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Collection de valeurs transformées et mises à plat sur une profondeur de 1 |
    #### Description -Exemple Collection d'origine modifiée ne contenant plus les éléments supprimés +La fonction `.flatMap()` crée une nouvelle collection basée sur le résultat de l'appel de la fonction 4D *formula* ou de la méthode *methodName* sur chaque élément de la collection d'origine et mise à plat sur une profondeur de 1. Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. -Résultat de la valeur de l'accumulateur +Cette fonction est identique à un appel à [`map()`](#map) suivi d'un appel à [`flat()`](#flat) de profondeur 1. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Propriété -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (tout type) : nouvelle valeur transformée à ajouter à la collection résultante +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. #### Exemple 1 @@ -1394,30 +1417,30 @@ $c2:=$c.flatMap($f; $c.sum()) | ---------- | ---------- | :-------------------------: | ----------------------------------------------------- | | toSearch | Expression | -> | Expression à rechercher dans la collection | | startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| Résultat | Boolean | <- | Exemple 1 | +| Résultat | Boolean | <- | True si *toSearch* est trouvé dans la collection | #### Description -Exemple +La fonction `.includes()` retourne True si l'expression *toSearch* est trouvée parmi les éléments de la collection, sinon False. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +*toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer l'indice de la collection à partir duquel démarrer la recherche dans *startFrom*. -- Exemple -- Séparateur à utiliser entre les éléments **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. -- Commentaire +- Si *startFrom* >= la longueur de la collection, False est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). Notez que même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1466,24 +1489,24 @@ Exemple 2 #### Description -Exemple +La fonction `.indexOf()` recherche l'expression *toSearch* parmi les éléments de la collection et retourne l'indice de la première occurrence trouvée, ou -1 si aucune occurrence n'a été trouvée. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +*toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer l'indice de la collection à partir duquel démarrer la recherche dans *startFrom*. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1528,7 +1551,7 @@ Exemple 2 #### Description -Exemple 3 Les positions sont retournées dans un ordre croissant. +La fonction `.indices()` fonctionne exactement comme la fonction [`.query()`](#query) mais renvoie les indices, dans la collection d'origine, des éléments de la collection d'objets qui correspondent aux conditions de recherche *queryString*, et non les éléments eux-mêmes. Les positions sont retournées dans un ordre croissant. > Cette fonction ne modifie pas la collection d'origine. @@ -1538,7 +1561,7 @@ Le paramètre *queryString* doit respecter la syntaxe suivante : propertyPath comparator value {logicalOperator propertyPath comparator value} ``` -Les éléments sont triés par ordre décroissant +Pour une description détaillée de la construction de recherches à l'aide des paramètres *queryString* et *value* veuillez vous reporter à la description de la fonction `dataclass.query()`. #### Exemple @@ -1575,27 +1598,27 @@ Les éléments sont triés par ordre décroissant
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ------------------------------------ | -| index | Integer | -> | Où insérer l'élément | -| element | any | -> | Elément à insérer dans la collection | -| Résultat | Collection | <- | Résultat | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ---------------------------------------------- | +| index | Integer | -> | Où insérer l'élément | +| element | any | -> | Elément à insérer dans la collection | +| Résultat | Collection | <- | Collection d'origine incluant l'élément inséré |
    #### Description -Nom de méthode +La fonction `.insert()` insère *element* à la position *index* spécifiée dans l'instance de collection et renvoie la collection modifiée. > Cette fonction modifie la collection d'origine. -Cet exemple retourne des personnes dont l'âge n'est pas connu (propriété définie sur null ou indéfinie) : +Dans *index*, passez le numéro de l'élément après lequel vous souhaitez que le paramètre element soit inséré. -> Exemple 1 +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. -- Exemple 2 -- Exemple 3 +- Si *index* > la longueur de la collection, l'*index* de départ réel sera fixé à la longueur de la collection. +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). - Si la valeur recalculée est négative, index prend la valeur 0. Vous pouvez passer tout type d'élément accepté par les collections, y compris une autre collection. @@ -1630,22 +1653,22 @@ Vous pouvez passer tout type d'élément accepté par les collections, y compris
    -| Paramètres | Type | | Description | -| ---------- | ------- | :-------------------------: | ---------------------------------------- | -| delimiter | Text | -> | Séparateur à utiliser entre les éléments | -| option | Integer | -> | collection partagée | -| Résultat | Text | <- | Exemple 3 | +| Paramètres | Type | | Description | +| ---------- | ------- | :-------------------------: | ---------------------------------------------------------------------------------------------- | +| delimiter | Text | -> | Séparateur à utiliser entre les éléments | +| option | Integer | -> | `ck ignore null or empty` : ignorer les chaînes null ou vides dans le résultat | +| Résultat | Text | <- | Chaîne contenant tous les éléments de la collection, séparés par delimiter |
    #### Description -La fonction `.join()` convertit tous les éléments de la collection en chaînes et les concatène en utilisant la chaîne *delimiter* spécifiée comme séparateur. +La fonction `.join()` convertit tous les éléments de la collection en chaînes et les concatène en utilisant la chaîne *delimiter* spécifiée comme séparateur. La fonction renvoie la chaîne résultante. > Cette fonction ne modifie pas la collection d'origine. -Par défaut, les éléments null ou vides de la collection sont inclus dans la chaîne résultante. Exemple avec une référence de collection : +Par défaut, les éléments null ou vides de la collection sont inclus dans la chaîne résultante. Passez la constante `ck ignore null or empty` dans le paramètre *option* si vous souhaitez les exclure de la chaîne résultante. #### Exemple @@ -1677,16 +1700,16 @@ Par défaut, les éléments null ou vides de la collection sont inclus dans la c
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Dernier élément de collection |
    #### Description -Ajout +La fonction `.last()` renvoie le dernier élément de la collection. > Cette fonction ne modifie pas la collection d'origine. @@ -1695,7 +1718,15 @@ La fonction renvoie Undefined si la collection est vide. #### Exemple ```4d -Nom de méthode +var $col; $emptyCol : Collection +var $last : Variant +$col:=New collection(10; 20; 30; "hello"; 50) +$last:=$col.last() // 50 + +$emptyCol:=New collection() //vide +// $last:=$emptyCol[$emptyCol.length-1] //retourne une erreur +$last:=$emptyCol.last() // retourne Undefined + ``` @@ -1718,40 +1749,47 @@ Nom de méthode
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ----------------------------------------------------- | -| toSearch | Expression | -> | Elément à chercher dans la collection | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| Résultat | Integer | <- | Commentaire | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------- | +| toSearch | Expression | -> | Elément à chercher dans la collection | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| Résultat | Integer | <- | Numéro de la dernière occurrence de toSearch dans la collection, -1 si non trouvé |
    #### Description -Exemple +La fonction `.lastIndexOf()` recherche l'expression *toSearch* parmi les éléments de la collection et renvoie l'indice de la dernière occurrence, ou -1 si elle n'a pas été trouvée. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -la collection est vide, +*toSearch* doit correspondre exactement à l'élément recherché (les mêmes règles que pour l'opérateur d'égalité sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche inversée dans *startFrom*. -- Exemple 3 -- Exemple 3 Si la position calculée est négative, -1 est retourné (la collection n'est pas évaluée). - Exemple 3 -- Modifications +- Si *startFrom* >= taille de la collection (coll.length-1), l'ensemble de la collection est évalué (défaut). +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). Si la position calculée est négative, -1 est retourné (la collection n'est pas évaluée). + **Note** : Même si *startFrom* est négatif, la recherche est effectuée de la droite vers la gauche. +- Si *startFrom* = 0, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. #### Exemple ```4d -heure (stockée en nombre de milliseconds - réel) + var $col : Collection + var $pos1;$pos2;$pos3;$pos4;$pos5 : Integer + $col:=Split string("a,b,c,d,e,f,g,h,i,j,e,k,e";",") //$col.length=13 + $pos1:=$col.lastIndexOf("e") //retourne 12 + $pos2:=$col.lastIndexOf("e";6) //retourne 4 + $pos3:=$col.lastIndexOf("e";15) //retourne 12 + $pos4:=$col.lastIndexOf("e";-2) //retourne 10 + $pos5:=$col.lastIndexOf("x") //retourne -1 ``` @@ -1772,14 +1810,17 @@ heure (stockée en nombre de milliseconds - réel) #### Description -Exemple 2 +La propriété `.length` renvoie le nombre d'éléments de la collection. -Avec la méthode ***Flatten*** suivante : Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. Exemple 2 +La propriété `.length` est initialisée à la création de la collection. Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. Cette propriété est en **lecture seulement** (vous ne pouvez pas l'utiliser pour modifier la taille de la collection). #### Exemple ```4d -Nom de méthode + var $col : Collection //$col.length est initialisée à 0 + $col:=New collection("one";"two";"three") //$col.length est mise à jour et vaut 3 + $col[4]:="five" //$col.length vaut 5 + $vSize:=$col.remove(0;3).length //$vSize=2 ``` @@ -1803,39 +1844,39 @@ Nom de méthode
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | *toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Collection de valeurs transformées |
    #### Description -Exemple Collection d'origine modifiée ne contenant plus les éléments supprimés Où insérer l'élément +La fonction `.map()` crée une nouvelle collection basée sur le résultat de l'appel de la fonction 4D *formula* ou de la méthode *methodName* sur chaque élément de la collection d'origine. Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. `.map()` renvoie toujours une collection de la même taille que la collection originale, sauf si *$1.stop* a été utilisé (voir ci-dessous). > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Propriété -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (tout type) : nouvelle valeur transformée à ajouter à la collection résultante +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. #### Exemple @@ -1866,25 +1907,25 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum())
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | ----------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | any | <- | Cet exemple renvoie les personnes dont le nom contient "in" : | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | any | <- | Valeur maximum de la collection |
    #### Description -Exemple 3 +La fonction `.max()` renvoie l'élément ayant la valeur la plus élevée dans la collection (le dernier élément de la collection si elle était triée par ordre croissant à l'aide de la fonction [`.sort()`](#sort)). > Cette fonction ne modifie pas la collection d'origine. -Ajout +Si la collection contient différents types de valeurs, la fonction `.max()` renverra la valeur maximale du dernier type d'élément dans l'ordre de la liste des types (voir la description de [`.sort()`](#sort)). -Modifications +Si la collection contient des objets, passez le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir la valeur maximale. -Modifications +Si la collection est vide, `.max()` retourne *Undefined*. #### Exemple @@ -1919,25 +1960,25 @@ Modifications
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | any | <- | *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | any | <- | Valeur minimum de la collection |
    #### Description -Ajout +La fonction `.min()` renvoie l'élément ayant la plus petite valeur dans la collection (le premier élément de la collection si elle était triée par ordre croissant à l'aide de la fonction [`.sort()`](#sort)). > Cette fonction ne modifie pas la collection d'origine. -Ajout +Si la collection contient différents types de valeurs, la fonction `.min()` renverra la valeur minimale du premier type d'élément dans l'ordre de la liste des types (voir la description de [`.sort()`](#sort)). -Modifications +Si la collection contient des objets, passez le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir la valeur minimum. -Modifications +Si la collection est vide, `.min()` retourne *Undefined*. #### Exemple @@ -1972,22 +2013,22 @@ Modifications
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| colsToSort | Collection | -> | Exemple 2 | -| Résultat | Collection | <- | Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| formula | 4D.Function | -> | Objet formule | +| colsToSort | Collection | -> | Collection de collections et/ou d'objets ayant des propriétés {`collection`:*colToSort*;`order`:`ck ascendant` ou `ck descendant`} | +| Résultat | Collection | <- | Collection d'origine triée |
    #### Description -Exemple 2 +La fonction `.multiSort()` vous permet d'effectuer un tri synchronisé à plusieurs niveaux sur un ensemble de collections. -> Exemple +> Cette fonction modifie la collection d'origine ainsi que toutes les collections utilisées dans le paramètre *colsToSort* . -Exemple Historique Les types sont renvoyés dans l'ordre suivant : +Si `.multiSort()` est appelé sans paramètres, la fonction a le même effet que la fonction [`.sort()`](#sort) : la collection est triée (uniquement les valeurs scalaires) par défaut dans l'ordre croissant, en fonction de leur type. Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant : 1. Null 2. booléens @@ -1997,40 +2038,40 @@ Exemple Historique Les types sont renvoyés dans l'ordre suiv 6. collections 7. dates -booléens +**Tri synchronisé à un niveau** -Valeur Les valeurs sont exprimées sous forme de paires propriété / valeur, où propriété est le nom du placeholder inséré pour une valeur dans *queryString* (":placeholder") et où valeur correspond à la valeur à comparer. Valeur à compter +Pour trier plusieurs collections de manière synchronisée, il suffit de passer dans *colsToSort* une collection de collections à trier. Vous pouvez passer un nombre illimité de collections. La collection originale sera triée par ordre croissant et toutes les collections *colsToSort* seront triées de manière synchronisée. :::note -Cela permet l'utilisation de variables ou d'expressions dans les arguments de recherche. +Toutes les collections *colsToSort* doivent avoir le même nombre d'éléments, sinon une erreur est renvoyée. ::: -Si vous souhaitez trier les collections dans un ordre autre que croissant, vous devez fournir *formula* ([objet Formula](../commands/formula.md)) qui définit l'ordre de tri. Nom de méthode Contrairement aux collections standard (non partagées), les collections partagées ne prennent pas en charge les images, les pointeurs et les objets ou collections non partagés. +Si vous souhaitez trier les collections dans un ordre autre que croissant, vous devez fournir *formula* ([objet Formula](../commands/formula.md)) qui définit l'ordre de tri. La valeur de retour doit être un booléen qui indique l'ordre relatif des deux éléments : **True** si *$1.value* est inférieur à *$1.value2*, **False** si *$1.value* est supérieur à *$1.value2*. Vous pouvez passer des paramètres supplémentaires à la formule si nécessaire. -Sinon, vous pouvez ajouter ou modifier des éléments ultérieurement par affectation. +La formule reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) -Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. +**Tri synchronisé à plusieurs niveaux** -Exemple +Pour définir un tri synchronisé à plusieurs niveaux, vous devez passer un objet contenant les propriétés {`collection`:*colToSort*;`order`:`ck ascending` ou `ck descending`} au lieu d'une collection *colToSort* pour chaque collection à utiliser en tant que sous-niveau. -Exemple 1 +Les niveaux de tri sont déterminés par l'ordre dans lequel les collections sont passées dans le paramètre *colsToSort* : la position d'un objet `collection`/`order` dans la syntaxe détermine son niveau de tri. :::note -Élément à partir duquel la suppression peut commencer +La fonction `.multiSort()` utilise un algorithme de tri [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) . ::: #### Exemple 1 -Résultat +Un simple tri synchronisé de collections avec différents types de valeurs : ```4d var $col;$col2;$col3 : Collection @@ -2049,7 +2090,7 @@ $col.multiSort([$col2; $col3]) #### Exemple 2 -> \= Les valeurs **Null** ne sont pas retournées. +Vous souhaitez trier trois collections synchronisées : ville, pays et continent. Vous souhaitez un tri croissant des première et troisième collections, et une synchronisation pour la deuxième collection : ```4d var $city : Collection @@ -2069,7 +2110,7 @@ $continent.multiSort([$country; {collection: $city; order: ck ascending}]) #### Exemple 3 -Si la valeur calculée est négative, *startFrom* prend la valeur 0. +Vous pouvez également synchroniser des collections d'objets. ```4d var $name : Collection @@ -2115,27 +2156,27 @@ $name.multiSort(Formula($1.value.firstname<$1.value2.firstname); [$address]) | ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- | | pathStrings | Text | -> | Chemin(s) de propriété(s) à utiliser pour trier la collection | | pathObjects | Collection | -> | Collection d'objets critère | -| ascOrDesc | Integer | -> | Exemple 1 | -| Résultat | Collection | <- | Les éléments avec des valeurs **null** ne sont pas égaux aux éléments Undefined. | +| ascOrDesc | Integer | -> | `ck ascending` ou `ck descending` (valeurs scalaires) | +| Résultat | Collection | <- | Copie triée de la collection (shallow copy) | #### Description -Exemple +La fonction `.orderBy()` renvoie une nouvelle collection contenant tous les éléments de la collection dans l'ordre spécifié. -Prise en charge de `ck count values` Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +Cette fonction retourne une *shallow copy* (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. -Si vous ne passez aucun paramètre, la fonction classe les valeurs scalaires de la collection dans un ordre croissant (les autres types d'éléments tels que les objets ou les collections sont renvoyés avec un ordre interne). Exemple 1 +Si vous ne passez aucun paramètre, la fonction classe les valeurs scalaires de la collection dans un ordre croissant (les autres types d'éléments tels que les objets ou les collections sont renvoyés avec un ordre interne). Vous pouvez modifier ce tri automatique par défaut en passant la constante `ck ascending` ou `ck descending` dans le paramètre *ascOrDesc* (voir ci-dessous). Vous pouvez également passer des critères afin de configurer le tri des éléments de la collection. Trois syntaxes sont prises en charge pour ce paramètre : -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. Null Résultat de la valeur de l'accumulateur L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. Par défaut, les propriétés sont triées pas ordre croissant. Vous pouvez définir l'ordre de tri de chaque propriété dans la formule de critère, séparée du chemin de propriété par un simple espace : passez "asc" pour trier par ordre croissant ou "desc" pour un ordre décroissant. +- *pathStrings* : Texte (formule). **Syntaxe** : `propertyPath1 {desc ou asc}, propertyPath2 {desc ou asc},...` (défaut : asc). *pathStrings* contient une formule constituée de 1 à N chemin(s) de propriété(s) et (optionnellement) ordres de tri, séparés par des virgules. L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. Par défaut, les propriétés sont triées pas ordre croissant. Vous pouvez définir l'ordre de tri de chaque propriété dans la formule de critère, séparée du chemin de propriété par un simple espace : passez "asc" pour trier par ordre croissant ou "desc" pour un ordre décroissant. -- *pathObjects* : Collection. Résultat Par défaut, les propriétés sont triées par ordre croissant ("descending" est faux). Chaque élément de la collection contient un objet structuré de la manière suivante : +- *pathObjects* : Collection. Vous pouvez ajouter autant d'objets dans la collection *pathObjects* que nécessaire. Par défaut, les propriétés sont triées par ordre croissant ("descending" est faux). Chaque élément de la collection contient un objet structuré de la manière suivante : ```4d { @@ -2147,7 +2188,7 @@ Vous pouvez également passer des critères afin de configurer le tri des élém } ``` -- *ascOrDesc* : Integer. Résultat +- *ascOrDesc* : Integer. Passez une des constantes suivantes du thème **Objets et collections** : | Constante | Type | Valeur | Commentaire | | ------------- | ------- | ------ | ----------------------------------------------------------------------- | @@ -2255,49 +2296,53 @@ Tri avec un chemin de propriété :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| extraParam | any | -> | Paramètre(s) à passer | -| Résultat | Collection | <- | \|startFrom \|Integer\|->\|Index pour démarrer le test\| \|formula\|4D.Function\|->\|Objet formule\| \|methodName\|Text\|->\|Nom d'une méthode\| \|param \|any \|->\|Paramètre(s) à passer\| \|Resultat\|Boolean\|<-\|Vrai si au moins un élément a réussi le test\| | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| extraParam | any | -> | Paramètre(s) à passer | +| Résultat | Collection | <- | Copie triée de la collection (shallow copy) |
    #### Description -Exemple +La fonction `.orderByMethod()` renvoie une nouvelle collection contenant tous les éléments de la collection dans l'ordre défini par la fonction 4D *formula* ou la méthode *methodName*. -Prise en charge de `ck count values` Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +Cette fonction retourne une *shallow copy* (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; -- Vous souhaitez trier la collection obtenue : +- soit *methodName*, le nom d'une méthode projet (texte). -Collection contenant des éléments ajoutés Chaque élément de la collection contient un objet structuré de la manière suivante : +Dans la callback, passez votre code qui compare deux valeurs et retourne **true** si la première valeur est inférieure à la seconde valeur. Vous pouvez fournir des paramètres *extraParam* à la callback si nécessaire. La callback reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) Si vous avez utilisé une méthode, elle doit définir le paramètre suivant : -- Vous pouvez également passer des critères afin de configurer le tri des éléments de la collection. +- *$1.result* (booléen): **true** si *$1.value < $1.value2*, **false** sinon #### Exemple 1 Vous souhaitez trier une collection de chaînes contenant des nombres par valeur plutôt que par ordre alphabétique : ```4d -Conjonction + var $c; $c2; $c3 : Collection + $c:=Newcollection + $c.push("33" ; "4" ; "1111" ; "222") + $c2:=$c.orderBy() //$c2=["1111", "222", "33", "4"], ordre alphabétique + $c3:=$c.orderByMethod(Formula(Num($1.value) -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Dernier élément de collection | #### Description -Exemple 1 +La fonction `.pop()` supprime le dernier élément de la collection et le renvoie comme résultat de la fonction. > Cette fonction modifie la collection d'origine. -Modifications +Lorsqu'elle est appliquée à une collection vide, .`pop()` retourne ***undefined***. #### Exemple -Recherche de valeurs null +`.pop()`, combinée à [`.push()`](#push), peut être utilisée pour implémenter une fonctionnalité first-in last-out de traitement de données empilées : ```4d -Chemin ou nom de propriété cible + var $stack : Collection + $stack:=New collection //$stack=[] + $stack.push(1;2) //$stack=[1,2] + $stack.pop() //$stack=[1] retourne 2 + $stack.push(New collection(4;5)) //$stack=[[1,[4,5]] + $stack.pop() //$stack=[1] retourne [4,5] + $stack.pop() //$stack=[] retourne 1 ``` @@ -2399,17 +2450,17 @@ Chemin ou nom de propriété cible
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| element | any | -> | Élément(s) à ajouter à la collection | -| Résultat | Collection | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------- | +| element | any | -> | Élément(s) à ajouter à la collection | +| Résultat | Collection | <- | Collection d'origine incluant les éléments ajoutés |
    #### Description -Nom de méthode +La fonction `.push()` ajoute un ou plusieurs *element*(s) à la fin de l'instance de collection et renvoie la collection modifiée. > Cette fonction modifie la collection d'origine. @@ -2443,11 +2494,11 @@ Vous souhaitez trier la collection obtenue :
    Historique -| Release | Modifications | -| ------- | -------------------------------- | -| 20 R6 | Par défaut=1 | -| 17 R5 | Prise en charge de querySettings | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | --------------------------------------------------------------------------------------- | +| 20 R6 | Prise en charge des requêtes utilisant des références à des objets ou à des collections | +| 17 R5 | Prise en charge de querySettings | +| v16 R6 | Ajout |
    @@ -2457,21 +2508,21 @@ Vous souhaitez trier la collection obtenue :
    -| Paramètres | Type | | Description | -| ------------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------- | -| queryString | Text | -> | Critère(s) de recherche | -| value | any | -> | Valeur(s) à comparer lors de l'utilisation de paramètre(s) dans la chaîne | -| querySettings | Object | -> | Options de requête : paramètres, attributs | -| Résultat | Collection | <- | Null | +| Paramètres | Type | | Description | +| ------------- | ---------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| queryString | Text | -> | Critère(s) de recherche | +| value | any | -> | Valeur(s) à comparer lors de l'utilisation de paramètre(s) dans la chaîne | +| querySettings | Object | -> | Options de requête : paramètres, attributs | +| Résultat | Collection | <- | Indice(s) d'élément(s) de la collection répondant au(x) critère(s) de recherche |
    #### Description -Exemple Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +La fonction `.query()` renvoie tous les éléments d'une collection d'objets qui correspondent aux conditions de recherche définies par *queryString* et (éventuellement) *value* ou *querySettings*. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -Modifications +Une collection vide est renvoyée si la collection dans laquelle la recherche est exécutée ne contient pas *value*. > Cette fonction ne modifie pas la collection d'origine. @@ -2485,15 +2536,15 @@ propertyPath comparator value {logicalOperator propertyPath comparator value} où : -- Modifications Ce paramètre peut contenir un nom simple (par exemple "pays") ou un chemin d'attribut valide (par exemple "pays.nom"). Dans le cas d'un chemin d'accès à un attribut dont le type est `Collection`, la notation `[]` est utilisée pour traiter toutes les occurrences (par exemple `children[].age`). +- **propertyPath** : chemin de la propriété sur laquelle vous voulez exécuter la recherche. Ce paramètre peut contenir un nom simple (par exemple "pays") ou un chemin d'attribut valide (par exemple "pays.nom"). Dans le cas d'un chemin d'accès à un attribut dont le type est `Collection`, la notation `[]` est utilisée pour traiter toutes les occurrences (par exemple `children[].age`). -- Premier élément de collection Les symboles suivants sont pris en charge : +- **comparator** : symbole qui compare *propertyPath* et *value*. Les symboles suivants sont pris en charge : | Comparaison | Symbole(s) | Commentaire | | --------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Egal à | =, == | Retourne les données correspondantes, prend en charge le joker de recherche (@), ne tient pas compte de la casse et est non diacritique. | | | ===, IS | Retourne les données correspondantes, considère le @ comme un caractère standard, ne tient pas compte de la casse et est non diacritique | -| Différent de | #, != | Prend en charge le joker de recherche (@). Équivalent à "Condition Not appliquée à une assertion"). | +| Différent de | #, != | Prend en charge le joker de recherche (@). Équivalent à "Condition Not appliquée à une assertion". | | | !==, IS NOT | Considère le @ comme un caractère standard | | Condition Not appliquée à une assertion | NOT | Les parenthèses sont obligatoires lorsque NOT est utilisé avant une déclaration contenant plusieurs opérateurs. Équivalent à "Non égal à" ). | | Inférieur à | < | | @@ -2502,7 +2553,7 @@ où : | Supérieur ou égal à | > = | | | Inclus parmi | IN | Retourne les données égales à au moins une des valeurs d'une collection ou d'un ensemble de valeurs, prend en charge le joker de recherche (@) | -- Ajout La callback reçoit les paramètres suivants : +- **value** : la valeur à comparer à la valeur actuelle de la propriété de chaque élément de la collection. Il peut s'agir de toute expression de valeur constante correspondant à la propriété de type de données de l'élément ou d'un [**placeholder**](#using-placeholders). Lorsque vous utilisez une valeur constante, les règles suivantes doivent être respectées : - Les valeurs constantes de type **texte** peuvent être passées avec ou sans guillemets (voir **Utilisation des guillemets** ci-dessous). Pour rechercher une chaîne dans une chaîne (recherche de type "contient"), utilisez le symbole joker (@) dans valeur pour isoler la chaîne à chercher, comme dans cet exemple : "@Smith@". Les mots-clés suivants sont interdits pour des constantes de type texte : true, false. - Valeurs constantes de type **booléen**: **true** or **false** (sensible à la casse). @@ -2538,21 +2589,21 @@ Vous pouvez utiliser des parenthèses dans la recherche afin de prioriser les ca #### Utilisation de placeholders -Exemple Un placeholder est un paramètre que vous insérez dans des chaines de recherche et qui est remplacé par une autre valeur au moment où la chaîne de recherche est évaluée. La valeur des placeholders est évaluée une seule fois, au début de la requête ; elle n'est pas évaluée pour chaque élément. +4D vous permet d'utiliser des placeholders pour les arguments *propertyPath* et *value* dans le paramètre *queryString*. Un placeholder est un paramètre que vous insérez dans des chaines de recherche et qui est remplacé par une autre valeur au moment où la chaîne de recherche est évaluée. La valeur des placeholders est évaluée une seule fois, au début de la requête ; elle n'est pas évaluée pour chaque élément. -Résultat +Il existe deux types de placeholders : les **placeholders indexés** et les **placeholders nommés**. -- Résultat dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. +- **Placeholders indexés** : les paramètres sont insérés sous la forme `:paramIndex` (par exemple ":1", ":2"...) dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. Vous pouvez utiliser jusqu'à 128 paramètres *value*. -Voici un exemple : +Exemple : ```4d $c:=$myCol.query(":1=:2";"city";"Chicago") ``` -- La fonction renvoie la chaîne résultante. +- **Placeholders nommés** : les paramètres sont insérés sous la forme `:paramName` (par exemple ":myparam") et leurs valeurs sont fournies dans les objets "attributes" et/ou "parameters" dans le paramètre *querySettings*. -Voici un exemple : +Exemple : ```4d $o.attributes:={att:"city"} @@ -2560,7 +2611,7 @@ $o.parameters:={name:"Chicago") $c:=$myCol.query(":att=:name";$o) ``` -Vous pouvez combiner tous les types d'arguments dans *queryString*. Vous pouvez combiner tous les types d'arguments dans *queryString*. +Vous pouvez combiner tous les types d'arguments dans *queryString*. A *queryString* can contain, for *propertyPath* and *value* parameters: - des valeurs directes (pas de placeholders) - des placeholders indexés et/ou nommés. @@ -2584,7 +2635,7 @@ Lorsque vous utilisez des placeholders, le contournement des options de sécurit Dans ce cas, si l'utilisateur saisit *smith OR status='private'* dans la zone *myname*, cela ne sera pas interprété dans la chaîne de recherche, mais uniquement passé en tant que valeur. La recherche d'une personne nommée "smith OR status='private"' échouera simplement. -2. Objet partagé à grouper avec la collection résultante +2. Cela résout les questions liées au formatage des valeurs ou des caractères, notamment lorsque vous gérez des paramètres *propertyPath* et *value* qui peuvent contenir des caractères non-alphanumériques tels que ".", "["... 3. Cela permet l'utilisation de variables ou d'expressions dans les arguments de recherche. Exemples : @@ -2593,53 +2644,74 @@ $result:=$col.query("address.city = :1 & name =:2";$city;$myVar+"@") $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -> Exemple objet partagé +> L'utilisation d'une [**référence de collection** ou **référence d'objet**](#object-or-collection-reference-as-value) dans le paramètre *value* n'est pas prise en charge par cette syntaxe. Vous devez utiliser le paramètre [*querySettings*](#querysettings-parameter). #### Recherche de valeurs null Lorsque vous recherchez les valeurs null, vous ne pouvez pas utiliser la syntaxe placeholder car le moteur de recherche considère la valeur null comme une valeur de comparaison invalide. Par exemple, si vous exécutez la recherche suivante : ```4d -Elément à partir duquel débuter l'évaluation +$vSingles:=$colPersons.query("spouse = :1";Null) // ne marchera PAS ``` Vous n'obtiendrez pas le résultat souhaité car la valeur null sera évaluée par 4D comme une erreur résultant de l'évaluation du paramètre (pouvant être, par exemple, un attribut provenant d'une autre recherche). Pour ce type de recherche, vous devez utiliser la syntaxe de recherche directe : ```4d -Si vous passez une heure, elle est stockée sous la forme d'un nombre de millisecondes (Réel). +$vSingles:=$colPersons.query("spouse = null") //syntaxe correcte ``` -#### Lorsque vous utilisez des guillemets dans des recherches, vous devez utiliser des guillemets simples ' ' à l'intérieur de la requête et des guillemets doubles " " pour encadrer la requête, sinon une erreur est renvoyée. +#### Référence d'objet ou de collection comme valeur -Par exemple, "comp.name = 'John's pizza' " génèrera une erreur. Modifications +Vous pouvez rechercher dans une collection en utilisant une référence d'objet ou une référence de collection comme paramètre *value* à comparer. La recherche trouvera les objets de la collection qui font référence à la même **instance** de l'objet ou de la collection. -Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche dans *startFrom*. +Les comparateurs suivants sont pris en charge : | Comparaison | Symbole(s) | | ------------ | ----------------------------- | | Egal à | =, == | | Différent de | #, != | -Exemple La collection originale sera triée par ordre croissant et toutes les collections *colsToSort* seront triées de manière synchronisée. +Pour construire une recherche avec un objet ou une référence de collection, vous devez utiliser la syntaxe avec paramètre *querySettings*. Exemple avec une référence d'objet : ```4d -Nouvelle option *ck shared*. +var $o1:={a: 1} +var $o2:={a: 1} //même objet mais autre référence +var $o3:=$o1 //même objet et référence + +var $col; $colResult : Collection + +$col:=[{o: $o1}; {o: $o2}; {o: $o3}] +$colResult:=$col. uery("o = :v"; {parameters: {v: $o3}}) + //$colResult.length=2 + //$colResult[0]. =$o1 est true + //$colResult[1].o=$o1 est true + ``` -*$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. +Exemple avec une référence de collection : ```4d -Indice de fin (non inclus) + +$c1:=[1 ; 2 ; 3] +$c2:=[1 ; 2 ; 3] //même collection mais autre référence +$c3:=$c1 //même collection et même référence + +$col:=[{c: $c1}; {c: $c2}; {c: $c3}] +$col2:=$col.query("c = :v" ; {paramètres : {v: $c3}}) + //$col2.length=2 + //$col2[0].c=$c1 est true + //$col2[1].c=$c1 est true + ``` #### Paramètre querySettings -Exemple 1 Les propriétés suivantes sont prises en charge : +Dans le paramètre *querySettings*, vous pouvez passer un objet contenant placeholders de recherche sous forme d'objets. Les propriétés suivantes sont prises en charge : -| Propriété | Type | Description | -| ---------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| parameters | Object | Exemple 1 Vous pouvez passer un nombre illimité de collections. Vous pouvez combiner, dans une même recherche, des placeholders indexés (valeurs passées directement dans les paramètres value) et les valeurs des placeholders nommés. | -| attributes | Object | Une comparaison récursive de collections peut prendre beaucoup de temps si la collection est de grande taille et comporte de nombreux niveaux. Modifications Résultat L'utilisation d'une collection permet de rechercher des attributs dont les noms ne sont pas compatibles avec la notation à points, par exemple \["4Dv17.1", "en\/fr"]Vous pouvez mélanger des placeholders indexés (valeurs passées directement dans les paramètres *value*) et des valeurs de placeholders nommés dans la même requête. | +| Propriété | Type | Description | +| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| parameters | Object | **Placeholders nommés pour les valeurs** utilisées dans *queryString*. Les valeurs sont exprimées sous la forme de paires propriété/valeur, où la propriété est le nom du placeholder inséré pour une valeur dans la *queryString* (":placeholder") et la valeur est la valeur à comparer. Vous pouvez combiner, dans une même recherche, des placeholders indexés (valeurs passées directement dans les paramètres value) et les valeurs des placeholders nommés. | +| attributes | Object | **Placeholders nommés pour les chemins d'attributs** utilisés dans *queryString*. Les attributs sont exprimés sous la forme de paires propriété/valeur, où la propriété est le nom générique inséré pour un chemin d'attribut dans le *queryString* (":placeholder"), et la valeur peut être une chaîne ou une collection de chaînes. Chaque valeur est un chemin qui peut désigner une propriété dans un objet de la collection
    Type d'objetDescription
    ChaîneattributePath exprimé à l'aide de la notation à point, par exemple "name" ou "user.address.zipCode"
    Collection de chaînesChaque chaîne de la collection représente un niveau d'attributePath, par exemple \["name"] ou \["user", "address", "zipCode"]. L'utilisation d'une collection permet de rechercher des attributs dont les noms ne sont pas compatibles avec la notation à points, par exemple \["4Dv17.1", "en\/fr"]
    Vous pouvez mélanger des placeholders indexés (valeurs passées directement dans les paramètres *value*) et des valeurs de placeholders nommés dans la même requête. | :::note @@ -2715,7 +2787,7 @@ $entitySelection:=ds.Employee.query("birthDate <= :1";Current date-10950) :::info -Vous trouverez d'autres exemples de requêtes dans la page `dataClass.query()`. Notez cependant que les formules ne sont pas prises en charge par la fonction `collection.query()`, ni dans le paramètre *queryString* ni en tant que paramètre objet *formula*. +Vous trouverez d'autres exemples de recherches dans la page `dataClass.query()`. Notez cependant que les formules ne sont pas prises en charge par la fonction `collection.query()`, ni dans le paramètre *queryString* ni en tant que paramètre objet *formula*. ::: @@ -2759,8 +2831,8 @@ La fonction `.reduce()` applique la cal Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). La callback prend chaque élément de la collection et effectue toutes les opérations souhaitées pour accumuler le résultat dans *$1.accumulator*, qui est retourné dans *$1.value*. @@ -2847,8 +2919,8 @@ La fonction `.reduceRight()` appli Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). La callback prend chaque élément de la collection et effectue toutes les opérations souhaitées pour accumuler le résultat dans *$1.accumulator*, qui est retourné dans *$1.value*. @@ -2935,9 +3007,9 @@ La fonction `.remove()` supprime un ou Dans *index*, passez la position à partir de laquelle vous souhaitez supprimer des éléments de la collection. -> Exemple 1 Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). -- Inclus parmi +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). - Si la valeur calculée < 0, *index* est défini à 0. - Si la valeur calculée > la longueur de la collection, *index* est défini à cette longueur. @@ -3075,9 +3147,9 @@ La fonction `.reverse()` retourne une c
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Premier élément de collection |
    @@ -3138,9 +3210,9 @@ La fonction `.slice()` retourne une part La collection retournée contient l'élément spécifié par *startFrom* et tous les éléments suivants jusqu'à l'élément spécifié par *end* (mais non compris). Si seul le paramètre *startFrom* est spécifié, la collection retournée contient tous les éléments de *startFrom* jusqu'au dernier élément de la collection d'origine. -- Exemple 3 +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). - Si la valeur calculée < 0, *startFrom* est mis à 0. -- Prise en charge de querySettings +- Si *end* < 0 , il est recalculé comme *end:=end+length*. - Si *end < startFrom* (valeurs passées ou calculées), la méthode ne fait rien. #### Exemple @@ -3192,10 +3264,10 @@ La fonction `.some()` retourne true si au Vous désignez le code 4D de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 Par défaut, les propriétés sont triées pas ordre croissant. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : @@ -3216,7 +3288,7 @@ Par défaut, `.some()` évalue l'ensemble de la collection. Optionnellement, vou - Si *startFrom* < 0, il est considéré comme un décalage par rapport à la fin de la collection. -- Commentaire +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -3258,13 +3330,13 @@ Vous voulez savoir si au moins une valeur de la collection est >0.
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ascOrDesc | Integer | -> | Exemple 1 | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| extraParam | any | -> | Paramètre(s) à passer à la méthode | -| Résultat | Collection | <- | Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------ | +| ascOrDesc | Integer | -> | `ck ascending` ou `ck descending` (valeurs scalaires) | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| extraParam | any | -> | Paramètre(s) à passer à la méthode | +| Résultat | Collection | <- | Collection d'origine triée |
    @@ -3295,18 +3367,18 @@ Si la collection contient des éléments de différents types, ils sont d'abord 6. collections 7. dates -Si vous souhaitez trier les éléments de la collection dans un autre ordre ou trier n'importe quel type d'élément, vous devez fournir dans \*formula \* ([objet Formula](FunctionClass.md)) ou *methodName* (Text) une callback qui définit l'ordre de tri. Nom de méthode Vous pouvez fournir des paramètres supplémentaires à la callback si nécessaire. +Si vous souhaitez trier les éléments de la collection dans un autre ordre ou trier n'importe quel type d'élément, vous devez fournir dans \*formula \* ([objet Formula](FunctionClass.md)) ou *methodName* (Text) une callback qui définit l'ordre de tri. La valeur de retour doit être un booléen qui indique l'ordre relatif des deux éléments : **True** si *$1.value* est inférieur à *$1.value2*, **False** si *$1.value* est supérieur à *$1.value2*. Vous pouvez fournir des paramètres supplémentaires à la callback si nécessaire. La callback reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) Si vous avez utilisé une méthode, vous devez définir le paramètre suivant : -- Nouvelle collection contenant des éléments scindées (copie superficielle) +- *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. #### Exemple 1 @@ -3374,7 +3446,7 @@ Les positions sont retournées dans un ordre croissant. - la collection est vide, - la collection ne contient pas d'éléments numériques, -- Egal à +- *propertyPath* n'est pas trouvé dans la collection. #### Exemple 1 diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md index 76345729e0cf78..d29f897d877cf4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/EntitySelectionClass.md @@ -699,7 +699,7 @@ Cette entity selection est ensuite mise à jour avec les produits et vous souhai La fonction `.distinct()` renvoie une collection contenant uniquement des valeurs distinctes (différentes) de *attributePath* dans l'entity selection. -La collection retournée est automatiquement triée. Vous souhaitez créer une collection pré-remplie : +La collection retournée est automatiquement triée. Les valeurs **Null** ne sont pas retournées. Dans le paramètre *attributePath* passez l'attribut d'entité dont vous voulez obtenir les valeurs distinctes. Seules les valeurs scalaires (texte, nombre, booléen ou date) peuvent être gérées. Seules les valeurs scalaires (texte, nombre, booléen ou date) peuvent être gérées. Les types sont renvoyés dans l'ordre suivant : @@ -710,7 +710,7 @@ Dans le paramètre *attributePath* passez l'attribut d'entité dont vous voulez Vous pouvez utiliser la notation `[]` pour désigner une collection lorsque *attributePath* est un chemin dans un objet (cf. exemples). -Exemple 2 +Dans le paramètre *options*, vous pouvez passer une ou une combinaison des constantes suivantes : | Constante | Valeur | Commentaire | | ----------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -934,7 +934,7 @@ Par défaut, les entités pour lesquelles *attributePath* est *null* ou indéfin **.extract ( attributePath ; targetPath { ; ...attributePathN ; ... targetPathN}) : Collection** -Avec cette syntaxe, `.extract()` remplit la collection retournée avec les valeurs de *attributePath*. Chaque élément de la collection retournée est un objet avec les propriétés *targetPath* complétées par les propriétés *attributePath* correspondantes. Par exemple, vous pouvez organiser une recherche de la manière suivante : +Avec cette syntaxe, `.extract()` remplit la collection retournée avec les valeurs de *attributePath*. Chaque élément de la collection retournée est un objet avec les propriétés *targetPath* complétées par les propriétés *attributePath* correspondantes. Les valeurs null sont conservées (le paramètre *option* est ignoré avec cette syntaxe). Si plusieurs *attributePath* sont renseignés, un *targetPath* doit être fourni pour chacun. Seules les paires \[*attributePath*, *targetPath*] valides sont extraites. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md b/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md index ba8856cf410b41..cbe4fc9bdb6a29 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Admin/webAdmin.md @@ -148,7 +148,7 @@ Vous pouvez aussi définir un fichier `.4DSettings`. (format XML) et l'utiliser > La clé d'accès n'est pas stockée en clair dans le fichier `.4DSettings`. -Voici un exemple : +Exemple : ``` "%HOMEPATH%\Desktop\4D Server.exe" MyApp.4DLink --webadmin-access-key diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/arrays.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/arrays.md index d4357786dfb9a9..b68d54f3df5bb7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/arrays.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/arrays.md @@ -86,7 +86,7 @@ End case ## Tableaux à deux dimensions -Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Voici un exemple : +Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Exemple : ```4d ARRAY TEXT(atTopics;100;50) // Créer un tableau texte composé de 100 lignes de 50 colonnes diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md index 70fdc61016ba16..005471e6206aef 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/classes.md @@ -648,7 +648,7 @@ Pour plus de détails, voir la description de la commande [`Super`](../commands/ La commande [`This`](../commands/this.md) renvoie une référence à l'objet en cours de traitement. Dans la plupart des cas, la valeur de `This` est déterminée par la manière dont une fonction de classe est appelée. Habituellement, `This` fait référence à l'objet sur lequel la fonction a été appelée, comme si la fonction était sur l'objet. -Voici un exemple : +Exemple : ```4d //Classe : ob diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md index 9b3aac0381cf01..df32a12bd764aa 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_object.md @@ -121,7 +121,7 @@ Vous accédez aux valeurs des propriétés de l'objet à travers une chaîne de - en utilisant un symbole "point" : > object.propertyName -Voici un exemple : +Exemple : ```4d employee.name:="Dupont" @@ -160,14 +160,14 @@ La notation objet est utilisable avec tout élément de langage qui contient ou ``` - **les commandes 4D** qui retournent des objets. - Voici un exemple : + Exemple : ```4d $measures:=Database measures.DB.tables ``` - **les méthodes projet** ou **les fonctions** qui retournent des objets. - Voici un exemple : + Exemple : ```4d // MyMethod1 @@ -216,7 +216,7 @@ La notation objet pour les pointeurs est semblable à la notation objet standard > pointeurObjet->["nomPropriété"] -Voici un exemple : +Exemple : ```4d var vObj : Object diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md index 8c4c6e4b71ad5d..c51e4f9235ece4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/parameters.md @@ -170,28 +170,34 @@ L'instruction `return` met fin à l'exécution d'une fonction ou d'une méthode Par exemple, la fonction suivante retourne le carré de son argument, $x, où $x est un nombre. ```4d -Function square($x : Integer) -> $result : Integer +Function square($x : Integer) : Integer return $x * $x ``` -:::note - -En interne, `return x` exécute `myReturnValue:=x`, et retourne à l'appelant. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *undefined*. - -::: - -L'instruction `return` peut être utilisée avec la syntaxe standard pour les [valeurs retournées](#returned-value) (la valeur retournée doit être du type déclaré). Cependant, notez qu'elle met immédiatement fin à l'exécution du code. Par exemple : +L'instruction `return` peut être utilisée avec la syntaxe standard pour les [valeurs retournées](#returned-value) (la valeur retournée doit être du type déclaré). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // returns 20 + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // jamais exécuté - // returns 10 + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indirections sur les paramètres (${N}) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md index 2b7e6e5e9ccf19..54b2beae32b731 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/quick-tour.md @@ -58,7 +58,7 @@ La ligne de code se lit "MyOtherDate obtient la date actuelle plus 30 jours." Ce ## Commandes -Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Voici un exemple : +Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Exemple : ```4d COPY DOCUMENT("dossier1\\nom1";"dossier2\\" ; "nouveau") @@ -365,7 +365,7 @@ Les deux styles de commentaires peuvent être utilisés simultanément. #### Commentaires sur une seule ligne (`//commentaire`) -Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Voici un exemple : +Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Exemple : ```4d //Ceci est un commentaire @@ -380,7 +380,7 @@ End for Encadrez le contenu avec les caractères `/*` ... `*/` pour créer des blocs de commentaires en ligne ou multi-lignes. Les blocs de commentaire en ligne et multi-lignes commencent par `/*` et se terminent par `*/`. -- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Voici un exemple : +- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Exemple : ```4d For /* ligne de commentaire */ ($vCounter;1;100) @@ -388,7 +388,7 @@ For /* ligne de commentaire */ ($vCounter;1;100) End for ``` -- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Voici un exemple : +- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Exemple : ```4d For ($vCounter;1;100) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md index 538e9431184418..961873ed94e81f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Debugging/debugLogFiles.md @@ -273,7 +273,7 @@ Vous pouvez sélectionner le niveau des messages à l'aide du sélecteur `Diagno | `Log debug` | ID unique du process | `Log error`, `Log warn`, `Log info`, `Log debug` | | `Log trace` | Autres informations internes (pour les services techniques de 4D) | `Log error`, `Log warn`, `Log info`, `Log debug`, `Log trace` | -Voici un exemple : +Exemple : ```4d SET DATABASE PARAMETER (Diagnostic log recording; 1) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Develop/async.md b/i18n/fr/docusaurus-plugin-content-docs/current/Develop/async.md index a418b9d515432c..40c170d8e8213d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Develop/async.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Develop/async.md @@ -177,7 +177,7 @@ The **`.wait()`** function pauses execution of the current process and puts 4D i The `wait()` function returns when the `onTerminate` event has been triggered on the object, or when the provided timeout (if any) has expired. Consequently, you can explicitly exit from a `.wait()` by calling `shutdown()` or `terminate()` from within a callback. Otherwise, the `.wait()` is exited when the current operation ends. -Voici un exemple : +Exemple : ```4d var $options:=cs.Params.new() diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md index b757f6ad3de07f..aeb0b4c0af0c15 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormEditor/forms.md @@ -18,7 +18,7 @@ Vous pouvez ajouter ou modifier des formulaires 4D à l'aide des éléments suiv - **L'interface 4D Developer :** Créez de nouveaux formulaires à partir du menu **Fichier** ou de la fenêtre de l'**Explorateur**. - **L'éditeur de formulaires **: Modifiez vos formulaires à l'aide de l'**[éditeur de formulaires](FormEditor/formEditor.md)**. -- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Voici un exemple : +- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Exemple : ``` { diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md index 90da8c36f7ccec..eb68c71e744c81 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md @@ -1114,7 +1114,7 @@ Utilisez "choiceListName" ou "choiceListReference" en fonction de la provenance > - Si vous souhaitez définir des valeurs d'énumération via un simple tableau, vous pouvez utiliser l'attribut "choiceList". > - Si la liste contient du texte représentant des valeurs réelles, le séparateur décimal doit être le point ("."), quels que soient les paramètres locaux, ex : "17.6" "1234.456". -Voici un exemple : +Exemple : Vous voulez afficher une combo box basée sur une énumération nommée "colors" définie dans la Boîte à outils (contenant les valeurs "bleu", "jaune" et "vert") et afficher "vert" par défaut : @@ -1144,7 +1144,7 @@ Quel que soit son mode de définition, la liste d'unités peut être associée L'unité courante est affichée sous forme de bouton affichant successivement les valeurs de "unitList", "unitsListReference" ou "unitsListName" à chaque clic (par exemple "pixels" -> "lignes" -> "cm" -> "pixels" -> etc.) -Voici un exemple : +Exemple : Vous souhaitez définir une valeur de saisie numérique suivie d'une unité parmi deux possibles : "cm" ou "pixels". La valeur courante est "2" + "cm". Vous utilisez des valeurs définies directement dans l'objet (attribut "unitsList") : @@ -1167,7 +1167,7 @@ Si vous souhaitez ajouter un bouton ellipse [...] à une cellule, il suffit de p Lorsque l'utilisateur clique sur ce bouton, un événement `On Alternative Click` est généré, vous permettant de traiter cette action comme vous le souhaitez (reportez-vous ci-dessous au paragraphe "Gestion des événements" pour plus d'informations). -Voici un exemple : +Exemple : ```4d var $ob1 : Object @@ -1183,7 +1183,7 @@ OB SET($ob; "value" ;$entry) L'attribut "valueType" de valeur "color" vous permet d'afficher soit une couleur, soit un texte. -- Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Voici un exemple : +- Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Exemple : ```4d var $ob4 : Object @@ -1201,7 +1201,7 @@ L'attribut "valueType" de valeur "event" affiche un bouton qui génère simpleme Optionnellement, il est possible de passer un attribut "label". -Voici un exemple : +Exemple : ```4d var $ob : Object diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md index ac83d9cb20d7ae..7ce8442baf0bdd 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valeur minimale d'un indicateur. Pour les steppers numériques, cette propriét #### Commandes -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md index a2282590b6f500..c211b777604d13 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md @@ -248,7 +248,7 @@ Utilisé pour appliquer un style de police personnalisé à chaque ligne de list Vous devez saisir une expression ou une variable (les variables de type tableau ne peuvent pas être utilisées). L'expression ou variable sera évaluée pour chaque ligne affichée (si elle s'applique à la list box) ou chaque cellule affichée (si elle s'applique à la list box). Vous pouvez utiliser les constantes listées dans la commande [`LISTBOX SET ROW FONT STYLE`](../commands-legacy/listbox-set-row-font-style.md). -Voici un exemple : +Exemple : ```4d Choose([Companies]ID;Bold;Plain;Italic;Underline) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md index b42665278bc6f3..659d8e83e66a2e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md @@ -294,13 +294,13 @@ Il est important de noter que la propriété “Avec pop up menu” gère unique #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| :------------- | --------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nom | Type de données | Valeurs possibles | +| :------------- | --------------- | ------------------------------------------------------------- | +| popupPlacement | string | | #### Objets pris en charge -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Commandes diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md index f6ec06c336527b..dad143d27acfff 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/dsMapping.md @@ -205,7 +205,7 @@ Une entity selection est un objet contenant une ou plusieurs référence(s) à d Un objet Entity selection est géré par les fonctions et les propriétés de la classe [**EntitySelection**](../API/EntitySelectionClass.md). -Voici un exemple : +Exemple : ```4d var $e : cs.EmployeeSelection //déclare une variable objet $e de type de classe EmployeeSelection diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md index c8b20caabe858b..15465f24e7ec71 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ORDA/entities.md @@ -160,7 +160,7 @@ La référence du fichier peut être : - un objet 4D.File - un chemin au format POSIX -Voici un exemple : +Exemple : ```4d Function createCompany($name : Text; $logo : 4D.File) @@ -292,7 +292,7 @@ Une nouvelle entity selection est **partageable** dans les cas suivants : - la nouvelle entity selection est basée sur une relation [entity.*attributeName*](API/EntityClass.md#attributename) (par exemple, "company.employees") lorsque *attributeName* est un attribut lié 1-vers-N mais que l'entité n'appartient pas à une entity selection. - la nouvelle entity selection est explicitement copiée comme partageable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire avec l'option `ck shared`). -Voici un exemple : +Exemple : ```4d var $myComp : cs.CompanyEntity @@ -306,7 +306,7 @@ Une nouvelle entity selection est **modifiable** dans les cas suivants : - nouvelle entity selection créée vide à l'aide de la fonction [dataClass.newSelection()](API/DataClassClass.md#newselection) ou de la commande `Create entity selection`, - nouvelle entity selection explicitement copiée comme modifiable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire sans l'option `ck shared`). -Voici un exemple : +Exemple : ```4d var $toModify : cs.CompanySelection @@ -339,7 +339,7 @@ $comp2:=$lowSal.employer //$comp2 est modifiable car $lowSal est modifiable :::note Entity selections retournées depuis le serveur -Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Voici un exemple : +Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Exemple : ```4d //une fonction est toujours exécutée sue le serveur diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Tags/transformation-tags.md b/i18n/fr/docusaurus-plugin-content-docs/current/Tags/transformation-tags.md index 09e6beeb035876..05f6da9dc1f344 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Tags/transformation-tags.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Tags/transformation-tags.md @@ -577,7 +577,7 @@ Dans ce cas, la balise `4DLOOP` fonctionne comme avec un tableau : elle fait une Cette syntaxe est utile lorsque vous passez un pointeur de tableau en tant que paramètre à la commande [`PROCESS 4D TAGS`](../commands-legacy/process-4d-tags.md). -Voici un exemple : +Exemple : ```4d ARRAY TEXT($array;2) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/configuring.md b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/configuring.md index 4976768bcb3e2d..4527c4c610e260 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/configuring.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/ViewPro/configuring.md @@ -418,7 +418,7 @@ La commande [VP Get stylesheet](commands/vp-get-stylesheet.md) peut être utilis ### Propriétés d'objet de style -Voici un exemple : +Exemple : ```4d $style:=New object diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md index af8364ef32b7ed..78aa00f410800c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/WebServer/sessions.md @@ -110,7 +110,7 @@ Des privilèges peuvent être associés aux sessions utilisateur web. Sur le ser Vous assignez des privilèges en utilisant la [fonction `.setPrivileges()`](API/SessionClass.md#setprivileges). Dans votre code, vous pouvez vérifier les privilèges de la session pour autoriser ou refuser l'accès à l'aide de la fonction [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Par défaut, les nouvelles sessions n'ont aucun privilège : ce sont des sessions **Guest** (la fonction [`isGuest()`](API/SessionClass.md#isguest) retourne true). -Voici un exemple : +Exemple : ```4d If (Session.hasPrivilege("WebAdmin")) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/new-shared-collection.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/new-shared-collection.md index e8256b2933ba1a..2db64ac8060a49 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/new-shared-collection.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/new-shared-collection.md @@ -38,7 +38,7 @@ Vous devez affecter la référence retournée à une variable 4D de type Collect Symbole(s) Sinon, vous pouvez ajouter ou modifier des éléments ultérieurement via l'assignation en notation objet (cf. exemple). -Prise en charge des formules +If the new element index is beyond the last existing element of the shared collection, the collection is automatically resized and all new intermediary elements are assigned a **null** value. Vous pouvez passer tout nombre de valeurs de n'importe quel type pris en charge : diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/open-form-window.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/open-form-window.md index 3c9ecae04f4073..7d84c82eb106f4 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/open-form-window.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/open-form-window.md @@ -10,6 +10,8 @@ toc_max_heading_level: 3 +
    + | Paramètres | Type | | Description | | ---------- | ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | aTable | Table | → | Table of the form or Default table, if omitted | @@ -20,6 +22,7 @@ toc_max_heading_level: 3 | \* | Opérateur | → | Save current position and size of the window | | Résultat | Integer | ← | Numéro de référence de la fenêtre | +
    ## Description diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md index fb9852514b0a45..a26d8ee18442a8 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/API/CollectionClass.md @@ -728,7 +728,7 @@ La fonction `.equal()` compare la collec :::note Notes -- La fonction `.equal()` ne vérifie l'égalité que pour les éléments de type chaîne, booléen, nombre et null dans les collections. La callback reçoit les paramètres suivants : +- La fonction `.equal()` ne vérifie l'égalité que pour les éléments de type chaîne, booléen, nombre et null dans les collections. Elle ne vérifie pas l'égalité des objets natifs. - Les éléments avec des valeurs **null** ne sont pas égaux aux éléments Undefined. ::: diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Admin/webAdmin.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Admin/webAdmin.md index 6646988837f90c..c0622d2f7b28eb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Admin/webAdmin.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Admin/webAdmin.md @@ -125,7 +125,7 @@ Vous pouvez aussi définir un fichier `.4DSettings`. (format XML) et l'utiliser > Cette clé d'accès n'est pas stockée de façon transparente dans le fichier `.4DSettings`. -Voici un exemple : +Exemple : ``` "%HOMEPATH%\Desktop\4D Server.exe" MyApp.4DLink --webadmin-access-key diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/arrays.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/arrays.md index 72eb859c949cdc..3bc28f88dc20ac 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/arrays.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/arrays.md @@ -82,7 +82,7 @@ Voici un autre exemple : vous souhaitez initialiser un objet de formulaire avec ## Tableaux à deux dimensions -Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Voici un exemple : +Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Exemple : ```4d ARRAY TEXT(atTopics;100;50) // Créer un tableau texte composé de 100 lignes de 50 colonnes diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_blob.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_blob.md index c30a91882d61dd..063ecdf73ef5f7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_blob.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_blob.md @@ -37,7 +37,7 @@ Pour passer un BLOB à une de vos méthodes, vous pouvez aussi définir un point Vous pouvez assigner la valeur d'un BLOB à d'autres BLOBs, comme dans l'exemple suivant. -**Voici un exemple :** +**Exemple :** ```4d // Déclarer deux variables de type BLOB C_BLOB(vBlobA;vBlobB) @@ -51,7 +51,7 @@ En revanche, il n'existe pas d'opérateur pouvant être utilisé avec des BLOB. ## Adresser le contenu d'un BLOB -Chaque octet d'un BLOB peut être adressé individuellement, à l'aide des accolades {...}. Dans un BLOB, les octets sont numérotés de 0 à N-1, N étant la taille du BLOB. Voici un exemple : +Chaque octet d'un BLOB peut être adressé individuellement, à l'aide des accolades {...}. Dans un BLOB, les octets sont numérotés de 0 à N-1, N étant la taille du BLOB. Exemple : ```4d // Déclarer une variable de type BLOB C_BLOB(vBlob) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_collection.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_collection.md index 027c344181abb4..e92b024500b014 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_collection.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_collection.md @@ -44,7 +44,7 @@ Si vous assignez un numéro d'élément plus grand que celui du dernier élémen Les collections doivent être initialisées à l'aide, par exemple, de la commande `Creer collection`, sinon une erreur de syntaxe sera générée à la suite d'une lecture ou d'une modification d'un ou plusieurs élements de la collection. -Voici un exemple : +Exemple : ```4d var $colVar : Collection //création d'une variable 4D de type collection diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_object.md index f06d5e362751a9..df99008376ffcb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/dt_object.md @@ -36,7 +36,7 @@ Chaque valeur de propriété accessible par la notation objet est considérée c Les objets doivent être initialisés à l'aide, par exemple, de la commande `New object`, sinon une erreur de syntaxe sera générée à la suite d'une lecture ou d'une modification de leurs propriétés. -Voici un exemple : +Exemple : ```4d C_OBJECT($obVar) ////création d'une variable 4D de type objet $obVar:=New object //initialisation de l'objet et assignation à la variable 4D @@ -60,7 +60,7 @@ Avec la notation objet, il est possible d'accéder aux propriétés d'objets (au - à l'aide du symbole "point" : > objet.NomPropriété -Voici un exemple : +Exemple : ```4d employee.name:="Smith" ``` @@ -91,14 +91,14 @@ La notation objet est utilisable avec tout élément de langage qui contient ou $pop:=$aObjCountries{2}.population //tableau d'objets $val:=$myCollection[3].subvalue //élément de collection ``` -- avec les **commandes 4D** qui retournent des objets. Voici un exemple : +- avec les **commandes 4D** qui retournent des objets. Exemple : ```4d $measures:=Lire mesures base.DB.tables ``` -- avec les **méthodes projet** qui retournent des objets. Voici un exemple : +- avec les **méthodes projet** qui retournent des objets. Exemple : ```4d // MyMethod1 @@ -127,7 +127,7 @@ La notation objet pour les pointeurs est semblable à la notation objet standard - Accès par le nom : > pointeurObjet->[nomPropriété"] -Voici un exemple : +Exemple : ```4d C_OBJECT(vObj) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md index 3e15b4938baf5a..85f2ef0f270418 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Concepts/quick-tour.md @@ -60,7 +60,7 @@ La ligne de code se lit "MyOtherDate obtient la date actuelle plus 30 jours." Ce ## Commandes -Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Voici un exemple : +Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Exemple : ```4d COPY DOCUMENT("dossier1\\nom1";"dossier2\\" ; "nouveau") @@ -368,7 +368,7 @@ Les deux styles de commentaires peuvent être utilisés simultanément. #### Commentaires sur une seule ligne (`//commentaire`) -Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Voici un exemple : +Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Exemple : ```4d //Ceci est un commentaire @@ -383,7 +383,7 @@ End for Entourez le contenu avec des caractères `/*` ... `*/` pour créer des commentaires en ligne ou des blocs de commentaires multilignes. Les blocs de commentaire en ligne et multi-lignes commencent par `/*` et se terminent par `*/`. -- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Voici un exemple : +- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Exemple : ```4d For /* ligne de commentaire */ ($vCounter;1;100) @@ -391,7 +391,7 @@ For /* ligne de commentaire */ ($vCounter;1;100) End for ``` -- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Voici un exemple : +- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Exemple : ```4d For ($vCounter;1;100) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/forms.md index 15834efa6ccfe8..23a71f13552d0f 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormEditor/forms.md @@ -19,7 +19,7 @@ Vous pouvez ajouter ou modifier des formulaires 4D à l'aide des éléments suiv - **L'interface 4D Developer :** Créez de nouveaux formulaires à partir du menu **Fichier** ou de la fenêtre de l' **Explorateur**. - **L'éditeur de formulaires **: Modifiez vos formulaires à l'aide de l'[éditeur de formulaires](FormEditor/formEditor.md). -- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture.md#sources-folder). Voici un exemple : +- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture.md#sources-folder). Exemple : ``` { diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/listbox_overview.md index fdbd06d0b3ce78..39cd90f5a25f15 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/listbox_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/listbox_overview.md @@ -1068,7 +1068,7 @@ Utilisez "choiceListName" ou "choiceListReference" en fonction de la provenance > * Si vous souhaitez définir des valeurs d'énumération via un simple tableau, vous pouvez utiliser l'attribut "choiceList". > * Si la liste contient du texte représentant des valeurs réelles, le séparateur décimal doit être le point ("."), quels que soient les paramètres locaux, ex : "17.6" "1234.456". -Voici un exemple : +Exemple : Vous voulez afficher une combo box basée sur une énumération nommée "colors" définie dans la Boîte à outils (contenant les valeurs "bleu", "jaune" et "vert") et afficher "vert" par défaut : @@ -1097,7 +1097,7 @@ Quel que soit son mode de définition, la liste d'unités peut être associée L'unité courante est affichée sous la forme d'un bouton qui fait défiler les valeurs "unitList", "unitsListReference" ou "unitsListName" chaque fois qu'il est cliqué (par exemple, "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) -Voici un exemple : +Exemple : Vous souhaitez définir une valeur de saisie numérique suivie d'une unité parmi deux possibles : "cm" ou "pixels". La valeur courante est "2" + "cm". Vous utilisez des valeurs définies directement dans l'objet (attribut "unitsList") : @@ -1120,7 +1120,7 @@ Si vous souhaitez ajouter un bouton d'ellipse [...] dans une cellule, il suffit Lorsque l'utilisateur clique sur ce bouton, un événement `On Alternative Click` est généré, vous permettant de traiter cette action comme vous le souhaitez (reportez-vous ci-dessous au paragraphe "Gestion des événements" pour plus d'informations). -Voici un exemple : +Exemple : ```4d C_OBJECT($ob1) @@ -1136,7 +1136,7 @@ OB SET($ob;"value";$entry) L'attribut "valueType" de valeur "color" vous permet d'afficher soit une couleur, soit un texte. -* Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Voici un exemple : +* Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Exemple : ````4d C_OBJECT($ob4) @@ -1154,7 +1154,7 @@ L'attribut "valueType" de valeur "event" affiche un bouton qui génère simpleme Optionnellement, il est possible de passer un attribut "label". -Voici un exemple : +Exemple : ````4d C_OBJECT($ob) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md index c6139f63dd693a..9320868393c6ec 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_Text.md @@ -211,7 +211,7 @@ Utilisé pour appliquer un style de police personnalisé à chaque ligne de list Vous devez saisir une expression ou une variable (les variables de type tableau ne peuvent pas être utilisées). L'expression ou variable sera évaluée pour chaque ligne affichée (si elle s'applique à la list box) ou chaque cellule affichée (si elle s'applique à la list box). Vous pouvez utiliser les constantes du thème [Styles de caractères](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html). -Voici un exemple : +Exemple : ```4d Choose([Companies]ID;Bold;Plain;Italic;Underline) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md index 5604e37396bbeb..562b2134a80aac 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md @@ -223,4 +223,4 @@ Il est important de noter que la propriété “Avec pop up menu” gère unique #### Objets pris en charge -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/dsMapping.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/dsMapping.md index cc2f587c4a9d05..b31bd1ef1f877d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/dsMapping.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/dsMapping.md @@ -199,7 +199,7 @@ Une entity selection est un objet contenant une ou plusieurs référence(s) à d Un objet entity selection est géré par les fonctions et les propriétés de la classe [**EntitySelection**](../API/EntitySelectionClass.md) . -Voici un exemple : +Exemple : ```4d diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/entities.md index ad4a1a5104cfd8..8bd6064c57d42e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/ORDA/entities.md @@ -210,7 +210,7 @@ Une nouvelle entity selection est **partageable** dans les cas suivants : * la nouvelle entity selection est fondée sur une relation [entity.*attributeName*](API/EntityClass.md#attributename) (par exemple, "company.employees") lorsque *attributeName* est un attribut lié1 vers N mais que l'entity n'appartient pas à une entity selection. * la nouvelle entity selection est explicitement copiée comme partageable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire avec l'option `ck shared`). -Voici un exemple : +Exemple : ```4d $myComp:=ds.Company.get(2) //$myComp n'appartient pas à une entity selection @@ -222,7 +222,7 @@ Une nouvelle entity selection est **modifiable** dans les cas suivants : * la nouvelle entity selection est créée vide à l'aide de la fonction [dataClass.newSelection()](API/DataClassClass.md#newselection) ou de la commande `Create entity selection`, * la nouvelle entity selection est explicitement copiée comme modifiable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire sans l'option `ck shared`). -Voici un exemple : +Exemple : ```4d $toModify:=ds.Company.all().copy() //$toModify est modifiable @@ -250,7 +250,7 @@ $comp2:=$lowSal.employer //$comp2 est modifiable parce que $lowSal est modifiabl :::note Entity selections renvoyées par le serveur -Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Voici un exemple : +Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Exemple : ```4d //une fonction est toujours exécutée sur le serveur diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/Tags/tags.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/Tags/tags.md index bfc449a757d107..f39f3a21851e07 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/Tags/tags.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/Tags/tags.md @@ -583,7 +583,7 @@ Dans ce cas, la balise `4DLOOP` fonctionne comme pour un tableau : elle effectue Cette syntaxe est utile lorsque vous passez un pointeur de tableau en tant que paramètre de la commande `PROCESS 4D TAGS`. -Voici un exemple : +Exemple : ```4d ARRAY TEXT($array;2) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md index f4719245ca4d13..a09c2069d60183 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-19/WebServer/sessions.md @@ -80,7 +80,7 @@ Vous pouvez attribuer des privilèges à l'aide de la fonction [`.setPrivileges( > Dans l'implémentation actuelle, seul le privilège "WebAdmin" est disponible. -Voici un exemple : +Exemple : ```4d If (Session.hasPrivilege("WebAdmin")) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md index 3b8b615457a42a..8bf63bc5aed353 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/CollectionClass.md @@ -866,7 +866,7 @@ La fonction `.equal()` compare la collec :::note Notes -- La fonction `.equal()` ne vérifie l'égalité que pour les éléments de type chaîne, booléen, nombre et null dans les collections. La callback reçoit les paramètres suivants : +- La fonction `.equal()` ne vérifie l'égalité que pour les éléments de type chaîne, booléen, nombre et null dans les collections. Elle ne vérifie pas l'égalité des objets natifs. - Les éléments avec des valeurs **null** ne sont pas égaux aux éléments Undefined. ::: diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Admin/webAdmin.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Admin/webAdmin.md index 564c2d1b9b0941..98a9d97fe5daba 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Admin/webAdmin.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Admin/webAdmin.md @@ -135,7 +135,7 @@ Vous pouvez aussi définir un fichier `.4DSettings`. (format XML) et l'utiliser > Cette clé d'accès n'est pas stockée de façon transparente dans le fichier `.4DSettings`. -Voici un exemple : +Exemple : ``` "%HOMEPATH%\Desktop\4D Server.exe" MyApp.4DLink --webadmin-access-key diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/arrays.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/arrays.md index 72eb859c949cdc..3bc28f88dc20ac 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/arrays.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/arrays.md @@ -82,7 +82,7 @@ Voici un autre exemple : vous souhaitez initialiser un objet de formulaire avec ## Tableaux à deux dimensions -Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Voici un exemple : +Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Exemple : ```4d ARRAY TEXT(atTopics;100;50) // Créer un tableau texte composé de 100 lignes de 50 colonnes diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_blob.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_blob.md index 46658e44641b64..64fabd577ffff3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_blob.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_blob.md @@ -112,7 +112,7 @@ COMPUTE BLOB(->$myBlobVar) Vous pouvez affecter une variable Blob à une autre : -**Voici un exemple :** +**Exemple :** ```4d // Déclarer deux variables de type Blob diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_object.md index f277c36a28f834..0c41a7b3ebb34b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/dt_object.md @@ -128,7 +128,7 @@ Vous accédez aux valeurs des propriétés de l'objet à travers une chaîne de - à l'aide du symbole "point" : > objet.NomPropriété -Voici un exemple : +Exemple : ```4d employee.name:="Smith" ``` @@ -161,13 +161,13 @@ La notation objet est utilisable avec tout élément de langage qui contient ou $pop:=$aObjCountries{2}.population //tableau d'objets $val:=$myCollection[3].subvalue //élément de collection ``` -- avec les **commandes 4D** qui retournent des objets. Voici un exemple : +- avec les **commandes 4D** qui retournent des objets. Exemple : ```4d $measures:=Lire mesures base.DB.tables ``` -- **Méthodes projet** ou **fonctions** qui renvoient des objets. Voici un exemple : +- **Méthodes projet** ou **fonctions** qui renvoient des objets. Exemple : ```4d // MyMethod1 @@ -215,7 +215,7 @@ La notation objet pour les pointeurs est semblable à la notation objet standard - Accès par le nom : > pointeurObjet->[nomPropriété"] -Voici un exemple : +Exemple : ```4d var vObj : Object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md index cdf67501192640..98028add13c44b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Concepts/quick-tour.md @@ -60,7 +60,7 @@ La ligne de code se lit "MyOtherDate obtient la date actuelle plus 30 jours." Ce ## Commandes -Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Voici un exemple : +Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Exemple : ```4d COPY DOCUMENT("dossier1\\nom1";"dossier2\\" ; "nouveau") @@ -371,7 +371,7 @@ Les deux styles de commentaires peuvent être utilisés simultanément. #### Commentaires sur une seule ligne (`//commentaire`) -Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Voici un exemple : +Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Exemple : ```4d //Ceci est un commentaire @@ -386,7 +386,7 @@ End for Entourez le contenu avec des caractères `/*` ... `*/` pour créer des commentaires en ligne ou des blocs de commentaires multilignes. Les blocs de commentaire en ligne et multi-lignes commencent par `/*` et se terminent par `*/`. -- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Voici un exemple : +- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Exemple : ```4d For /* ligne de commentaire */ ($vCounter;1;100) @@ -394,7 +394,7 @@ For /* ligne de commentaire */ ($vCounter;1;100) End for ``` -- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Voici un exemple : +- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Exemple : ```4d For ($vCounter;1;100) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/debugLogFiles.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/debugLogFiles.md index e979ab81590f7d..31d36008e4350d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/debugLogFiles.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Debugging/debugLogFiles.md @@ -273,7 +273,7 @@ Vous pouvez sélectionner le niveau des messages à l'aide du sélecteur `Diagno | `Log debug` | ID unique du process | `Log error`, `Log warn`, `Log info`, `Log debug` | | `Log trace` | Autres informations internes (pour les services techniques de 4D) | `Log error`, `Log warn`, `Log info`, `Log debug`, `Log trace` | -Voici un exemple : +Exemple : ```4d SET DATABASE PARAMETER (Diagnostic log recording; 1) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/forms.md index 5138203a4db386..aa469913ccbf9e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormEditor/forms.md @@ -19,7 +19,7 @@ Vous pouvez ajouter ou modifier des formulaires 4D à l'aide des éléments suiv - **L'interface 4D Developer :** Créez de nouveaux formulaires à partir du menu **Fichier** ou de la fenêtre de l' **Explorateur**. - **L'éditeur de formulaires **: Modifiez vos formulaires à l'aide de l'[éditeur de formulaires](FormEditor/formEditor.md). -- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Voici un exemple : +- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Exemple : ``` { diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md index a724fedeb2082d..e01b8cb0c4220a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md @@ -1120,7 +1120,7 @@ Utilisez "choiceListName" ou "choiceListReference" en fonction de la provenance > * Si vous souhaitez définir des valeurs d'énumération via un simple tableau, vous pouvez utiliser l'attribut "choiceList". > * Si la liste contient du texte représentant des valeurs réelles, le séparateur décimal doit être le point ("."), quels que soient les paramètres locaux, ex : "17.6" "1234.456". -Voici un exemple : +Exemple : Vous voulez afficher une combo box basée sur une énumération nommée "colors" définie dans la Boîte à outils (contenant les valeurs "bleu", "jaune" et "vert") et afficher "vert" par défaut : @@ -1151,7 +1151,7 @@ Quel que soit son mode de définition, la liste d'unités peut être associée L'unité courante est affichée sous la forme d'un bouton qui fait défiler les valeurs "unitList", "unitsListReference" ou "unitsListName" chaque fois qu'il est cliqué (par exemple, "pixels" -> "rows" -> "cm" -> "pixels" -> etc.) -Voici un exemple : +Exemple : Vous souhaitez définir une valeur de saisie numérique suivie d'une unité parmi deux possibles : "cm" ou "pixels". La valeur courante est "2" + "cm". Vous utilisez des valeurs définies directement dans l'objet (attribut "unitsList") : @@ -1174,7 +1174,7 @@ Si vous souhaitez ajouter un bouton d'ellipse [...] dans une cellule, il suffit Lorsque l'utilisateur clique sur ce bouton, un événement `On Alternative Click` est généré, vous permettant de traiter cette action comme vous le souhaitez (reportez-vous ci-dessous au paragraphe "Gestion des événements" pour plus d'informations). -Voici un exemple : +Exemple : ```4d C_OBJECT($ob1) @@ -1191,7 +1191,7 @@ OB SET($ob;"value";$entry) L'attribut "valueType" de valeur "color" vous permet d'afficher soit une couleur, soit un texte. -* Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Voici un exemple : +* Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Exemple : ````4d C_OBJECT($ob4) @@ -1210,7 +1210,7 @@ L'attribut "valueType" de valeur "event" affiche un bouton qui génère simpleme Optionnellement, il est possible de passer un attribut "label". -Voici un exemple : +Exemple : ````4d C_OBJECT($ob) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Text.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Text.md index 7112a2edf78e34..78937b5b5f31c0 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Text.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_Text.md @@ -211,7 +211,7 @@ Utilisé pour appliquer un style de police personnalisé à chaque ligne de list Vous devez saisir une expression ou une variable (les variables de type tableau ne peuvent pas être utilisées). L'expression ou variable sera évaluée pour chaque ligne affichée (si elle s'applique à la list box) ou chaque cellule affichée (si elle s'applique à la list box). Vous pouvez utiliser les constantes du thème [Styles de caractères](https://doc.4d.com/4Dv17R6/4D/17-R6/Font-Styles.302-4310343.en.html). -Voici un exemple : +Exemple : ```4d Choose([Companies]ID;Bold;Plain;Italic;Underline) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md index d2ff7c6255e5ce..d39032faf6e7a3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md @@ -256,10 +256,10 @@ Il est important de noter que la propriété “Avec pop up menu” gère unique #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -|:-------------- | --------------- | --------------------------------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nom | Type de données | Valeurs possibles | +|:-------------- | --------------- | ------------------------- | +| popupPlacement | string | | #### Objets pris en charge -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/dsMapping.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/dsMapping.md index 87cb795d4a79bc..8ae27e252a029e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/dsMapping.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/dsMapping.md @@ -213,7 +213,7 @@ Une entity selection est un objet contenant une ou plusieurs référence(s) à d Un objet entity selection est géré par les fonctions et les propriétés de la classe [**EntitySelection**](../API/EntitySelectionClass.md) . -Voici un exemple : +Exemple : ```4d diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/entities.md index da50c788482e4b..66b1e74fb0184b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/ORDA/entities.md @@ -216,7 +216,7 @@ Une nouvelle entity selection est **partageable** dans les cas suivants : - la nouvelle entity selection est fondée sur une relation [entity.*attributeName*](API/EntityClass.md#attributename) (par exemple, "company.employees") lorsque *attributeName* est un attribut lié1 vers N mais que l'entity n'appartient pas à une entity selection. - la nouvelle entity selection est explicitement copiée comme partageable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire avec l'option `ck shared`). -Voici un exemple : +Exemple : ```4d $myComp:=ds.Company.get(2) //$myComp n'appartient pas à une entity selection $employees:=$myComp.employees //$employees est partageable @@ -227,7 +227,7 @@ Une nouvelle entity selection est **modifiable** dans les cas suivants : - la nouvelle entity selection est créée vide à l'aide de la fonction [dataClass.newSelection()](API/DataClassClass.md#newselection) ou de la commande `Create entity selection`, - la nouvelle entity selection est explicitement copiée comme modifiable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire sans l'option `ck shared`). -Voici un exemple : +Exemple : ```4d $toModify:=ds.Company.all().copy() //$toModify est modifiable ``` @@ -255,7 +255,7 @@ $comp2:=$lowSal.employer //$comp2 est modifiable parce que $lowSal est modifiabl :::note Entity selections renvoyées par le serveur -Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Voici un exemple : +Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Exemple : ```4d //une fonction est toujours exécutée sur le serveur diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/Tags/tags.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/Tags/tags.md index f5f6d5ea2a29dd..73fb8b8135cfa3 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/Tags/tags.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/Tags/tags.md @@ -583,7 +583,7 @@ Dans ce cas, la balise `4DLOOP` fonctionne comme pour un tableau : elle effectue Cette syntaxe est utile lorsque vous passez un pointeur de tableau en tant que paramètre de la commande `PROCESS 4D TAGS`. -Voici un exemple : +Exemple : ```4d ARRAY TEXT($array;2) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/configuring.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/configuring.md index 254ea0316c3268..1448cd8869ca77 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/configuring.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/ViewPro/configuring.md @@ -413,7 +413,7 @@ La commande [VP Get stylesheet](method-list.md#vp-get-stylesheet) peut être uti ### Propriétés d'objet de style -Voici un exemple : +Exemple : ```4d $style:=New object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md index 017725e5422dc4..830ea742c16017 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/WebServer/sessions.md @@ -84,7 +84,7 @@ Vous pouvez attribuer des privilèges à l'aide de la fonction [`.setPrivileges( > Dans l'implémentation actuelle, seul le privilège "WebAdmin" est disponible. -Voici un exemple : +Exemple : ```4d If (Session.hasPrivilege("WebAdmin")) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/CollectionClass.md index 82db7ee425d344..62d464b7438c00 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/CollectionClass.md @@ -94,13 +94,13 @@ Une collection est initialisée avec les commandes [`New collection`](../command #### Description -Différent de +La fonction `.at()` retourne l'élément à la position *index*, acceptant des entiers positifs et négatifs. > Cette fonction ne modifie pas la collection d'origine. Les nombres entiers négatifs déterminent la position à partir du dernier élément de la collection. -Voici un exemple : +La fonction renvoie la valeur Undefined si *index* dépasse les limites de la collection. #### Exemple @@ -144,17 +144,17 @@ $element:=$col.at(10) // undefined #### Description -Différent de +La fonction .average() retourne la moyenne arithmétique des valeurs définies dans la collection. Seuls les éléments ayant une valeur numérique sont pris en compte pour le calcul (les autres types d'éléments sont ignorés). Les positions sont retournées dans un ordre croissant. -Vous pouvez passer tout type d'élément accepté par les collections, y compris une autre collection. +`.average()` retourne `undefined` si : - la collection est vide, - la collection ne contient pas d'éléments numériques, -- Egal à +- *propertyPath* n'est pas trouvé dans la collection. #### Exemple 1 @@ -204,7 +204,7 @@ Vous pouvez passer tout type d'élément accepté par les collections, y compris #### Description -Vous devez prêter attention aux problèmes de conversion suivants : +La fonction `.clear()` supprime tous les éléments de la collection et retourne une collection vide. > Cette fonction modifie la collection d'origine. @@ -248,17 +248,17 @@ $vSize:=$col.length //$vSize=0 #### Description -Vous pouvez passer : Vous pouvez passer : +La fonction `.combine()` insère des éléments *col2* à la fin ou à la position *index* spécifiée dans l'instance de collection et renvoie la collection modifiée. A la différence de la fonction `.insert()`, `.combine()` ajoute chaque valeur de *col2* dans la collection d'origine, et non en tant qu'élément unique de collection. > Cette fonction modifie la collection d'origine. -Nom de méthode Exemples : +Par défaut, les éléments *col2* sont ajoutés à la fin de la collection originale. Vous pouvez passer dans *index* la position à laquelle vous souhaitez que les éléments *col2* soient insérés dans la collection. -> Exemple 1 +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. -- Exemple 2 -- Inclus parmi -- Vous souhaitez un tri croissant des première et troisième collections, et une synchronisation pour la deuxième collection : +- Si *index* > la longueur de la collection, l'*index* de départ sera fixé à la longueur de la collection. +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). +- Si la valeur calculée est négative, *index* est mis à 0. #### Exemple @@ -292,18 +292,18 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6] | Paramètres | Type | | Description | | ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. | -| Résultat | Collection | <- | En cas d'incohérence, les règles suivantes sont appliquées : | +| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées | #### Description -Par exemple : +La fonction `.concat()` renvoie une nouvelle collection contenant les éléments de la collection originale avec tous les éléments du paramètre *value* ajoutés à la fin. > Cette fonction ne modifie pas la collection d'origine. -La collection retournée contient l'élément spécifié par *startFrom* et tous les éléments suivants jusqu'à l'élément spécifié par *end* (mais non compris). Si seul le paramètre *startFrom* est spécifié, la collection retournée contient tous les éléments de *startFrom* au dernier élément de la collection d'origine. +Si *value* est une collection, tous ses éléments sont ajoutés en tant que nouveaux éléments à la fin de la collection d'origine. Si la *value* n'est pas une collection, elle est ajoutée elle-même en tant que nouvel élément. #### Exemple @@ -324,10 +324,10 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
    Historique -| Release | Modifications | -| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 18 R3 | Les dates sont stockées sous la forme de date « aaaa-mm-jj » ou des chaînes au format « AAAA-MM-JJTHH: ss.SSSZ: mm » , selon la configuration actuelle « dates à l'intérieur des objets » de la base de données. Cet exemple retourne des personnes embauchées il y a plus de 90 jours : | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | ---------------------------------------------------------------------------- | +| 18 R3 | Nouvelle option *ck shared*. Nouveaux paramètres *groupWith* | +| v16 R6 | Ajout |
    @@ -337,40 +337,40 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
    -| Paramètres | Type | | Description | -| ------------ | ---------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| option | Integer | -> | Exemple 3 | -| groupWithCol | Collection | -> | Collection partagée à grouper avec la collection résultante | -| groupWithObj | Object | -> | Objet partagé à grouper avec la collection résultante | -| Résultat | Collection | <- | *pathStrings* contient une formule constituée de 1 à N chemin(s) de propriété(s) et (optionnellement) ordres de tri, séparés par des virgules. | +| Paramètres | Type | | Description | +| ------------ | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| option | Integer | -> | `ck resolve pointers`: résoudre les pointeurs avant la copie,
    `ck shared`: retourner une collection partagée | +| groupWithCol | Collection | -> | Collection partagée à grouper avec la collection résultante | +| groupWithObj | Object | -> | Objet partagé à grouper avec la collection résultante | +| Résultat | Collection | <- | Copie profonde de la collection d'origine (deep copy) |
    #### Description -Lorsque vous utilisez une valeur constante, les règles suivantes doivent être respectées : +La fonction `.copy()` renvoie une copie profonde (deep copy) de l'instance de collection. ***Deep copy*** signifie que les objets ou les collections présents dans la collection d'origine sont dupliqués et ne partagent pas leur référence avec la collection qui est retournée. > Cette fonction ne modifie pas la collection d'origine. -Utilisation de guillemets +S'il est passé, le paramètre *option* peut contenir l'une des constantes suivantes (ou les deux) : -| option | Description | -| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ck resolve pointers` | Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Dans ce cas, chaque pointeur contenu dans la collection est évalué lors de la copie et sa valeur déréférencée est utilisée. | -| `ck shared` | Prise en charge des formules Symbole(s) L'évaluation est sensible à la casse et différencie les caractères accentués. | +| option | Description | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ck resolve pointers` | Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Toutefois, vous pouvez résoudre les pointeurs au moment de la copie en passant la constante `ck resolve pointers`. Dans ce cas, chaque pointeur contenu dans la collection est évalué lors de la copie et sa valeur déréférencée est utilisée. | +| `ck shared` | Par défaut, `copy()` retourne une collection standard (non partagée), même si la fonction s'applique à une collection partagée. Passez la constante `ck shared` pour créer une collection partagée. Dans ce cas, vous pouvez utiliser le paramètre *groupWith* pour associer la collection partagée à une autre collection ou à un autre objet (voir ci-dessous). | -Par défaut si omis, une évaluation non diacritique est effectuée +Les paramètres *groupWithCol* ou *groupWithObj* vous permettent de désigner une collection ou un objet avec lequel la collection résultante doit être associée. :::note -Les objets Datastore, dataclass et entity ne sont pas copiables. Collection mise à plat +Les objets Datastore, dataclass et entity ne sont pas copiables. Si `.copy()` est appelé avec eux, les valeurs `Null` sont retournées. ::: #### Exemple 1 -Inférieur ou égal à Null +Nous souhaitons copier la collection régulière (non partagée) *$lastnames* dans l'objet partagé *$sharedObject*. Pour cela, nous devons créer une copie partagée de la collection (*$sharedLastnames*). ```4d var $sharedObject : Object @@ -392,7 +392,7 @@ End use #### Exemple 2 -Null Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. +Nous voulons combiner *$sharedColl1* et *$sharedColl2*. Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. Par conséquent, nous devons faire une copie partagée de *$sharedColl1* et désigner *$sharedColl2* comme étant un groupe partagé pour la copie. ```4d var $sharedColl1;$sharedColl2;$copyColl : Collection @@ -409,7 +409,7 @@ $sharedColl2:=New shared collection(New shared object("lastname";"Brown")) #### Exemple 3 -Supérieur ou égal à Paramètre querySettings +Nous avons une collection standard (*$lastnames*) et nous souhaitons la placer dans le **Storage** de l'application. Pour cela, nous devons créer une copie partagée au préalable (*$sharedLastnames*). ```4d var $lastnames;$sharedLastnames : Collection @@ -427,10 +427,24 @@ End use #### Exemple 4 -Collection d'origine dont tous les éléments ont été supprimés +Cet exemple illustre l'utilisation de l'option `ck resolve pointers` : ```4d -Résultat + var $col : Collection + var $p : Pointer + $p:=->$what + + $col:=New collection + $col.push(New object("alpha";"Hello";"num";1)) + $col.push(New object("beta";"You";"what";$p)) + + $col2:=$col.copy() + $col2[1].beta:="World!" + ALERT($col[0].alpha+" "+$col2[1].beta) //"Hello World!" + + $what:="You!" + $col3:=$col2.copy(ck resolve pointers) + ALERT($col3[0].alpha+" "+$col3[1].what) //"Hello You!" ``` @@ -453,19 +467,19 @@ Résultat
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | --------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Real | <- | La recherche d'une personne nommée "smith OR status='private"' échouera simplement. | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Real | <- | Nombre d'éléments dans la collection |
    #### Description -Ajout +La fonction `.count()` retourne le nombre d'éléments non nuls dans la collection. -Exemple 2 Tri d'une collection de nombres par ordre croissant ou décroissant : +Si la collection contient des objets, vous pouvez passer le paramètre *propertyPath*. Dans ce cas, seuls les éléments qui contiennent le *propertyPath* sont pris en compte. #### Exemple @@ -502,27 +516,27 @@ Exemple 2 Tri d'une collection de nombres par ordre croissant ou décroissant :
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| value | any | -> | Valeur à compter | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Real | <- | Par défaut, `copy()` retourne une collection standard (non partagée), même si la commande est appliquée à une collection partagée. | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| value | any | -> | Valeur à compter | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Real | <- | Nombre d'occurrences de la valeur |
    #### Description -Lorsque vous utilisez des placeholders, le contournement des options de sécurité n'est pas possible : +La fonction `.countValues()` retourne le nombre d'occurrences de *value* dans la collection. -L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. +Vous pouvez passer dans *value* : - une valeur scalaire (texte, numérique, booléen, date), - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +Pour qu'un élément soit comptabilisé, le type de *value* doit être égal à celui de l'élément ; la fonction utilise l'opérateur d'égalité. -Comparaison +Le paramètre optionnel *propertyPath* vous permet de compter des valeurs à l'intérieur d'une collection d'objets : passez dans *propertyPath* le chemin de la propriété dont vous souhaitez comptabiliser le nombre de valeurs. > Cette fonction ne modifie pas la collection d'origine. @@ -569,10 +583,10 @@ Comparaison
    Historique -| Release | Modifications | -| ------- | -------------------------------------------------------------------------------------- | -| 20 | Vous souhaitez créer une nouvelle collection puis ajouter un élément : | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | ------------------------------------ | +| 20 | Prise en charge de `ck count values` | +| v16 R6 | Ajout |
    @@ -586,27 +600,27 @@ Comparaison | ------------ | ---------- | :-------------------------: | ----------------------------------------------------------------------- | | propertyPath | Text | -> | Chemin de l'attribut dont vous souhaitez obtenir les valeurs distinctes | | options | Integer | -> | `ck diacritical`, `ck count values` | -| Résultat | Collection | <- | Commentaire | +| Résultat | Collection | <- | Nouvelle collection contenant uniquement les valeurs distinctes | #### Description -Nom de méthode +La fonction `.distinct()` renvoie une collection contenant uniquement les valeurs distinctes (différentes) de la collection originale. > Cette fonction ne modifie pas la collection d'origine. -La collection retournée est automatiquement triée. Vous souhaitez créer une collection pré-remplie : +La collection retournée est automatiquement triée. Les valeurs **Null** ne sont pas retournées. -Cette recherche semble sécurisée puisque les données non publiques sont filtrées. +Si la collection contient des objets, vous pouvez passer le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir les valeurs distinctes. -Exemple 2 +Dans le paramètre *options*, vous pouvez passer une ou une combinaison des constantes suivantes : -| Constante | Valeur | Commentaire | -| ----------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ck diacritical` | 8 | L'évaluation est sensible à la casse et différencie les caractères accentués. Par défaut si omis, une évaluation non diacritique est effectuée | -| `ck count values` | 32 | Renvoie le nombre d'éléments pour chaque valeur distincte. Prise en charge des formules | +| Constante | Valeur | Commentaire | +| ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ck diacritical` | 8 | L'évaluation est sensible à la casse et différencie les caractères accentués. Par défaut si omis, une évaluation non diacritique est effectuée | +| `ck count values` | 32 | Renvoie le nombre d'éléments pour chaque valeur distincte. Lorsque cette option est passée, `.distinct()` renvoie une collection d'objets contenant une paire d'attributs `{"value":*value*;"count":*count*}`. | #### Exemples @@ -644,31 +658,31 @@ Exemple 2
    -| Paramètres | Type | | Description | -| ----------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------- | -| collection2 | Collection | -> | Collection à comparer | -| option | Integer | -> | La formule reçoit les paramètres suivants : | -| Résultat | Boolean | <- | Cet exemple illustre l'utilisation de l'option `ck resolve pointers` : | +| Paramètres | Type | | Description | +| ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- | +| collection2 | Collection | -> | Collection à comparer | +| option | Integer | -> | `ck diacritical`: évaluation diacritique ("A" # "a" par exemple) | +| Résultat | Boolean | <- | Vrai si les collections sont identiques, sinon faux |
    #### Description -Ajout +La fonction `.equal()` compare récursivement le contenu de la collection et de *collection2* (comparaison profonde)et renvoie **true** si elles sont identiques. :::note Notes -- Historique La callback reçoit les paramètres suivants : -- Par exemple, imaginez une chaîne de recherche du type : +- La fonction `.equal()` ne vérifie l'égalité que pour les chaînes de caractères, les booléens, les nombres et les éléments de type null dans les collections. Elle ne vérifie pas l'égalité des objets natifs. +- Les éléments avec des valeurs **null** ne sont pas égaux aux éléments non définis. ::: -Par défaut, une évaluation non diacritique est effectuée. L'évaluation est sensible à la casse et différencie les caractères accentués. +Par défaut, une évaluation non diacritique est effectuée. Si vous souhaitez que l'évaluation soit sensible à la casse ou pour différencier des caractères accentués, passez la constante `ck diacritical` dans le paramètre option. :::tip -dans *$2* : param Modifications +Une comparaison récursive de collections peut prendre beaucoup de temps si la collection est grande et profonde. Si vous souhaitez uniquement comparer deux références de collection, vous pouvez envisager d'utiliser l'opérateur de comparaison [`=` pour les références de collection](../Concepts/dt_collection.md#collection-operators). ::: @@ -716,51 +730,60 @@ dans *$2* : param Modifications
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Elément à partir duquel débuter l'évaluation | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Boolean | <- | Paramètres | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------- | +| startFrom | Integer | -> | Elément à partir duquel débuter l'évaluation | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Boolean | <- | True si tous les éléments ont passé le test avec succès |
    #### Description -Ajout +La fonction `.every()` retourne **true** si tous les éléments de la collection ont été évalués à vrai par le test implémenté dans l'objet *formula* ou la méthode *methodName* fourni(e). Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 Par défaut, les propriétés sont triées pas ordre croissant. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection à combiner -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si l'évaluation de la valeur de l'élément est réussie, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Prise en charge des formules +Dans tous les cas, au point où la fonction `.every()` rencontre le premier élément de la collection évalué à **false**, elle cesse d'appeler la callback et retourne **false**. -Objet formule Les propriétés suivantes sont prises en charge : +Par défaut, `.every()` évalue l'ensemble de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer le test. -- Prise en charge des formules -- Prise en charge des formules -- Commentaire +- Si *startFrom* >= la longueur de la collection, **false** est retourné, ce qui signifie que la collection n'est pas testée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple 1 ```4d -Comparaison +var $c : Collection +var $b : Boolean +var $f : 4D.Function + +$f:=Formula($1.value>0) +$c:=New collection +$c.push(5;3;1;4;6;2) +$b:=$c.every($f) // retourne true +$c.push(-1) +$b:=$c.every($f) // retourne false ``` #### Exemple 2 @@ -801,29 +824,29 @@ $b:=$c.every($f;Is real) //$b=false
    -| Paramètres | Type | | Description | -| ------------ | ---------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet dont les valeurs doivent être extraites dans la nouvelle collection | -| targetpath | Text | -> | Chemin ou nom de propriété cible | -| option | Integer | -> | Prise en charge des formules Sommaire | -| Résultat | Collection | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ------------ | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet dont les valeurs doivent être extraites dans la nouvelle collection | +| targetpath | Text | -> | Chemin ou nom de propriété cible | +| option | Integer | -> | `ck keep null` : inclure les propriétés null dans la collection retournée (ignorées par défaut). Paramètre ignoré si *targetPath* est passé. | +| Résultat | Collection | <- | Nouvelle collection contenant les valeurs extraites |
    #### Description -OU +La fonction `.extract()` crée et renvoie une nouvelle collection contenant les valeurs *propertyPath* extraites de la collection originale d'objets. > Cette fonction ne modifie pas la collection d'origine. -Exemple +Le contenu de la collection retournée dépend du paramètre *targetPath* : -- Prise en charge des formules +- Si le paramètre *targetPath* est omis, `.extract()` remplit la nouvelle collection avec les valeurs de *propertyPath* de la collection d'origine. - Exemple 2 Exemple + Par défaut, les éléments pour lesquels *propertyPath* est null ou indéfini sont ignorés dans la collection résultante. Vous pouvez passer la constante `ck keep null` dans le paramètre *option* pour inclure ces valeurs en tant qu'éléments null dans la collection retournée. -- Exemple Par exemple, vous pouvez organiser une recherche de la manière suivante : +- Si un ou plusieurs paramètre(s) *targetPath* sont passés (correspondant à un ou plusieurs paramètre(s) *propertyPath*), `.extract()` remplit la nouvelle collection avec les propriétés *propertyPath* et chaque élément de la nouvelle collection est un objet avec les propriétés *targetPath* remplies avec les propriétés *propertyPath* correspondantes. Les valeurs null sont conservées (le paramètre *option* est ignoré avec cette syntaxe). #### Exemple 1 @@ -874,31 +897,31 @@ $c2:=$c.extract("name";"City";"zc";"Zip") //$c2=[{Zip:35060},{City:null,Zip:3504
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| value | any | -> | Valeur de remplissage | -| startFrom | Integer | -> | Indice l'élément de départ (inclus) | -| end | Integer | -> | Indice de fin (non inclus) | -| Résultat | Collection | <- | Vous pouvez modifier ce comportement en utilisant le sélecteur `Dates inside objects` de la commande `SET DATABASE PARAMETER`. | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------ | +| value | any | -> | Valeur de remplissage | +| startFrom | Integer | -> | Indice l'élément de départ (inclus) | +| end | Integer | -> | Indice de fin (non inclus) | +| Résultat | Collection | <- | Collection d'origine avec valeurs de remplissage |
    #### Description -Exemples +La fonction `.fill()` remplit la collection avec la *valeur* spécifiée, éventuellement de l'index *startFrom* à l'index *end*, et renvoie la collection résultante. > Cette fonction modifie la collection d'origine. -- nombres -- Exemple 2 -- Exemple 3 +- Si le paramètre *startFrom* est omis, *value* est appliquée à tous les éléments de la collection (*startFrom*=0). +- Si le paramètre *startFrom* est passé et *end* omis, *value* est appliquée aux éléments de la collection à partir de *startFrom* jusqu'au dernier élément de la collection (*end*=length). +- Si à la fois le paramètre *startFrom* et *end* sont passés, *value* est appliquée aux éléments de la collection à partir de *startFrom* jusqu'à l'élément *end*. En cas d'incohérence, les règles suivantes sont appliquées : -- Exemple 3 nombres -- Prise en charge de querySettings -- La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). Si la valeur calculée est négative, *startFrom* est défini à 0. +- Si *end* < 0 , il est recalculé comme *end:=end+length*. +- Si *end* < *startFrom* (valeurs passées ou recalculées), la méthode ne fait rien. #### Exemple @@ -932,43 +955,43 @@ En cas d'incohérence, les règles suivantes sont appliquées :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | Résultat | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------ | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Nouvelle collection contenant les éléments filtrés (shallow copy) |
    #### Description -Utilisation de placeholders Modifications Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +La fonction `.filter()` retourne une nouvelle collection contenant tous les éléments de la collection d'origine pour lesquels le résultat de la *formula* ou de la méthode *methodName* est **true**. Cette fonction retourne une ***shallow copy***, ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour filtrer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 4 Par exemple, si vous exécutez la recherche suivante : +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (optionnel) et un objet en premier paramètre (*$1*). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant la condition et donc, devant être ajouté à la nouvelle collection. La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Nom de méthode -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- *$1.result* (Booléen) : **true** si la valeur de l'élément correspond à la condition de filtre et doit être conservée, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. :::note -Lors de la conversion de dates 4D en texte avant de les stocker dans la collection, par défaut le programme prend en compte le fuseau horaire local. +Lorsque vous utilisez *methodName* comme callback, et si la méthode ne renvoie aucune valeur, `.filter()` recherchera la propriété *$1.result* que vous devez définir à **true** pour chaque élément remplissant la condition. ::: @@ -1021,47 +1044,47 @@ Vous voulez filtrer les éléments de la collection en fonction de leur type :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | any | <- | Pour cela, nous devons créer une copie partagée de la collection (*$sharedLastnames*). | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | any | <- | Première valeur trouvée (Undefined si non trouvée) |
    #### Description -Exemple +La fonction `.find()` retourne la première valeur dans la collection pour laquelle le résultat de *formula* ou de *methodName*, appliqué à chaque élément, retourne **true**. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit renvoyer **true** pour le premier élément qui satisfait la condition. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection d'origine redimensionnée -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si la valeur de l'élément correspond à la condition de recherche, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Exemple 2 Exemple 2 +Par défaut, `.find()` effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer la recherche. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple 1 @@ -1112,47 +1135,47 @@ $c2:=$c.find(Formula($1.value.name=$2); "Clanton") //$c2={name:Clanton,zc:35046
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Integer | <- | Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ---------------------------------------------------------------------- | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Integer | <- | Numéro du premier élément trouvé (-1 si non trouvé) |
    #### Description -Exemple +La fonction `.findIndex()` retourne l'indice, dans la collection, du premier élément pour lequel *formula* ou *methodName*, appliqué à chaque élément, retourne **true**. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Collection partagée à grouper avec la collection résultante +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit renvoyer **true** pour le premier élément qui satisfait la condition. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection d'origine redimensionnée -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si la valeur de l'élément correspond à la condition de recherche, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Les parenthèses sont obligatoires lorsque NOT est utilisé avant une déclaration contenant plusieurs opérateurs. Exemple 2 +Par défaut, `.findIndex()` effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer la recherche. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1191,16 +1214,16 @@ $val3:=$c.findIndex($val2+1;Formula($1.value.name=$2);"Clanton") //$val3=4
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Premier élément de collection |
    #### Description -Ajout +La fonction `.first()` retourne le premier élément de la collection. > Cette fonction ne modifie pas la collection d'origine. @@ -1239,19 +1262,19 @@ $first:=$emptyCol.first() // retourne Undefined
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| depth | Integer | -> | La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. Par défaut=1 | -| Résultat | Collection | <- | *$1.result* (booléen): **true** si *$1.value < $1.value2*, **false** sinon | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------ | +| depth | Integer | -> | La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. Par défaut=1 | +| Résultat | Collection | <- | Collection mise à plat |
    #### Description -Exemple 2 +La fonction `.flat()` crée une nouvelle collection avec tous les éléments des sous-collections concaténés de manière récursive jusqu'à la *depth* spécifiée. -Exemple avec une référence d'objet : +Par défaut, si le paramètre *depth* est omis, seul le premier niveau de la structure de la collection imbriquée sera mis à plat. > Cette fonction ne modifie pas la collection d'origine. @@ -1295,41 +1318,41 @@ $col.flat(MAXLONG)
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | **Note** : Même si *startFrom* est négatif, la recherche est effectuée de la droite vers la gauche. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Collection de valeurs transformées et mises à plat sur une profondeur de 1 |
    #### Description -Exemple Collection d'origine modifiée ne contenant plus les éléments supprimés +La fonction `.flatMap()` crée une nouvelle collection basée sur le résultat de l'appel de la fonction 4D *formula* ou de la méthode *methodName* sur chaque élément de la collection d'origine et mise à plat sur une profondeur de 1. Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. -Résultat de la valeur de l'accumulateur +Cette fonction est identique à un appel à [`map()`](#map) suivi d'un appel à [`flat()`](#flat) de profondeur 1. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Propriété -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (tout type) : nouvelle valeur transformée à ajouter à la collection résultante +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. #### Exemple 1 @@ -1394,30 +1417,30 @@ $c2:=$c.flatMap($f; $c.sum()) | ---------- | ---------- | :-------------------------: | ----------------------------------------------------- | | toSearch | Expression | -> | Expression à rechercher dans la collection | | startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| Résultat | Boolean | <- | Exemple 1 | +| Résultat | Boolean | <- | True si *toSearch* est trouvé dans la collection | #### Description -Exemple +La fonction `.includes()` retourne True si l'expression *toSearch* est trouvée parmi les éléments de la collection, sinon False. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +*toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer l'indice de la collection à partir duquel démarrer la recherche dans *startFrom*. -- Exemple -- Séparateur à utiliser entre les éléments **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. -- Commentaire +- Si *startFrom* >= la longueur de la collection, False est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). Notez que même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1466,24 +1489,24 @@ Exemple 2 #### Description -Exemple +La fonction `.indexOf()` recherche l'expression *toSearch* parmi les éléments de la collection et retourne l'indice de la première occurrence trouvée, ou -1 si aucune occurrence n'a été trouvée. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +*toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer l'indice de la collection à partir duquel démarrer la recherche dans *startFrom*. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1528,7 +1551,7 @@ Exemple 2 #### Description -Exemple 3 Les positions sont retournées dans un ordre croissant. +La fonction `.indices()` fonctionne exactement comme la fonction [`.query()`](#query) mais renvoie les indices, dans la collection d'origine, des éléments de la collection d'objets qui correspondent aux conditions de recherche *queryString*, et non les éléments eux-mêmes. Les positions sont retournées dans un ordre croissant. > Cette fonction ne modifie pas la collection d'origine. @@ -1538,7 +1561,7 @@ Le paramètre *queryString* doit respecter la syntaxe suivante : propertyPath comparator value {logicalOperator propertyPath comparator value} ``` -Les éléments sont triés par ordre décroissant +Pour une description détaillée de la construction de recherches à l'aide des paramètres *queryString* et *value* veuillez vous reporter à la description de la fonction `dataclass.query()`. #### Exemple @@ -1575,27 +1598,27 @@ Les éléments sont triés par ordre décroissant
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ------------------------------------ | -| index | Integer | -> | Où insérer l'élément | -| element | any | -> | Elément à insérer dans la collection | -| Résultat | Collection | <- | Résultat | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ---------------------------------------------- | +| index | Integer | -> | Où insérer l'élément | +| element | any | -> | Elément à insérer dans la collection | +| Résultat | Collection | <- | Collection d'origine incluant l'élément inséré |
    #### Description -Nom de méthode +La fonction `.insert()` insère *element* à la position *index* spécifiée dans l'instance de collection et renvoie la collection modifiée. > Cette fonction modifie la collection d'origine. -Cet exemple retourne des personnes dont l'âge n'est pas connu (propriété définie sur null ou indéfinie) : +Dans *index*, passez le numéro de l'élément après lequel vous souhaitez que le paramètre element soit inséré. -> Exemple 1 +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. -- Exemple 2 -- Exemple 3 +- Si *index* > la longueur de la collection, l'*index* de départ réel sera fixé à la longueur de la collection. +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). - Si la valeur recalculée est négative, index prend la valeur 0. Vous pouvez passer tout type d'élément accepté par les collections, y compris une autre collection. @@ -1630,22 +1653,22 @@ Vous pouvez passer tout type d'élément accepté par les collections, y compris
    -| Paramètres | Type | | Description | -| ---------- | ------- | :-------------------------: | ---------------------------------------- | -| delimiter | Text | -> | Séparateur à utiliser entre les éléments | -| option | Integer | -> | collection partagée | -| Résultat | Text | <- | Exemple 3 | +| Paramètres | Type | | Description | +| ---------- | ------- | :-------------------------: | ---------------------------------------------------------------------------------------------- | +| delimiter | Text | -> | Séparateur à utiliser entre les éléments | +| option | Integer | -> | `ck ignore null or empty` : ignorer les chaînes null ou vides dans le résultat | +| Résultat | Text | <- | Chaîne contenant tous les éléments de la collection, séparés par delimiter |
    #### Description -La fonction `.join()` convertit tous les éléments de la collection en chaînes et les concatène en utilisant la chaîne *delimiter* spécifiée comme séparateur. +La fonction `.join()` convertit tous les éléments de la collection en chaînes et les concatène en utilisant la chaîne *delimiter* spécifiée comme séparateur. La fonction renvoie la chaîne résultante. > Cette fonction ne modifie pas la collection d'origine. -Par défaut, les éléments null ou vides de la collection sont inclus dans la chaîne résultante. Exemple avec une référence de collection : +Par défaut, les éléments null ou vides de la collection sont inclus dans la chaîne résultante. Passez la constante `ck ignore null or empty` dans le paramètre *option* si vous souhaitez les exclure de la chaîne résultante. #### Exemple @@ -1677,16 +1700,16 @@ Par défaut, les éléments null ou vides de la collection sont inclus dans la c
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Dernier élément de collection |
    #### Description -Ajout +La fonction `.last()` renvoie le dernier élément de la collection. > Cette fonction ne modifie pas la collection d'origine. @@ -1695,7 +1718,15 @@ La fonction renvoie Undefined si la collection est vide. #### Exemple ```4d -Nom de méthode +var $col; $emptyCol : Collection +var $last : Variant +$col:=New collection(10; 20; 30; "hello"; 50) +$last:=$col.last() // 50 + +$emptyCol:=New collection() //vide +// $last:=$emptyCol[$emptyCol.length-1] //retourne une erreur +$last:=$emptyCol.last() // retourne Undefined + ``` @@ -1718,40 +1749,47 @@ Nom de méthode
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ----------------------------------------------------- | -| toSearch | Expression | -> | Elément à chercher dans la collection | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| Résultat | Integer | <- | Commentaire | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------- | +| toSearch | Expression | -> | Elément à chercher dans la collection | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| Résultat | Integer | <- | Numéro de la dernière occurrence de toSearch dans la collection, -1 si non trouvé |
    #### Description -Exemple +La fonction `.lastIndexOf()` recherche l'expression *toSearch* parmi les éléments de la collection et renvoie l'indice de la dernière occurrence, ou -1 si elle n'a pas été trouvée. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -la collection est vide, +*toSearch* doit correspondre exactement à l'élément recherché (les mêmes règles que pour l'opérateur d'égalité sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche inversée dans *startFrom*. -- Exemple 3 -- Exemple 3 Si la position calculée est négative, -1 est retourné (la collection n'est pas évaluée). - Exemple 3 -- Modifications +- Si *startFrom* >= taille de la collection (coll.length-1), l'ensemble de la collection est évalué (défaut). +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). Si la position calculée est négative, -1 est retourné (la collection n'est pas évaluée). + **Note** : Même si *startFrom* est négatif, la recherche est effectuée de la droite vers la gauche. +- Si *startFrom* = 0, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. #### Exemple ```4d -heure (stockée en nombre de milliseconds - réel) + var $col : Collection + var $pos1;$pos2;$pos3;$pos4;$pos5 : Integer + $col:=Split string("a,b,c,d,e,f,g,h,i,j,e,k,e";",") //$col.length=13 + $pos1:=$col.lastIndexOf("e") //retourne 12 + $pos2:=$col.lastIndexOf("e";6) //retourne 4 + $pos3:=$col.lastIndexOf("e";15) //retourne 12 + $pos4:=$col.lastIndexOf("e";-2) //retourne 10 + $pos5:=$col.lastIndexOf("x") //retourne -1 ``` @@ -1772,14 +1810,17 @@ heure (stockée en nombre de milliseconds - réel) #### Description -Exemple 2 +La propriété `.length` renvoie le nombre d'éléments de la collection. -Avec la méthode ***Flatten*** suivante : Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. Exemple 2 +La propriété `.length` est initialisée à la création de la collection. Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. Cette propriété est en **lecture seulement** (vous ne pouvez pas l'utiliser pour modifier la taille de la collection). #### Exemple ```4d -Nom de méthode + var $col : Collection //$col.length est initialisée à 0 + $col:=New collection("one";"two";"three") //$col.length est mise à jour et vaut 3 + $col[4]:="five" //$col.length vaut 5 + $vSize:=$col.remove(0;3).length //$vSize=2 ``` @@ -1803,39 +1844,39 @@ Nom de méthode
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | *toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Collection de valeurs transformées |
    #### Description -Exemple Collection d'origine modifiée ne contenant plus les éléments supprimés Où insérer l'élément +La fonction `.map()` crée une nouvelle collection basée sur le résultat de l'appel de la fonction 4D *formula* ou de la méthode *methodName* sur chaque élément de la collection d'origine. Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. `.map()` renvoie toujours une collection de la même taille que la collection originale, sauf si *$1.stop* a été utilisé (voir ci-dessous). > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Propriété -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (tout type) : nouvelle valeur transformée à ajouter à la collection résultante +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. #### Exemple @@ -1866,25 +1907,25 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum())
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | ----------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | any | <- | Cet exemple renvoie les personnes dont le nom contient "in" : | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | any | <- | Valeur maximum de la collection |
    #### Description -Exemple 3 +La fonction `.max()` renvoie l'élément ayant la valeur la plus élevée dans la collection (le dernier élément de la collection si elle était triée par ordre croissant à l'aide de la fonction [`.sort()`](#sort)). > Cette fonction ne modifie pas la collection d'origine. -Ajout +Si la collection contient différents types de valeurs, la fonction `.max()` renverra la valeur maximale du dernier type d'élément dans l'ordre de la liste des types (voir la description de [`.sort()`](#sort)). -Modifications +Si la collection contient des objets, passez le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir la valeur maximale. -Modifications +Si la collection est vide, `.max()` retourne *Undefined*. #### Exemple @@ -1919,25 +1960,25 @@ Modifications
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | any | <- | *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | any | <- | Valeur minimum de la collection |
    #### Description -Ajout +La fonction `.min()` renvoie l'élément ayant la plus petite valeur dans la collection (le premier élément de la collection si elle était triée par ordre croissant à l'aide de la fonction [`.sort()`](#sort)). > Cette fonction ne modifie pas la collection d'origine. -Ajout +Si la collection contient différents types de valeurs, la fonction `.min()` renverra la valeur minimale du premier type d'élément dans l'ordre de la liste des types (voir la description de [`.sort()`](#sort)). -Modifications +Si la collection contient des objets, passez le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir la valeur minimum. -Modifications +Si la collection est vide, `.min()` retourne *Undefined*. #### Exemple @@ -1972,22 +2013,22 @@ Modifications
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| colsToSort | Collection | -> | Exemple 2 | -| Résultat | Collection | <- | Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| formula | 4D.Function | -> | Objet formule | +| colsToSort | Collection | -> | Collection de collections et/ou d'objets ayant des propriétés {`collection`:*colToSort*;`order`:`ck ascendant` ou `ck descendant`} | +| Résultat | Collection | <- | Collection d'origine triée |
    #### Description -Exemple 2 +La fonction `.multiSort()` vous permet d'effectuer un tri synchronisé à plusieurs niveaux sur un ensemble de collections. -> Exemple +> Cette fonction modifie la collection d'origine ainsi que toutes les collections utilisées dans le paramètre *colsToSort* . -Exemple Historique Les types sont renvoyés dans l'ordre suivant : +Si `.multiSort()` est appelé sans paramètres, la fonction a le même effet que la fonction [`.sort()`](#sort) : la collection est triée (uniquement les valeurs scalaires) par défaut dans l'ordre croissant, en fonction de leur type. Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant : 1. Null 2. booléens @@ -1997,40 +2038,40 @@ Exemple Historique Les types sont renvoyés dans l'ordre suiv 6. collections 7. dates -booléens +**Tri synchronisé à un niveau** -Valeur Les valeurs sont exprimées sous forme de paires propriété / valeur, où propriété est le nom du placeholder inséré pour une valeur dans *queryString* (":placeholder") et où valeur correspond à la valeur à comparer. Valeur à compter +Pour trier plusieurs collections de manière synchronisée, il suffit de passer dans *colsToSort* une collection de collections à trier. Vous pouvez passer un nombre illimité de collections. La collection originale sera triée par ordre croissant et toutes les collections *colsToSort* seront triées de manière synchronisée. :::note -Cela permet l'utilisation de variables ou d'expressions dans les arguments de recherche. +Toutes les collections *colsToSort* doivent avoir le même nombre d'éléments, sinon une erreur est renvoyée. ::: -Si vous souhaitez trier les collections dans un ordre autre que croissant, vous devez fournir *formula* ([objet Formula](../commands/formula.md)) qui définit l'ordre de tri. Nom de méthode Contrairement aux collections standard (non partagées), les collections partagées ne prennent pas en charge les images, les pointeurs et les objets ou collections non partagés. +Si vous souhaitez trier les collections dans un ordre autre que croissant, vous devez fournir *formula* ([objet Formula](../commands/formula.md)) qui définit l'ordre de tri. La valeur de retour doit être un booléen qui indique l'ordre relatif des deux éléments : **True** si *$1.value* est inférieur à *$1.value2*, **False** si *$1.value* est supérieur à *$1.value2*. Vous pouvez passer des paramètres supplémentaires à la formule si nécessaire. -Sinon, vous pouvez ajouter ou modifier des éléments ultérieurement par affectation. +La formule reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) -Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. +**Tri synchronisé à plusieurs niveaux** -Exemple +Pour définir un tri synchronisé à plusieurs niveaux, vous devez passer un objet contenant les propriétés {`collection`:*colToSort*;`order`:`ck ascending` ou `ck descending`} au lieu d'une collection *colToSort* pour chaque collection à utiliser en tant que sous-niveau. -Exemple 1 +Les niveaux de tri sont déterminés par l'ordre dans lequel les collections sont passées dans le paramètre *colsToSort* : la position d'un objet `collection`/`order` dans la syntaxe détermine son niveau de tri. :::note -Élément à partir duquel la suppression peut commencer +La fonction `.multiSort()` utilise un algorithme de tri [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) . ::: #### Exemple 1 -Résultat +Un simple tri synchronisé de collections avec différents types de valeurs : ```4d var $col;$col2;$col3 : Collection @@ -2049,7 +2090,7 @@ $col.multiSort([$col2; $col3]) #### Exemple 2 -> \= Les valeurs **Null** ne sont pas retournées. +Vous souhaitez trier trois collections synchronisées : ville, pays et continent. Vous souhaitez un tri croissant des première et troisième collections, et une synchronisation pour la deuxième collection : ```4d var $city : Collection @@ -2069,7 +2110,7 @@ $continent.multiSort([$country; {collection: $city; order: ck ascending}]) #### Exemple 3 -Si la valeur calculée est négative, *startFrom* prend la valeur 0. +Vous pouvez également synchroniser des collections d'objets. ```4d var $name : Collection @@ -2115,27 +2156,27 @@ $name.multiSort(Formula($1.value.firstname<$1.value2.firstname); [$address]) | ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- | | pathStrings | Text | -> | Chemin(s) de propriété(s) à utiliser pour trier la collection | | pathObjects | Collection | -> | Collection d'objets critère | -| ascOrDesc | Integer | -> | Exemple 1 | -| Résultat | Collection | <- | Les éléments avec des valeurs **null** ne sont pas égaux aux éléments Undefined. | +| ascOrDesc | Integer | -> | `ck ascending` ou `ck descending` (valeurs scalaires) | +| Résultat | Collection | <- | Copie triée de la collection (shallow copy) | #### Description -Exemple +La fonction `.orderBy()` renvoie une nouvelle collection contenant tous les éléments de la collection dans l'ordre spécifié. -Prise en charge de `ck count values` Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +Cette fonction retourne une *shallow copy* (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. -Si vous ne passez aucun paramètre, la fonction classe les valeurs scalaires de la collection dans un ordre croissant (les autres types d'éléments tels que les objets ou les collections sont renvoyés avec un ordre interne). Exemple 1 +Si vous ne passez aucun paramètre, la fonction classe les valeurs scalaires de la collection dans un ordre croissant (les autres types d'éléments tels que les objets ou les collections sont renvoyés avec un ordre interne). Vous pouvez modifier ce tri automatique par défaut en passant la constante `ck ascending` ou `ck descending` dans le paramètre *ascOrDesc* (voir ci-dessous). Vous pouvez également passer des critères afin de configurer le tri des éléments de la collection. Trois syntaxes sont prises en charge pour ce paramètre : -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. Null Résultat de la valeur de l'accumulateur L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. Par défaut, les propriétés sont triées pas ordre croissant. Vous pouvez définir l'ordre de tri de chaque propriété dans la formule de critère, séparée du chemin de propriété par un simple espace : passez "asc" pour trier par ordre croissant ou "desc" pour un ordre décroissant. +- *pathStrings* : Texte (formule). **Syntaxe** : `propertyPath1 {desc ou asc}, propertyPath2 {desc ou asc},...` (défaut : asc). *pathStrings* contient une formule constituée de 1 à N chemin(s) de propriété(s) et (optionnellement) ordres de tri, séparés par des virgules. L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. Par défaut, les propriétés sont triées pas ordre croissant. Vous pouvez définir l'ordre de tri de chaque propriété dans la formule de critère, séparée du chemin de propriété par un simple espace : passez "asc" pour trier par ordre croissant ou "desc" pour un ordre décroissant. -- *pathObjects* : Collection. Résultat Par défaut, les propriétés sont triées par ordre croissant ("descending" est faux). Chaque élément de la collection contient un objet structuré de la manière suivante : +- *pathObjects* : Collection. Vous pouvez ajouter autant d'objets dans la collection *pathObjects* que nécessaire. Par défaut, les propriétés sont triées par ordre croissant ("descending" est faux). Chaque élément de la collection contient un objet structuré de la manière suivante : ```4d { @@ -2147,7 +2188,7 @@ Vous pouvez également passer des critères afin de configurer le tri des élém } ``` -- *ascOrDesc* : Integer. Résultat +- *ascOrDesc* : Integer. Passez une des constantes suivantes du thème **Objets et collections** : | Constante | Type | Valeur | Commentaire | | ------------- | ------- | ------ | ----------------------------------------------------------------------- | @@ -2255,49 +2296,53 @@ Tri avec un chemin de propriété :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| extraParam | any | -> | Paramètre(s) à passer | -| Résultat | Collection | <- | \|startFrom \|Integer\|->\|Index pour démarrer le test\| \|formula\|4D.Function\|->\|Objet formule\| \|methodName\|Text\|->\|Nom d'une méthode\| \|param \|any \|->\|Paramètre(s) à passer\| \|Resultat\|Boolean\|<-\|Vrai si au moins un élément a réussi le test\| | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| extraParam | any | -> | Paramètre(s) à passer | +| Résultat | Collection | <- | Copie triée de la collection (shallow copy) |
    #### Description -Exemple +La fonction `.orderByMethod()` renvoie une nouvelle collection contenant tous les éléments de la collection dans l'ordre défini par la fonction 4D *formula* ou la méthode *methodName*. -Prise en charge de `ck count values` Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +Cette fonction retourne une *shallow copy* (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; -- Vous souhaitez trier la collection obtenue : +- soit *methodName*, le nom d'une méthode projet (texte). -Collection contenant des éléments ajoutés Chaque élément de la collection contient un objet structuré de la manière suivante : +Dans la callback, passez votre code qui compare deux valeurs et retourne **true** si la première valeur est inférieure à la seconde valeur. Vous pouvez fournir des paramètres *extraParam* à la callback si nécessaire. La callback reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) Si vous avez utilisé une méthode, elle doit définir le paramètre suivant : -- Vous pouvez également passer des critères afin de configurer le tri des éléments de la collection. +- *$1.result* (booléen): **true** si *$1.value < $1.value2*, **false** sinon #### Exemple 1 Vous souhaitez trier une collection de chaînes contenant des nombres par valeur plutôt que par ordre alphabétique : ```4d -Conjonction + var $c; $c2; $c3 : Collection + $c:=Newcollection + $c.push("33" ; "4" ; "1111" ; "222") + $c2:=$c.orderBy() //$c2=["1111", "222", "33", "4"], ordre alphabétique + $c3:=$c.orderByMethod(Formula(Num($1.value) -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Dernier élément de collection | #### Description -Exemple 1 +La fonction `.pop()` supprime le dernier élément de la collection et le renvoie comme résultat de la fonction. > Cette fonction modifie la collection d'origine. -Modifications +Lorsqu'elle est appliquée à une collection vide, .`pop()` retourne ***undefined***. #### Exemple -Recherche de valeurs null +`.pop()`, combinée à [`.push()`](#push), peut être utilisée pour implémenter une fonctionnalité first-in last-out de traitement de données empilées : ```4d -Chemin ou nom de propriété cible + var $stack : Collection + $stack:=New collection //$stack=[] + $stack.push(1;2) //$stack=[1,2] + $stack.pop() //$stack=[1] retourne 2 + $stack.push(New collection(4;5)) //$stack=[[1,[4,5]] + $stack.pop() //$stack=[1] retourne [4,5] + $stack.pop() //$stack=[] retourne 1 ``` @@ -2399,17 +2450,17 @@ Chemin ou nom de propriété cible
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| element | any | -> | Élément(s) à ajouter à la collection | -| Résultat | Collection | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------- | +| element | any | -> | Élément(s) à ajouter à la collection | +| Résultat | Collection | <- | Collection d'origine incluant les éléments ajoutés |
    #### Description -Nom de méthode +La fonction `.push()` ajoute un ou plusieurs *element*(s) à la fin de l'instance de collection et renvoie la collection modifiée. > Cette fonction modifie la collection d'origine. @@ -2443,11 +2494,11 @@ Vous souhaitez trier la collection obtenue :
    Historique -| Release | Modifications | -| ------- | -------------------------------- | -| 20 R6 | Par défaut=1 | -| 17 R5 | Prise en charge de querySettings | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | --------------------------------------------------------------------------------------- | +| 20 R6 | Prise en charge des requêtes utilisant des références à des objets ou à des collections | +| 17 R5 | Prise en charge de querySettings | +| v16 R6 | Ajout |
    @@ -2457,21 +2508,21 @@ Vous souhaitez trier la collection obtenue :
    -| Paramètres | Type | | Description | -| ------------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------- | -| queryString | Text | -> | Critère(s) de recherche | -| value | any | -> | Valeur(s) à comparer lors de l'utilisation de paramètre(s) dans la chaîne | -| querySettings | Object | -> | Options de requête : paramètres, attributs | -| Résultat | Collection | <- | Null | +| Paramètres | Type | | Description | +| ------------- | ---------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| queryString | Text | -> | Critère(s) de recherche | +| value | any | -> | Valeur(s) à comparer lors de l'utilisation de paramètre(s) dans la chaîne | +| querySettings | Object | -> | Options de requête : paramètres, attributs | +| Résultat | Collection | <- | Indice(s) d'élément(s) de la collection répondant au(x) critère(s) de recherche |
    #### Description -Exemple Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +La fonction `.query()` renvoie tous les éléments d'une collection d'objets qui correspondent aux conditions de recherche définies par *queryString* et (éventuellement) *value* ou *querySettings*. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -Modifications +Une collection vide est renvoyée si la collection dans laquelle la recherche est exécutée ne contient pas *value*. > Cette fonction ne modifie pas la collection d'origine. @@ -2485,15 +2536,15 @@ propertyPath comparator value {logicalOperator propertyPath comparator value} où : -- Modifications Ce paramètre peut contenir un nom simple (par exemple "pays") ou un chemin d'attribut valide (par exemple "pays.nom"). Dans le cas d'un chemin d'accès à un attribut dont le type est `Collection`, la notation `[]` est utilisée pour traiter toutes les occurrences (par exemple `children[].age`). +- **propertyPath** : chemin de la propriété sur laquelle vous voulez exécuter la recherche. Ce paramètre peut contenir un nom simple (par exemple "pays") ou un chemin d'attribut valide (par exemple "pays.nom"). Dans le cas d'un chemin d'accès à un attribut dont le type est `Collection`, la notation `[]` est utilisée pour traiter toutes les occurrences (par exemple `children[].age`). -- Premier élément de collection Les symboles suivants sont pris en charge : +- **comparator** : symbole qui compare *propertyPath* et *value*. Les symboles suivants sont pris en charge : | Comparaison | Symbole(s) | Commentaire | | --------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Egal à | =, == | Retourne les données correspondantes, prend en charge le joker de recherche (@), ne tient pas compte de la casse et est non diacritique. | | | ===, IS | Retourne les données correspondantes, considère le @ comme un caractère standard, ne tient pas compte de la casse et est non diacritique | -| Différent de | #, != | Prend en charge le joker de recherche (@). Équivalent à "Condition Not appliquée à une assertion"). | +| Différent de | #, != | Prend en charge le joker de recherche (@). Équivalent à "Condition Not appliquée à une assertion". | | | !==, IS NOT | Considère le @ comme un caractère standard | | Condition Not appliquée à une assertion | NOT | Les parenthèses sont obligatoires lorsque NOT est utilisé avant une déclaration contenant plusieurs opérateurs. Équivalent à "Non égal à" ). | | Inférieur à | < | | @@ -2502,7 +2553,7 @@ où : | Supérieur ou égal à | > = | | | Inclus parmi | IN | Retourne les données égales à au moins une des valeurs d'une collection ou d'un ensemble de valeurs, prend en charge le joker de recherche (@) | -- Ajout La callback reçoit les paramètres suivants : +- **value** : la valeur à comparer à la valeur actuelle de la propriété de chaque élément de la collection. Il peut s'agir de toute expression de valeur constante correspondant à la propriété de type de données de l'élément ou d'un [**placeholder**](#using-placeholders). Lorsque vous utilisez une valeur constante, les règles suivantes doivent être respectées : - Les valeurs constantes de type **texte** peuvent être passées avec ou sans guillemets (voir **Utilisation des guillemets** ci-dessous). Pour rechercher une chaîne dans une chaîne (recherche de type "contient"), utilisez le symbole joker (@) dans valeur pour isoler la chaîne à chercher, comme dans cet exemple : "@Smith@". Les mots-clés suivants sont interdits pour des constantes de type texte : true, false. - Valeurs constantes de type **booléen**: **true** or **false** (sensible à la casse). @@ -2538,21 +2589,21 @@ Vous pouvez utiliser des parenthèses dans la recherche afin de prioriser les ca #### Utilisation de placeholders -Exemple Un placeholder est un paramètre que vous insérez dans des chaines de recherche et qui est remplacé par une autre valeur au moment où la chaîne de recherche est évaluée. La valeur des placeholders est évaluée une seule fois, au début de la requête ; elle n'est pas évaluée pour chaque élément. +4D vous permet d'utiliser des placeholders pour les arguments *propertyPath* et *value* dans le paramètre *queryString*. Un placeholder est un paramètre que vous insérez dans des chaines de recherche et qui est remplacé par une autre valeur au moment où la chaîne de recherche est évaluée. La valeur des placeholders est évaluée une seule fois, au début de la requête ; elle n'est pas évaluée pour chaque élément. -Résultat +Il existe deux types de placeholders : les **placeholders indexés** et les **placeholders nommés**. -- Résultat dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. +- **Placeholders indexés** : les paramètres sont insérés sous la forme `:paramIndex` (par exemple ":1", ":2"...) dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. Vous pouvez utiliser jusqu'à 128 paramètres *value*. -Voici un exemple : +Exemple : ```4d $c:=$myCol.query(":1=:2";"city";"Chicago") ``` -- La fonction renvoie la chaîne résultante. +- **Placeholders nommés** : les paramètres sont insérés sous la forme `:paramName` (par exemple ":myparam") et leurs valeurs sont fournies dans les objets "attributes" et/ou "parameters" dans le paramètre *querySettings*. -Voici un exemple : +Exemple : ```4d $o.attributes:={att:"city"} @@ -2560,7 +2611,7 @@ $o.parameters:={name:"Chicago") $c:=$myCol.query(":att=:name";$o) ``` -Vous pouvez combiner tous les types d'arguments dans *queryString*. Vous pouvez combiner tous les types d'arguments dans *queryString*. +Vous pouvez combiner tous les types d'arguments dans *queryString*. A *queryString* can contain, for *propertyPath* and *value* parameters: - des valeurs directes (pas de placeholders) - des placeholders indexés et/ou nommés. @@ -2584,7 +2635,7 @@ Lorsque vous utilisez des placeholders, le contournement des options de sécurit Dans ce cas, si l'utilisateur saisit *smith OR status='private'* dans la zone *myname*, cela ne sera pas interprété dans la chaîne de recherche, mais uniquement passé en tant que valeur. La recherche d'une personne nommée "smith OR status='private"' échouera simplement. -2. Objet partagé à grouper avec la collection résultante +2. Cela résout les questions liées au formatage des valeurs ou des caractères, notamment lorsque vous gérez des paramètres *propertyPath* et *value* qui peuvent contenir des caractères non-alphanumériques tels que ".", "["... 3. Cela permet l'utilisation de variables ou d'expressions dans les arguments de recherche. Exemples : @@ -2593,53 +2644,74 @@ $result:=$col.query("address.city = :1 & name =:2";$city;$myVar+"@") $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -> Exemple objet partagé +> L'utilisation d'une [**référence de collection** ou **référence d'objet**](#object-or-collection-reference-as-value) dans le paramètre *value* n'est pas prise en charge par cette syntaxe. Vous devez utiliser le paramètre [*querySettings*](#querysettings-parameter). #### Recherche de valeurs null Lorsque vous recherchez les valeurs null, vous ne pouvez pas utiliser la syntaxe placeholder car le moteur de recherche considère la valeur null comme une valeur de comparaison invalide. Par exemple, si vous exécutez la recherche suivante : ```4d -Elément à partir duquel débuter l'évaluation +$vSingles:=$colPersons.query("spouse = :1";Null) // ne marchera PAS ``` Vous n'obtiendrez pas le résultat souhaité car la valeur null sera évaluée par 4D comme une erreur résultant de l'évaluation du paramètre (pouvant être, par exemple, un attribut provenant d'une autre recherche). Pour ce type de recherche, vous devez utiliser la syntaxe de recherche directe : ```4d -Si vous passez une heure, elle est stockée sous la forme d'un nombre de millisecondes (Réel). +$vSingles:=$colPersons.query("spouse = null") //syntaxe correcte ``` -#### Lorsque vous utilisez des guillemets dans des recherches, vous devez utiliser des guillemets simples ' ' à l'intérieur de la requête et des guillemets doubles " " pour encadrer la requête, sinon une erreur est renvoyée. +#### Référence d'objet ou de collection comme valeur -Par exemple, "comp.name = 'John's pizza' " génèrera une erreur. Modifications +Vous pouvez rechercher dans une collection en utilisant une référence d'objet ou une référence de collection comme paramètre *value* à comparer. La recherche trouvera les objets de la collection qui font référence à la même **instance** de l'objet ou de la collection. -Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche dans *startFrom*. +Les comparateurs suivants sont pris en charge : | Comparaison | Symbole(s) | | ------------ | ----------------------------- | | Egal à | =, == | | Différent de | #, != | -Exemple La collection originale sera triée par ordre croissant et toutes les collections *colsToSort* seront triées de manière synchronisée. +Pour construire une recherche avec un objet ou une référence de collection, vous devez utiliser la syntaxe avec paramètre *querySettings*. Exemple avec une référence d'objet : ```4d -Nouvelle option *ck shared*. +var $o1:={a: 1} +var $o2:={a: 1} //même objet mais autre référence +var $o3:=$o1 //même objet et référence + +var $col; $colResult : Collection + +$col:=[{o: $o1}; {o: $o2}; {o: $o3}] +$colResult:=$col. uery("o = :v"; {parameters: {v: $o3}}) + //$colResult.length=2 + //$colResult[0]. =$o1 est true + //$colResult[1].o=$o1 est true + ``` -*$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. +Exemple avec une référence de collection : ```4d -Indice de fin (non inclus) + +$c1:=[1 ; 2 ; 3] +$c2:=[1 ; 2 ; 3] //même collection mais autre référence +$c3:=$c1 //même collection et même référence + +$col:=[{c: $c1}; {c: $c2}; {c: $c3}] +$col2:=$col.query("c = :v" ; {paramètres : {v: $c3}}) + //$col2.length=2 + //$col2[0].c=$c1 est true + //$col2[1].c=$c1 est true + ``` #### Paramètre querySettings -Exemple 1 Les propriétés suivantes sont prises en charge : +Dans le paramètre *querySettings*, vous pouvez passer un objet contenant placeholders de recherche sous forme d'objets. Les propriétés suivantes sont prises en charge : -| Propriété | Type | Description | -| ---------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| parameters | Object | Exemple 1 Vous pouvez passer un nombre illimité de collections. Vous pouvez combiner, dans une même recherche, des placeholders indexés (valeurs passées directement dans les paramètres value) et les valeurs des placeholders nommés. | -| attributes | Object | Une comparaison récursive de collections peut prendre beaucoup de temps si la collection est de grande taille et comporte de nombreux niveaux. Modifications Résultat L'utilisation d'une collection permet de rechercher des attributs dont les noms ne sont pas compatibles avec la notation à points, par exemple \["4Dv17.1", "en\/fr"]Vous pouvez mélanger des placeholders indexés (valeurs passées directement dans les paramètres *value*) et des valeurs de placeholders nommés dans la même requête. | +| Propriété | Type | Description | +| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| parameters | Object | **Placeholders nommés pour les valeurs** utilisées dans *queryString*. Les valeurs sont exprimées sous la forme de paires propriété/valeur, où la propriété est le nom du placeholder inséré pour une valeur dans la *queryString* (":placeholder") et la valeur est la valeur à comparer. Vous pouvez combiner, dans une même recherche, des placeholders indexés (valeurs passées directement dans les paramètres value) et les valeurs des placeholders nommés. | +| attributes | Object | **Placeholders nommés pour les chemins d'attributs** utilisés dans *queryString*. Les attributs sont exprimés sous la forme de paires propriété/valeur, où la propriété est le nom générique inséré pour un chemin d'attribut dans le *queryString* (":placeholder"), et la valeur peut être une chaîne ou une collection de chaînes. Chaque valeur est un chemin qui peut désigner une propriété dans un objet de la collection
    Type d'objetDescription
    ChaîneattributePath exprimé à l'aide de la notation à point, par exemple "name" ou "user.address.zipCode"
    Collection de chaînesChaque chaîne de la collection représente un niveau d'attributePath, par exemple \["name"] ou \["user", "address", "zipCode"]. L'utilisation d'une collection permet de rechercher des attributs dont les noms ne sont pas compatibles avec la notation à points, par exemple \["4Dv17.1", "en\/fr"]
    Vous pouvez mélanger des placeholders indexés (valeurs passées directement dans les paramètres *value*) et des valeurs de placeholders nommés dans la même requête. | :::note @@ -2715,7 +2787,7 @@ $entitySelection:=ds.Employee.query("birthDate <= :1";Current date-10950) :::info -Vous trouverez d'autres exemples de requêtes dans la page `dataClass.query()`. Notez cependant que les formules ne sont pas prises en charge par la fonction `collection.query()`, ni dans le paramètre *queryString* ni en tant que paramètre objet *formula*. +Vous trouverez d'autres exemples de recherches dans la page `dataClass.query()`. Notez cependant que les formules ne sont pas prises en charge par la fonction `collection.query()`, ni dans le paramètre *queryString* ni en tant que paramètre objet *formula*. ::: @@ -2759,8 +2831,8 @@ La fonction `.reduce()` applique la cal Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). La callback prend chaque élément de la collection et effectue toutes les opérations souhaitées pour accumuler le résultat dans *$1.accumulator*, qui est retourné dans *$1.value*. @@ -2847,8 +2919,8 @@ La fonction `.reduceRight()` appli Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). La callback prend chaque élément de la collection et effectue toutes les opérations souhaitées pour accumuler le résultat dans *$1.accumulator*, qui est retourné dans *$1.value*. @@ -2935,9 +3007,9 @@ La fonction `.remove()` supprime un ou Dans *index*, passez la position à partir de laquelle vous souhaitez supprimer des éléments de la collection. -> Exemple 1 Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). -- Inclus parmi +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). - Si la valeur calculée < 0, *index* est défini à 0. - Si la valeur calculée > la longueur de la collection, *index* est défini à cette longueur. @@ -3075,9 +3147,9 @@ La fonction `.reverse()` retourne une c
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Premier élément de collection |
    @@ -3138,9 +3210,9 @@ La fonction `.slice()` retourne une part La collection retournée contient l'élément spécifié par *startFrom* et tous les éléments suivants jusqu'à l'élément spécifié par *end* (mais non compris). Si seul le paramètre *startFrom* est spécifié, la collection retournée contient tous les éléments de *startFrom* jusqu'au dernier élément de la collection d'origine. -- Exemple 3 +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). - Si la valeur calculée < 0, *startFrom* est mis à 0. -- Prise en charge de querySettings +- Si *end* < 0 , il est recalculé comme *end:=end+length*. - Si *end < startFrom* (valeurs passées ou calculées), la méthode ne fait rien. #### Exemple @@ -3192,10 +3264,10 @@ La fonction `.some()` retourne true si au Vous désignez le code 4D de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 Par défaut, les propriétés sont triées pas ordre croissant. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : @@ -3216,7 +3288,7 @@ Par défaut, `.some()` évalue l'ensemble de la collection. Optionnellement, vou - Si *startFrom* < 0, il est considéré comme un décalage par rapport à la fin de la collection. -- Commentaire +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -3258,13 +3330,13 @@ Vous voulez savoir si au moins une valeur de la collection est >0.
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ascOrDesc | Integer | -> | Exemple 1 | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| extraParam | any | -> | Paramètre(s) à passer à la méthode | -| Résultat | Collection | <- | Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------ | +| ascOrDesc | Integer | -> | `ck ascending` ou `ck descending` (valeurs scalaires) | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| extraParam | any | -> | Paramètre(s) à passer à la méthode | +| Résultat | Collection | <- | Collection d'origine triée |
    @@ -3295,18 +3367,18 @@ Si la collection contient des éléments de différents types, ils sont d'abord 6. collections 7. dates -Si vous souhaitez trier les éléments de la collection dans un autre ordre ou trier n'importe quel type d'élément, vous devez fournir dans \*formula \* ([objet Formula](FunctionClass.md)) ou *methodName* (Text) une callback qui définit l'ordre de tri. Nom de méthode Vous pouvez fournir des paramètres supplémentaires à la callback si nécessaire. +Si vous souhaitez trier les éléments de la collection dans un autre ordre ou trier n'importe quel type d'élément, vous devez fournir dans \*formula \* ([objet Formula](FunctionClass.md)) ou *methodName* (Text) une callback qui définit l'ordre de tri. La valeur de retour doit être un booléen qui indique l'ordre relatif des deux éléments : **True** si *$1.value* est inférieur à *$1.value2*, **False** si *$1.value* est supérieur à *$1.value2*. Vous pouvez fournir des paramètres supplémentaires à la callback si nécessaire. La callback reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) Si vous avez utilisé une méthode, vous devez définir le paramètre suivant : -- Nouvelle collection contenant des éléments scindées (copie superficielle) +- *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. #### Exemple 1 @@ -3374,7 +3446,7 @@ Les positions sont retournées dans un ordre croissant. - la collection est vide, - la collection ne contient pas d'éléments numériques, -- Egal à +- *propertyPath* n'est pas trouvé dans la collection. #### Exemple 1 diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/EntitySelectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/EntitySelectionClass.md index 0ba35c2fe97339..e0ca507becb0b5 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/EntitySelectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/EntitySelectionClass.md @@ -672,7 +672,7 @@ Cette entity selection est ensuite mise à jour avec les produits et vous souhai La fonction `.distinct()` renvoie une collection contenant uniquement des valeurs distinctes (différentes) de *attributePath* dans l'entity selection. -La collection retournée est automatiquement triée. Vous souhaitez créer une collection pré-remplie : +La collection retournée est automatiquement triée. Les valeurs **Null** ne sont pas retournées. Dans le paramètre *attributePath* passez l'attribut d'entité dont vous voulez obtenir les valeurs distinctes. Seules les valeurs scalaires (texte, nombre, booléen ou date) peuvent être gérées. Seules les valeurs scalaires (texte, nombre, booléen ou date) peuvent être gérées. Les types sont renvoyés dans l'ordre suivant : @@ -683,7 +683,7 @@ Dans le paramètre *attributePath* passez l'attribut d'entité dont vous voulez Vous pouvez utiliser la notation `[]` pour désigner une collection lorsque *attributePath* est un chemin dans un objet (cf. exemples). -Exemple 2 +Dans le paramètre *options*, vous pouvez passer une ou une combinaison des constantes suivantes : | Constante | Valeur | Commentaire | | ----------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -898,7 +898,7 @@ Par défaut, les entités pour lesquelles *attributePath* est *null* ou indéfin **.extract ( attributePath ; targetPath { ; ...attributePathN ; ... targetPathN}) : Collection** -Avec cette syntaxe, `.extract()` remplit la collection retournée avec les valeurs de *attributePath*. Chaque élément de la collection retournée est un objet avec les propriétés *targetPath* complétées par les propriétés *attributePath* correspondantes. Par exemple, vous pouvez organiser une recherche de la manière suivante : +Avec cette syntaxe, `.extract()` remplit la collection retournée avec les valeurs de *attributePath*. Chaque élément de la collection retournée est un objet avec les propriétés *targetPath* complétées par les propriétés *attributePath* correspondantes. Les valeurs null sont conservées (le paramètre *option* est ignoré avec cette syntaxe). Si plusieurs *attributePath* sont renseignés, un *targetPath* doit être fourni pour chacun. Seules les paires \[*attributePath*, *targetPath*] valides sont extraites. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Admin/webAdmin.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Admin/webAdmin.md index ba8856cf410b41..cbe4fc9bdb6a29 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Admin/webAdmin.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Admin/webAdmin.md @@ -148,7 +148,7 @@ Vous pouvez aussi définir un fichier `.4DSettings`. (format XML) et l'utiliser > La clé d'accès n'est pas stockée en clair dans le fichier `.4DSettings`. -Voici un exemple : +Exemple : ``` "%HOMEPATH%\Desktop\4D Server.exe" MyApp.4DLink --webadmin-access-key diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/arrays.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/arrays.md index d4357786dfb9a9..b68d54f3df5bb7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/arrays.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/arrays.md @@ -86,7 +86,7 @@ End case ## Tableaux à deux dimensions -Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Voici un exemple : +Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Exemple : ```4d ARRAY TEXT(atTopics;100;50) // Créer un tableau texte composé de 100 lignes de 50 colonnes diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/classes.md index 107a3c874d1fd8..c31a21c72cd1bf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/classes.md @@ -638,7 +638,7 @@ Pour plus de détails, voir la description de la commande [`Super`](../commands/ La commande [`This`](../commands/this.md) renvoie une référence à l'objet en cours de traitement. Dans la plupart des cas, la valeur de `This` est déterminée par la manière dont une fonction de classe est appelée. Habituellement, `This` fait référence à l'objet sur lequel la fonction a été appelée, comme si la fonction était sur l'objet. -Voici un exemple : +Exemple : ```4d //Classe : ob diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/dt_object.md index 9b3aac0381cf01..df32a12bd764aa 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/dt_object.md @@ -121,7 +121,7 @@ Vous accédez aux valeurs des propriétés de l'objet à travers une chaîne de - en utilisant un symbole "point" : > object.propertyName -Voici un exemple : +Exemple : ```4d employee.name:="Dupont" @@ -160,14 +160,14 @@ La notation objet est utilisable avec tout élément de langage qui contient ou ``` - **les commandes 4D** qui retournent des objets. - Voici un exemple : + Exemple : ```4d $measures:=Database measures.DB.tables ``` - **les méthodes projet** ou **les fonctions** qui retournent des objets. - Voici un exemple : + Exemple : ```4d // MyMethod1 @@ -216,7 +216,7 @@ La notation objet pour les pointeurs est semblable à la notation objet standard > pointeurObjet->["nomPropriété"] -Voici un exemple : +Exemple : ```4d var vObj : Object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md index 8c4c6e4b71ad5d..85b688386518cc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md @@ -174,24 +174,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -En interne, `return x` exécute `myReturnValue:=x`, et retourne à l'appelant. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *undefined*. - -::: - -L'instruction `return` peut être utilisée avec la syntaxe standard pour les [valeurs retournées](#returned-value) (la valeur retournée doit être du type déclaré). Cependant, notez qu'elle met immédiatement fin à l'exécution du code. Par exemple : +L'instruction `return` peut être utilisée avec la syntaxe standard pour les [valeurs retournées](#returned-value) (la valeur retournée doit être du type déclaré). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // returns 20 + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // jamais exécuté - // returns 10 + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indirections sur les paramètres (${N}) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/quick-tour.md index d69989b785e5aa..2ae2d73254fe2a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/quick-tour.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Concepts/quick-tour.md @@ -58,7 +58,7 @@ La ligne de code se lit "MyOtherDate obtient la date actuelle plus 30 jours." Ce ## Commandes -Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Voici un exemple : +Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Exemple : ```4d COPY DOCUMENT("dossier1\\nom1";"dossier2\\" ; "nouveau") @@ -365,7 +365,7 @@ Les deux styles de commentaires peuvent être utilisés simultanément. #### Commentaires sur une seule ligne (`//commentaire`) -Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Voici un exemple : +Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Exemple : ```4d //Ceci est un commentaire @@ -380,7 +380,7 @@ End for Encadrez le contenu avec les caractères `/*` ... `*/` pour créer des blocs de commentaires en ligne ou multi-lignes. Les blocs de commentaire en ligne et multi-lignes commencent par `/*` et se terminent par `*/`. -- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Voici un exemple : +- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Exemple : ```4d For /* ligne de commentaire */ ($vCounter;1;100) @@ -388,7 +388,7 @@ For /* ligne de commentaire */ ($vCounter;1;100) End for ``` -- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Voici un exemple : +- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Exemple : ```4d For ($vCounter;1;100) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Debugging/debugLogFiles.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Debugging/debugLogFiles.md index 2fcaf9ebcab865..af230fe3d25d51 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Debugging/debugLogFiles.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Debugging/debugLogFiles.md @@ -273,7 +273,7 @@ Vous pouvez sélectionner le niveau des messages à l'aide du sélecteur `Diagno | `Log debug` | ID unique du process | `Log error`, `Log warn`, `Log info`, `Log debug` | | `Log trace` | Autres informations internes (pour les services techniques de 4D) | `Log error`, `Log warn`, `Log info`, `Log debug`, `Log trace` | -Voici un exemple : +Exemple : ```4d SET DATABASE PARAMETER (Diagnostic log recording; 1) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormEditor/forms.md index b757f6ad3de07f..aeb0b4c0af0c15 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormEditor/forms.md @@ -18,7 +18,7 @@ Vous pouvez ajouter ou modifier des formulaires 4D à l'aide des éléments suiv - **L'interface 4D Developer :** Créez de nouveaux formulaires à partir du menu **Fichier** ou de la fenêtre de l'**Explorateur**. - **L'éditeur de formulaires **: Modifiez vos formulaires à l'aide de l'**[éditeur de formulaires](FormEditor/formEditor.md)**. -- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Voici un exemple : +- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Exemple : ``` { diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/listbox_overview.md index cc55a31e78d8f4..23605078d69360 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/listbox_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/listbox_overview.md @@ -1114,7 +1114,7 @@ Utilisez "choiceListName" ou "choiceListReference" en fonction de la provenance > - Si vous souhaitez définir des valeurs d'énumération via un simple tableau, vous pouvez utiliser l'attribut "choiceList". > - Si la liste contient du texte représentant des valeurs réelles, le séparateur décimal doit être le point ("."), quels que soient les paramètres locaux, ex : "17.6" "1234.456". -Voici un exemple : +Exemple : Vous voulez afficher une combo box basée sur une énumération nommée "colors" définie dans la Boîte à outils (contenant les valeurs "bleu", "jaune" et "vert") et afficher "vert" par défaut : @@ -1144,7 +1144,7 @@ Quel que soit son mode de définition, la liste d'unités peut être associée L'unité courante est affichée sous forme de bouton affichant successivement les valeurs de "unitList", "unitsListReference" ou "unitsListName" à chaque clic (par exemple "pixels" -> "lignes" -> "cm" -> "pixels" -> etc.) -Voici un exemple : +Exemple : Vous souhaitez définir une valeur de saisie numérique suivie d'une unité parmi deux possibles : "cm" ou "pixels". La valeur courante est "2" + "cm". Vous utilisez des valeurs définies directement dans l'objet (attribut "unitsList") : @@ -1167,7 +1167,7 @@ Si vous souhaitez ajouter un bouton ellipse [...] à une cellule, il suffit de p Lorsque l'utilisateur clique sur ce bouton, un événement `On Alternative Click` est généré, vous permettant de traiter cette action comme vous le souhaitez (reportez-vous ci-dessous au paragraphe "Gestion des événements" pour plus d'informations). -Voici un exemple : +Exemple : ```4d var $ob1 : Object @@ -1183,7 +1183,7 @@ OB SET($ob; "value" ;$entry) L'attribut "valueType" de valeur "color" vous permet d'afficher soit une couleur, soit un texte. -- Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Voici un exemple : +- Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Exemple : ```4d var $ob4 : Object @@ -1201,7 +1201,7 @@ L'attribut "valueType" de valeur "event" affiche un bouton qui génère simpleme Optionnellement, il est possible de passer un attribut "label". -Voici un exemple : +Exemple : ```4d var $ob : Object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md index ac83d9cb20d7ae..7ce8442baf0bdd 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valeur minimale d'un indicateur. Pour les steppers numériques, cette propriét #### Commandes -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Text.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Text.md index 119fcf1f64e9e4..4b81e6727ed5d8 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Text.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Text.md @@ -248,7 +248,7 @@ Utilisé pour appliquer un style de police personnalisé à chaque ligne de list Vous devez saisir une expression ou une variable (les variables de type tableau ne peuvent pas être utilisées). L'expression ou variable sera évaluée pour chaque ligne affichée (si elle s'applique à la list box) ou chaque cellule affichée (si elle s'applique à la list box). Vous pouvez utiliser les constantes listées dans la commande [`LISTBOX SET ROW FONT STYLE`](../commands-legacy/listbox-set-row-font-style.md). -Voici un exemple : +Exemple : ```4d Choose([Companies]ID;Bold;Plain;Italic;Underline) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md index b42665278bc6f3..659d8e83e66a2e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md @@ -294,13 +294,13 @@ Il est important de noter que la propriété “Avec pop up menu” gère unique #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| :------------- | --------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nom | Type de données | Valeurs possibles | +| :------------- | --------------- | ------------------------------------------------------------- | +| popupPlacement | string | | #### Objets pris en charge -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Commandes diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/dsMapping.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/dsMapping.md index e5dbe4896d20e7..696ddb3905bafb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/dsMapping.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/dsMapping.md @@ -205,7 +205,7 @@ Une entity selection est un objet contenant une ou plusieurs référence(s) à d Un objet Entity selection est géré par les fonctions et les propriétés de la classe [**EntitySelection**](../API/EntitySelectionClass.md). -Voici un exemple : +Exemple : ```4d var $e : cs.EmployeeSelection //déclare une variable objet $e de type de classe EmployeeSelection diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md index b47b1a22f2d919..abaea441a39c24 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md @@ -160,7 +160,7 @@ La référence du fichier peut être : - un objet 4D.File - un chemin au format POSIX -Voici un exemple : +Exemple : ```4d Function createCompany($name : Text; $logo : 4D.File) @@ -292,7 +292,7 @@ Une nouvelle entity selection est **partageable** dans les cas suivants : - la nouvelle entity selection est basée sur une relation [entity.*attributeName*](API/EntityClass.md#attributename) (par exemple, "company.employees") lorsque *attributeName* est un attribut lié 1-vers-N mais que l'entité n'appartient pas à une entity selection. - la nouvelle entity selection est explicitement copiée comme partageable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire avec l'option `ck shared`). -Voici un exemple : +Exemple : ```4d var $myComp : cs.CompanyEntity @@ -306,7 +306,7 @@ Une nouvelle entity selection est **modifiable** dans les cas suivants : - nouvelle entity selection créée vide à l'aide de la fonction [dataClass.newSelection()](API/DataClassClass.md#newselection) ou de la commande `Create entity selection`, - nouvelle entity selection explicitement copiée comme modifiable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire sans l'option `ck shared`). -Voici un exemple : +Exemple : ```4d var $toModify : cs.CompanySelection @@ -339,7 +339,7 @@ $comp2:=$lowSal.employer //$comp2 est modifiable car $lowSal est modifiable :::note Entity selections retournées depuis le serveur -Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Voici un exemple : +Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Exemple : ```4d //une fonction est toujours exécutée sue le serveur diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Tags/transformation-tags.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Tags/transformation-tags.md index 75f5719da6ab6b..e37fe7826ba9ac 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Tags/transformation-tags.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/Tags/transformation-tags.md @@ -577,7 +577,7 @@ Dans ce cas, la balise `4DLOOP` fonctionne comme avec un tableau : elle fait une Cette syntaxe est utile lorsque vous passez un pointeur de tableau en tant que paramètre à la commande [`PROCESS 4D TAGS`](../commands-legacy/process-4d-tags.md). -Voici un exemple : +Exemple : ```4d ARRAY TEXT($array;2) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ViewPro/configuring.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ViewPro/configuring.md index 903750374cd8c1..1687a03190d697 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ViewPro/configuring.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/ViewPro/configuring.md @@ -418,7 +418,7 @@ La commande [VP Get stylesheet](commands/vp-get-stylesheet.md) peut être utilis ### Propriétés d'objet de style -Voici un exemple : +Exemple : ```4d $style:=New object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/WebServer/sessions.md index af8364ef32b7ed..78aa00f410800c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/WebServer/sessions.md @@ -110,7 +110,7 @@ Des privilèges peuvent être associés aux sessions utilisateur web. Sur le ser Vous assignez des privilèges en utilisant la [fonction `.setPrivileges()`](API/SessionClass.md#setprivileges). Dans votre code, vous pouvez vérifier les privilèges de la session pour autoriser ou refuser l'accès à l'aide de la fonction [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Par défaut, les nouvelles sessions n'ont aucun privilège : ce sont des sessions **Guest** (la fonction [`isGuest()`](API/SessionClass.md#isguest) retourne true). -Voici un exemple : +Exemple : ```4d If (Session.hasPrivilege("WebAdmin")) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/commands/new-shared-collection.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/commands/new-shared-collection.md index 7e6faca61a3a30..f78c84f254b089 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/commands/new-shared-collection.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/commands/new-shared-collection.md @@ -35,7 +35,7 @@ Vous devez affecter la référence retournée à une variable 4D de type Collect Symbole(s) Sinon, vous pouvez ajouter ou modifier des éléments ultérieurement via l'assignation en notation objet (cf. exemple). -Prise en charge des formules +If the new element index is beyond the last existing element of the shared collection, the collection is automatically resized and all new intermediary elements are assigned a **null** value. Vous pouvez passer tout nombre de valeurs de n'importe quel type pris en charge : diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md index 5aa6b83efc488c..8cd0f428656d9d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/CollectionClass.md @@ -94,13 +94,13 @@ Une collection est initialisée avec les commandes [`New collection`](../command #### Description -Différent de +La fonction `.at()` retourne l'élément à la position *index*, acceptant des entiers positifs et négatifs. > Cette fonction ne modifie pas la collection d'origine. Les nombres entiers négatifs déterminent la position à partir du dernier élément de la collection. -Voici un exemple : +La fonction renvoie la valeur Undefined si *index* dépasse les limites de la collection. #### Exemple @@ -144,17 +144,17 @@ $element:=$col.at(10) // undefined #### Description -Différent de +La fonction .average() retourne la moyenne arithmétique des valeurs définies dans la collection. Seuls les éléments ayant une valeur numérique sont pris en compte pour le calcul (les autres types d'éléments sont ignorés). Les positions sont retournées dans un ordre croissant. -Vous pouvez passer tout type d'élément accepté par les collections, y compris une autre collection. +`.average()` retourne `undefined` si : - la collection est vide, - la collection ne contient pas d'éléments numériques, -- Egal à +- *propertyPath* n'est pas trouvé dans la collection. #### Exemple 1 @@ -204,7 +204,7 @@ Vous pouvez passer tout type d'élément accepté par les collections, y compris #### Description -Vous devez prêter attention aux problèmes de conversion suivants : +La fonction `.clear()` supprime tous les éléments de la collection et retourne une collection vide. > Cette fonction modifie la collection d'origine. @@ -248,17 +248,17 @@ $vSize:=$col.length //$vSize=0 #### Description -Vous pouvez passer : Vous pouvez passer : +La fonction `.combine()` insère des éléments *col2* à la fin ou à la position *index* spécifiée dans l'instance de collection et renvoie la collection modifiée. A la différence de la fonction `.insert()`, `.combine()` ajoute chaque valeur de *col2* dans la collection d'origine, et non en tant qu'élément unique de collection. > Cette fonction modifie la collection d'origine. -Nom de méthode Exemples : +Par défaut, les éléments *col2* sont ajoutés à la fin de la collection originale. Vous pouvez passer dans *index* la position à laquelle vous souhaitez que les éléments *col2* soient insérés dans la collection. -> Exemple 1 +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. -- Exemple 2 -- Inclus parmi -- Vous souhaitez un tri croissant des première et troisième collections, et une synchronisation pour la deuxième collection : +- Si *index* > la longueur de la collection, l'*index* de départ sera fixé à la longueur de la collection. +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). +- Si la valeur calculée est négative, *index* est mis à 0. #### Exemple @@ -292,18 +292,18 @@ $c.combine($fruits;3) //[1,2,3,"Orange","Banana","Apple","Grape",4,5,6] | Paramètres | Type | | Description | | ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | value | any | -> | Valeur(s) à concaténer. Si *value* est une collection, tous ses éléments sont ajoutés comme de nouveaux éléments à la fin de la collection d'origine. | -| Résultat | Collection | <- | En cas d'incohérence, les règles suivantes sont appliquées : | +| Résultat | Collection | <- | Nouvelle collection contenant les valeurs d'origine et les valeurs ajoutées | #### Description -Par exemple : +La fonction `.concat()` renvoie une nouvelle collection contenant les éléments de la collection originale avec tous les éléments du paramètre *value* ajoutés à la fin. > Cette fonction ne modifie pas la collection d'origine. -La collection retournée contient l'élément spécifié par *startFrom* et tous les éléments suivants jusqu'à l'élément spécifié par *end* (mais non compris). Si seul le paramètre *startFrom* est spécifié, la collection retournée contient tous les éléments de *startFrom* au dernier élément de la collection d'origine. +Si *value* est une collection, tous ses éléments sont ajoutés en tant que nouveaux éléments à la fin de la collection d'origine. Si la *value* n'est pas une collection, elle est ajoutée elle-même en tant que nouvel élément. #### Exemple @@ -324,10 +324,10 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
    Historique -| Release | Modifications | -| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 18 R3 | Les dates sont stockées sous la forme de date « aaaa-mm-jj » ou des chaînes au format « AAAA-MM-JJTHH: ss.SSSZ: mm » , selon la configuration actuelle « dates à l'intérieur des objets » de la base de données. Cet exemple retourne des personnes embauchées il y a plus de 90 jours : | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | ---------------------------------------------------------------------------- | +| 18 R3 | Nouvelle option *ck shared*. Nouveaux paramètres *groupWith* | +| v16 R6 | Ajout |
    @@ -337,40 +337,40 @@ $c2:=$c.concat(6;7;8) //[1,2,3,4,5,6,7,8]
    -| Paramètres | Type | | Description | -| ------------ | ---------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| option | Integer | -> | Exemple 3 | -| groupWithCol | Collection | -> | Collection partagée à grouper avec la collection résultante | -| groupWithObj | Object | -> | Objet partagé à grouper avec la collection résultante | -| Résultat | Collection | <- | *pathStrings* contient une formule constituée de 1 à N chemin(s) de propriété(s) et (optionnellement) ordres de tri, séparés par des virgules. | +| Paramètres | Type | | Description | +| ------------ | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| option | Integer | -> | `ck resolve pointers`: résoudre les pointeurs avant la copie,
    `ck shared`: retourner une collection partagée | +| groupWithCol | Collection | -> | Collection partagée à grouper avec la collection résultante | +| groupWithObj | Object | -> | Objet partagé à grouper avec la collection résultante | +| Résultat | Collection | <- | Copie profonde de la collection d'origine (deep copy) |
    #### Description -Lorsque vous utilisez une valeur constante, les règles suivantes doivent être respectées : +La fonction `.copy()` renvoie une copie profonde (deep copy) de l'instance de collection. ***Deep copy*** signifie que les objets ou les collections présents dans la collection d'origine sont dupliqués et ne partagent pas leur référence avec la collection qui est retournée. > Cette fonction ne modifie pas la collection d'origine. -Utilisation de guillemets +S'il est passé, le paramètre *option* peut contenir l'une des constantes suivantes (ou les deux) : -| option | Description | -| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ck resolve pointers` | Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Dans ce cas, chaque pointeur contenu dans la collection est évalué lors de la copie et sa valeur déréférencée est utilisée. | -| `ck shared` | Prise en charge des formules Symbole(s) L'évaluation est sensible à la casse et différencie les caractères accentués. | +| option | Description | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ck resolve pointers` | Si la collection d'origine contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Toutefois, vous pouvez résoudre les pointeurs au moment de la copie en passant la constante `ck resolve pointers`. Dans ce cas, chaque pointeur contenu dans la collection est évalué lors de la copie et sa valeur déréférencée est utilisée. | +| `ck shared` | Par défaut, `copy()` retourne une collection standard (non partagée), même si la fonction s'applique à une collection partagée. Passez la constante `ck shared` pour créer une collection partagée. Dans ce cas, vous pouvez utiliser le paramètre *groupWith* pour associer la collection partagée à une autre collection ou à un autre objet (voir ci-dessous). | -Par défaut si omis, une évaluation non diacritique est effectuée +Les paramètres *groupWithCol* ou *groupWithObj* vous permettent de désigner une collection ou un objet avec lequel la collection résultante doit être associée. :::note -Les objets Datastore, dataclass et entity ne sont pas copiables. Collection mise à plat +Les objets Datastore, dataclass et entity ne sont pas copiables. Si `.copy()` est appelé avec eux, les valeurs `Null` sont retournées. ::: #### Exemple 1 -Inférieur ou égal à Null +Nous souhaitons copier la collection régulière (non partagée) *$lastnames* dans l'objet partagé *$sharedObject*. Pour cela, nous devons créer une copie partagée de la collection (*$sharedLastnames*). ```4d var $sharedObject : Object @@ -392,7 +392,7 @@ End use #### Exemple 2 -Null Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. +Nous voulons combiner *$sharedColl1* et *$sharedColl2*. Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. Par conséquent, nous devons faire une copie partagée de *$sharedColl1* et désigner *$sharedColl2* comme étant un groupe partagé pour la copie. ```4d var $sharedColl1;$sharedColl2;$copyColl : Collection @@ -409,7 +409,7 @@ $sharedColl2:=New shared collection(New shared object("lastname";"Brown")) #### Exemple 3 -Supérieur ou égal à Paramètre querySettings +Nous avons une collection standard (*$lastnames*) et nous souhaitons la placer dans le **Storage** de l'application. Pour cela, nous devons créer une copie partagée au préalable (*$sharedLastnames*). ```4d var $lastnames;$sharedLastnames : Collection @@ -427,10 +427,24 @@ End use #### Exemple 4 -Collection d'origine dont tous les éléments ont été supprimés +Cet exemple illustre l'utilisation de l'option `ck resolve pointers` : ```4d -Résultat + var $col : Collection + var $p : Pointer + $p:=->$what + + $col:=New collection + $col.push(New object("alpha";"Hello";"num";1)) + $col.push(New object("beta";"You";"what";$p)) + + $col2:=$col.copy() + $col2[1].beta:="World!" + ALERT($col[0].alpha+" "+$col2[1].beta) //"Hello World!" + + $what:="You!" + $col3:=$col2.copy(ck resolve pointers) + ALERT($col3[0].alpha+" "+$col3[1].what) //"Hello You!" ``` @@ -453,19 +467,19 @@ Résultat
    -| Paramètres | Type | | Description | -| ------------ | ---- | :-------------------------: | --------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Real | <- | La recherche d'une personne nommée "smith OR status='private"' échouera simplement. | +| Paramètres | Type | | Description | +| ------------ | ---- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Real | <- | Nombre d'éléments dans la collection |
    #### Description -Ajout +La fonction `.count()` retourne le nombre d'éléments non nuls dans la collection. -Exemple 2 Tri d'une collection de nombres par ordre croissant ou décroissant : +Si la collection contient des objets, vous pouvez passer le paramètre *propertyPath*. Dans ce cas, seuls les éléments qui contiennent le *propertyPath* sont pris en compte. #### Exemple @@ -502,27 +516,27 @@ Exemple 2 Tri d'une collection de nombres par ordre croissant ou décroissant :
    -| Paramètres | Type | | Description | -| ------------ | ----------------------------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| value | Text, Number, Boolean, Date, Object, Collection | -> | Valeur à compter | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Real | <- | Par défaut, `copy()` retourne une collection standard (non partagée), même si la commande est appliquée à une collection partagée. | +| Paramètres | Type | | Description | +| ------------ | ----------------------------------------------- | :-------------------------: | --------------------------------------------------------------- | +| value | Text, Number, Boolean, Date, Object, Collection | -> | Valeur à compter | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Real | <- | Nombre d'occurrences de la valeur |
    #### Description -Lorsque vous utilisez des placeholders, le contournement des options de sécurité n'est pas possible : +La fonction `.countValues()` retourne le nombre d'occurrences de *value* dans la collection. -L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. +Vous pouvez passer dans *value* : - une valeur scalaire (texte, numérique, booléen, date), - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +Pour qu'un élément soit comptabilisé, le type de *value* doit être égal à celui de l'élément ; la fonction utilise l'opérateur d'égalité. -Comparaison +Le paramètre optionnel *propertyPath* vous permet de compter des valeurs à l'intérieur d'une collection d'objets : passez dans *propertyPath* le chemin de la propriété dont vous souhaitez comptabiliser le nombre de valeurs. > Cette fonction ne modifie pas la collection d'origine. @@ -569,10 +583,10 @@ Comparaison
    Historique -| Release | Modifications | -| ------- | -------------------------------------------------------------------------------------- | -| 20 | Vous souhaitez créer une nouvelle collection puis ajouter un élément : | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | ------------------------------------ | +| 20 | Prise en charge de `ck count values` | +| v16 R6 | Ajout |
    @@ -586,27 +600,27 @@ Comparaison | ------------ | ---------- | :-------------------------: | ----------------------------------------------------------------------- | | propertyPath | Text | -> | Chemin de l'attribut dont vous souhaitez obtenir les valeurs distinctes | | options | Integer | -> | `ck diacritical`, `ck count values` | -| Résultat | Collection | <- | Commentaire | +| Résultat | Collection | <- | Nouvelle collection contenant uniquement les valeurs distinctes | #### Description -Nom de méthode +La fonction `.distinct()` renvoie une collection contenant uniquement les valeurs distinctes (différentes) de la collection originale. > Cette fonction ne modifie pas la collection d'origine. -La collection retournée est automatiquement triée. Vous souhaitez créer une collection pré-remplie : +La collection retournée est automatiquement triée. Les valeurs **Null** ne sont pas retournées. -Cette recherche semble sécurisée puisque les données non publiques sont filtrées. +Si la collection contient des objets, vous pouvez passer le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir les valeurs distinctes. -Exemple 2 +Dans le paramètre *options*, vous pouvez passer une ou une combinaison des constantes suivantes : -| Constante | Valeur | Commentaire | -| ----------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ck diacritical` | 8 | L'évaluation est sensible à la casse et différencie les caractères accentués. Par défaut si omis, une évaluation non diacritique est effectuée | -| `ck count values` | 32 | Renvoie le nombre d'éléments pour chaque valeur distincte. Prise en charge des formules | +| Constante | Valeur | Commentaire | +| ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ck diacritical` | 8 | L'évaluation est sensible à la casse et différencie les caractères accentués. Par défaut si omis, une évaluation non diacritique est effectuée | +| `ck count values` | 32 | Renvoie le nombre d'éléments pour chaque valeur distincte. Lorsque cette option est passée, `.distinct()` renvoie une collection d'objets contenant une paire d'attributs `{"value":*value*;"count":*count*}`. | #### Exemples @@ -644,31 +658,31 @@ Exemple 2
    -| Paramètres | Type | | Description | -| ----------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------- | -| collection2 | Collection | -> | Collection à comparer | -| option | Integer | -> | La formule reçoit les paramètres suivants : | -| Résultat | Boolean | <- | Cet exemple illustre l'utilisation de l'option `ck resolve pointers` : | +| Paramètres | Type | | Description | +| ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- | +| collection2 | Collection | -> | Collection à comparer | +| option | Integer | -> | `ck diacritical`: évaluation diacritique ("A" # "a" par exemple) | +| Résultat | Boolean | <- | Vrai si les collections sont identiques, sinon faux |
    #### Description -Ajout +La fonction `.equal()` compare récursivement le contenu de la collection et de *collection2* (comparaison profonde)et renvoie **true** si elles sont identiques. :::note Notes -- Historique La callback reçoit les paramètres suivants : -- Par exemple, imaginez une chaîne de recherche du type : +- La fonction `.equal()` ne vérifie l'égalité que pour les chaînes de caractères, les booléens, les nombres et les éléments de type null dans les collections. Elle ne vérifie pas l'égalité des objets natifs. +- Les éléments avec des valeurs **null** ne sont pas égaux aux éléments non définis. ::: -Par défaut, une évaluation non diacritique est effectuée. L'évaluation est sensible à la casse et différencie les caractères accentués. +Par défaut, une évaluation non diacritique est effectuée. Si vous souhaitez que l'évaluation soit sensible à la casse ou pour différencier des caractères accentués, passez la constante `ck diacritical` dans le paramètre option. :::tip -dans *$2* : param Modifications +Une comparaison récursive de collections peut prendre beaucoup de temps si la collection est grande et profonde. Si vous souhaitez uniquement comparer deux références de collection, vous pouvez envisager d'utiliser l'opérateur de comparaison [`=` pour les références de collection](../Concepts/dt_collection.md#collection-operators). ::: @@ -716,51 +730,60 @@ dans *$2* : param Modifications
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Elément à partir duquel débuter l'évaluation | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Boolean | <- | Paramètres | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------- | +| startFrom | Integer | -> | Elément à partir duquel débuter l'évaluation | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Boolean | <- | True si tous les éléments ont passé le test avec succès |
    #### Description -Ajout +La fonction `.every()` retourne **true** si tous les éléments de la collection ont été évalués à vrai par le test implémenté dans l'objet *formula* ou la méthode *methodName* fourni(e). Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 Par défaut, les propriétés sont triées pas ordre croissant. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection à combiner -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si l'évaluation de la valeur de l'élément est réussie, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Prise en charge des formules +Dans tous les cas, au point où la fonction `.every()` rencontre le premier élément de la collection évalué à **false**, elle cesse d'appeler la callback et retourne **false**. -Objet formule Les propriétés suivantes sont prises en charge : +Par défaut, `.every()` évalue l'ensemble de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer le test. -- Prise en charge des formules -- Prise en charge des formules -- Commentaire +- Si *startFrom* >= la longueur de la collection, **false** est retourné, ce qui signifie que la collection n'est pas testée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple 1 ```4d -Comparaison +var $c : Collection +var $b : Boolean +var $f : 4D.Function + +$f:=Formula($1.value>0) +$c:=New collection +$c.push(5;3;1;4;6;2) +$b:=$c.every($f) // retourne true +$c.push(-1) +$b:=$c.every($f) // retourne false ``` #### Exemple 2 @@ -801,29 +824,29 @@ $b:=$c.every($f;Is real) //$b=false
    -| Paramètres | Type | | Description | -| ------------ | ---------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet dont les valeurs doivent être extraites dans la nouvelle collection | -| targetpath | Text | -> | Chemin ou nom de propriété cible | -| option | Integer | -> | Prise en charge des formules Sommaire | -| Résultat | Collection | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ------------ | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet dont les valeurs doivent être extraites dans la nouvelle collection | +| targetpath | Text | -> | Chemin ou nom de propriété cible | +| option | Integer | -> | `ck keep null` : inclure les propriétés null dans la collection retournée (ignorées par défaut). Paramètre ignoré si *targetPath* est passé. | +| Résultat | Collection | <- | Nouvelle collection contenant les valeurs extraites |
    #### Description -OU +La fonction `.extract()` crée et renvoie une nouvelle collection contenant les valeurs *propertyPath* extraites de la collection originale d'objets. > Cette fonction ne modifie pas la collection d'origine. -Exemple +Le contenu de la collection retournée dépend du paramètre *targetPath* : -- Prise en charge des formules +- Si le paramètre *targetPath* est omis, `.extract()` remplit la nouvelle collection avec les valeurs de *propertyPath* de la collection d'origine. - Exemple 2 Exemple + Par défaut, les éléments pour lesquels *propertyPath* est null ou indéfini sont ignorés dans la collection résultante. Vous pouvez passer la constante `ck keep null` dans le paramètre *option* pour inclure ces valeurs en tant qu'éléments null dans la collection retournée. -- Exemple Par exemple, vous pouvez organiser une recherche de la manière suivante : +- Si un ou plusieurs paramètre(s) *targetPath* sont passés (correspondant à un ou plusieurs paramètre(s) *propertyPath*), `.extract()` remplit la nouvelle collection avec les propriétés *propertyPath* et chaque élément de la nouvelle collection est un objet avec les propriétés *targetPath* remplies avec les propriétés *propertyPath* correspondantes. Les valeurs null sont conservées (le paramètre *option* est ignoré avec cette syntaxe). #### Exemple 1 @@ -874,31 +897,31 @@ $c2:=$c.extract("name";"City";"zc";"Zip") //$c2=[{Zip:35060},{City:null,Zip:3504
    -| Paramètres | Type | | Description | -| ---------- | ----------------------------------------------- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| value | Number, Text, Object, Collection, Date, Boolean | -> | Valeur de remplissage | -| startFrom | Integer | -> | Indice l'élément de départ (inclus) | -| end | Integer | -> | Indice de fin (non inclus) | -| Résultat | collection | <- | Vous pouvez modifier ce comportement en utilisant le sélecteur `Dates inside objects` de la commande `SET DATABASE PARAMETER`. | +| Paramètres | Type | | Description | +| ---------- | ----------------------------------------------- | :-------------------------: | ------------------------------------------------------ | +| value | Number, Text, Object, Collection, Date, Boolean | -> | Valeur de remplissage | +| startFrom | Integer | -> | Indice l'élément de départ (inclus) | +| end | Integer | -> | Indice de fin (non inclus) | +| Résultat | collection | <- | Collection d'origine avec valeurs de remplissage |
    #### Description -Exemples +La fonction `.fill()` remplit la collection avec la *valeur* spécifiée, éventuellement de l'index *startFrom* à l'index *end*, et renvoie la collection résultante. > Cette fonction modifie la collection d'origine. -- nombres -- Exemple 2 -- Exemple 3 +- Si le paramètre *startFrom* est omis, *value* est appliquée à tous les éléments de la collection (*startFrom*=0). +- Si le paramètre *startFrom* est passé et *end* omis, *value* est appliquée aux éléments de la collection à partir de *startFrom* jusqu'au dernier élément de la collection (*end*=length). +- Si à la fois le paramètre *startFrom* et *end* sont passés, *value* est appliquée aux éléments de la collection à partir de *startFrom* jusqu'à l'élément *end*. En cas d'incohérence, les règles suivantes sont appliquées : -- Exemple 3 nombres -- Prise en charge de querySettings -- La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). Si la valeur calculée est négative, *startFrom* est défini à 0. +- Si *end* < 0 , il est recalculé comme *end:=end+length*. +- Si *end* < *startFrom* (valeurs passées ou recalculées), la méthode ne fait rien. #### Exemple @@ -932,43 +955,43 @@ En cas d'incohérence, les règles suivantes sont appliquées :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | Résultat | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------ | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Nouvelle collection contenant les éléments filtrés (shallow copy) |
    #### Description -Utilisation de placeholders Modifications Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +La fonction `.filter()` retourne une nouvelle collection contenant tous les éléments de la collection d'origine pour lesquels le résultat de la *formula* ou de la méthode *methodName* est **true**. Cette fonction retourne une ***shallow copy***, ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour filtrer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 4 Par exemple, si vous exécutez la recherche suivante : +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (optionnel) et un objet en premier paramètre (*$1*). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant la condition et donc, devant être ajouté à la nouvelle collection. La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Nom de méthode -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- *$1.result* (Booléen) : **true** si la valeur de l'élément correspond à la condition de filtre et doit être conservée, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. :::note -Lors de la conversion de dates 4D en texte avant de les stocker dans la collection, par défaut le programme prend en compte le fuseau horaire local. +Lorsque vous utilisez *methodName* comme callback, et si la méthode ne renvoie aucune valeur, `.filter()` recherchera la propriété *$1.result* que vous devez définir à **true** pour chaque élément remplissant la condition. ::: @@ -1021,47 +1044,47 @@ Vous voulez filtrer les éléments de la collection en fonction de leur type :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | any | <- | Pour cela, nous devons créer une copie partagée de la collection (*$sharedLastnames*). | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------- | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | any | <- | Première valeur trouvée (Undefined si non trouvée) |
    #### Description -Exemple +La fonction `.find()` retourne la première valeur dans la collection pour laquelle le résultat de *formula* ou de *methodName*, appliqué à chaque élément, retourne **true**. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit renvoyer **true** pour le premier élément qui satisfait la condition. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection d'origine redimensionnée -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si la valeur de l'élément correspond à la condition de recherche, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Exemple 2 Exemple 2 +Par défaut, `.find()` effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer la recherche. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple 1 @@ -1112,47 +1135,47 @@ $c2:=$c.find(Formula($1.value.name=$2); "Clanton") //$c2={name:Clanton,zc:35046
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Integer | <- | Etant donné qu'ils appartiennent à différents groupes partagés, une combinaison directe pourrait générer une erreur. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ---------------------------------------------------------------------- | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Integer | <- | Numéro du premier élément trouvé (-1 si non trouvé) |
    #### Description -Exemple +La fonction `.findIndex()` retourne l'indice, dans la collection, du premier élément pour lequel *formula* ou *methodName*, appliqué à chaque élément, retourne **true**. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Collection partagée à grouper avec la collection résultante +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit renvoyer **true** pour le premier élément qui satisfait la condition. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Collection d'origine redimensionnée -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (Boolean) : **true** si la valeur de l'élément correspond à la condition de recherche, **false** sinon. +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. -Les parenthèses sont obligatoires lorsque NOT est utilisé avant une déclaration contenant plusieurs opérateurs. Exemple 2 +Par défaut, `.findIndex()` effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans *startFrom* l'index de l'élément à partir duquel commencer la recherche. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1191,16 +1214,16 @@ $val3:=$c.findIndex($val2+1;Formula($1.value.name=$2);"Clanton") //$val3=4
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Premier élément de collection |
    #### Description -Ajout +La fonction `.first()` retourne le premier élément de la collection. > Cette fonction ne modifie pas la collection d'origine. @@ -1239,19 +1262,19 @@ $first:=$emptyCol.first() // retourne Undefined
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| depth | Integer | -> | La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. Par défaut=1 | -| Résultat | Collection | <- | *$1.result* (booléen): **true** si *$1.value < $1.value2*, **false** sinon | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------ | +| depth | Integer | -> | La profondeur à laquelle une structure de collection imbriquée doit être mise à plat. Par défaut=1 | +| Résultat | Collection | <- | Collection mise à plat |
    #### Description -Exemple 2 +La fonction `.flat()` crée une nouvelle collection avec tous les éléments des sous-collections concaténés de manière récursive jusqu'à la *depth* spécifiée. -Exemple avec une référence d'objet : +Par défaut, si le paramètre *depth* est omis, seul le premier niveau de la structure de la collection imbriquée sera mis à plat. > Cette fonction ne modifie pas la collection d'origine. @@ -1295,41 +1318,41 @@ $col.flat(MAXLONG)
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | **Note** : Même si *startFrom* est négatif, la recherche est effectuée de la droite vers la gauche. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Collection de valeurs transformées et mises à plat sur une profondeur de 1 |
    #### Description -Exemple Collection d'origine modifiée ne contenant plus les éléments supprimés +La fonction `.flatMap()` crée une nouvelle collection basée sur le résultat de l'appel de la fonction 4D *formula* ou de la méthode *methodName* sur chaque élément de la collection d'origine et mise à plat sur une profondeur de 1. Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. -Résultat de la valeur de l'accumulateur +Cette fonction est identique à un appel à [`map()`](#map) suivi d'un appel à [`flat()`](#flat) de profondeur 1. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Propriété -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (tout type) : nouvelle valeur transformée à ajouter à la collection résultante +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. #### Exemple 1 @@ -1394,30 +1417,30 @@ $c2:=$c.flatMap($f; $c.sum()) | ---------- | ---------- | :-------------------------: | ----------------------------------------------------- | | toSearch | expression | -> | Expression à rechercher dans la collection | | startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| Résultat | Boolean | <- | Exemple 1 | +| Résultat | Boolean | <- | True si *toSearch* est trouvé dans la collection | #### Description -Exemple +La fonction `.includes()` retourne True si l'expression *toSearch* est trouvée parmi les éléments de la collection, sinon False. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +*toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer l'indice de la collection à partir duquel démarrer la recherche dans *startFrom*. -- Exemple -- Séparateur à utiliser entre les éléments **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. -- Commentaire +- Si *startFrom* >= la longueur de la collection, False est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). Notez que même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1466,24 +1489,24 @@ Exemple 2 #### Description -Exemple +La fonction `.indexOf()` recherche l'expression *toSearch* parmi les éléments de la collection et retourne l'indice de la première occurrence trouvée, ou -1 si aucune occurrence n'a été trouvée. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -La callback reçoit les paramètres suivants : +*toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer l'indice de la collection à partir duquel démarrer la recherche dans *startFrom*. -- Tri avec un chemin de propriété : -- Séparateur à utiliser entre les éléments - Vous pouvez utiliser un des opérateurs logiques suivants (le nom ou le symbole peut être passé) : -- Commentaire +- Si *startFrom* >= la longueur de la collection, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. +- Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). + **Note**: Même si *startFrom* est négatif, la collection est toujours recherchée de gauche à droite. +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -1528,7 +1551,7 @@ Exemple 2 #### Description -Exemple 3 Les positions sont retournées dans un ordre croissant. +La fonction `.indices()` fonctionne exactement comme la fonction [`.query()`](#query) mais renvoie les indices, dans la collection d'origine, des éléments de la collection d'objets qui correspondent aux conditions de recherche *queryString*, et non les éléments eux-mêmes. Les positions sont retournées dans un ordre croissant. > Cette fonction ne modifie pas la collection d'origine. @@ -1538,7 +1561,7 @@ Le paramètre *queryString* doit respecter la syntaxe suivante : propertyPath comparator value {logicalOperator propertyPath comparator value} ``` -Les éléments sont triés par ordre décroissant +Pour une description détaillée de la construction de recherches à l'aide des paramètres *queryString* et *value* veuillez vous reporter à la description de la fonction `dataclass.query()`. #### Exemple @@ -1575,27 +1598,27 @@ Les éléments sont triés par ordre décroissant
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ------------------------------------ | -| index | Integer | -> | Où insérer l'élément | -| element | any | -> | Elément à insérer dans la collection | -| Résultat | Collection | <- | Résultat | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ---------------------------------------------- | +| index | Integer | -> | Où insérer l'élément | +| element | any | -> | Elément à insérer dans la collection | +| Résultat | Collection | <- | Collection d'origine incluant l'élément inséré |
    #### Description -Nom de méthode +La fonction `.insert()` insère *element* à la position *index* spécifiée dans l'instance de collection et renvoie la collection modifiée. > Cette fonction modifie la collection d'origine. -Cet exemple retourne des personnes dont l'âge n'est pas connu (propriété définie sur null ou indéfinie) : +Dans *index*, passez le numéro de l'élément après lequel vous souhaitez que le paramètre element soit inséré. -> Exemple 1 +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. -- Exemple 2 -- Exemple 3 +- Si *index* > la longueur de la collection, l'*index* de départ réel sera fixé à la longueur de la collection. +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). - Si la valeur recalculée est négative, index prend la valeur 0. Vous pouvez passer tout type d'élément accepté par les collections, y compris une autre collection. @@ -1630,22 +1653,22 @@ Vous pouvez passer tout type d'élément accepté par les collections, y compris
    -| Paramètres | Type | | Description | -| ---------- | ------- | :-------------------------: | ---------------------------------------- | -| delimiter | Text | -> | Séparateur à utiliser entre les éléments | -| option | Integer | -> | collection partagée | -| Résultat | Text | <- | Exemple 3 | +| Paramètres | Type | | Description | +| ---------- | ------- | :-------------------------: | ---------------------------------------------------------------------------------------------- | +| delimiter | Text | -> | Séparateur à utiliser entre les éléments | +| option | Integer | -> | `ck ignore null or empty` : ignorer les chaînes null ou vides dans le résultat | +| Résultat | Text | <- | Chaîne contenant tous les éléments de la collection, séparés par delimiter |
    #### Description -La fonction `.join()` convertit tous les éléments de la collection en chaînes et les concatène en utilisant la chaîne *delimiter* spécifiée comme séparateur. +La fonction `.join()` convertit tous les éléments de la collection en chaînes et les concatène en utilisant la chaîne *delimiter* spécifiée comme séparateur. La fonction renvoie la chaîne résultante. > Cette fonction ne modifie pas la collection d'origine. -Par défaut, les éléments null ou vides de la collection sont inclus dans la chaîne résultante. Exemple avec une référence de collection : +Par défaut, les éléments null ou vides de la collection sont inclus dans la chaîne résultante. Passez la constante `ck ignore null or empty` dans le paramètre *option* si vous souhaitez les exclure de la chaîne résultante. #### Exemple @@ -1677,16 +1700,16 @@ Par défaut, les éléments null ou vides de la collection sont inclus dans la c
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Dernier élément de collection |
    #### Description -Ajout +La fonction `.last()` renvoie le dernier élément de la collection. > Cette fonction ne modifie pas la collection d'origine. @@ -1695,7 +1718,15 @@ La fonction renvoie Undefined si la collection est vide. #### Exemple ```4d -Nom de méthode +var $col; $emptyCol : Collection +var $last : Variant +$col:=New collection(10; 20; 30; "hello"; 50) +$last:=$col.last() // 50 + +$emptyCol:=New collection() //vide +// $last:=$emptyCol[$emptyCol.length-1] //retourne une erreur +$last:=$emptyCol.last() // retourne Undefined + ``` @@ -1718,40 +1749,47 @@ Nom de méthode
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ----------------------------------------------------- | -| toSearch | expression | -> | Elément à chercher dans la collection | -| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | -| Résultat | Integer | <- | Commentaire | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------- | +| toSearch | expression | -> | Elément à chercher dans la collection | +| startFrom | Integer | -> | Indice d'élément à partir duquel débuter la recherche | +| Résultat | Integer | <- | Numéro de la dernière occurrence de toSearch dans la collection, -1 si non trouvé |
    #### Description -Exemple +La fonction `.lastIndexOf()` recherche l'expression *toSearch* parmi les éléments de la collection et renvoie l'indice de la dernière occurrence, ou -1 si elle n'a pas été trouvée. > Cette fonction ne modifie pas la collection d'origine. -Exemple 1 Vous pouvez passer : +Dans *toSearch*, passez l'expression à trouver dans la collection. Vous pouvez passer : - une valeur scalaire (texte, numérique, booléen, date), - la valeur null, - une référence d'objet ou de collection. -la collection est vide, +*toSearch* doit correspondre exactement à l'élément recherché (les mêmes règles que pour l'opérateur d'égalité sont appliquées). -Exemple 2 +Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche inversée dans *startFrom*. -- Exemple 3 -- Exemple 3 Si la position calculée est négative, -1 est retourné (la collection n'est pas évaluée). - Exemple 3 -- Modifications +- Si *startFrom* >= taille de la collection (coll.length-1), l'ensemble de la collection est évalué (défaut). +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). Si la position calculée est négative, -1 est retourné (la collection n'est pas évaluée). + **Note** : Même si *startFrom* est négatif, la recherche est effectuée de la droite vers la gauche. +- Si *startFrom* = 0, -1 est retourné, ce qui signifie que la recherche n'est pas effectuée. #### Exemple ```4d -heure (stockée en nombre de milliseconds - réel) + var $col : Collection + var $pos1;$pos2;$pos3;$pos4;$pos5 : Integer + $col:=Split string("a,b,c,d,e,f,g,h,i,j,e,k,e";",") //$col.length=13 + $pos1:=$col.lastIndexOf("e") //retourne 12 + $pos2:=$col.lastIndexOf("e";6) //retourne 4 + $pos3:=$col.lastIndexOf("e";15) //retourne 12 + $pos4:=$col.lastIndexOf("e";-2) //retourne 10 + $pos5:=$col.lastIndexOf("x") //retourne -1 ``` @@ -1772,14 +1810,17 @@ heure (stockée en nombre de milliseconds - réel) #### Description -Exemple 2 +La propriété `.length` renvoie le nombre d'éléments de la collection. -Avec la méthode ***Flatten*** suivante : Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. Exemple 2 +La propriété `.length` est initialisée à la création de la collection. Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. Cette propriété est en **lecture seulement** (vous ne pouvez pas l'utiliser pour modifier la taille de la collection). #### Exemple ```4d -Nom de méthode + var $col : Collection //$col.length est initialisée à 0 + $col:=New collection("one";"two";"three") //$col.length est mise à jour et vaut 3 + $col[4]:="five" //$col.length vaut 5 + $vSize:=$col.remove(0;3).length //$vSize=2 ``` @@ -1803,39 +1844,39 @@ Nom de méthode
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| param | any | -> | Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. | -| Résultat | Collection | <- | *toSearch* doit correspondre exactement à l'élément à trouver (les mêmes règles que l'opérateur d'égalité du type de données sont appliquées). | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| param | any | -> | Paramètre(s) à passer à *formula* ou *methodName* | +| Résultat | Collection | <- | Collection de valeurs transformées |
    #### Description -Exemple Collection d'origine modifiée ne contenant plus les éléments supprimés Où insérer l'élément +La fonction `.map()` crée une nouvelle collection basée sur le résultat de l'appel de la fonction 4D *formula* ou de la méthode *methodName* sur chaque élément de la collection d'origine. Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. `.map()` renvoie toujours une collection de la même taille que la collection originale, sauf si *$1.stop* a été utilisé (voir ci-dessous). > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quelle opération, avec ou sans le(s) paramètre(s), et doit renvoyer une nouvelle valeur transformée à ajouter à la collection résultante. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : -- Nouvelle taille de la collection -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +- dans *$1.value* : valeur de l'élément à évaluer +- dans *$2* : param +- dans *$N...* : paramN... Elle peut définir le(s) paramètre(s) suivant(s) : -- Propriété -- Elément à insérer dans la collection La valeur retournée est la dernière calculée. +- (obligatoire si vous avez utilisé une méthode) *$1.result* (tout type) : nouvelle valeur transformée à ajouter à la collection résultante +- *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. La valeur retournée est la dernière calculée. #### Exemple @@ -1866,25 +1907,25 @@ $c2:=$c.map(Formula(Round(($1.value/$2)*100; 2)); $c.sum())
    -| Paramètres | Type | | Description | -| ------------ | ----------------------------------------------- | :-------------------------: | ----------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Boolean, Text, Number, Collection, Object, Date | <- | Cet exemple renvoie les personnes dont le nom contient "in" : | +| Paramètres | Type | | Description | +| ------------ | ----------------------------------------------- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Boolean, Text, Number, Collection, Object, Date | <- | Valeur maximum de la collection |
    #### Description -Exemple 3 +La fonction `.max()` renvoie l'élément ayant la valeur la plus élevée dans la collection (le dernier élément de la collection si elle était triée par ordre croissant à l'aide de la fonction [`.sort()`](#sort)). > Cette fonction ne modifie pas la collection d'origine. -Ajout +Si la collection contient différents types de valeurs, la fonction `.max()` renverra la valeur maximale du dernier type d'élément dans l'ordre de la liste des types (voir la description de [`.sort()`](#sort)). -Modifications +Si la collection contient des objets, passez le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir la valeur maximale. -Modifications +Si la collection est vide, `.max()` retourne *Undefined*. #### Exemple @@ -1919,25 +1960,25 @@ Modifications
    -| Paramètres | Type | | Description | -| ------------ | ----------------------------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | -| Résultat | Boolean, Text, Number, Collection, Object, Date | <- | *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; | +| Paramètres | Type | | Description | +| ------------ | ----------------------------------------------- | :-------------------------: | --------------------------------------------------------------- | +| propertyPath | Text | -> | Chemin de propriété d'objet à utiliser pour évaluer les valeurs | +| Résultat | Boolean, Text, Number, Collection, Object, Date | <- | Valeur minimum de la collection |
    #### Description -Ajout +La fonction `.min()` renvoie l'élément ayant la plus petite valeur dans la collection (le premier élément de la collection si elle était triée par ordre croissant à l'aide de la fonction [`.sort()`](#sort)). > Cette fonction ne modifie pas la collection d'origine. -Ajout +Si la collection contient différents types de valeurs, la fonction `.min()` renverra la valeur minimale du premier type d'élément dans l'ordre de la liste des types (voir la description de [`.sort()`](#sort)). -Modifications +Si la collection contient des objets, passez le paramètre *propertyPath* pour indiquer la propriété d'objet dont vous souhaitez obtenir la valeur minimum. -Modifications +Si la collection est vide, `.min()` retourne *Undefined*. #### Exemple @@ -1972,22 +2013,22 @@ Modifications
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| formula | 4D.Function | -> | Objet formule | -| colsToSort | Collection | -> | Exemple 2 | -| Résultat | Collection | <- | Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| formula | 4D.Function | -> | Objet formule | +| colsToSort | Collection | -> | Collection de collections et/ou d'objets ayant des propriétés {`collection`:*colToSort*;`order`:`ck ascendant` ou `ck descendant`} | +| Résultat | Collection | <- | Collection d'origine triée |
    #### Description -Exemple 2 +La fonction `.multiSort()` vous permet d'effectuer un tri synchronisé à plusieurs niveaux sur un ensemble de collections. -> Exemple +> Cette fonction modifie la collection d'origine ainsi que toutes les collections utilisées dans le paramètre *colsToSort* . -Exemple Historique Les types sont renvoyés dans l'ordre suivant : +Si `.multiSort()` est appelé sans paramètres, la fonction a le même effet que la fonction [`.sort()`](#sort) : la collection est triée (uniquement les valeurs scalaires) par défaut dans l'ordre croissant, en fonction de leur type. Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont renvoyés dans l'ordre suivant : 1. Null 2. booléens @@ -1997,40 +2038,40 @@ Exemple Historique Les types sont renvoyés dans l'ordre suiv 6. collections 7. dates -booléens +**Tri synchronisé à un niveau** -Valeur Les valeurs sont exprimées sous forme de paires propriété / valeur, où propriété est le nom du placeholder inséré pour une valeur dans *queryString* (":placeholder") et où valeur correspond à la valeur à comparer. Valeur à compter +Pour trier plusieurs collections de manière synchronisée, il suffit de passer dans *colsToSort* une collection de collections à trier. Vous pouvez passer un nombre illimité de collections. La collection originale sera triée par ordre croissant et toutes les collections *colsToSort* seront triées de manière synchronisée. :::note -Cela permet l'utilisation de variables ou d'expressions dans les arguments de recherche. +Toutes les collections *colsToSort* doivent avoir le même nombre d'éléments, sinon une erreur est renvoyée. ::: -Si vous souhaitez trier les collections dans un ordre autre que croissant, vous devez fournir *formula* ([objet Formula](../commands/formula.md)) qui définit l'ordre de tri. Nom de méthode Contrairement aux collections standard (non partagées), les collections partagées ne prennent pas en charge les images, les pointeurs et les objets ou collections non partagés. +Si vous souhaitez trier les collections dans un ordre autre que croissant, vous devez fournir *formula* ([objet Formula](../commands/formula.md)) qui définit l'ordre de tri. La valeur de retour doit être un booléen qui indique l'ordre relatif des deux éléments : **True** si *$1.value* est inférieur à *$1.value2*, **False** si *$1.value* est supérieur à *$1.value2*. Vous pouvez passer des paramètres supplémentaires à la formule si nécessaire. -Sinon, vous pouvez ajouter ou modifier des éléments ultérieurement par affectation. +La formule reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) -Elle est automatiquement mise à jour en cas d'ajout ou de suppression d'éléments. +**Tri synchronisé à plusieurs niveaux** -Exemple +Pour définir un tri synchronisé à plusieurs niveaux, vous devez passer un objet contenant les propriétés {`collection`:*colToSort*;`order`:`ck ascending` ou `ck descending`} au lieu d'une collection *colToSort* pour chaque collection à utiliser en tant que sous-niveau. -Exemple 1 +Les niveaux de tri sont déterminés par l'ordre dans lequel les collections sont passées dans le paramètre *colsToSort* : la position d'un objet `collection`/`order` dans la syntaxe détermine son niveau de tri. :::note -Élément à partir duquel la suppression peut commencer +La fonction `.multiSort()` utilise un algorithme de tri [stable](https://en.wikipedia.org/wiki/Sorting_algorithm#Stability) . ::: #### Exemple 1 -Résultat +Un simple tri synchronisé de collections avec différents types de valeurs : ```4d var $col;$col2;$col3 : Collection @@ -2049,7 +2090,7 @@ $col.multiSort([$col2; $col3]) #### Exemple 2 -> \= Les valeurs **Null** ne sont pas retournées. +Vous souhaitez trier trois collections synchronisées : ville, pays et continent. Vous souhaitez un tri croissant des première et troisième collections, et une synchronisation pour la deuxième collection : ```4d var $city : Collection @@ -2069,7 +2110,7 @@ $continent.multiSort([$country; {collection: $city; order: ck ascending}]) #### Exemple 3 -Si la valeur calculée est négative, *startFrom* prend la valeur 0. +Vous pouvez également synchroniser des collections d'objets. ```4d var $name : Collection @@ -2115,27 +2156,27 @@ $name.multiSort(Formula($1.value.firstname<$1.value2.firstname); [$address]) | ----------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------- | | pathStrings | Text | -> | Chemin(s) de propriété(s) à utiliser pour trier la collection | | pathObjects | Collection | -> | Collection d'objets critère | -| ascOrDesc | Integer | -> | Exemple 1 | -| Résultat | Collection | <- | Les éléments avec des valeurs **null** ne sont pas égaux aux éléments Undefined. | +| ascOrDesc | Integer | -> | `ck ascending` ou `ck descending` (valeurs scalaires) | +| Résultat | Collection | <- | Copie triée de la collection (shallow copy) | #### Description -Exemple +La fonction `.orderBy()` renvoie une nouvelle collection contenant tous les éléments de la collection dans l'ordre spécifié. -Prise en charge de `ck count values` Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +Cette fonction retourne une *shallow copy* (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. -Si vous ne passez aucun paramètre, la fonction classe les valeurs scalaires de la collection dans un ordre croissant (les autres types d'éléments tels que les objets ou les collections sont renvoyés avec un ordre interne). Exemple 1 +Si vous ne passez aucun paramètre, la fonction classe les valeurs scalaires de la collection dans un ordre croissant (les autres types d'éléments tels que les objets ou les collections sont renvoyés avec un ordre interne). Vous pouvez modifier ce tri automatique par défaut en passant la constante `ck ascending` ou `ck descending` dans le paramètre *ascOrDesc* (voir ci-dessous). Vous pouvez également passer des critères afin de configurer le tri des éléments de la collection. Trois syntaxes sont prises en charge pour ce paramètre : -- Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. Null Résultat de la valeur de l'accumulateur L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. Par défaut, les propriétés sont triées pas ordre croissant. Vous pouvez définir l'ordre de tri de chaque propriété dans la formule de critère, séparée du chemin de propriété par un simple espace : passez "asc" pour trier par ordre croissant ou "desc" pour un ordre décroissant. +- *pathStrings* : Texte (formule). **Syntaxe** : `propertyPath1 {desc ou asc}, propertyPath2 {desc ou asc},...` (défaut : asc). *pathStrings* contient une formule constituée de 1 à N chemin(s) de propriété(s) et (optionnellement) ordres de tri, séparés par des virgules. L'ordre dans lequel les propriétés sont passées détermine la priorité de tri des éléments de la collection. Par défaut, les propriétés sont triées pas ordre croissant. Vous pouvez définir l'ordre de tri de chaque propriété dans la formule de critère, séparée du chemin de propriété par un simple espace : passez "asc" pour trier par ordre croissant ou "desc" pour un ordre décroissant. -- *pathObjects* : Collection. Résultat Par défaut, les propriétés sont triées par ordre croissant ("descending" est faux). Chaque élément de la collection contient un objet structuré de la manière suivante : +- *pathObjects* : Collection. Vous pouvez ajouter autant d'objets dans la collection *pathObjects* que nécessaire. Par défaut, les propriétés sont triées par ordre croissant ("descending" est faux). Chaque élément de la collection contient un objet structuré de la manière suivante : ```4d { @@ -2147,7 +2188,7 @@ Vous pouvez également passer des critères afin de configurer le tri des élém } ``` -- *ascOrDesc* : Integer. Résultat +- *ascOrDesc* : Integer. Passez une des constantes suivantes du thème **Objets et collections** : | Constante | Type | Valeur | Commentaire | | ------------- | ------- | ------ | ----------------------------------------------------------------------- | @@ -2255,49 +2296,53 @@ Tri avec un chemin de propriété :
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| extraParam | any | -> | Paramètre(s) à passer | -| Résultat | Collection | <- | \|startFrom \|Integer\|->\|Index pour démarrer le test\| \|formula\|4D.Function\|->\|Objet formule\| \|methodName\|Text\|->\|Nom d'une méthode\| \|param \|any \|->\|Paramètre(s) à passer\| \|Resultat\|Boolean\|<-\|Vrai si au moins un élément a réussi le test\| | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | -------------------------------------------------------------- | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| extraParam | any | -> | Paramètre(s) à passer | +| Résultat | Collection | <- | Copie triée de la collection (shallow copy) |
    #### Description -Exemple +La fonction `.orderByMethod()` renvoie une nouvelle collection contenant tous les éléments de la collection dans l'ordre défini par la fonction 4D *formula* ou la méthode *methodName*. -Prise en charge de `ck count values` Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +Cette fonction retourne une *shallow copy* (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. > Cette fonction ne modifie pas la collection d'origine. Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; -- Vous souhaitez trier la collection obtenue : +- soit *methodName*, le nom d'une méthode projet (texte). -Collection contenant des éléments ajoutés Chaque élément de la collection contient un objet structuré de la manière suivante : +Dans la callback, passez votre code qui compare deux valeurs et retourne **true** si la première valeur est inférieure à la seconde valeur. Vous pouvez fournir des paramètres *extraParam* à la callback si nécessaire. La callback reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) Si vous avez utilisé une méthode, elle doit définir le paramètre suivant : -- Vous pouvez également passer des critères afin de configurer le tri des éléments de la collection. +- *$1.result* (booléen): **true** si *$1.value < $1.value2*, **false** sinon #### Exemple 1 Vous souhaitez trier une collection de chaînes contenant des nombres par valeur plutôt que par ordre alphabétique : ```4d -Conjonction + var $c; $c2; $c3 : Collection + $c:=Newcollection + $c.push("33" ; "4" ; "1111" ; "222") + $c2:=$c.orderBy() //$c2=["1111", "222", "33", "4"], ordre alphabétique + $c3:=$c.orderByMethod(Formula(Num($1.value) -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Dernier élément de collection | #### Description -Exemple 1 +La fonction `.pop()` supprime le dernier élément de la collection et le renvoie comme résultat de la fonction. > Cette fonction modifie la collection d'origine. -Modifications +Lorsqu'elle est appliquée à une collection vide, .`pop()` retourne ***undefined***. #### Exemple -Recherche de valeurs null +`.pop()`, combinée à [`.push()`](#push), peut être utilisée pour implémenter une fonctionnalité first-in last-out de traitement de données empilées : ```4d -Chemin ou nom de propriété cible + var $stack : Collection + $stack:=New collection //$stack=[] + $stack.push(1;2) //$stack=[1,2] + $stack.pop() //$stack=[1] retourne 2 + $stack.push(New collection(4;5)) //$stack=[[1,[4,5]] + $stack.pop() //$stack=[1] retourne [4,5] + $stack.pop() //$stack=[] retourne 1 ``` @@ -2399,17 +2450,17 @@ Chemin ou nom de propriété cible
    -| Paramètres | Type | | Description | -| ---------- | ---------- | :-------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| element | any | -> | Élément(s) à ajouter à la collection | -| Résultat | Collection | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. | +| Paramètres | Type | | Description | +| ---------- | ---------- | :-------------------------: | ------------------------------------------------------- | +| element | any | -> | Élément(s) à ajouter à la collection | +| Résultat | Collection | <- | Collection d'origine incluant les éléments ajoutés |
    #### Description -Nom de méthode +La fonction `.push()` ajoute un ou plusieurs *element*(s) à la fin de l'instance de collection et renvoie la collection modifiée. > Cette fonction modifie la collection d'origine. @@ -2443,11 +2494,11 @@ Vous souhaitez trier la collection obtenue :
    Historique -| Release | Modifications | -| ------- | -------------------------------- | -| 20 R6 | Par défaut=1 | -| 17 R5 | Prise en charge de querySettings | -| v16 R6 | Ajout | +| Release | Modifications | +| ------- | --------------------------------------------------------------------------------------- | +| 20 R6 | Prise en charge des requêtes utilisant des références à des objets ou à des collections | +| 17 R5 | Prise en charge de querySettings | +| v16 R6 | Ajout |
    @@ -2457,21 +2508,21 @@ Vous souhaitez trier la collection obtenue :
    -| Paramètres | Type | | Description | -| ------------- | ---------- | :-------------------------: | --------------------------------------------------------------------------------------------------------------- | -| queryString | Text | -> | Critère(s) de recherche | -| value | any | -> | Valeur(s) à comparer lors de l'utilisation de paramètre(s) dans la chaîne | -| querySettings | Object | -> | Options de requête : paramètres, attributs | -| Résultat | Collection | <- | Null | +| Paramètres | Type | | Description | +| ------------- | ---------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| queryString | Text | -> | Critère(s) de recherche | +| value | any | -> | Valeur(s) à comparer lors de l'utilisation de paramètre(s) dans la chaîne | +| querySettings | Object | -> | Options de requête : paramètres, attributs | +| Résultat | Collection | <- | Indice(s) d'élément(s) de la collection répondant au(x) critère(s) de recherche |
    #### Description -Exemple Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. +La fonction `.query()` renvoie tous les éléments d'une collection d'objets qui correspondent aux conditions de recherche définies par *queryString* et (éventuellement) *value* ou *querySettings*. Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée. -Modifications +Une collection vide est renvoyée si la collection dans laquelle la recherche est exécutée ne contient pas *value*. > Cette fonction ne modifie pas la collection d'origine. @@ -2485,15 +2536,15 @@ propertyPath comparator value {logicalOperator propertyPath comparator value} où : -- Modifications Ce paramètre peut contenir un nom simple (par exemple "pays") ou un chemin d'attribut valide (par exemple "pays.nom"). Dans le cas d'un chemin d'accès à un attribut dont le type est `Collection`, la notation `[]` est utilisée pour traiter toutes les occurrences (par exemple `children[].age`). +- **propertyPath** : chemin de la propriété sur laquelle vous voulez exécuter la recherche. Ce paramètre peut contenir un nom simple (par exemple "pays") ou un chemin d'attribut valide (par exemple "pays.nom"). Dans le cas d'un chemin d'accès à un attribut dont le type est `Collection`, la notation `[]` est utilisée pour traiter toutes les occurrences (par exemple `children[].age`). -- Premier élément de collection Les symboles suivants sont pris en charge : +- **comparator** : symbole qui compare *propertyPath* et *value*. Les symboles suivants sont pris en charge : | Comparaison | Symbole(s) | Commentaire | | --------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Egal à | =, == | Retourne les données correspondantes, prend en charge le joker de recherche (@), ne tient pas compte de la casse et est non diacritique. | | | ===, IS | Retourne les données correspondantes, considère le @ comme un caractère standard, ne tient pas compte de la casse et est non diacritique | -| Différent de | #, != | Prend en charge le joker de recherche (@). Équivalent à "Condition Not appliquée à une assertion"). | +| Différent de | #, != | Prend en charge le joker de recherche (@). Équivalent à "Condition Not appliquée à une assertion". | | | !==, IS NOT | Considère le @ comme un caractère standard | | Condition Not appliquée à une assertion | NOT | Les parenthèses sont obligatoires lorsque NOT est utilisé avant une déclaration contenant plusieurs opérateurs. Équivalent à "Non égal à" ). | | Inférieur à | < | | @@ -2502,7 +2553,7 @@ où : | Supérieur ou égal à | > = | | | Inclus parmi | IN | Retourne les données égales à au moins une des valeurs d'une collection ou d'un ensemble de valeurs, prend en charge le joker de recherche (@) | -- Ajout La callback reçoit les paramètres suivants : +- **value** : la valeur à comparer à la valeur actuelle de la propriété de chaque élément de la collection. Il peut s'agir de toute expression de valeur constante correspondant à la propriété de type de données de l'élément ou d'un [**placeholder**](#using-placeholders). Lorsque vous utilisez une valeur constante, les règles suivantes doivent être respectées : - Les valeurs constantes de type **texte** peuvent être passées avec ou sans guillemets (voir **Utilisation des guillemets** ci-dessous). Pour rechercher une chaîne dans une chaîne (recherche de type "contient"), utilisez le symbole joker (@) dans valeur pour isoler la chaîne à chercher, comme dans cet exemple : "@Smith@". Les mots-clés suivants sont interdits pour des constantes de type texte : true, false. - Valeurs constantes de type **booléen**: **true** or **false** (sensible à la casse). @@ -2538,21 +2589,21 @@ Vous pouvez utiliser des parenthèses dans la recherche afin de prioriser les ca #### Utilisation de placeholders -Exemple Un placeholder est un paramètre que vous insérez dans des chaines de recherche et qui est remplacé par une autre valeur au moment où la chaîne de recherche est évaluée. La valeur des placeholders est évaluée une seule fois, au début de la requête ; elle n'est pas évaluée pour chaque élément. +4D vous permet d'utiliser des placeholders pour les arguments *propertyPath* et *value* dans le paramètre *queryString*. Un placeholder est un paramètre que vous insérez dans des chaines de recherche et qui est remplacé par une autre valeur au moment où la chaîne de recherche est évaluée. La valeur des placeholders est évaluée une seule fois, au début de la requête ; elle n'est pas évaluée pour chaque élément. -Résultat +Il existe deux types de placeholders : les **placeholders indexés** et les **placeholders nommés**. -- Résultat dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. +- **Placeholders indexés** : les paramètres sont insérés sous la forme `:paramIndex` (par exemple ":1", ":2"...) dans *queryString* et leurs valeurs correspondantes sont fournies par la séquence de paramètres *value*. Vous pouvez utiliser jusqu'à 128 paramètres *value*. -Voici un exemple : +Exemple : ```4d $c:=$myCol.query(":1=:2";"city";"Chicago") ``` -- La fonction renvoie la chaîne résultante. +- **Placeholders nommés** : les paramètres sont insérés sous la forme `:paramName` (par exemple ":myparam") et leurs valeurs sont fournies dans les objets "attributes" et/ou "parameters" dans le paramètre *querySettings*. -Voici un exemple : +Exemple : ```4d $o.attributes:={att:"city"} @@ -2560,7 +2611,7 @@ $o.parameters:={name:"Chicago") $c:=$myCol.query(":att=:name";$o) ``` -Vous pouvez combiner tous les types d'arguments dans *queryString*. Vous pouvez combiner tous les types d'arguments dans *queryString*. +Vous pouvez combiner tous les types d'arguments dans *queryString*. A *queryString* can contain, for *propertyPath* and *value* parameters: - des valeurs directes (pas de placeholders) - des placeholders indexés et/ou nommés. @@ -2584,7 +2635,7 @@ Lorsque vous utilisez des placeholders, le contournement des options de sécurit Dans ce cas, si l'utilisateur saisit *smith OR status='private'* dans la zone *myname*, cela ne sera pas interprété dans la chaîne de recherche, mais uniquement passé en tant que valeur. La recherche d'une personne nommée "smith OR status='private"' échouera simplement. -2. Objet partagé à grouper avec la collection résultante +2. Cela résout les questions liées au formatage des valeurs ou des caractères, notamment lorsque vous gérez des paramètres *propertyPath* et *value* qui peuvent contenir des caractères non-alphanumériques tels que ".", "["... 3. Cela permet l'utilisation de variables ou d'expressions dans les arguments de recherche. Exemples : @@ -2593,53 +2644,74 @@ $result:=$col.query("address.city = :1 & name =:2";$city;$myVar+"@") $result2:=$col.query("company.name = :1";"John's Pizzas") ``` -> Exemple objet partagé +> L'utilisation d'une [**référence de collection** ou **référence d'objet**](#object-or-collection-reference-as-value) dans le paramètre *value* n'est pas prise en charge par cette syntaxe. Vous devez utiliser le paramètre [*querySettings*](#querysettings-parameter). #### Recherche de valeurs null Lorsque vous recherchez les valeurs null, vous ne pouvez pas utiliser la syntaxe placeholder car le moteur de recherche considère la valeur null comme une valeur de comparaison invalide. Par exemple, si vous exécutez la recherche suivante : ```4d -Elément à partir duquel débuter l'évaluation +$vSingles:=$colPersons.query("spouse = :1";Null) // ne marchera PAS ``` Vous n'obtiendrez pas le résultat souhaité car la valeur null sera évaluée par 4D comme une erreur résultant de l'évaluation du paramètre (pouvant être, par exemple, un attribut provenant d'une autre recherche). Pour ce type de recherche, vous devez utiliser la syntaxe de recherche directe : ```4d -Si vous passez une heure, elle est stockée sous la forme d'un nombre de millisecondes (Réel). +$vSingles:=$colPersons.query("spouse = null") //syntaxe correcte ``` -#### Lorsque vous utilisez des guillemets dans des recherches, vous devez utiliser des guillemets simples ' ' à l'intérieur de la requête et des guillemets doubles " " pour encadrer la requête, sinon une erreur est renvoyée. +#### Référence d'objet ou de collection comme valeur -Par exemple, "comp.name = 'John's pizza' " génèrera une erreur. Modifications +Vous pouvez rechercher dans une collection en utilisant une référence d'objet ou une référence de collection comme paramètre *value* à comparer. La recherche trouvera les objets de la collection qui font référence à la même **instance** de l'objet ou de la collection. -Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer la recherche dans *startFrom*. +Les comparateurs suivants sont pris en charge : | Comparaison | Symbole(s) | | ------------ | ----------------------------- | | Egal à | =, == | | Différent de | #, != | -Exemple La collection originale sera triée par ordre croissant et toutes les collections *colsToSort* seront triées de manière synchronisée. +Pour construire une recherche avec un objet ou une référence de collection, vous devez utiliser la syntaxe avec paramètre *querySettings*. Exemple avec une référence d'objet : ```4d -Nouvelle option *ck shared*. +var $o1:={a: 1} +var $o2:={a: 1} //même objet mais autre référence +var $o3:=$o1 //même objet et référence + +var $col; $colResult : Collection + +$col:=[{o: $o1}; {o: $o2}; {o: $o3}] +$colResult:=$col. uery("o = :v"; {parameters: {v: $o3}}) + //$colResult.length=2 + //$colResult[0]. =$o1 est true + //$colResult[1].o=$o1 est true + ``` -*$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel de la méthode. +Exemple avec une référence de collection : ```4d -Indice de fin (non inclus) + +$c1:=[1 ; 2 ; 3] +$c2:=[1 ; 2 ; 3] //même collection mais autre référence +$c3:=$c1 //même collection et même référence + +$col:=[{c: $c1}; {c: $c2}; {c: $c3}] +$col2:=$col.query("c = :v" ; {paramètres : {v: $c3}}) + //$col2.length=2 + //$col2[0].c=$c1 est true + //$col2[1].c=$c1 est true + ``` #### Paramètre querySettings -Exemple 1 Les propriétés suivantes sont prises en charge : +Dans le paramètre *querySettings*, vous pouvez passer un objet contenant placeholders de recherche sous forme d'objets. Les propriétés suivantes sont prises en charge : -| Propriété | Type | Description | -| ---------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| parameters | Object | Exemple 1 Vous pouvez passer un nombre illimité de collections. Vous pouvez combiner, dans une même recherche, des placeholders indexés (valeurs passées directement dans les paramètres value) et les valeurs des placeholders nommés. | -| attributes | Object | Une comparaison récursive de collections peut prendre beaucoup de temps si la collection est de grande taille et comporte de nombreux niveaux. Modifications Résultat L'utilisation d'une collection permet de rechercher des attributs dont les noms ne sont pas compatibles avec la notation à points, par exemple \["4Dv17.1", "en\/fr"]Vous pouvez mélanger des placeholders indexés (valeurs passées directement dans les paramètres *value*) et des valeurs de placeholders nommés dans la même requête. | +| Propriété | Type | Description | +| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| parameters | Object | **Placeholders nommés pour les valeurs** utilisées dans *queryString*. Les valeurs sont exprimées sous la forme de paires propriété/valeur, où la propriété est le nom du placeholder inséré pour une valeur dans la *queryString* (":placeholder") et la valeur est la valeur à comparer. Vous pouvez combiner, dans une même recherche, des placeholders indexés (valeurs passées directement dans les paramètres value) et les valeurs des placeholders nommés. | +| attributes | Object | **Placeholders nommés pour les chemins d'attributs** utilisés dans *queryString*. Les attributs sont exprimés sous la forme de paires propriété/valeur, où la propriété est le nom générique inséré pour un chemin d'attribut dans le *queryString* (":placeholder"), et la valeur peut être une chaîne ou une collection de chaînes. Chaque valeur est un chemin qui peut désigner une propriété dans un objet de la collection
    Type d'objetDescription
    ChaîneattributePath exprimé à l'aide de la notation à point, par exemple "name" ou "user.address.zipCode"
    Collection de chaînesChaque chaîne de la collection représente un niveau d'attributePath, par exemple \["name"] ou \["user", "address", "zipCode"]. L'utilisation d'une collection permet de rechercher des attributs dont les noms ne sont pas compatibles avec la notation à points, par exemple \["4Dv17.1", "en\/fr"]
    Vous pouvez mélanger des placeholders indexés (valeurs passées directement dans les paramètres *value*) et des valeurs de placeholders nommés dans la même requête. | :::note @@ -2715,7 +2787,7 @@ $entitySelection:=ds.Employee.query("birthDate <= :1";Current date-10950) :::info -Vous trouverez d'autres exemples de requêtes dans la page `dataClass.query()`. Notez cependant que les formules ne sont pas prises en charge par la fonction `collection.query()`, ni dans le paramètre *queryString* ni en tant que paramètre objet *formula*. +Vous trouverez d'autres exemples de recherches dans la page `dataClass.query()`. Notez cependant que les formules ne sont pas prises en charge par la fonction `collection.query()`, ni dans le paramètre *queryString* ni en tant que paramètre objet *formula*. ::: @@ -2759,8 +2831,8 @@ La fonction `.reduce()` applique la cal Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). La callback prend chaque élément de la collection et effectue toutes les opérations souhaitées pour accumuler le résultat dans *$1.accumulator*, qui est retourné dans *$1.value*. @@ -2847,8 +2919,8 @@ La fonction `.reduceRight()` appli Vous désignez le code de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). La callback prend chaque élément de la collection et effectue toutes les opérations souhaitées pour accumuler le résultat dans *$1.accumulator*, qui est retourné dans *$1.value*. @@ -2935,9 +3007,9 @@ La fonction `.remove()` supprime un ou Dans *index*, passez la position à partir de laquelle vous souhaitez supprimer des éléments de la collection. -> Exemple 1 Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). +> **Attention** : N'oubliez pas que la numérotation des éléments de collection débute à 0. Si *startFrom* < 0, la fin de la collection est considérée comme point de départ du calcul de la position (*startFrom:=startFrom+length*). -- Inclus parmi +- Si *index* < 0, il est recalculé comme *index:=index+length* (il est considéré comme le décalage par rapport à la fin de la collection). - Si la valeur calculée < 0, *index* est défini à 0. - Si la valeur calculée > la longueur de la collection, *index* est défini à cette longueur. @@ -3075,9 +3147,9 @@ La fonction `.reverse()` retourne une c
    -| Paramètres | Type | | Description | -| ---------- | ---- | :-------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Résultat | any | <- | *$1.stop* (booléen, optionnel) : **true** pour stopper le rétroappel. | +| Paramètres | Type | | Description | +| ---------- | ---- | :-------------------------: | ----------------------------- | +| Résultat | any | <- | Premier élément de collection |
    @@ -3138,9 +3210,9 @@ La fonction `.slice()` retourne une part La collection retournée contient l'élément spécifié par *startFrom* et tous les éléments suivants jusqu'à l'élément spécifié par *end* (mais non compris). Si seul le paramètre *startFrom* est spécifié, la collection retournée contient tous les éléments de *startFrom* jusqu'au dernier élément de la collection d'origine. -- Exemple 3 +- Si *startFrom* < 0, il est recalculé comme *startFrom:=startFrom+length* (il est considéré comme partant de la fin de la collection). - Si la valeur calculée < 0, *startFrom* est mis à 0. -- Prise en charge de querySettings +- Si *end* < 0 , il est recalculé comme *end:=end+length*. - Si *end < startFrom* (valeurs passées ou calculées), la méthode ne fait rien. #### Exemple @@ -3192,10 +3264,10 @@ La fonction `.some()` retourne true si au Vous désignez le code 4D de rétroappel (callback) à exécuter pour évaluer les éléments de la collection en utilisant soit : -- Par défaut, une évaluation non diacritique est effectuée. -- Vous souhaitez trier la collection obtenue : +- *formula* (syntaxe recommandée), un [objet Formula](FunctionClass.md) qui peut encapsuler toute expression exécutable, y compris des fonctions et des méthodes projet; +- soit *methodName*, le nom d'une méthode projet (texte). -Exemple 2 Par défaut, les propriétés sont triées pas ordre croissant. Modifications +La callback est appelée avec le(s) paramètre(s) passé(s) dans *param* (facultatif). La callback peut effectuer n'importe quel test, avec ou sans le(s) paramètre(s) et doit retourner **true** pour chaque élément remplissant le test. Elle reçoit un `Objet` en premier paramètre ($1). La callback reçoit les paramètres suivants : @@ -3216,7 +3288,7 @@ Par défaut, `.some()` évalue l'ensemble de la collection. Optionnellement, vou - Si *startFrom* < 0, il est considéré comme un décalage par rapport à la fin de la collection. -- Commentaire +- Si *startFrom* = 0, l'ensemble de la collection est évalué (défaut). #### Exemple @@ -3258,13 +3330,13 @@ Vous voulez savoir si au moins une valeur de la collection est >0.
    -| Paramètres | Type | | Description | -| ---------- | --------------------------- | :-------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ascOrDesc | Integer | -> | Exemple 1 | -| formula | 4D.Function | -> | Objet formule | -| methodName | Text | -> | Nom de méthode | -| extraParam | any | -> | Paramètre(s) à passer à la méthode | -| Résultat | Collection | <- | Optionnellement, vous pouvez passer des paramètres à *formula* ou *methodName* en utilisant le(s) paramètre(s) *param*. | +| Paramètres | Type | | Description | +| ---------- | --------------------------- | :-------------------------: | ------------------------------------------------------------------------ | +| ascOrDesc | Integer | -> | `ck ascending` ou `ck descending` (valeurs scalaires) | +| formula | 4D.Function | -> | Objet formule | +| methodName | Text | -> | Nom de méthode | +| extraParam | any | -> | Paramètre(s) à passer à la méthode | +| Résultat | Collection | <- | Collection d'origine triée |
    @@ -3295,18 +3367,18 @@ Si la collection contient des éléments de différents types, ils sont d'abord 6. collections 7. dates -Si vous souhaitez trier les éléments de la collection dans un autre ordre ou trier n'importe quel type d'élément, vous devez fournir dans \*formula \* ([objet Formula](FunctionClass.md)) ou *methodName* (Text) une callback qui définit l'ordre de tri. Nom de méthode Vous pouvez fournir des paramètres supplémentaires à la callback si nécessaire. +Si vous souhaitez trier les éléments de la collection dans un autre ordre ou trier n'importe quel type d'élément, vous devez fournir dans \*formula \* ([objet Formula](FunctionClass.md)) ou *methodName* (Text) une callback qui définit l'ordre de tri. La valeur de retour doit être un booléen qui indique l'ordre relatif des deux éléments : **True** si *$1.value* est inférieur à *$1.value2*, **False** si *$1.value* est supérieur à *$1.value2*. Vous pouvez fournir des paramètres supplémentaires à la callback si nécessaire. La callback reçoit les paramètres suivants : - $1 (object), où : - - La nouvelle collection - - Collection d'origine triée + - *$1.value* (tout type) : valeur du premier élément à comparer + - *$1.value2* (tout type) : valeur du second élément à comparer - $2...$N (tout type) : paramètres supplémentaires (extraParam) Si vous avez utilisé une méthode, vous devez définir le paramètre suivant : -- Nouvelle collection contenant des éléments scindées (copie superficielle) +- *$1.result* (booléen) : **true** si *$1.value < $1.value2*, **false** sinon. #### Exemple 1 @@ -3374,7 +3446,7 @@ Les positions sont retournées dans un ordre croissant. - la collection est vide, - la collection ne contient pas d'éléments numériques, -- Egal à +- *propertyPath* n'est pas trouvé dans la collection. #### Exemple 1 diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/EntitySelectionClass.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/EntitySelectionClass.md index 9b2bf811342ffe..95c2e0740b1eaa 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/EntitySelectionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/EntitySelectionClass.md @@ -672,7 +672,7 @@ Cette entity selection est ensuite mise à jour avec les produits et vous souhai La fonction `.distinct()` renvoie une collection contenant uniquement des valeurs distinctes (différentes) de *attributePath* dans l'entity selection. -La collection retournée est automatiquement triée. Vous souhaitez créer une collection pré-remplie : +La collection retournée est automatiquement triée. Les valeurs **Null** ne sont pas retournées. Dans le paramètre *attributePath* passez l'attribut d'entité dont vous voulez obtenir les valeurs distinctes. Seules les valeurs scalaires (texte, nombre, booléen ou date) peuvent être gérées. Seules les valeurs scalaires (texte, nombre, booléen ou date) peuvent être gérées. Les types sont renvoyés dans l'ordre suivant : @@ -683,7 +683,7 @@ Dans le paramètre *attributePath* passez l'attribut d'entité dont vous voulez Vous pouvez utiliser la notation `[]` pour désigner une collection lorsque *attributePath* est un chemin dans un objet (cf. exemples). -Exemple 2 +Dans le paramètre *options*, vous pouvez passer une ou une combinaison des constantes suivantes : | Constante | Valeur | Commentaire | | ----------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -898,7 +898,7 @@ Par défaut, les entités pour lesquelles *attributePath* est *null* ou indéfin **.extract ( attributePath ; targetPath { ; ...attributePathN ; ... targetPathN}) : Collection** -Avec cette syntaxe, `.extract()` remplit la collection retournée avec les valeurs de *attributePath*. Chaque élément de la collection retournée est un objet avec les propriétés *targetPath* complétées par les propriétés *attributePath* correspondantes. Par exemple, vous pouvez organiser une recherche de la manière suivante : +Avec cette syntaxe, `.extract()` remplit la collection retournée avec les valeurs de *attributePath*. Chaque élément de la collection retournée est un objet avec les propriétés *targetPath* complétées par les propriétés *attributePath* correspondantes. Les valeurs null sont conservées (le paramètre *option* est ignoré avec cette syntaxe). Si plusieurs *attributePath* sont renseignés, un *targetPath* doit être fourni pour chacun. Seules les paires \[*attributePath*, *targetPath*] valides sont extraites. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Admin/webAdmin.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Admin/webAdmin.md index 6dc1e216718cff..76b14f420b841b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Admin/webAdmin.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Admin/webAdmin.md @@ -134,7 +134,7 @@ Vous pouvez aussi définir un fichier `.4DSettings`. (format XML) et l'utiliser > La clé d'accès n'est pas stockée en clair dans le fichier `.4DSettings`. -Voici un exemple : +Exemple : ``` "%HOMEPATH%\Desktop\4D Server.exe" MyApp.4DLink --webadmin-access-key diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/arrays.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/arrays.md index d4357786dfb9a9..b68d54f3df5bb7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/arrays.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/arrays.md @@ -86,7 +86,7 @@ End case ## Tableaux à deux dimensions -Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Voici un exemple : +Chaque commande de déclaration de tableau permet de créer ou de redimensionner des tableaux à une ou à deux dimensions. Exemple : ```4d ARRAY TEXT(atTopics;100;50) // Créer un tableau texte composé de 100 lignes de 50 colonnes diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md index 107a3c874d1fd8..c31a21c72cd1bf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/classes.md @@ -638,7 +638,7 @@ Pour plus de détails, voir la description de la commande [`Super`](../commands/ La commande [`This`](../commands/this.md) renvoie une référence à l'objet en cours de traitement. Dans la plupart des cas, la valeur de `This` est déterminée par la manière dont une fonction de classe est appelée. Habituellement, `This` fait référence à l'objet sur lequel la fonction a été appelée, comme si la fonction était sur l'objet. -Voici un exemple : +Exemple : ```4d //Classe : ob diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_object.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_object.md index 9b3aac0381cf01..df32a12bd764aa 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_object.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/dt_object.md @@ -121,7 +121,7 @@ Vous accédez aux valeurs des propriétés de l'objet à travers une chaîne de - en utilisant un symbole "point" : > object.propertyName -Voici un exemple : +Exemple : ```4d employee.name:="Dupont" @@ -160,14 +160,14 @@ La notation objet est utilisable avec tout élément de langage qui contient ou ``` - **les commandes 4D** qui retournent des objets. - Voici un exemple : + Exemple : ```4d $measures:=Database measures.DB.tables ``` - **les méthodes projet** ou **les fonctions** qui retournent des objets. - Voici un exemple : + Exemple : ```4d // MyMethod1 @@ -216,7 +216,7 @@ La notation objet pour les pointeurs est semblable à la notation objet standard > pointeurObjet->["nomPropriété"] -Voici un exemple : +Exemple : ```4d var vObj : Object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md index ae355a56a188fe..2ec330b2a68d97 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md @@ -180,24 +180,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -En interne, `return x` exécute `myReturnValue:=x`, et retourne à l'appelant. Si `return` est utilisé sans expression, la fonction ou la méthode retourne une valeur nulle du type de retour déclaré (le cas échéant), sinon elle est *undefined*. - -::: - -L'instruction `return` peut être utilisée avec la syntaxe standard pour les [valeurs retournées](#returned-value) (la valeur retournée doit être du type déclaré). Cependant, notez qu'elle met immédiatement fin à l'exécution du code. Par exemple : +L'instruction `return` peut être utilisée avec la syntaxe standard pour les [valeurs retournées](#returned-value) (la valeur retournée doit être du type déclaré). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // returns 20 + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // jamais exécuté - // returns 10 + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indirections sur les paramètres (${N}) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md index ef8af59770420b..8de2fa7bf634ff 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Concepts/quick-tour.md @@ -58,7 +58,7 @@ La ligne de code se lit "MyOtherDate obtient la date actuelle plus 30 jours." Ce ## Commandes -Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Voici un exemple : +Les commandes 4D sont des méthodes intégrées qui permettent d'effectuer une action. Les commandes sont souvent utilisées avec des paramètres qui sont passés entre parenthèses () et séparés par des points-virgules (;). Exemple : ```4d COPY DOCUMENT("dossier1\\nom1";"dossier2\\" ; "nouveau") @@ -365,7 +365,7 @@ Les deux styles de commentaires peuvent être utilisés simultanément. #### Commentaires sur une seule ligne (`//commentaire`) -Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Voici un exemple : +Insérez les caractères `//` au début de la ligne ou après une instruction pour ajouter une ligne de commentaire. Exemple : ```4d //Ceci est un commentaire @@ -380,7 +380,7 @@ End for Encadrez le contenu avec les caractères `/*` ... `*/` pour créer des blocs de commentaires en ligne ou multi-lignes. Les blocs de commentaire en ligne et multi-lignes commencent par `/*` et se terminent par `*/`. -- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Voici un exemple : +- Les **lignes de commentaires en ligne** - peuvent être insérées n'importe où dans le code. Exemple : ```4d For /* ligne de commentaire */ ($vCounter;1;100) @@ -388,7 +388,7 @@ For /* ligne de commentaire */ ($vCounter;1;100) End for ``` -- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Voici un exemple : +- Les **blocs de commentaires multi-lignes** permettent de commenter un nombre illimité de lignes. Les blocs de commentaires peuvent être imbriqués (ce qui est utile, étant donné que l'éditeur de code 4D prend en charge les blocs condensés). Exemple : ```4d For ($vCounter;1;100) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md index 2fcaf9ebcab865..af230fe3d25d51 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Debugging/debugLogFiles.md @@ -273,7 +273,7 @@ Vous pouvez sélectionner le niveau des messages à l'aide du sélecteur `Diagno | `Log debug` | ID unique du process | `Log error`, `Log warn`, `Log info`, `Log debug` | | `Log trace` | Autres informations internes (pour les services techniques de 4D) | `Log error`, `Log warn`, `Log info`, `Log debug`, `Log trace` | -Voici un exemple : +Exemple : ```4d SET DATABASE PARAMETER (Diagnostic log recording; 1) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md index 3642482ec0590c..9e96ea1f72cf5c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormEditor/forms.md @@ -18,7 +18,7 @@ Vous pouvez ajouter ou modifier des formulaires 4D à l'aide des éléments suiv - **L'interface 4D Developer :** Créez de nouveaux formulaires à partir du menu **Fichier** ou de la fenêtre de l'**Explorateur**. - **L'éditeur de formulaires **: Modifiez vos formulaires à l'aide de l'**[éditeur de formulaires](FormEditor/formEditor.md)**. -- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Voici un exemple : +- **Le code JSON :** Créez et concevez vos formulaires à l'aide de JSON et enregistrez les fichiers de formulaire à [l'emplacement approprié](Project/architecture#sources). Exemple : ``` { diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md index a9928f87483a49..f1582e007ced2a 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md @@ -1116,7 +1116,7 @@ Utilisez "choiceListName" ou "choiceListReference" en fonction de la provenance > - Si vous souhaitez définir des valeurs d'énumération via un simple tableau, vous pouvez utiliser l'attribut "choiceList". > - Si la liste contient du texte représentant des valeurs réelles, le séparateur décimal doit être le point ("."), quels que soient les paramètres locaux, ex : "17.6" "1234.456". -Voici un exemple : +Exemple : Vous voulez afficher une combo box basée sur une énumération nommée "colors" définie dans la Boîte à outils (contenant les valeurs "bleu", "jaune" et "vert") et afficher "vert" par défaut : @@ -1146,7 +1146,7 @@ Quel que soit son mode de définition, la liste d'unités peut être associée L'unité courante est affichée sous forme de bouton affichant successivement les valeurs de "unitList", "unitsListReference" ou "unitsListName" à chaque clic (par exemple "pixels" -> "lignes" -> "cm" -> "pixels" -> etc.) -Voici un exemple : +Exemple : Vous souhaitez définir une valeur de saisie numérique suivie d'une unité parmi deux possibles : "cm" ou "pixels". La valeur courante est "2" + "cm". Vous utilisez des valeurs définies directement dans l'objet (attribut "unitsList") : @@ -1169,7 +1169,7 @@ Si vous souhaitez ajouter un bouton ellipse [...] à une cellule, il suffit de p Lorsque l'utilisateur clique sur ce bouton, un événement `On Alternative Click` est généré, vous permettant de traiter cette action comme vous le souhaitez (reportez-vous ci-dessous au paragraphe "Gestion des événements" pour plus d'informations). -Voici un exemple : +Exemple : ```4d C_OBJECT($ob1) @@ -1185,7 +1185,7 @@ OB SET($ob;"value";$entry) L'attribut "valueType" de valeur "color" vous permet d'afficher soit une couleur, soit un texte. -- Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Voici un exemple : +- Si la valeur est un nombre, un rectangle de couleur est dessiné à l'intérieur de la cellule. Exemple : ```4d C_OBJECT($ob4) @@ -1203,7 +1203,7 @@ L'attribut "valueType" de valeur "event" affiche un bouton qui génère simpleme Optionnellement, il est possible de passer un attribut "label". -Voici un exemple : +Exemple : ```4d C_OBJECT($ob) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md index ac83d9cb20d7ae..7ce8442baf0bdd 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valeur minimale d'un indicateur. Pour les steppers numériques, cette propriét #### Commandes -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Text.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Text.md index 119fcf1f64e9e4..4b81e6727ed5d8 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Text.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Text.md @@ -248,7 +248,7 @@ Utilisé pour appliquer un style de police personnalisé à chaque ligne de list Vous devez saisir une expression ou une variable (les variables de type tableau ne peuvent pas être utilisées). L'expression ou variable sera évaluée pour chaque ligne affichée (si elle s'applique à la list box) ou chaque cellule affichée (si elle s'applique à la list box). Vous pouvez utiliser les constantes listées dans la commande [`LISTBOX SET ROW FONT STYLE`](../commands-legacy/listbox-set-row-font-style.md). -Voici un exemple : +Exemple : ```4d Choose([Companies]ID;Bold;Plain;Italic;Underline) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md index b42665278bc6f3..659d8e83e66a2e 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md @@ -294,13 +294,13 @@ Il est important de noter que la propriété “Avec pop up menu” gère unique #### Grammaire JSON -| Nom | Type de données | Valeurs possibles | -| :------------- | --------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nom | Type de données | Valeurs possibles | +| :------------- | --------------- | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### Objets pris en charge -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Commandes diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md index e5dbe4896d20e7..696ddb3905bafb 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/dsMapping.md @@ -205,7 +205,7 @@ Une entity selection est un objet contenant une ou plusieurs référence(s) à d Un objet Entity selection est géré par les fonctions et les propriétés de la classe [**EntitySelection**](../API/EntitySelectionClass.md). -Voici un exemple : +Exemple : ```4d var $e : cs.EmployeeSelection //déclare une variable objet $e de type de classe EmployeeSelection diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md index b47b1a22f2d919..abaea441a39c24 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ORDA/entities.md @@ -160,7 +160,7 @@ La référence du fichier peut être : - un objet 4D.File - un chemin au format POSIX -Voici un exemple : +Exemple : ```4d Function createCompany($name : Text; $logo : 4D.File) @@ -292,7 +292,7 @@ Une nouvelle entity selection est **partageable** dans les cas suivants : - la nouvelle entity selection est basée sur une relation [entity.*attributeName*](API/EntityClass.md#attributename) (par exemple, "company.employees") lorsque *attributeName* est un attribut lié 1-vers-N mais que l'entité n'appartient pas à une entity selection. - la nouvelle entity selection est explicitement copiée comme partageable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire avec l'option `ck shared`). -Voici un exemple : +Exemple : ```4d var $myComp : cs.CompanyEntity @@ -306,7 +306,7 @@ Une nouvelle entity selection est **modifiable** dans les cas suivants : - nouvelle entity selection créée vide à l'aide de la fonction [dataClass.newSelection()](API/DataClassClass.md#newselection) ou de la commande `Create entity selection`, - nouvelle entity selection explicitement copiée comme modifiable avec [entitySelection.copy()](API/EntitySelectionClass.md#copy) ou `OB Copy` (c'est-à-dire sans l'option `ck shared`). -Voici un exemple : +Exemple : ```4d var $toModify : cs.CompanySelection @@ -339,7 +339,7 @@ $comp2:=$lowSal.employer //$comp2 est modifiable car $lowSal est modifiable :::note Entity selections retournées depuis le serveur -Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Voici un exemple : +Dans l'architecture client/serveur, les entity selections renvoyées par le serveur sont toujours partageables sur le client, même si [`copy()`](API/EntitySelectionClass.md#copy) a été appelée sur le serveur. Pour rendre une telle entity selection modifiable côté client, vous devez exécuter [`copy()`](API/EntitySelectionClass.md#copy) côté client. Exemple : ```4d //une fonction est toujours exécutée sue le serveur diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/Tags/transformation-tags.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/Tags/transformation-tags.md index d9808b427dd562..44e574af0d30c7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/Tags/transformation-tags.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/Tags/transformation-tags.md @@ -580,7 +580,7 @@ Dans ce cas, la balise `4DLOOP` fonctionne comme avec un tableau : elle fait une Cette syntaxe est utile lorsque vous passez un pointeur de tableau comme paramètre à la commande `PROCESS 4D TAGS`. -Voici un exemple : +Exemple : ```4d ARRAY TEXT($array;2) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md index 903750374cd8c1..1687a03190d697 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/ViewPro/configuring.md @@ -418,7 +418,7 @@ La commande [VP Get stylesheet](commands/vp-get-stylesheet.md) peut être utilis ### Propriétés d'objet de style -Voici un exemple : +Exemple : ```4d $style:=New object diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md index b0847c739a175a..ebc7f192cf8839 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/WebServer/sessions.md @@ -104,7 +104,7 @@ Des privilèges peuvent être associés aux sessions utilisateur web. Sur le ser Vous assignez des privilèges en utilisant la [fonction `.setPrivileges()`](API/SessionClass.md#setprivileges). Dans votre code, vous pouvez vérifier les privilèges de la session pour autoriser ou refuser l'accès à l'aide de la fonction [`.hasPrivilege()`](API/SessionClass.md#hasprivilege). Par défaut, les nouvelles sessions n'ont aucun privilège : ce sont des sessions **Guest** (la fonction [`isGuest()`](API/SessionClass.md#isguest) retourne true). -Voici un exemple : +Exemple : ```4d If (Session.hasPrivilege("WebAdmin")) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/new-shared-collection.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/new-shared-collection.md index 02b3c1752e198a..7a1c4e2f3082c7 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/new-shared-collection.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/commands/new-shared-collection.md @@ -35,7 +35,7 @@ Vous devez affecter la référence retournée à une variable 4D de type Collect Symbole(s) Sinon, vous pouvez ajouter ou modifier des éléments ultérieurement via l'assignation en notation objet (cf. exemple). -Prise en charge des formules +If the new element index is beyond the last existing element of the shared collection, the collection is automatically resized and all new intermediary elements are assigned a **null** value. Vous pouvez passer tout nombre de valeurs de n'importe quel type pris en charge : diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md index 83bbafb34b9798..b6de34e1cd7b33 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Concepts/parameters.md @@ -170,28 +170,34 @@ Function saveToFile($entity : cs.ShapesEntity; $file : 4D.File) たとえば、次の関数は引数 $x の 2乗を返します。 $x は数値です。 ```4d -Function square($x : Integer) -> $result : Integer +Function square($x : Integer) : Integer return $x * $x ``` -:::note - -内部的に、`return x` は `myReturnValue:=x` を実行し、呼び出し元に戻ります。 `return` が式なしで使われた場合、関数またはメソッドは宣言された戻り値の型 (あれば) の null値を返し、それ以外の場合には *undefined* です。 - -::: - -`return`文は、[戻り値](#戻り値) の標準的なシンタックスと併用することができます (戻り値は宣言された型でなくてはなりません)。 ただし、return はコードの実行を直ちに終了させることに注意が必要です。 例: +`return`文は、[戻り値](#戻り値) の標準的なシンタックスと併用することができます (戻り値は宣言された型でなくてはなりません)。 When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // 20 が返されます + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // 実行されません - // 10 が返されます + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## 引数の間接参照 (${N}) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md index a237f5e6f97003..62f31b3c513b6f 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ title: スケール #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md index e453c5a7cf282a..e0b614eb187b00 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ title: テキスト、ピクチャー #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| :------------- | ------ | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| 名称 | データタイプ | とりうる値 | +| :------------- | ------ | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### 対象オブジェクト -[ツールバーボタン](button_overview.md#ツールバー) - [ベベルボタン](button_overview.md#ベベル) - [角の丸いべべルボタン](button_overview.md#角の丸いベベル) - [OS X グラデーションボタン](button_overview.md#os-x-グラデーション) - [OS X テクスチャーボタン](button_overview.md#os-x-テクスチャー) - [Office XP ボタン](button_overview.md#office-xp) - [サークルボタン](button_overview.md#サークル) - [カスタムボタン](button_overview.md#カスタム) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md index dbc592fcc6144c..590e48ea498362 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/ORDA/entities.md @@ -442,7 +442,7 @@ $myInvoices:=$myParts.invoiceItems.invoice 最後の行は、$myParts エンティティセレクション内のパーツにリレートされている請求項目が少なくとも1行含まれているすべての請求書のエンティティセレクションを、*$myInvoices* 内に返します。 エンティティセレクションのプロパティとしてリレーション属性が使用されると、返される結果は、たとえ返されるエンティティが一つだけだとしても、常に新しいエンティティセレクションとなります。 エンティティセレクションのプロパティとしてリレーション属性が使用された結果、エンティティが何も返ってこない場合には、返されるのは空のエンティティセレクションであり、null ではありません。 -## Restricting entity selections {#restricting-entity-selections} +## エンティティセレクションを制限する {#restricting-entity-selections} ORDAでは、あらゆるデータクラスにおいて、エンティティへのアクセスを制限するフィルターを作成することができます。 一旦実装されると、データクラスのエンティティが **ORDAクラス関数** ([`all()`](../API/DataClassClass.md#all) や [`query()`](../API/EntitySelectionClass.md#query)など) または [**REST API**](../category/api-dataclass) ([Data Explorer](../Admin/dataExplorer.md) や [remote datastores](remoteDatastores.md)など) によってアクセスされるたびに、フィルターが自動的に適用されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/forms.md b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/forms.md index de3642ffaa7e05..39491c00152c35 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/forms.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/forms.md @@ -29,6 +29,6 @@ title: フォームページ ## 新フォームのデフォルト表示 - **境界**, **ルーラー**, ...: フォームエディターの各新規ウィンドウにデフォルトで表示する項目をチェックします。 フォームエディターの **表示** 階層メニューを使って、各ウィンドウの表示を個別に変更することができます。 -- **マーカーラインのカラー**: このオプションは、フォームエディター中で (ヘッダー、ブレーク、詳細、フッター) エリアを定義するマーカーラインの色を設定します。 For more information about markers, refer to [Using output control lines](https://doc.4d.com/4Dv20/4D/20.2/Using-output-control-lines.300-6750228.en.html). +- **マーカーラインのカラー**: このオプションは、フォームエディター中で (ヘッダー、ブレーク、詳細、フッター) エリアを定義するマーカーラインの色を設定します。 マーカーに関する詳細は [出力コントロールラインを使用する](https://doc.4d.com/4Dv20/4D/20.2/Using-output-control-lines.300-6750228.ja.html) を参照してください。 - **デフォルトで表示するバッジ**: このオプションは、フォームエディターの新しいウィンドウを開く際、どのバッジをデフォルトで表示するかを設定します。 バッジに関する詳細は [バッジを使用する](FormEditor/formEditor.md#バッジを使用する) を参照ください。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/general.md b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/general.md index cf71cee6b3d2aa..32a171f283aa60 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/general.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/general.md @@ -78,7 +78,7 @@ macOS Sierra 以降、Mac のアプリケーションは、複数のウィンド ![](../assets/en/Preferences/general5.png) -These items allow you to create binary databases (see [Creating a new database](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html) section). これらの項目はデフォルトでは表示されません。今後 4D は、新規の開発にはプロジェクトベースのアーキテクチャーを使用することを推奨するからです。 +この項目を使用するとバイナリーデータベースを作成することができるようになります([新しいデータベースを作成する](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.ja.html) の章を参照)。 これらの項目はデフォルトでは表示されません。今後 4D は、新規の開発にはプロジェクトベースのアーキテクチャーを使用することを推奨するからです。 ## 新規プロジェクト作成時 @@ -94,13 +94,13 @@ These items allow you to create binary databases (see [Creating a new database]( ### Project ソースファイルにトークンを含める -このオプションを有効にすると、新規の 4Dプロジェクトで保存された [メソッドのソースファイル](../Project/architecture.md#sources) には、クラシックランゲージおよびデータベースオブジェクト (定数、コマンド、テーブル、フィールド) 用の **トークン** が含まれます。 Tokens are additional characters such as `:C10` or `:5` inserted in the source code files, that allow renaming tables and fields and identifying elements whatever the 4D version (see [Using tokens in formulas](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.en.html)). +このオプションを有効にすると、新規の 4Dプロジェクトで保存された [メソッドのソースファイル](../Project/architecture.md#sources) には、クラシックランゲージおよびデータベースオブジェクト (定数、コマンド、テーブル、フィールド) 用の **トークン** が含まれます。 トークンとは、ソースコードファイルに挿入される `:C10` や `:5` などの追加文字で、テーブルやフィールドの名前を変更したり、4Dバージョンに関係なく要素を識別したりすることを可能にします ([フォーミュラ内でのトークンの使用](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.ja.html) を参照ください)。 バージョン管理システムや外部のコードエディターを新規プロジェクトで使用したい場合、これらのツールでのコードの可読性のために、このオプションのチェックを外すことができます。 > このオプションは、プロジェクトにのみ適用できます (バイナリデータベースでは常にトークンが含まれます)。 -> You can always get the code with tokens by calling [`METHOD GET CODE`](../commands-legacy/method-get-code.md) with 1 in the *option* parameter. +> *option* パラメーターに 1 を指定して [`METHOD GET CODE`](../commands-legacy/method-get-code.md) を呼び出すと、 トークンを含むコードをいつでも取得することができます。 #### 既存プロジェクトからトークンを除外する diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/methods.md b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/methods.md index e0d5eb69a426f8..c7c6586e5fd525 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/methods.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/methods.md @@ -112,7 +112,7 @@ title: メソッドページ ![](../assets/en/Preferences/show-clipboards.png) -The corresponding [clipboard shorcuts](../code-editor/write-class-method.md#clipboards) are still active when these clipboards are hidden. +これらのクリップボードが非表示の時でも、対応する[クリップボードのショートカット](../code-editor/write-class-method.md#クリップボード) は引き続きアクティブです。 #### 論理ブロックを強調 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/overview.md index 6899c4783774d4..c5fff66f71fe87 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/overview.md @@ -21,7 +21,7 @@ title: 環境設定 ## ストレージ -Settings made in the Preferences dialog box are saved in an XML format preferences file named **4D Preferences vXX.4DPreferences** that is stored in the active 4D folder of the current user, as returned by the [`Get 4D folder`](../commands-legacy/get-4d-folder.md) command: +環境設定ダイアログに保存された設定は XMLフォーマットで **4D Preferences vXX.4DPreferences** という名称のファイルに保存されます。 このファイルは、 [`Get 4D folder`](../commands-legacy/get-4d-folder.md) が返す、カレントユーザーの Active 4D Folder に保存されます: - Windows: `\{disk\}\Users\\{username\}\AppData\Roaming\4D` - macOS: `\{disk\}:Users:\{username\}:Library:Application Support:4D` diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/structure.md b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/structure.md index 57caff4bc64665..4b74e1f227c118 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/structure.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Preferences/structure.md @@ -5,7 +5,7 @@ title: ストラクチャーページ ## プライマリーキー -These options in the preferences modify the default name and type of the primary key fields that are added automatically by 4D when new tables are created or by means of the [Primary key manager](https://doc.4d.com/4Dv20/4D/20.2/Primary-key-manager.300-6750292.en.html)). +環境設定内のこれらのオプションによって、新しくテーブルが追加されたとき、または [プライマリーキー管理](https://doc.4d.com/4Dv20/4D/20.2/Primary-key-manager.300-6750292.ja.html) 機能の使用によって 4D が自動的に追加するプライマリーキーのデフォルトの名前と型を変更することができます。 次のオプションから選択することができます: @@ -18,9 +18,9 @@ These options in the preferences modify the default name and type of the primary ### ストラクチャーの描画クォリティ -このオプションで、ストラクチャーエディターの描画レベルを変更できます。 デフォルトで品質は **高** に設定されています。 標準品質を選択して、表示速度を優先させることができます。 The effect of this setting is mainly perceptible when using the zoom function (see the "Zoom" paragraph in [Structure editor](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.en.html#105667)). +このオプションで、ストラクチャーエディターの描画レベルを変更できます。 デフォルトで品質は **高** に設定されています。 標準品質を選択して、表示速度を優先させることができます。 この設定の効果は主にズーム機能を使用する際に実感することができます ([ストラクチャーエディター](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.ja.html#105667) のズーム参照)。 ### フォルダーが表示対象外のとき -This option sets the appearance of dimmed tables in the Structure editor, when you carry out selections by folder (see [Highlight/dim tables by folder](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.en.html#4592928)). 薄暗く表示 (テーブルイメージの代わりに影が表示される) または非表示 (テーブルは完全に見えなくなる) が選択できます。 +このオプションは、ストラクチャーエディターでフォルダーによって選択する際の、テーブルが表示対象外のときのアピアランスを設定できます ([フォルダーごとにテーブルをハイライト/薄暗くする](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.ja.html#4592928) 参照)。 薄暗く表示 (テーブルイメージの代わりに影が表示される) または非表示 (テーブルは完全に見えなくなる) が選択できます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/architecture.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/architecture.md index eb3f4ef79fe9a3..209f4dbe92c44d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/architecture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/architecture.md @@ -51,23 +51,23 @@ title: アーキテクチャー ### `Sources` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | -| catalog.4DCatalog | テーブルおよびフィールド定義 | XML | -| catalog_editor.json | ストラクチャーエディターでのテーブル、フィールド、およびリンクのカスタム位置と色。 変換されたプロジェクトでは [互換性設定](../settings/compatibility.md) に依存します。 | JSON | -| folders.json | エクスプローラーフォルダー定義 | JSON | -| menus.json | メニュー定義 | JSON | -| roles.json | [Privileges, permissions](../ORDA/privileges.md#rolesjson-file) and other security settings for the project | JSON | -| settings.4DSettings | *ストラクチャー*データベース設定。 They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#priority-of-settings). **警告**: コンパイル済みアプリケーションの場合、ストラクチャー設定は読み取り専用の .4dz ファイルに格納されます。 For deployment needs, it is necessary to [enable](../settings/overview.md#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings. | XML | -| tips.json | 定義されたヘルプTips | JSON | -| lists.json | 定義されたリスト | JSON | -| filters.json | 定義されたフィルター | JSON | -| dependencies.json | プロジェクトに [ロードするコンポーネント](components.md) の名前 | JSON | -| HTTPHandlers.json | Custom [HTTP request handlers](../WebServer/http-request-handler.md) defined for the web server | JSON | -| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON | -| styleSheets.css | CSS スタイルシート | CSS | -| styleSheets_mac.css | Mac用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | -| styleSheets_windows.css | Windows用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | +| catalog.4DCatalog | テーブルおよびフィールド定義 | XML | +| catalog_editor.json | ストラクチャーエディターでのテーブル、フィールド、およびリンクのカスタム位置と色。 変換されたプロジェクトでは [互換性設定](../settings/compatibility.md) に依存します。 | JSON | +| folders.json | エクスプローラーフォルダー定義 | JSON | +| menus.json | メニュー定義 | JSON | +| roles.json | プロジェクトの [権限、パーミッション](../ORDA/privileges.md#rolesjson-ファイル)およびその他のセキュリティ設定 | JSON | +| settings.4DSettings | *ストラクチャー*データベース設定。 *[ユーザー設定](#settings-ユーザー)* または *[データファイル用のユーザー設定](#settings-ユーザーデータ)* が定義されている場合は、そちらの設定が優先されます ([設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください)。 **警告**: コンパイル済みアプリケーションの場合、ストラクチャー設定は読み取り専用の .4dz ファイルに格納されます。 運用時にカスタム設定を定義するには、[ユーザー設定を有効化](../settings/overview.md#ユーザー設定の有効化) し、*ユーザー設定* または *データファイル用のユーザー設定* を使う必要があります。 | XML | +| tips.json | 定義されたヘルプTips | JSON | +| lists.json | 定義されたリスト | JSON | +| filters.json | 定義されたフィルター | JSON | +| dependencies.json | プロジェクトに [ロードするコンポーネント](components.md) の名前 | JSON | +| HTTPHandlers.json | Web サーバー用に定義されたカスタムの [HTTP リクエストハンドラー](../WebServer/http-request-handler.md)。 | JSON | +| HTTPRules.json | Web サーバー用に定義されたカスタムの [HTTP ルール](../WebServer/http-rules.md) | JSON | +| styleSheets.css | CSS スタイルシート | CSS | +| styleSheets_mac.css | Mac用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | +| styleSheets_windows.css | Windows用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | #### `Classes` @@ -98,11 +98,11 @@ title: アーキテクチャー #### `Shared` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | -| assets/ | [Shared files](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#shared-folder) such as pictures used in Qodly pages | 様々 | -| CustomComponents/ | [Custom components](https://developer.4d.com/qodly/Integrations/customComponent/overview) files used in Qodly pages | json | -| *other_files*.json | shared elements such as css or datasources used in Qodly pages | json | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---- | +| assets/ | Qodly ページで使用されているピクチャーのような、[共有されたファイル](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#shared-folder) | 様々 | +| CustomComponents/ | Qodly ページで使用される[カスタムのコンポーネント](https://developer.4d.com/qodly/Integrations/customComponent/overview) | json | +| *other_files*.json | Qodly ページで使用されるCSS やデータソースなどの共有された要素 | json | #### `TableForms` @@ -128,10 +128,10 @@ title: アーキテクチャー #### `WebForms` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- | ---- | -| *QodlyFormName*.WebForm | Json representations of Qodly pages | JSON | -| crafted_components.json | Description of [components crafted](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/craftedComponents) on Qodly pages | JSON | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ---- | +| *QodlyFormName*.WebForm | JSON で表された Qodly ページ | JSON | +| crafted_components.json | Qodly ページ上の [クラフトコンポーネント](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/craftedComponents) の詳細 | JSON | ### `Trash` @@ -178,9 +178,9 @@ Data フォルダーには、データファイルのほか、データに関わ ### `Settings` (ユーザーデータ) -This folder contains [**user settings for data**](../settings/overview.md#user-settings-for-data-file) used for application administration. +このフォルダには、アプリケーションの管理に使用される [**データのユーザー設定**](../settings/overview.md#データファイル用のユーザー設定) が格納されます。 -> この設定は [ユーザー設定](#settings-ユーザー) や [ストラクチャー設定](#sources) より優先されます。 See also [Priority of settings](../settings/overview.md#priority-of-settings). +> この設定は [ユーザー設定](#settings-ユーザー) や [ストラクチャー設定](#sources) より優先されます。 [設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください。 | 内容 | 説明 | 形式 | | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | @@ -198,13 +198,13 @@ Logs フォルダーには、プロジェクトが使用するすべてのログ - コマンドデバッグ - 4D Serverリクエスト (クライアントマシンおよびサーバー上で生成) -> An additional Logs folder is available in the system user preferences folder (active 4D folder, see [Get 4D folder](../commands-legacy/get-4d-folder.md) command) for maintenance log files and in cases where data folder is read-only. +> データフォルダーが読み取り専用モードの場合やメンテナンスログファイルの保存には、システムのユーザー設定フォルダー (Active 4D Folder のこと、詳しくは [Get 4D folder](../commands-legacy/get-4d-folder.md) コマンド参照) 内にある追加の Logs フォルダーが利用されます。 ## `Settings` (ユーザー) -This folder contains [**user settings**](../settings/overview.md#user-settings) used for application administration. +このフォルダには、アプリケーションの管理に使用される [**ユーザー設定**](../settings/overview.md#ユーザー設定) が格納されます。 -> この設定は [ストラクチャー設定](#sources) より優先されます。 しかしながら、[データファイル用のユーザー設定](#settings-ユーザーデータ) が存在する場合は、そちらが優先されます。 See also [Priority of settings](../settings/overview.md#priority-of-settings). +> この設定は [ストラクチャー設定](#sources) より優先されます。 しかしながら、[データファイル用のユーザー設定](#settings-ユーザーデータ) が存在する場合は、そちらが優先されます。 [設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください。 | 内容 | 説明 | 形式 | | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/code-overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/code-overview.md index 9e39fbac1bca77..e3ef08ea72e50f 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/code-overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/code-overview.md @@ -1,6 +1,6 @@ --- id: code-overview -title: Creating Methods and classes +title: メソッドとクラスの作成 --- プロジェクトで使用される 4D コードは、 [メソッド](../Concepts/methods.md) および [クラス](../Concepts/classes.md) に記述されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md index da899428d1287b..c070c837bfb1e4 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/components.md @@ -340,7 +340,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ このファイルは、依存関係・パス・url・読み込みエラー・その他の情報などをログに記録します。 これは、コンポーネントの読み込み管理やトラブルシューティングに役立ちます。 -## Monitoring Project Dependencies {#monitoring-project-dependencies} +## プロジェクトの依存関係をモニタリング {#monitoring-project-dependencies} 開かれているプロジェクトでは、**依存関係** パネルで依存関係の追加・削除・更新ができるほか、現在の読み込み状態に関する情報を取得することができます。 @@ -440,7 +440,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ ![dependency-add](../assets/en/Project/dependency-add.png) -Make sure the **Local** tab is selected and click on the *...*\*\* button. 標準の "ファイルを開く" ダイアログボックスが表示され、追加するコンポーネントを選択できます。 [**.4DZ**](../Desktop/building.md#コンポーネントをビルド) または [**.4DProject**](architecture.md#applicationname4dproject-ファイル) ファイルを選択できます。 +**ローカル** タブが選択されていることを確認し、**...** ボタンをクリックします。 標準の "ファイルを開く" ダイアログボックスが表示され、追加するコンポーネントを選択できます。 [**.4DZ**](../Desktop/building.md#コンポーネントをビルド) または [**.4DProject**](architecture.md#applicationname4dproject-ファイル) ファイルを選択できます。 選択した項目が有効であれば、その名前と場所がダイアログボックスに表示されます。 @@ -501,11 +501,11 @@ GitHub 依存関係は[**dependencies.json**](#dependenciesjson) ファイル内 ![dependency-git-tag](../assets/en/Project/dependency-git-tag.png) -- **Follow 4D version** (default, recommended option): Download the latest component release that is compatible with the running 4D version. この依存関係ルールは、コンポーネントのリリースタグが適切な[命名規則](#4dバージョンタグの命名規則) に従っていた場合にのみ使用できます。 This option is **recommended**, especially for the [components developed by 4D](../Extensions/overview.md#components-developed-by-4d). +- **4D のバージョンに追随する** (デフォルト、推奨されるオプション): 実行中の4D バージョンと互換性のある最新のコンポーネントリリースをダウンロードします。 この依存関係ルールは、コンポーネントのリリースタグが適切な[命名規則](#4dバージョンタグの命名規則) に従っていた場合にのみ使用できます。 このオプションは、特に[4D によって開発されたコンポーネント](../Extensions/overview.md#4d-によって開発されたコンポーネント) に対して推奨されます。 - **メジャー更新の手前まで**: [セマンティックバージョニングの範囲](#タグとバージョン)を定義して、更新を次のメジャーバージョンの手前までに制限します。 - **マイナー更新の手前まで**: 上と同様に、更新を次のマイナーバージョンの手前までに制限します。 - **自動更新しない(タグ指定)**: 利用可能なリストから [特定のタグ](#セマンティックバージョン範囲]) を選択するか、手動で入力します。 -- **Latest**: Allows to download the release that is tagged as the latest version. **Warning:** While using this option can be convenient during early development, it is better to avoid it in production or shared projects since it automatically pulls in newer releases, including beta releases, which may lead to unexpected updates or breaking changes. +- **自動更新する(latest)**: 最新(latest)としてタグづけされたリリースをダウンロードすることを許可します。 **警告:** このオプションを使用するのは開発の初期段階では便利かもしれませんが、ベータリリースを含め新しいリリースを自動的に取り込むため、予期せぬアップデートや変更を引き起こす可能性があります。そのため、製品環境や共有プロジェクトでは避けた方が賢明です。 現在のGitHub 依存関係バージョンは、依存関係の項目の右側に表示されます: diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/date-time-formats.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/date-time-formats.md index f12231ad22ee78..a8dada19703081 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/date-time-formats.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/date-time-formats.md @@ -9,7 +9,7 @@ title: 日付と時間のフォーマット - [`String`](../commands/string.md) コマンド - [`OBJECT SET FORMAT`](../commands-legacy/object-set-format.md) および [`OBJECT Get format`](../commands-legacy/object-get-format.md) コマンド -- the date and time format form object properties, available from the Property list or the [`dateFormat`](../FormObjects/properties_Display.md#date-format) and [`timeFormat`](../FormObjects/properties_Display.md#time-format) JSON properties. +- プロパティリストまたは [`dateFormat`](../FormObjects/properties_Display.md#日付フォーマット) および [`timeFormat`](../FormObjects/properties_Display.md#時間フォーマット) のJSONプロパティから利用可能な、フォームオブジェクトの "日付/時間フォーマット" プロパティ ## パターンリスト diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/documentation.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/documentation.md index 6748776051563e..6d83df7f097d34 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/documentation.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/documentation.md @@ -107,7 +107,7 @@ title: ドキュメンテーション :::note -Otherwise, the code editor displays [the block comment at the top of the method code](../code-editor/write-class-method.md#help-tips). +それ以外の場合には、[メソッドコードの先頭のコメントブロック](../code-editor/write-class-method.md#ヘルプtips) がコードエディターに表示されます。 ::: @@ -159,10 +159,10 @@ _イタリック_ - テーブルタグ: ```md -| Parameter | Type | Description | +| 引数 | 型 | 説明 | | --------- | ------ | ------------ | -| wpArea | Text |Write pro area| -| toolbar | Text |Toolbar name | +| wpArea | テキスト |Write pro エリア| +| toolbar | テキスト |ツールバー名 | ``` - リンクタグ: @@ -196,22 +196,21 @@ The [documentation](https://doc.4d.com) of the command .... `WP SwitchToolbar.md` ファイルに、次のように書くことができます: ````md - + GetLogo (size) -> logo -| Parameter | Type | in/out | Description | +| 引数 | 型 | 入/出 | 詳細 | | --------- | ------ | ------ | ----------- | -| size | Integer | in | Logo style selector (1 to 5) | -| logo | Picture | out | Selected logo | +| size | Integer | in | ロゴスタイルセレクター (1 〜 5) | +| logo | Picture | out | 選択されたロゴ | ## Description -This method returns a logo of a specific size, depending on the value of the *size* parameter. -1 = smallest size, 5 = largest size. +このメソッドは *size* 引数の値に応じて、特定のサイズのロゴを返します。1 = 最小のサイズ、 5 = 最大のサイズ。 ## Example @@ -219,7 +218,7 @@ This method returns a logo of a specific size, depending on the value of the *si C_PICTURE($logo) C_LONGINT($size) -//Get the largest logo +// 最大のロゴを取得 $logo:=GetLogo(5) ``` ```` diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/overview.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/overview.md index c90612b3ddc88c..b0e1c12ff8c3a6 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/overview.md @@ -4,11 +4,11 @@ title: 4D at a glance slug: /GettingStarted/overview --- -A 4D project contains all of the source code of a 4D application, whatever its deployment type (web, desktop, or mobile), from the database structure to the user interface, including code, web pages, forms, menus, user settings, or any required resources. 4D プロジェクトは主にテキストファイルによって構成されています。 +Web やデスクトップ、モバイルの運用形態に関わらず、データベースストラクチャーからユーザーインターフェースまで (コード、Web ページ、フォーム、メニュー、ユーザー設定、その他必要なリソース含む) 、4D アプリケーションのすべてのソースコードが 4D プロジェクトには格納されています。 4D プロジェクトは主にテキストファイルによって構成されています。 ## プロジェクトファイル -4D project files are open and edited using regular 4D platform applications (4D or 4D Server), on Windows or macOS. With 4D, full-featured editors are available to manage files, including a [code editor](../code-editor/write-class-method.md), a [web interface builder (4D Qodly Pro)](https://developer.4d.com/qodly/), a [form editor](../FormEditor/formEditor.md), a structure editor, a menu editor... +4D プロジェクトファイルはWindows またはmacOS 上では通常の4D プラットフォームアプリケーション(4D または 4D Server) で開いて編集します。 4D では、ファイルを管理するための機能を完全に備えたエディターが利用可能です。これには [コードエディター(メソッドエディター)](../code-editor/write-class-method.md)、 [Web インターフェースビルダー(4D Qodly Pro)](https://developer.4d.com/qodly/)、 [フォームエディター](../FormEditor/formEditor.md)、ストラクチャーエディター、メニューエディターなどのエディターが含まれます。 また、人間にも解読可能なテキストファイル (JSON、XML等) 形式で提供されているため、プロジェクトの読み書きは任意のコードエディターでおこなうことも可能です。 @@ -16,18 +16,18 @@ A 4D project contains all of the source code of a 4D application, whatever its d ## 開発 -4D プロジェクトは **4D** アプリケーションを使って作成します。 It provides an Integrated Development Environment (IDE) for 4D projects as well as a web server, a web interface builder, a mobile project generator, and an application runtime, allowing you to develop, test, and debug any kind of project. +4D プロジェクトは **4D** アプリケーションを使って作成します。 4D は 4D プロジェクト用の統合開発環境 (IDE) を提供するだけでなく、Webサーバー、Web インターフェースビルダー、モバイルプロジェクトジェネレーター、およびアプリケーションランタイムも提供し、プロジェクトの開発・テスト・デバッグに使います。 ### ソース管理 マルチユーザー開発は標準的な **ソース管理** リポジトリツール (Perforce, Git, SVN 等) を使っておこないます。これによって、異なるブランチで開発し、比較してマージまたは変更を戻すといった処理が可能になります。 -### Development mode on 4D Server +### 4D Serverにおける開発モード -If you are a small-size development team and you do not want to use a source control tool, you can use the [**Development mode**](../Desktop/clientServer.md#development-mode) of 4D Server, allowing developers to work online on the same project with 4D in remote mode. Note that this alternative mode should be used in specific cases; using an organisation based upon source control tools (see above) is usually recommended. +小規模な開発チームで、ソース管理ツールを使用したくない場合、4D Server の [**開発モード**](../Desktop/clientServer.md#開発モード) を使用することができます。これを使用すると、開発者は4D リモートから同じプロジェクトに対してオンラインで作業することができます。 ただしこの選択肢は特別なケースにおいてのみ使用されるべきであるという点に注意してください。一般的にはソース管理ツール(上記参照)に基づいた管理を行うことが推奨されます。 ## 運用 -プロジェクトファイルは [コンパイル](compiler.md) し、簡単に運用することができます。 4D allows you to create several types of application from your projects, including [web](WebServer/webServer.md) applications, [desktop](Desktop/building.md) applications (client/server or single-user), or [mobile applications](https://developer.4d.com/go-mobile/). +プロジェクトファイルは [コンパイル](compiler.md) し、簡単に運用することができます。 4D では、 [Web](WebServer/webServer.md) アプリケーション、 [デスクトップ](Desktop/building.md) アプリケーション(クライアント/サーバーまたはシングルユーザー)、あるいは [モバイルアプリケーション](https://developer.4d.com/go-mobile/) など、プロジェクトから複数のアプリケーションを作成することができます。 バックエンドアプリケーションは、4D Server または 4D で運用するほか、[4D Volume Desktopライセンスと統合](../Desktop/building.md) することも可能です。 \ No newline at end of file diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md index 743181b1c2adac..a32c6d0d404fbb 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/project-method-properties.md @@ -1,6 +1,6 @@ --- id: project-method-properties -title: Project Method Properties +title: プロジェクトメソッドプロパティ --- プロジェクトメソッドを作成した後、その名称やプロパティを変更することができます。 プロジェクトメソッドのプロパティは主に、実行アクセスやセキュリティ条件 (ユーザー、統合されたサーバーやサービスからのアクセスの可否) に加えて、実行モードに関する設定が含まれます。 @@ -22,9 +22,9 @@ title: Project Method Properties :::caution -Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). この機能を使用すれば、デザイン環境における当該メソッドの呼び出し箇所がすべて自動的に更新されます (ただし EXECUTE METHOD など、文字列としてメソッド名が参照されている個所を除きます)。 +プロジェクトメソッドの名前を変更すると、そのメソッドを旧名称で呼び出している他のメソッドやフォーミュラなど、アプリケーションの機能が無効になるリスクがあります。 この場合、 [プロジェクトメソッドの改名機能](../Project/search-replace.md#renaming-project-methods-and-variables) を使用することが強く推奨されます。 この機能を使用すれば、デザイン環境における当該メソッドの呼び出し箇所がすべて自動的に更新されます (ただし EXECUTE METHOD など、文字列としてメソッド名が参照されている個所を除きます)。 -4D Server の場合、名称変更は変更終了後にサーバーに反映されます。 複数のユーザーが同時に名称を変更しようとすると、最後におこなわれた名称変更が適用されます。 You may want to specify a method owner so that only certain users can change the method's name. +4D Server の場合、名称変更は変更終了後にサーバーに反映されます。 複数のユーザーが同時に名称を変更しようとすると、最後におこなわれた名称変更が適用されます。 メソッドのオーナーを指定すれば特定のユーザー以外はメソッド名を変更できないようにできます。 ::: @@ -54,11 +54,11 @@ Changing the name of a method already used in the project can invalidate any met この属性は、クライアント/サーバーモードの 4Dアプリケーションでのみ考慮されます。 このオプションが選択されていると、そのプロジェクトメソッドは呼び出し方に関わらず常にサーバー上で実行されます。 -For more information on this option, refer to [Execute on Server attribute](https://doc.4d.com/4Dv20/4D/20/Execute-on-Server-attribute.300-6330555.en.html). +このオプションに関する詳細は、4D Serverリファレンスマニュアルの [サーバー上で実行属性](https://doc.4d.com/4Dv20/4D/20/Execute-on-Server-attribute.300-6330555.ja.html) を参照ください。 ## 実行モード -このオプションを使用すると、メソッドのプリエンプティブ実行が可能であることを宣言できます。 It is described in the [Preemptive processes section](../Develop/preemptive.md). +このオプションを使用すると、メソッドのプリエンプティブ実行が可能であることを宣言できます。 これについては、[プリエンプティブプロセス](../Develop/preemptive.md) の章で説明されています。 ## 公開オプション @@ -66,23 +66,23 @@ For more information on this option, refer to [Execute on Server attribute](http ### Webサービス -この属性を使用して、SOAPリクエストでアクセス可能な Webサービスとして当該メソッドを公開することができます。 For more information, refer to the [Publication and use of Web Services](https://doc.4d.com/4Dv20/4D/20.2/Publication-and-use-of-Web-Services.200-6750103.en.html) chapter. このオプションを選択すると、**WSDL を公開** オプションを選択できるようになります。 +この属性を使用して、SOAPリクエストでアクセス可能な Webサービスとして当該メソッドを公開することができます。 詳細は [Web サービスの公開と使用](https://doc.4d.com/4Dv20/4D/20.2/Publication-and-use-of-Web-Services.200-6750103.ja.html) を参照ください。 このオプションを選択すると、**WSDL を公開** オプションを選択できるようになります。 -In the Explorer, project methods that are offered as a Web Service are given a specific icon. +エクスプローラーでは、Web サービスとして提供されるプロジェクトメソッドには専用のアイコンが表示されます。 **注:** メソッド名が XML の命名規則に準拠しない文字 (たとえばスペース) を含む場合、そのメソッドは Webサービスとして公開できません。 この場合、設定は保存できません。 ### WSDL を公開 -この属性は "Webサービス" 属性が設定されている場合にのみ利用可能です。 この属性を設定すると、当該メソッドが 4Dアプリケーションの WSDLに 含まれます。 For more information about this, refer to [Generation of the WSDL](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html#502689). +この属性は "Webサービス" 属性が設定されている場合にのみ利用可能です。 この属性を設定すると、当該メソッドが 4Dアプリケーションの WSDLに 含まれます。 詳細については [WSDL ファイルを生成する](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.ja.html#502689) を参照ください。 -In the Explorer, project methods that are offered as a Web Service and published in WSDL are given a specific icon. +エクスプローラーでは、Webサービスとして提供され、WSDLで公開されたプロジェクトメソッドには専用のアイコンが表示されます。 ### 4D タグと URL(4DACTION...) このオプションは、4D Webサーバーのセキュリティを強化するために使用されます。このオプションが選択されていない場合、[4DACTION URL](../WebServer/httpRequests.md#4daction) を使用した HTTPリクエスト、および [4DSCRIPT、4DTEXT、4DHTML タグ](../Tags/transformation-tags.md) から当該メソッドを直接呼び出すことができません。 -In the Explorer, project methods with this attribute are given a specific icon. +この属性が指定されたプロジェクトメソッドは、エクスプローラーで以下のアイコンが表示されます。 セキュリティのため、このオプションはデフォルトで選択されていません。 Web機能から直接呼び出されるメソッドには、このオプションを明示的に選択しなければなりません。 @@ -90,14 +90,14 @@ In the Explorer, project methods with this attribute are given a specific icon. この属性が選択されていると、当該プロジェクトメソッドは 4D の SQLエンジンから実行可能となります。 デフォルトでは選択されておらず、明示的に許可されない限り 4Dメソッドは保護されており、4D SQLエンジンから呼び出すことはできません。 -This property applies to all internal and external SQL queries --- executed via the ODBC driver, SQL code inserted between the [Begin SQL](../commands-legacy/begin-sql.md)/[End SQL](../commands-legacy/end-sql.md) tags or the [QUERY BY SQL](../commands-legacy/query-by-sql.md) command. +このプロパティは、全ての内部あるいは外部SQL クエリに対して適用されます。この外部SQL クエリにはODBC ドライバ、 [Begin SQL](../commands-legacy/begin-sql.md)/[End SQL](../commands-legacy/end-sql.md) タグ内に挿入されたSQL コード、あるいは [QUERY BY SQL](../commands-legacy/query-by-sql.md) コマンドから実行されたものを含みます。 **注:** - メソッドに "SQL" 属性が設定されていても、メソッドの実行時にはデータベース設定およびメソッドプロパティに設定されたアクセス権が考慮されます。 - ODBC の **SQLProcedure** 関数は "SQL" 属性が設定されているプロジェクトメソッド名のみを返します。 -For more information, refer to [4D SQL engine implementation](https://doc.4d.com/4Dv20/4D/20/4D-SQL-engine-implementation.300-6342089.en.html) in the 4D SQL manual. +詳細については、SQLマニュアルの [4Dと4D SQLエンジン統合の原則](https://doc.4d.com/4Dv20/4D/20/4D-SQL-engine-implementation.300-6342089.ja.html) を参照ください。 ### REST サーバー @@ -109,7 +109,7 @@ For more information, refer to [4D SQL engine implementation](https://doc.4d.com メソッド属性の一括設定をおこなうには: -1. On the [Methods Page](https://doc.4d.com/4Dv20/4D/20.2/Methods-Page.300-6750119.en.html) of the 4D Explorer, expand the options menu, then choose the **Batch setting of attributes...** command. "メソッド属性" ダイアログボックスが表示されます: +1. エクスプローラーの [メソッドページ](https://doc.4d.com/4Dv20/4D/20.2/Methods-Page.300-6750119.ja.html) からオプションメニューを展開し、**属性の一括設定...** コマンドを選択します。 "メソッド属性" ダイアログボックスが表示されます: 2. "一致するメソッド名" エリアに属性を一括設定するメソッドを指定するための名前条件を入力します。 入力した文字列を使用してメソッド名が検索されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md b/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md index 96dea752148d97..cc20b4a6956c7b 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Project/search-replace.md @@ -1,54 +1,54 @@ --- id: search-replace -title: Search and Replace +title: 検索と置換 --- -4D provides several search and replace functions for elements in all of the Design environment. +4D はデザイン環境の全ての要素に対して複数の検索と置換機能を提供しています。 -- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_". -- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet. -- You can detect variables and methods that are not used in your code and then remove them to free up memory. -- You can rename a project method or a variable throughout the Design environment in a single operation. +- 文字列またはオブジェクトのタイプ(変数、コメント、式、など)に対して検索を行うことができます。 またカスタム条件("前方一致"、"含む"など)に基づいてプロジェクトの一部または全体に対して検索を行えます。 例えば、"MyVar" という文字列を格納している変数を、名前が"HR_" で始まるメソッド内2位おいてのみ検索する、といったことを行うことができます。 +- 検索した結果は結果ウィンドウ内に表示表示され、ここからコンテンツの置換を行うことができます。 この結果をテキストファイルとして書き出して、それをスプレッドシートなどに読み込ませることもできます。 +- コード内で使用されていない変数やメソッドを検知し、それらを削除することでメモリを解放することもできます。 +- 一回の操作で、デザイン環境内のプロジェクトメソッドや変数を名称変更することができます。 :::note -There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window). +またエクスプローラーのメソッドページのコンテキストメニューには、プロジェクトのメソッド内を検索するための機能もあります: **呼び出し元を検索** ([メソッドエディター](../code-editor/write-class-method.md#search-callers) からも利用可能です) および **依存関係を検索** です。 どちらの機能も、[結果ウィンドウ](#結果ウィンドウ) 内に見つかった項目を表示します。 ::: -## Search Location +## 検索する場所 -When you search the Design environment, the following elements are searched: +デザイン環境を検索する場合、以下の要素が検索されます: -- Names of project methods and classes -- Contents of all methods and classes -- Names of tables, fields and forms -- Contents of forms: - - object names and titles - - names of help tips, pictures, variables, style sheets, - - formatting strings +- プロジェクトメソッドおよびクラスの名前 +- 全てのメソッドとクラスの内容 +- テーブル名、フィールド名、フォーム名 +- フォームの中身: + - オブジェクト名とタイトル + - ヘルプTips、ピクチャー、変数、スタイルシートの名前 + - フォーマット文字列 - 式 -- Menus (names and items) and commands associated with menu items -- Choice lists (names and items) -- Help tips (names and content) -- Formats / filters (names and content) -- Comments in the Explorer and in the code +- メニュー(名前と項目)およびメニュー項目に割り当てられたコマンド +- 選択リスト(名前と項目) +- ヘルプTips (名前と内容) +- フォーマット / フィルター (名前と内容) +- エクスプローラーおよびコード内でのコメント -## Find in Design +## デザインモードを検索 -### Starting a search +### 検索を開始する -Specify your search criteria in the "Find in design" window: +"デザインモードを検索"ウィンドウ内で検索条件を指定します: -1. Click on the Search button (![](../assets/en/Project/search-icon.png)) in the 4D toolbar. - OR - Select the **Find in Design...** command from the **Edit** menu. +1. 4D ツールバー内の検索ボタン (![](../assets/en/Project/search-icon.png)) をクリックします。 + または + **編集** メニュー内から **デザインモードを検索...** コマンドを選択します。 -The "Find in design" window appears: +"デザインモードを検索" ウィンドウが表示されます: ![](../assets/en/Project/find-in-design.png) -The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible: +メニューの選択に応じて、"デザインモードを検索"のエリアは動的に変化します。 ウィンドウを展開することで、全てのオプションを表示することもできます: ![](../assets/en/Project/find-in-design-expanded.png) @@ -153,7 +153,7 @@ You can select options that can help speed up your searches: - **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods. - **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area. -## Results window +## 結果ウィンドウ The Results window lists all elements found that match the search criteria set using different types of searches: diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/commands/open-form-window.md b/i18n/ja/docusaurus-plugin-content-docs/current/commands/open-form-window.md index f97afb9efa732f..0e13b74e3e45e5 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/commands/open-form-window.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/commands/open-form-window.md @@ -10,6 +10,8 @@ toc_max_heading_level: 3 +
    + | 引数 | 型 | | 説明 | | -------- | ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | aTable | Table | → | Table of the form or Default table, if omitted | @@ -20,6 +22,7 @@ toc_max_heading_level: 3 | \* | 演算子 | → | Save current position and size of the window | | 戻り値 | Integer | ← | ウィンドウ参照番号 | +
    ## 説明 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md index 07084a9b4a5d43..475074e2ea6988 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md @@ -223,4 +223,4 @@ title: テキスト、ピクチャー #### 対象オブジェクト -[ツールバーボタン](button_overview.md#ツールバー) - [ベベルボタン](button_overview.md#ベベル) - [角の丸いべべルボタン](button_overview.md#角の丸いベベル) - [OS X グラデーションボタン](button_overview.md#os-x-グラデーション) - [OS X テクスチャーボタン](button_overview.md#os-x-テクスチャー) - [Office XP ボタン](button_overview.md#office-xp) - [サークルボタン](button_overview.md#サークル) - [カスタムボタン](button_overview.md#カスタム) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-19/Project/documentation.md b/i18n/ja/docusaurus-plugin-content-docs/version-19/Project/documentation.md index d015146cecdc76..b552b7b0316a95 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-19/Project/documentation.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-19/Project/documentation.md @@ -153,10 +153,10 @@ $txt:="Hello world!" - テーブルタグ: ``` -| Parameter | Type | Description | +| 引数 | 型 | 説明 | | --------- | ------ | ------------ | -| wpArea | Text |Write pro area| -| toolbar | Text |Toolbar name | +| wpArea | テキスト |Write pro エリア| +| toolbar | テキスト |ツールバー名 | ``` - リンクタグ: diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md index de732afda49614..bbbe42972bb6d6 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md @@ -256,10 +256,10 @@ title: テキスト、ピクチャー #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -|:-------------- | ------ | --------------------------------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| 名称 | データタイプ | とりうる値 | +|:-------------- | ------ | ------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### 対象オブジェクト -[ツールバーボタン](button_overview.md#ツールバー) - [ベベルボタン](button_overview.md#ベベル) - [角の丸いべべルボタン](button_overview.md#角の丸いベベル) - [OS X グラデーションボタン](button_overview.md#os-x-グラデーション) - [OS X テクスチャーボタン](button_overview.md#os-x-テクスチャー) - [Office XP ボタン](button_overview.md#office-xp) - [サークルボタン](button_overview.md#サークル) - [カスタムボタン](button_overview.md#カスタム) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-20/Project/documentation.md b/i18n/ja/docusaurus-plugin-content-docs/version-20/Project/documentation.md index 8d04468787fd7e..7c275ba44800b5 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-20/Project/documentation.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-20/Project/documentation.md @@ -166,10 +166,10 @@ _イタリック_ - テーブルタグ: ```md -| Parameter | Type | Description | +| 引数 | 型 | 説明 | | --------- | ------ | ------------ | -| wpArea | Text |Write pro area| -| toolbar | Text |Toolbar name | +| wpArea | テキスト |Write pro エリア| +| toolbar | テキスト |ツールバー名 | ``` diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md index 83bbafb34b9798..9e092b771841db 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md @@ -174,24 +174,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -内部的に、`return x` は `myReturnValue:=x` を実行し、呼び出し元に戻ります。 `return` が式なしで使われた場合、関数またはメソッドは宣言された戻り値の型 (あれば) の null値を返し、それ以外の場合には *undefined* です。 - -::: - -`return`文は、[戻り値](#戻り値) の標準的なシンタックスと併用することができます (戻り値は宣言された型でなくてはなりません)。 ただし、return はコードの実行を直ちに終了させることに注意が必要です。 例: +`return`文は、[戻り値](#戻り値) の標準的なシンタックスと併用することができます (戻り値は宣言された型でなくてはなりません)。 When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // 20 が返されます + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // 実行されません - // 10 が返されます + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## 引数の間接参照 (${N}) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md index a237f5e6f97003..62f31b3c513b6f 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ title: スケール #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md index e453c5a7cf282a..e0b614eb187b00 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ title: テキスト、ピクチャー #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| :------------- | ------ | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| 名称 | データタイプ | とりうる値 | +| :------------- | ------ | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### 対象オブジェクト -[ツールバーボタン](button_overview.md#ツールバー) - [ベベルボタン](button_overview.md#ベベル) - [角の丸いべべルボタン](button_overview.md#角の丸いベベル) - [OS X グラデーションボタン](button_overview.md#os-x-グラデーション) - [OS X テクスチャーボタン](button_overview.md#os-x-テクスチャー) - [Office XP ボタン](button_overview.md#office-xp) - [サークルボタン](button_overview.md#サークル) - [カスタムボタン](button_overview.md#カスタム) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md index dbc592fcc6144c..590e48ea498362 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/ORDA/entities.md @@ -442,7 +442,7 @@ $myInvoices:=$myParts.invoiceItems.invoice 最後の行は、$myParts エンティティセレクション内のパーツにリレートされている請求項目が少なくとも1行含まれているすべての請求書のエンティティセレクションを、*$myInvoices* 内に返します。 エンティティセレクションのプロパティとしてリレーション属性が使用されると、返される結果は、たとえ返されるエンティティが一つだけだとしても、常に新しいエンティティセレクションとなります。 エンティティセレクションのプロパティとしてリレーション属性が使用された結果、エンティティが何も返ってこない場合には、返されるのは空のエンティティセレクションであり、null ではありません。 -## Restricting entity selections {#restricting-entity-selections} +## エンティティセレクションを制限する {#restricting-entity-selections} ORDAでは、あらゆるデータクラスにおいて、エンティティへのアクセスを制限するフィルターを作成することができます。 一旦実装されると、データクラスのエンティティが **ORDAクラス関数** ([`all()`](../API/DataClassClass.md#all) や [`query()`](../API/EntitySelectionClass.md#query)など) または [**REST API**](../category/api-dataclass) ([Data Explorer](../Admin/dataExplorer.md) や [remote datastores](remoteDatastores.md)など) によってアクセスされるたびに、フィルターが自動的に適用されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/forms.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/forms.md index de3642ffaa7e05..39491c00152c35 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/forms.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/forms.md @@ -29,6 +29,6 @@ title: フォームページ ## 新フォームのデフォルト表示 - **境界**, **ルーラー**, ...: フォームエディターの各新規ウィンドウにデフォルトで表示する項目をチェックします。 フォームエディターの **表示** 階層メニューを使って、各ウィンドウの表示を個別に変更することができます。 -- **マーカーラインのカラー**: このオプションは、フォームエディター中で (ヘッダー、ブレーク、詳細、フッター) エリアを定義するマーカーラインの色を設定します。 For more information about markers, refer to [Using output control lines](https://doc.4d.com/4Dv20/4D/20.2/Using-output-control-lines.300-6750228.en.html). +- **マーカーラインのカラー**: このオプションは、フォームエディター中で (ヘッダー、ブレーク、詳細、フッター) エリアを定義するマーカーラインの色を設定します。 マーカーに関する詳細は [出力コントロールラインを使用する](https://doc.4d.com/4Dv20/4D/20.2/Using-output-control-lines.300-6750228.ja.html) を参照してください。 - **デフォルトで表示するバッジ**: このオプションは、フォームエディターの新しいウィンドウを開く際、どのバッジをデフォルトで表示するかを設定します。 バッジに関する詳細は [バッジを使用する](FormEditor/formEditor.md#バッジを使用する) を参照ください。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/general.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/general.md index cf71cee6b3d2aa..32a171f283aa60 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/general.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/general.md @@ -78,7 +78,7 @@ macOS Sierra 以降、Mac のアプリケーションは、複数のウィンド ![](../assets/en/Preferences/general5.png) -These items allow you to create binary databases (see [Creating a new database](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html) section). これらの項目はデフォルトでは表示されません。今後 4D は、新規の開発にはプロジェクトベースのアーキテクチャーを使用することを推奨するからです。 +この項目を使用するとバイナリーデータベースを作成することができるようになります([新しいデータベースを作成する](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.ja.html) の章を参照)。 これらの項目はデフォルトでは表示されません。今後 4D は、新規の開発にはプロジェクトベースのアーキテクチャーを使用することを推奨するからです。 ## 新規プロジェクト作成時 @@ -94,13 +94,13 @@ These items allow you to create binary databases (see [Creating a new database]( ### Project ソースファイルにトークンを含める -このオプションを有効にすると、新規の 4Dプロジェクトで保存された [メソッドのソースファイル](../Project/architecture.md#sources) には、クラシックランゲージおよびデータベースオブジェクト (定数、コマンド、テーブル、フィールド) 用の **トークン** が含まれます。 Tokens are additional characters such as `:C10` or `:5` inserted in the source code files, that allow renaming tables and fields and identifying elements whatever the 4D version (see [Using tokens in formulas](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.en.html)). +このオプションを有効にすると、新規の 4Dプロジェクトで保存された [メソッドのソースファイル](../Project/architecture.md#sources) には、クラシックランゲージおよびデータベースオブジェクト (定数、コマンド、テーブル、フィールド) 用の **トークン** が含まれます。 トークンとは、ソースコードファイルに挿入される `:C10` や `:5` などの追加文字で、テーブルやフィールドの名前を変更したり、4Dバージョンに関係なく要素を識別したりすることを可能にします ([フォーミュラ内でのトークンの使用](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.ja.html) を参照ください)。 バージョン管理システムや外部のコードエディターを新規プロジェクトで使用したい場合、これらのツールでのコードの可読性のために、このオプションのチェックを外すことができます。 > このオプションは、プロジェクトにのみ適用できます (バイナリデータベースでは常にトークンが含まれます)。 -> You can always get the code with tokens by calling [`METHOD GET CODE`](../commands-legacy/method-get-code.md) with 1 in the *option* parameter. +> *option* パラメーターに 1 を指定して [`METHOD GET CODE`](../commands-legacy/method-get-code.md) を呼び出すと、 トークンを含むコードをいつでも取得することができます。 #### 既存プロジェクトからトークンを除外する diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/methods.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/methods.md index e1e76859c3dc67..2a4beeca71cf9d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/methods.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/methods.md @@ -112,7 +112,7 @@ title: メソッドページ ![](../assets/en/Preferences/show-clipboards.png) -The corresponding [clipboard shorcuts](../code-editor/write-class-method.md#clipboards) are still active when these clipboards are hidden. +これらのクリップボードが非表示の時でも、対応する[クリップボードのショートカット](../code-editor/write-class-method.md#クリップボード) は引き続きアクティブです。 #### 論理ブロックを強調 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/overview.md index 6899c4783774d4..c5fff66f71fe87 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/overview.md @@ -21,7 +21,7 @@ title: 環境設定 ## ストレージ -Settings made in the Preferences dialog box are saved in an XML format preferences file named **4D Preferences vXX.4DPreferences** that is stored in the active 4D folder of the current user, as returned by the [`Get 4D folder`](../commands-legacy/get-4d-folder.md) command: +環境設定ダイアログに保存された設定は XMLフォーマットで **4D Preferences vXX.4DPreferences** という名称のファイルに保存されます。 このファイルは、 [`Get 4D folder`](../commands-legacy/get-4d-folder.md) が返す、カレントユーザーの Active 4D Folder に保存されます: - Windows: `\{disk\}\Users\\{username\}\AppData\Roaming\4D` - macOS: `\{disk\}:Users:\{username\}:Library:Application Support:4D` diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/structure.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/structure.md index 57caff4bc64665..4b74e1f227c118 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/structure.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Preferences/structure.md @@ -5,7 +5,7 @@ title: ストラクチャーページ ## プライマリーキー -These options in the preferences modify the default name and type of the primary key fields that are added automatically by 4D when new tables are created or by means of the [Primary key manager](https://doc.4d.com/4Dv20/4D/20.2/Primary-key-manager.300-6750292.en.html)). +環境設定内のこれらのオプションによって、新しくテーブルが追加されたとき、または [プライマリーキー管理](https://doc.4d.com/4Dv20/4D/20.2/Primary-key-manager.300-6750292.ja.html) 機能の使用によって 4D が自動的に追加するプライマリーキーのデフォルトの名前と型を変更することができます。 次のオプションから選択することができます: @@ -18,9 +18,9 @@ These options in the preferences modify the default name and type of the primary ### ストラクチャーの描画クォリティ -このオプションで、ストラクチャーエディターの描画レベルを変更できます。 デフォルトで品質は **高** に設定されています。 標準品質を選択して、表示速度を優先させることができます。 The effect of this setting is mainly perceptible when using the zoom function (see the "Zoom" paragraph in [Structure editor](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.en.html#105667)). +このオプションで、ストラクチャーエディターの描画レベルを変更できます。 デフォルトで品質は **高** に設定されています。 標準品質を選択して、表示速度を優先させることができます。 この設定の効果は主にズーム機能を使用する際に実感することができます ([ストラクチャーエディター](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.ja.html#105667) のズーム参照)。 ### フォルダーが表示対象外のとき -This option sets the appearance of dimmed tables in the Structure editor, when you carry out selections by folder (see [Highlight/dim tables by folder](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.en.html#4592928)). 薄暗く表示 (テーブルイメージの代わりに影が表示される) または非表示 (テーブルは完全に見えなくなる) が選択できます。 +このオプションは、ストラクチャーエディターでフォルダーによって選択する際の、テーブルが表示対象外のときのアピアランスを設定できます ([フォルダーごとにテーブルをハイライト/薄暗くする](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.ja.html#4592928) 参照)。 薄暗く表示 (テーブルイメージの代わりに影が表示される) または非表示 (テーブルは完全に見えなくなる) が選択できます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/architecture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/architecture.md index eb3f4ef79fe9a3..209f4dbe92c44d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/architecture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/architecture.md @@ -51,23 +51,23 @@ title: アーキテクチャー ### `Sources` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | -| catalog.4DCatalog | テーブルおよびフィールド定義 | XML | -| catalog_editor.json | ストラクチャーエディターでのテーブル、フィールド、およびリンクのカスタム位置と色。 変換されたプロジェクトでは [互換性設定](../settings/compatibility.md) に依存します。 | JSON | -| folders.json | エクスプローラーフォルダー定義 | JSON | -| menus.json | メニュー定義 | JSON | -| roles.json | [Privileges, permissions](../ORDA/privileges.md#rolesjson-file) and other security settings for the project | JSON | -| settings.4DSettings | *ストラクチャー*データベース設定。 They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#priority-of-settings). **警告**: コンパイル済みアプリケーションの場合、ストラクチャー設定は読み取り専用の .4dz ファイルに格納されます。 For deployment needs, it is necessary to [enable](../settings/overview.md#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings. | XML | -| tips.json | 定義されたヘルプTips | JSON | -| lists.json | 定義されたリスト | JSON | -| filters.json | 定義されたフィルター | JSON | -| dependencies.json | プロジェクトに [ロードするコンポーネント](components.md) の名前 | JSON | -| HTTPHandlers.json | Custom [HTTP request handlers](../WebServer/http-request-handler.md) defined for the web server | JSON | -| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON | -| styleSheets.css | CSS スタイルシート | CSS | -| styleSheets_mac.css | Mac用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | -| styleSheets_windows.css | Windows用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | +| catalog.4DCatalog | テーブルおよびフィールド定義 | XML | +| catalog_editor.json | ストラクチャーエディターでのテーブル、フィールド、およびリンクのカスタム位置と色。 変換されたプロジェクトでは [互換性設定](../settings/compatibility.md) に依存します。 | JSON | +| folders.json | エクスプローラーフォルダー定義 | JSON | +| menus.json | メニュー定義 | JSON | +| roles.json | プロジェクトの [権限、パーミッション](../ORDA/privileges.md#rolesjson-ファイル)およびその他のセキュリティ設定 | JSON | +| settings.4DSettings | *ストラクチャー*データベース設定。 *[ユーザー設定](#settings-ユーザー)* または *[データファイル用のユーザー設定](#settings-ユーザーデータ)* が定義されている場合は、そちらの設定が優先されます ([設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください)。 **警告**: コンパイル済みアプリケーションの場合、ストラクチャー設定は読み取り専用の .4dz ファイルに格納されます。 運用時にカスタム設定を定義するには、[ユーザー設定を有効化](../settings/overview.md#ユーザー設定の有効化) し、*ユーザー設定* または *データファイル用のユーザー設定* を使う必要があります。 | XML | +| tips.json | 定義されたヘルプTips | JSON | +| lists.json | 定義されたリスト | JSON | +| filters.json | 定義されたフィルター | JSON | +| dependencies.json | プロジェクトに [ロードするコンポーネント](components.md) の名前 | JSON | +| HTTPHandlers.json | Web サーバー用に定義されたカスタムの [HTTP リクエストハンドラー](../WebServer/http-request-handler.md)。 | JSON | +| HTTPRules.json | Web サーバー用に定義されたカスタムの [HTTP ルール](../WebServer/http-rules.md) | JSON | +| styleSheets.css | CSS スタイルシート | CSS | +| styleSheets_mac.css | Mac用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | +| styleSheets_windows.css | Windows用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | #### `Classes` @@ -98,11 +98,11 @@ title: アーキテクチャー #### `Shared` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | -| assets/ | [Shared files](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#shared-folder) such as pictures used in Qodly pages | 様々 | -| CustomComponents/ | [Custom components](https://developer.4d.com/qodly/Integrations/customComponent/overview) files used in Qodly pages | json | -| *other_files*.json | shared elements such as css or datasources used in Qodly pages | json | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---- | +| assets/ | Qodly ページで使用されているピクチャーのような、[共有されたファイル](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/events/bindingActionToEvents#shared-folder) | 様々 | +| CustomComponents/ | Qodly ページで使用される[カスタムのコンポーネント](https://developer.4d.com/qodly/Integrations/customComponent/overview) | json | +| *other_files*.json | Qodly ページで使用されるCSS やデータソースなどの共有された要素 | json | #### `TableForms` @@ -128,10 +128,10 @@ title: アーキテクチャー #### `WebForms` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- | ---- | -| *QodlyFormName*.WebForm | Json representations of Qodly pages | JSON | -| crafted_components.json | Description of [components crafted](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/craftedComponents) on Qodly pages | JSON | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ---- | +| *QodlyFormName*.WebForm | JSON で表された Qodly ページ | JSON | +| crafted_components.json | Qodly ページ上の [クラフトコンポーネント](https://developer.4d.com/qodly/4DQodlyPro/pageLoaders/craftedComponents) の詳細 | JSON | ### `Trash` @@ -178,9 +178,9 @@ Data フォルダーには、データファイルのほか、データに関わ ### `Settings` (ユーザーデータ) -This folder contains [**user settings for data**](../settings/overview.md#user-settings-for-data-file) used for application administration. +このフォルダには、アプリケーションの管理に使用される [**データのユーザー設定**](../settings/overview.md#データファイル用のユーザー設定) が格納されます。 -> この設定は [ユーザー設定](#settings-ユーザー) や [ストラクチャー設定](#sources) より優先されます。 See also [Priority of settings](../settings/overview.md#priority-of-settings). +> この設定は [ユーザー設定](#settings-ユーザー) や [ストラクチャー設定](#sources) より優先されます。 [設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください。 | 内容 | 説明 | 形式 | | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | @@ -198,13 +198,13 @@ Logs フォルダーには、プロジェクトが使用するすべてのログ - コマンドデバッグ - 4D Serverリクエスト (クライアントマシンおよびサーバー上で生成) -> An additional Logs folder is available in the system user preferences folder (active 4D folder, see [Get 4D folder](../commands-legacy/get-4d-folder.md) command) for maintenance log files and in cases where data folder is read-only. +> データフォルダーが読み取り専用モードの場合やメンテナンスログファイルの保存には、システムのユーザー設定フォルダー (Active 4D Folder のこと、詳しくは [Get 4D folder](../commands-legacy/get-4d-folder.md) コマンド参照) 内にある追加の Logs フォルダーが利用されます。 ## `Settings` (ユーザー) -This folder contains [**user settings**](../settings/overview.md#user-settings) used for application administration. +このフォルダには、アプリケーションの管理に使用される [**ユーザー設定**](../settings/overview.md#ユーザー設定) が格納されます。 -> この設定は [ストラクチャー設定](#sources) より優先されます。 しかしながら、[データファイル用のユーザー設定](#settings-ユーザーデータ) が存在する場合は、そちらが優先されます。 See also [Priority of settings](../settings/overview.md#priority-of-settings). +> この設定は [ストラクチャー設定](#sources) より優先されます。 しかしながら、[データファイル用のユーザー設定](#settings-ユーザーデータ) が存在する場合は、そちらが優先されます。 [設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください。 | 内容 | 説明 | 形式 | | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/code-overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/code-overview.md index 9e39fbac1bca77..e3ef08ea72e50f 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/code-overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/code-overview.md @@ -1,6 +1,6 @@ --- id: code-overview -title: Creating Methods and classes +title: メソッドとクラスの作成 --- プロジェクトで使用される 4D コードは、 [メソッド](../Concepts/methods.md) および [クラス](../Concepts/classes.md) に記述されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md index 52da1ba89e39c8..120a2087373e27 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/components.md @@ -340,7 +340,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ このファイルは、依存関係・パス・url・読み込みエラー・その他の情報などをログに記録します。 これは、コンポーネントの読み込み管理やトラブルシューティングに役立ちます。 -## Monitoring Project Dependencies {#monitoring-project-dependencies} +## プロジェクトの依存関係をモニタリング {#monitoring-project-dependencies} 開かれているプロジェクトでは、**依存関係** パネルで依存関係の追加・削除・更新ができるほか、現在の読み込み状態に関する情報を取得することができます。 @@ -501,11 +501,11 @@ GitHub 依存関係は[**dependencies.json**](#dependenciesjson) ファイル内 ![dependency-git-tag](../assets/en/Project/dependency-git-tag.png) -- **Follow 4D version** (default, recommended option): Download the latest component release that is compatible with the running 4D version. この依存関係ルールは、コンポーネントのリリースタグが適切な[命名規則](#4dバージョンタグの命名規則) に従っていた場合にのみ使用できます。 This option is **recommended**, especially for the [components developed by 4D](../Extensions/overview.md#components-developed-by-4d). +- **4D のバージョンに追随する** (デフォルト、推奨されるオプション): 実行中の4D バージョンと互換性のある最新のコンポーネントリリースをダウンロードします。 この依存関係ルールは、コンポーネントのリリースタグが適切な[命名規則](#4dバージョンタグの命名規則) に従っていた場合にのみ使用できます。 このオプションは、特に[4D によって開発されたコンポーネント](../Extensions/overview.md#4d-によって開発されたコンポーネント) に対して推奨されます。 - **メジャー更新の手前まで**: [セマンティックバージョニングの範囲](#タグとバージョン)を定義して、更新を次のメジャーバージョンの手前までに制限します。 - **マイナー更新の手前まで**: 上と同様に、更新を次のマイナーバージョンの手前までに制限します。 - **自動更新しない(タグ指定)**: 利用可能なリストから [特定のタグ](#セマンティックバージョン範囲]) を選択するか、手動で入力します。 -- **Latest**: Allows to download the release that is tagged as the latest version. **Warning:** While using this option can be convenient during early development, it is better to avoid it in production or shared projects since it automatically pulls in newer releases, including beta releases, which may lead to unexpected updates or breaking changes. +- **自動更新する(latest)**: 最新(latest)としてタグづけされたリリースをダウンロードすることを許可します。 **警告:** このオプションを使用するのは開発の初期段階では便利かもしれませんが、ベータリリースを含め新しいリリースを自動的に取り込むため、予期せぬアップデートや変更を引き起こす可能性があります。そのため、製品環境や共有プロジェクトでは避けた方が賢明です。 現在のGitHub 依存関係バージョンは、依存関係の項目の右側に表示されます: diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/date-time-formats.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/date-time-formats.md index f12231ad22ee78..a8dada19703081 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/date-time-formats.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/date-time-formats.md @@ -9,7 +9,7 @@ title: 日付と時間のフォーマット - [`String`](../commands/string.md) コマンド - [`OBJECT SET FORMAT`](../commands-legacy/object-set-format.md) および [`OBJECT Get format`](../commands-legacy/object-get-format.md) コマンド -- the date and time format form object properties, available from the Property list or the [`dateFormat`](../FormObjects/properties_Display.md#date-format) and [`timeFormat`](../FormObjects/properties_Display.md#time-format) JSON properties. +- プロパティリストまたは [`dateFormat`](../FormObjects/properties_Display.md#日付フォーマット) および [`timeFormat`](../FormObjects/properties_Display.md#時間フォーマット) のJSONプロパティから利用可能な、フォームオブジェクトの "日付/時間フォーマット" プロパティ ## パターンリスト diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/documentation.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/documentation.md index 6748776051563e..6d83df7f097d34 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/documentation.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/documentation.md @@ -107,7 +107,7 @@ title: ドキュメンテーション :::note -Otherwise, the code editor displays [the block comment at the top of the method code](../code-editor/write-class-method.md#help-tips). +それ以外の場合には、[メソッドコードの先頭のコメントブロック](../code-editor/write-class-method.md#ヘルプtips) がコードエディターに表示されます。 ::: @@ -159,10 +159,10 @@ _イタリック_ - テーブルタグ: ```md -| Parameter | Type | Description | +| 引数 | 型 | 説明 | | --------- | ------ | ------------ | -| wpArea | Text |Write pro area| -| toolbar | Text |Toolbar name | +| wpArea | テキスト |Write pro エリア| +| toolbar | テキスト |ツールバー名 | ``` - リンクタグ: @@ -196,22 +196,21 @@ The [documentation](https://doc.4d.com) of the command .... `WP SwitchToolbar.md` ファイルに、次のように書くことができます: ````md - + GetLogo (size) -> logo -| Parameter | Type | in/out | Description | +| 引数 | 型 | 入/出 | 詳細 | | --------- | ------ | ------ | ----------- | -| size | Integer | in | Logo style selector (1 to 5) | -| logo | Picture | out | Selected logo | +| size | Integer | in | ロゴスタイルセレクター (1 〜 5) | +| logo | Picture | out | 選択されたロゴ | ## Description -This method returns a logo of a specific size, depending on the value of the *size* parameter. -1 = smallest size, 5 = largest size. +このメソッドは *size* 引数の値に応じて、特定のサイズのロゴを返します。1 = 最小のサイズ、 5 = 最大のサイズ。 ## Example @@ -219,7 +218,7 @@ This method returns a logo of a specific size, depending on the value of the *si C_PICTURE($logo) C_LONGINT($size) -//Get the largest logo +// 最大のロゴを取得 $logo:=GetLogo(5) ``` ```` diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/project-method-properties.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/project-method-properties.md index 743181b1c2adac..a32c6d0d404fbb 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/project-method-properties.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/project-method-properties.md @@ -1,6 +1,6 @@ --- id: project-method-properties -title: Project Method Properties +title: プロジェクトメソッドプロパティ --- プロジェクトメソッドを作成した後、その名称やプロパティを変更することができます。 プロジェクトメソッドのプロパティは主に、実行アクセスやセキュリティ条件 (ユーザー、統合されたサーバーやサービスからのアクセスの可否) に加えて、実行モードに関する設定が含まれます。 @@ -22,9 +22,9 @@ title: Project Method Properties :::caution -Changing the name of a method already used in the project can invalidate any methods or formulas that use the old method name and runs the risk of disrupting application functioning. It is strongly recommended to use the [renaming function for project methods](../Project/search-replace.md#renaming-project-methods-and-variables). この機能を使用すれば、デザイン環境における当該メソッドの呼び出し箇所がすべて自動的に更新されます (ただし EXECUTE METHOD など、文字列としてメソッド名が参照されている個所を除きます)。 +プロジェクトメソッドの名前を変更すると、そのメソッドを旧名称で呼び出している他のメソッドやフォーミュラなど、アプリケーションの機能が無効になるリスクがあります。 この場合、 [プロジェクトメソッドの改名機能](../Project/search-replace.md#renaming-project-methods-and-variables) を使用することが強く推奨されます。 この機能を使用すれば、デザイン環境における当該メソッドの呼び出し箇所がすべて自動的に更新されます (ただし EXECUTE METHOD など、文字列としてメソッド名が参照されている個所を除きます)。 -4D Server の場合、名称変更は変更終了後にサーバーに反映されます。 複数のユーザーが同時に名称を変更しようとすると、最後におこなわれた名称変更が適用されます。 You may want to specify a method owner so that only certain users can change the method's name. +4D Server の場合、名称変更は変更終了後にサーバーに反映されます。 複数のユーザーが同時に名称を変更しようとすると、最後におこなわれた名称変更が適用されます。 メソッドのオーナーを指定すれば特定のユーザー以外はメソッド名を変更できないようにできます。 ::: @@ -54,11 +54,11 @@ Changing the name of a method already used in the project can invalidate any met この属性は、クライアント/サーバーモードの 4Dアプリケーションでのみ考慮されます。 このオプションが選択されていると、そのプロジェクトメソッドは呼び出し方に関わらず常にサーバー上で実行されます。 -For more information on this option, refer to [Execute on Server attribute](https://doc.4d.com/4Dv20/4D/20/Execute-on-Server-attribute.300-6330555.en.html). +このオプションに関する詳細は、4D Serverリファレンスマニュアルの [サーバー上で実行属性](https://doc.4d.com/4Dv20/4D/20/Execute-on-Server-attribute.300-6330555.ja.html) を参照ください。 ## 実行モード -このオプションを使用すると、メソッドのプリエンプティブ実行が可能であることを宣言できます。 It is described in the [Preemptive processes section](../Develop/preemptive.md). +このオプションを使用すると、メソッドのプリエンプティブ実行が可能であることを宣言できます。 これについては、[プリエンプティブプロセス](../Develop/preemptive.md) の章で説明されています。 ## 公開オプション @@ -66,23 +66,23 @@ For more information on this option, refer to [Execute on Server attribute](http ### Webサービス -この属性を使用して、SOAPリクエストでアクセス可能な Webサービスとして当該メソッドを公開することができます。 For more information, refer to the [Publication and use of Web Services](https://doc.4d.com/4Dv20/4D/20.2/Publication-and-use-of-Web-Services.200-6750103.en.html) chapter. このオプションを選択すると、**WSDL を公開** オプションを選択できるようになります。 +この属性を使用して、SOAPリクエストでアクセス可能な Webサービスとして当該メソッドを公開することができます。 詳細は [Web サービスの公開と使用](https://doc.4d.com/4Dv20/4D/20.2/Publication-and-use-of-Web-Services.200-6750103.ja.html) を参照ください。 このオプションを選択すると、**WSDL を公開** オプションを選択できるようになります。 -In the Explorer, project methods that are offered as a Web Service are given a specific icon. +エクスプローラーでは、Web サービスとして提供されるプロジェクトメソッドには専用のアイコンが表示されます。 **注:** メソッド名が XML の命名規則に準拠しない文字 (たとえばスペース) を含む場合、そのメソッドは Webサービスとして公開できません。 この場合、設定は保存できません。 ### WSDL を公開 -この属性は "Webサービス" 属性が設定されている場合にのみ利用可能です。 この属性を設定すると、当該メソッドが 4Dアプリケーションの WSDLに 含まれます。 For more information about this, refer to [Generation of the WSDL](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html#502689). +この属性は "Webサービス" 属性が設定されている場合にのみ利用可能です。 この属性を設定すると、当該メソッドが 4Dアプリケーションの WSDLに 含まれます。 詳細については [WSDL ファイルを生成する](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.ja.html#502689) を参照ください。 -In the Explorer, project methods that are offered as a Web Service and published in WSDL are given a specific icon. +エクスプローラーでは、Webサービスとして提供され、WSDLで公開されたプロジェクトメソッドには専用のアイコンが表示されます。 ### 4D タグと URL(4DACTION...) このオプションは、4D Webサーバーのセキュリティを強化するために使用されます。このオプションが選択されていない場合、[4DACTION URL](../WebServer/httpRequests.md#4daction) を使用した HTTPリクエスト、および [4DSCRIPT、4DTEXT、4DHTML タグ](../Tags/transformation-tags.md) から当該メソッドを直接呼び出すことができません。 -In the Explorer, project methods with this attribute are given a specific icon. +この属性が指定されたプロジェクトメソッドは、エクスプローラーで以下のアイコンが表示されます。 セキュリティのため、このオプションはデフォルトで選択されていません。 Web機能から直接呼び出されるメソッドには、このオプションを明示的に選択しなければなりません。 @@ -90,14 +90,14 @@ In the Explorer, project methods with this attribute are given a specific icon. この属性が選択されていると、当該プロジェクトメソッドは 4D の SQLエンジンから実行可能となります。 デフォルトでは選択されておらず、明示的に許可されない限り 4Dメソッドは保護されており、4D SQLエンジンから呼び出すことはできません。 -This property applies to all internal and external SQL queries --- executed via the ODBC driver, SQL code inserted between the [Begin SQL](../commands-legacy/begin-sql.md)/[End SQL](../commands-legacy/end-sql.md) tags or the [QUERY BY SQL](../commands-legacy/query-by-sql.md) command. +このプロパティは、全ての内部あるいは外部SQL クエリに対して適用されます。この外部SQL クエリにはODBC ドライバ、 [Begin SQL](../commands-legacy/begin-sql.md)/[End SQL](../commands-legacy/end-sql.md) タグ内に挿入されたSQL コード、あるいは [QUERY BY SQL](../commands-legacy/query-by-sql.md) コマンドから実行されたものを含みます。 **注:** - メソッドに "SQL" 属性が設定されていても、メソッドの実行時にはデータベース設定およびメソッドプロパティに設定されたアクセス権が考慮されます。 - ODBC の **SQLProcedure** 関数は "SQL" 属性が設定されているプロジェクトメソッド名のみを返します。 -For more information, refer to [4D SQL engine implementation](https://doc.4d.com/4Dv20/4D/20/4D-SQL-engine-implementation.300-6342089.en.html) in the 4D SQL manual. +詳細については、SQLマニュアルの [4Dと4D SQLエンジン統合の原則](https://doc.4d.com/4Dv20/4D/20/4D-SQL-engine-implementation.300-6342089.ja.html) を参照ください。 ### REST サーバー @@ -109,7 +109,7 @@ For more information, refer to [4D SQL engine implementation](https://doc.4d.com メソッド属性の一括設定をおこなうには: -1. On the [Methods Page](https://doc.4d.com/4Dv20/4D/20.2/Methods-Page.300-6750119.en.html) of the 4D Explorer, expand the options menu, then choose the **Batch setting of attributes...** command. "メソッド属性" ダイアログボックスが表示されます: +1. エクスプローラーの [メソッドページ](https://doc.4d.com/4Dv20/4D/20.2/Methods-Page.300-6750119.ja.html) からオプションメニューを展開し、**属性の一括設定...** コマンドを選択します。 "メソッド属性" ダイアログボックスが表示されます: 2. "一致するメソッド名" エリアに属性を一括設定するメソッドを指定するための名前条件を入力します。 入力した文字列を使用してメソッド名が検索されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/search-replace.md b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/search-replace.md index 6d1d8f9c2e5f33..3ebb6c78c5a199 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/search-replace.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21-R2/Project/search-replace.md @@ -1,54 +1,54 @@ --- id: search-replace -title: Search and Replace +title: 検索と置換 --- -4D provides several search and replace functions for elements in all of the Design environment. +4D はデザイン環境の全ての要素に対して複数の検索と置換機能を提供しています。 -- You can search for a string or a type of object (variable, comment, expression, etc.) in part of or in the entire project on the basis of custom criteria ("starts with", "contains", etc.). You can, for example, search for all the variables containing the string "MyVar", only in methods whose name begins with "HR_". -- The results are displayed in a results window, where it is possible to perform replacements in the contents. You can also export these results in a text file that can be imported into a spreadsheet. -- You can detect variables and methods that are not used in your code and then remove them to free up memory. -- You can rename a project method or a variable throughout the Design environment in a single operation. +- 文字列またはオブジェクトのタイプ(変数、コメント、式、など)に対して検索を行うことができます。 またカスタム条件("前方一致"、"含む"など)に基づいてプロジェクトの一部または全体に対して検索を行えます。 例えば、"MyVar" という文字列を格納している変数を、名前が"HR_" で始まるメソッド内2位おいてのみ検索する、といったことを行うことができます。 +- 検索した結果は結果ウィンドウ内に表示表示され、ここからコンテンツの置換を行うことができます。 この結果をテキストファイルとして書き出して、それをスプレッドシートなどに読み込ませることもできます。 +- コード内で使用されていない変数やメソッドを検知し、それらを削除することでメモリを解放することもできます。 +- 一回の操作で、デザイン環境内のプロジェクトメソッドや変数を名称変更することができます。 :::note -There are also functions for searching among the methods of your project in the context menu of the Methods Page in the Explorer: **Search Callers** (aussi available in the [Code editor](../code-editor/write-class-method.md#search-callers) and **Search Dependencies**. Both functions display the items found in a [Results window](#results-window). +またエクスプローラーのメソッドページのコンテキストメニューには、プロジェクトのメソッド内を検索するための機能もあります: **呼び出し元を検索** ([メソッドエディター](../code-editor/write-class-method.md#search-callers) からも利用可能です) および **依存関係を検索** です。 どちらの機能も、[結果ウィンドウ](#結果ウィンドウ) 内に見つかった項目を表示します。 ::: -## Search Location +## 検索する場所 -When you search the Design environment, the following elements are searched: +デザイン環境を検索する場合、以下の要素が検索されます: -- Names of project methods and classes -- Contents of all methods and classes -- Names of tables, fields and forms -- Contents of forms: - - object names and titles - - names of help tips, pictures, variables, style sheets, - - formatting strings +- プロジェクトメソッドおよびクラスの名前 +- 全てのメソッドとクラスの内容 +- テーブル名、フィールド名、フォーム名 +- フォームの中身: + - オブジェクト名とタイトル + - ヘルプTips、ピクチャー、変数、スタイルシートの名前 + - フォーマット文字列 - 式 -- Menus (names and items) and commands associated with menu items -- Choice lists (names and items) -- Help tips (names and content) -- Formats / filters (names and content) -- Comments in the Explorer and in the code +- メニュー(名前と項目)およびメニュー項目に割り当てられたコマンド +- 選択リスト(名前と項目) +- ヘルプTips (名前と内容) +- フォーマット / フィルター (名前と内容) +- エクスプローラーおよびコード内でのコメント -## Find in Design +## デザインモードを検索 -### Starting a search +### 検索を開始する -Specify your search criteria in the "Find in design" window: +"デザインモードを検索"ウィンドウ内で検索条件を指定します: -1. Click on the Search button (![](../assets/en/Project/search-icon.png)) in the 4D toolbar. - OR - Select the **Find in Design...** command from the **Edit** menu. +1. 4D ツールバー内の検索ボタン (![](../assets/en/Project/search-icon.png)) をクリックします。 + または + **編集** メニュー内から **デザインモードを検索...** コマンドを選択します。 -The "Find in design" window appears: +"デザインモードを検索" ウィンドウが表示されます: ![](../assets/en/Project/find-in-design.png) -The areas of the "Find in design" vary dynamically depending on the selections made in the menus. You can expand this window so that all options are visible: +メニューの選択に応じて、"デザインモードを検索"のエリアは動的に変化します。 ウィンドウを展開することで、全てのオプションを表示することもできます: ![](../assets/en/Project/find-in-design-expanded.png) @@ -153,7 +153,7 @@ You can select options that can help speed up your searches: - **Search in methods**: When this option is deselected, the search is done throughout the project, except in methods. - **Case Sensitive**: When this option is selected, the search uses the case of the characters as they have been entered in the Find area. -## Results window +## 結果ウィンドウ The Results window lists all elements found that match the search criteria set using different types of searches: diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md index f76fd37c7c62c7..c4b2386b673af9 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md @@ -180,24 +180,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -内部的に、`return x` は `myReturnValue:=x` を実行し、呼び出し元に戻ります。 `return` が式なしで使われた場合、関数またはメソッドは宣言された戻り値の型 (あれば) の null値を返し、それ以外の場合には *undefined* です。 - -::: - -`return`文は、[戻り値](#戻り値) の標準的なシンタックスと併用することができます (戻り値は宣言された型でなくてはなりません)。 ただし、return はコードの実行を直ちに終了させることに注意が必要です。 例: +`return`文は、[戻り値](#戻り値) の標準的なシンタックスと併用することができます (戻り値は宣言された型でなくてはなりません)。 When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // 20 が返されます + // function returns 20 Function getValue -> $v : Integer return 10 - $v:=20 // 実行されません - // 10 が返されます + $v:=20 // never executed + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## 引数の間接参照 (${N}) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md index a237f5e6f97003..62f31b3c513b6f 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ title: スケール #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md index e453c5a7cf282a..e0b614eb187b00 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ title: テキスト、ピクチャー #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ title: テキスト、ピクチャー #### JSON 文法 -| 名称 | データタイプ | とりうる値 | -| :------------- | ------ | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| 名称 | データタイプ | とりうる値 | +| :------------- | ------ | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### 対象オブジェクト -[ツールバーボタン](button_overview.md#ツールバー) - [ベベルボタン](button_overview.md#ベベル) - [角の丸いべべルボタン](button_overview.md#角の丸いベベル) - [OS X グラデーションボタン](button_overview.md#os-x-グラデーション) - [OS X テクスチャーボタン](button_overview.md#os-x-テクスチャー) - [Office XP ボタン](button_overview.md#office-xp) - [サークルボタン](button_overview.md#サークル) - [カスタムボタン](button_overview.md#カスタム) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### コマンド -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md index dbc592fcc6144c..590e48ea498362 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/ORDA/entities.md @@ -442,7 +442,7 @@ $myInvoices:=$myParts.invoiceItems.invoice 最後の行は、$myParts エンティティセレクション内のパーツにリレートされている請求項目が少なくとも1行含まれているすべての請求書のエンティティセレクションを、*$myInvoices* 内に返します。 エンティティセレクションのプロパティとしてリレーション属性が使用されると、返される結果は、たとえ返されるエンティティが一つだけだとしても、常に新しいエンティティセレクションとなります。 エンティティセレクションのプロパティとしてリレーション属性が使用された結果、エンティティが何も返ってこない場合には、返されるのは空のエンティティセレクションであり、null ではありません。 -## Restricting entity selections {#restricting-entity-selections} +## エンティティセレクションを制限する {#restricting-entity-selections} ORDAでは、あらゆるデータクラスにおいて、エンティティへのアクセスを制限するフィルターを作成することができます。 一旦実装されると、データクラスのエンティティが **ORDAクラス関数** ([`all()`](../API/DataClassClass.md#all) や [`query()`](../API/EntitySelectionClass.md#query)など) または [**REST API**](../category/api-dataclass) ([Data Explorer](../Admin/dataExplorer.md) や [remote datastores](remoteDatastores.md)など) によってアクセスされるたびに、フィルターが自動的に適用されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/forms.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/forms.md index de3642ffaa7e05..39491c00152c35 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/forms.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/forms.md @@ -29,6 +29,6 @@ title: フォームページ ## 新フォームのデフォルト表示 - **境界**, **ルーラー**, ...: フォームエディターの各新規ウィンドウにデフォルトで表示する項目をチェックします。 フォームエディターの **表示** 階層メニューを使って、各ウィンドウの表示を個別に変更することができます。 -- **マーカーラインのカラー**: このオプションは、フォームエディター中で (ヘッダー、ブレーク、詳細、フッター) エリアを定義するマーカーラインの色を設定します。 For more information about markers, refer to [Using output control lines](https://doc.4d.com/4Dv20/4D/20.2/Using-output-control-lines.300-6750228.en.html). +- **マーカーラインのカラー**: このオプションは、フォームエディター中で (ヘッダー、ブレーク、詳細、フッター) エリアを定義するマーカーラインの色を設定します。 マーカーに関する詳細は [出力コントロールラインを使用する](https://doc.4d.com/4Dv20/4D/20.2/Using-output-control-lines.300-6750228.ja.html) を参照してください。 - **デフォルトで表示するバッジ**: このオプションは、フォームエディターの新しいウィンドウを開く際、どのバッジをデフォルトで表示するかを設定します。 バッジに関する詳細は [バッジを使用する](FormEditor/formEditor.md#バッジを使用する) を参照ください。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/general.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/general.md index cf71cee6b3d2aa..32a171f283aa60 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/general.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/general.md @@ -78,7 +78,7 @@ macOS Sierra 以降、Mac のアプリケーションは、複数のウィンド ![](../assets/en/Preferences/general5.png) -These items allow you to create binary databases (see [Creating a new database](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.en.html) section). これらの項目はデフォルトでは表示されません。今後 4D は、新規の開発にはプロジェクトベースのアーキテクチャーを使用することを推奨するからです。 +この項目を使用するとバイナリーデータベースを作成することができるようになります([新しいデータベースを作成する](https://doc.4d.com/4Dv20/4D/20.2/Creating-a-new-database.300-6750129.ja.html) の章を参照)。 これらの項目はデフォルトでは表示されません。今後 4D は、新規の開発にはプロジェクトベースのアーキテクチャーを使用することを推奨するからです。 ## 新規プロジェクト作成時 @@ -94,13 +94,13 @@ These items allow you to create binary databases (see [Creating a new database]( ### Project ソースファイルにトークンを含める -このオプションを有効にすると、新規の 4Dプロジェクトで保存された [メソッドのソースファイル](../Project/architecture.md#sources) には、クラシックランゲージおよびデータベースオブジェクト (定数、コマンド、テーブル、フィールド) 用の **トークン** が含まれます。 Tokens are additional characters such as `:C10` or `:5` inserted in the source code files, that allow renaming tables and fields and identifying elements whatever the 4D version (see [Using tokens in formulas](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.en.html)). +このオプションを有効にすると、新規の 4Dプロジェクトで保存された [メソッドのソースファイル](../Project/architecture.md#sources) には、クラシックランゲージおよびデータベースオブジェクト (定数、コマンド、テーブル、フィールド) 用の **トークン** が含まれます。 トークンとは、ソースコードファイルに挿入される `:C10` や `:5` などの追加文字で、テーブルやフィールドの名前を変更したり、4Dバージョンに関係なく要素を識別したりすることを可能にします ([フォーミュラ内でのトークンの使用](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.ja.html) を参照ください)。 バージョン管理システムや外部のコードエディターを新規プロジェクトで使用したい場合、これらのツールでのコードの可読性のために、このオプションのチェックを外すことができます。 > このオプションは、プロジェクトにのみ適用できます (バイナリデータベースでは常にトークンが含まれます)。 -> You can always get the code with tokens by calling [`METHOD GET CODE`](../commands-legacy/method-get-code.md) with 1 in the *option* parameter. +> *option* パラメーターに 1 を指定して [`METHOD GET CODE`](../commands-legacy/method-get-code.md) を呼び出すと、 トークンを含むコードをいつでも取得することができます。 #### 既存プロジェクトからトークンを除外する diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/methods.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/methods.md index e1e76859c3dc67..2a4beeca71cf9d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/methods.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/methods.md @@ -112,7 +112,7 @@ title: メソッドページ ![](../assets/en/Preferences/show-clipboards.png) -The corresponding [clipboard shorcuts](../code-editor/write-class-method.md#clipboards) are still active when these clipboards are hidden. +これらのクリップボードが非表示の時でも、対応する[クリップボードのショートカット](../code-editor/write-class-method.md#クリップボード) は引き続きアクティブです。 #### 論理ブロックを強調 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/overview.md index 6899c4783774d4..c5fff66f71fe87 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/overview.md @@ -21,7 +21,7 @@ title: 環境設定 ## ストレージ -Settings made in the Preferences dialog box are saved in an XML format preferences file named **4D Preferences vXX.4DPreferences** that is stored in the active 4D folder of the current user, as returned by the [`Get 4D folder`](../commands-legacy/get-4d-folder.md) command: +環境設定ダイアログに保存された設定は XMLフォーマットで **4D Preferences vXX.4DPreferences** という名称のファイルに保存されます。 このファイルは、 [`Get 4D folder`](../commands-legacy/get-4d-folder.md) が返す、カレントユーザーの Active 4D Folder に保存されます: - Windows: `\{disk\}\Users\\{username\}\AppData\Roaming\4D` - macOS: `\{disk\}:Users:\{username\}:Library:Application Support:4D` diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/structure.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/structure.md index 57caff4bc64665..4b74e1f227c118 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/structure.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Preferences/structure.md @@ -5,7 +5,7 @@ title: ストラクチャーページ ## プライマリーキー -These options in the preferences modify the default name and type of the primary key fields that are added automatically by 4D when new tables are created or by means of the [Primary key manager](https://doc.4d.com/4Dv20/4D/20.2/Primary-key-manager.300-6750292.en.html)). +環境設定内のこれらのオプションによって、新しくテーブルが追加されたとき、または [プライマリーキー管理](https://doc.4d.com/4Dv20/4D/20.2/Primary-key-manager.300-6750292.ja.html) 機能の使用によって 4D が自動的に追加するプライマリーキーのデフォルトの名前と型を変更することができます。 次のオプションから選択することができます: @@ -18,9 +18,9 @@ These options in the preferences modify the default name and type of the primary ### ストラクチャーの描画クォリティ -このオプションで、ストラクチャーエディターの描画レベルを変更できます。 デフォルトで品質は **高** に設定されています。 標準品質を選択して、表示速度を優先させることができます。 The effect of this setting is mainly perceptible when using the zoom function (see the "Zoom" paragraph in [Structure editor](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.en.html#105667)). +このオプションで、ストラクチャーエディターの描画レベルを変更できます。 デフォルトで品質は **高** に設定されています。 標準品質を選択して、表示速度を優先させることができます。 この設定の効果は主にズーム機能を使用する際に実感することができます ([ストラクチャーエディター](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.ja.html#105667) のズーム参照)。 ### フォルダーが表示対象外のとき -This option sets the appearance of dimmed tables in the Structure editor, when you carry out selections by folder (see [Highlight/dim tables by folder](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.en.html#4592928)). 薄暗く表示 (テーブルイメージの代わりに影が表示される) または非表示 (テーブルは完全に見えなくなる) が選択できます。 +このオプションは、ストラクチャーエディターでフォルダーによって選択する際の、テーブルが表示対象外のときのアピアランスを設定できます ([フォルダーごとにテーブルをハイライト/薄暗くする](https://doc.4d.com/4Dv20/4D/20.2/Structure-editor.300-6750284.ja.html#4592928) 参照)。 薄暗く表示 (テーブルイメージの代わりに影が表示される) または非表示 (テーブルは完全に見えなくなる) が選択できます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/architecture.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/architecture.md index e097baee2af44a..36579e166605d2 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/architecture.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/architecture.md @@ -51,23 +51,23 @@ title: アーキテクチャー ### `Sources` -| 内容 | 説明 | 形式 | -| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | -| catalog.4DCatalog | テーブルおよびフィールド定義 | XML | -| catalog_editor.json | ストラクチャーエディターでのテーブル、フィールド、およびリンクのカスタム位置と色。 変換されたプロジェクトでは [互換性設定](../settings/compatibility.md) に依存します。 | JSON | -| folders.json | エクスプローラーフォルダー定義 | JSON | -| menus.json | メニュー定義 | JSON | -| roles.json | [Privileges, permissions](../ORDA/privileges.md#rolesjson-file) and other security settings for the project | JSON | -| settings.4DSettings | *ストラクチャー*データベース設定。 They are not taken into account if *[user settings](#settings-user)* or *[user settings for data](#settings-user-data)* are defined (see also [Priority of settings](../settings/overview.md#priority-of-settings). **警告**: コンパイル済みアプリケーションの場合、ストラクチャー設定は読み取り専用の .4dz ファイルに格納されます。 For deployment needs, it is necessary to [enable](../settings/overview.md#enabling-user-settings) and use *user settings* or *user settings for data* to define custom settings. | XML | -| tips.json | 定義されたヘルプTips | JSON | -| lists.json | 定義されたリスト | JSON | -| filters.json | 定義されたフィルター | JSON | -| dependencies.json | プロジェクトに [ロードするコンポーネント](components.md) の名前 | JSON | -| HTTPHandlers.json | Custom [HTTP request handlers](../WebServer/http-request-handler.md) defined for the web server | JSON | -| HTTPRules.json | Custom [HTTP rules](../WebServer/http-rules.md) defined for the web server | JSON | -| styleSheets.css | CSS スタイルシート | CSS | -| styleSheets_mac.css | Mac用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | -| styleSheets_windows.css | Windows用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | +| 内容 | 説明 | 形式 | +| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | +| catalog.4DCatalog | テーブルおよびフィールド定義 | XML | +| catalog_editor.json | ストラクチャーエディターでのテーブル、フィールド、およびリンクのカスタム位置と色。 変換されたプロジェクトでは [互換性設定](../settings/compatibility.md) に依存します。 | JSON | +| folders.json | エクスプローラーフォルダー定義 | JSON | +| menus.json | メニュー定義 | JSON | +| roles.json | プロジェクトの [権限、パーミッション](../ORDA/privileges.md#rolesjson-ファイル)およびその他のセキュリティ設定 | JSON | +| settings.4DSettings | *ストラクチャー*データベース設定。 *[ユーザー設定](#settings-ユーザー)* または *[データファイル用のユーザー設定](#settings-ユーザーデータ)* が定義されている場合は、そちらの設定が優先されます ([設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください)。 **警告**: コンパイル済みアプリケーションの場合、ストラクチャー設定は読み取り専用の .4dz ファイルに格納されます。 運用時にカスタム設定を定義するには、[ユーザー設定を有効化](../settings/overview.md#ユーザー設定の有効化) し、*ユーザー設定* または *データファイル用のユーザー設定* を使う必要があります。 | XML | +| tips.json | 定義されたヘルプTips | JSON | +| lists.json | 定義されたリスト | JSON | +| filters.json | 定義されたフィルター | JSON | +| dependencies.json | プロジェクトに [ロードするコンポーネント](components.md) の名前 | JSON | +| HTTPHandlers.json | Web サーバー用に定義されたカスタムの [HTTP リクエストハンドラー](../WebServer/http-request-handler.md)。 | JSON | +| HTTPRules.json | Web サーバー用に定義されたカスタムの [HTTP ルール](../WebServer/http-rules.md) | JSON | +| styleSheets.css | CSS スタイルシート | CSS | +| styleSheets_mac.css | Mac用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | +| styleSheets_windows.css | Windows用 CSS スタイルシート (変換されたバイナリデータベースより) | CSS | #### `DatabaseMethods` @@ -163,9 +163,9 @@ Data フォルダーには、データファイルのほか、データに関わ ### `Settings` (ユーザーデータ) -This folder contains [**user settings for data**](../settings/overview.md#user-settings-for-data-file) used for application administration. +このフォルダには、アプリケーションの管理に使用される [**データのユーザー設定**](../settings/overview.md#データファイル用のユーザー設定) が格納されます。 -> この設定は [ユーザー設定](#settings-ユーザー) や [ストラクチャー設定](#sources) より優先されます。 See also [Priority of settings](../settings/overview.md#priority-of-settings). +> この設定は [ユーザー設定](#settings-ユーザー) や [ストラクチャー設定](#sources) より優先されます。 [設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください。 | 内容 | 説明 | 形式 | | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | @@ -183,13 +183,13 @@ Logs フォルダーには、プロジェクトが使用するすべてのログ - コマンドデバッグ - 4D Serverリクエスト (クライアントマシンおよびサーバー上で生成) -> An additional Logs folder is available in the system user preferences folder (active 4D folder, see [Get 4D folder](../commands-legacy/get-4d-folder.md) command) for maintenance log files and in cases where data folder is read-only. +> データフォルダーが読み取り専用モードの場合やメンテナンスログファイルの保存には、システムのユーザー設定フォルダー (Active 4D Folder のこと、詳しくは [Get 4D folder](../commands-legacy/get-4d-folder.md) コマンド参照) 内にある追加の Logs フォルダーが利用されます。 ## `Settings` (ユーザー) -This folder contains [**user settings**](../settings/overview.md#user-settings) used for application administration. +このフォルダには、アプリケーションの管理に使用される [**ユーザー設定**](../settings/overview.md#ユーザー設定) が格納されます。 -> この設定は [ストラクチャー設定](#sources) より優先されます。 しかしながら、[データファイル用のユーザー設定](#settings-ユーザーデータ) が存在する場合は、そちらが優先されます。 See also [Priority of settings](../settings/overview.md#priority-of-settings). +> この設定は [ストラクチャー設定](#sources) より優先されます。 しかしながら、[データファイル用のユーザー設定](#settings-ユーザーデータ) が存在する場合は、そちらが優先されます。 [設定の優先順位](../settings/overview.md#設定の優先順位) も参照ください。 | 内容 | 説明 | 形式 | | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/code-overview.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/code-overview.md index 9e39fbac1bca77..e3ef08ea72e50f 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/code-overview.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/code-overview.md @@ -1,6 +1,6 @@ --- id: code-overview -title: Creating Methods and classes +title: メソッドとクラスの作成 --- プロジェクトで使用される 4D コードは、 [メソッド](../Concepts/methods.md) および [クラス](../Concepts/classes.md) に記述されます。 diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md index 52da1ba89e39c8..120a2087373e27 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/components.md @@ -340,7 +340,7 @@ GitHubでリリースが作成されると、そこに**タグ**と**バージ このファイルは、依存関係・パス・url・読み込みエラー・その他の情報などをログに記録します。 これは、コンポーネントの読み込み管理やトラブルシューティングに役立ちます。 -## Monitoring Project Dependencies {#monitoring-project-dependencies} +## プロジェクトの依存関係をモニタリング {#monitoring-project-dependencies} 開かれているプロジェクトでは、**依存関係** パネルで依存関係の追加・削除・更新ができるほか、現在の読み込み状態に関する情報を取得することができます。 @@ -501,11 +501,11 @@ GitHub 依存関係は[**dependencies.json**](#dependenciesjson) ファイル内 ![dependency-git-tag](../assets/en/Project/dependency-git-tag.png) -- **Follow 4D version** (default, recommended option): Download the latest component release that is compatible with the running 4D version. この依存関係ルールは、コンポーネントのリリースタグが適切な[命名規則](#4dバージョンタグの命名規則) に従っていた場合にのみ使用できます。 This option is **recommended**, especially for the [components developed by 4D](../Extensions/overview.md#components-developed-by-4d). +- **4D のバージョンに追随する** (デフォルト、推奨されるオプション): 実行中の4D バージョンと互換性のある最新のコンポーネントリリースをダウンロードします。 この依存関係ルールは、コンポーネントのリリースタグが適切な[命名規則](#4dバージョンタグの命名規則) に従っていた場合にのみ使用できます。 このオプションは、特に[4D によって開発されたコンポーネント](../Extensions/overview.md#4d-によって開発されたコンポーネント) に対して推奨されます。 - **メジャー更新の手前まで**: [セマンティックバージョニングの範囲](#タグとバージョン)を定義して、更新を次のメジャーバージョンの手前までに制限します。 - **マイナー更新の手前まで**: 上と同様に、更新を次のマイナーバージョンの手前までに制限します。 - **自動更新しない(タグ指定)**: 利用可能なリストから [特定のタグ](#セマンティックバージョン範囲]) を選択するか、手動で入力します。 -- **Latest**: Allows to download the release that is tagged as the latest version. **Warning:** While using this option can be convenient during early development, it is better to avoid it in production or shared projects since it automatically pulls in newer releases, including beta releases, which may lead to unexpected updates or breaking changes. +- **自動更新する(latest)**: 最新(latest)としてタグづけされたリリースをダウンロードすることを許可します。 **警告:** このオプションを使用するのは開発の初期段階では便利かもしれませんが、ベータリリースを含め新しいリリースを自動的に取り込むため、予期せぬアップデートや変更を引き起こす可能性があります。そのため、製品環境や共有プロジェクトでは避けた方が賢明です。 現在のGitHub 依存関係バージョンは、依存関係の項目の右側に表示されます: diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md index f12231ad22ee78..a8dada19703081 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/date-time-formats.md @@ -9,7 +9,7 @@ title: 日付と時間のフォーマット - [`String`](../commands/string.md) コマンド - [`OBJECT SET FORMAT`](../commands-legacy/object-set-format.md) および [`OBJECT Get format`](../commands-legacy/object-get-format.md) コマンド -- the date and time format form object properties, available from the Property list or the [`dateFormat`](../FormObjects/properties_Display.md#date-format) and [`timeFormat`](../FormObjects/properties_Display.md#time-format) JSON properties. +- プロパティリストまたは [`dateFormat`](../FormObjects/properties_Display.md#日付フォーマット) および [`timeFormat`](../FormObjects/properties_Display.md#時間フォーマット) のJSONプロパティから利用可能な、フォームオブジェクトの "日付/時間フォーマット" プロパティ ## パターンリスト diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/documentation.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/documentation.md index 6748776051563e..6d83df7f097d34 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/documentation.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/documentation.md @@ -107,7 +107,7 @@ title: ドキュメンテーション :::note -Otherwise, the code editor displays [the block comment at the top of the method code](../code-editor/write-class-method.md#help-tips). +それ以外の場合には、[メソッドコードの先頭のコメントブロック](../code-editor/write-class-method.md#ヘルプtips) がコードエディターに表示されます。 ::: @@ -159,10 +159,10 @@ _イタリック_ - テーブルタグ: ```md -| Parameter | Type | Description | +| 引数 | 型 | 説明 | | --------- | ------ | ------------ | -| wpArea | Text |Write pro area| -| toolbar | Text |Toolbar name | +| wpArea | テキスト |Write pro エリア| +| toolbar | テキスト |ツールバー名 | ``` - リンクタグ: @@ -196,22 +196,21 @@ The [documentation](https://doc.4d.com) of the command .... `WP SwitchToolbar.md` ファイルに、次のように書くことができます: ````md - + GetLogo (size) -> logo -| Parameter | Type | in/out | Description | +| 引数 | 型 | 入/出 | 詳細 | | --------- | ------ | ------ | ----------- | -| size | Integer | in | Logo style selector (1 to 5) | -| logo | Picture | out | Selected logo | +| size | Integer | in | ロゴスタイルセレクター (1 〜 5) | +| logo | Picture | out | 選択されたロゴ | ## Description -This method returns a logo of a specific size, depending on the value of the *size* parameter. -1 = smallest size, 5 = largest size. +このメソッドは *size* 引数の値に応じて、特定のサイズのロゴを返します。1 = 最小のサイズ、 5 = 最大のサイズ。 ## Example @@ -219,7 +218,7 @@ This method returns a logo of a specific size, depending on the value of the *si C_PICTURE($logo) C_LONGINT($size) -//Get the largest logo +// 最大のロゴを取得 $logo:=GetLogo(5) ``` ```` diff --git a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/project-method-properties.md b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/project-method-properties.md index cca7ea78f5692d..2d61312f8f9ad6 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/project-method-properties.md +++ b/i18n/ja/docusaurus-plugin-content-docs/version-21/Project/project-method-properties.md @@ -1,6 +1,6 @@ --- id: project-method-properties -title: Project Method Properties +title: プロジェクトメソッドプロパティ --- プロジェクトメソッドを作成した後、その名称やプロパティを変更することができます。 プロジェクトメソッドのプロパティは主に、実行アクセスやセキュリティ条件 (ユーザー、統合されたサーバーやサービスからのアクセスの可否) に加えて、実行モードに関する設定が含まれます。 @@ -54,11 +54,11 @@ title: Project Method Properties この属性は、クライアント/サーバーモードの 4Dアプリケーションでのみ考慮されます。 このオプションが選択されていると、そのプロジェクトメソッドは呼び出し方に関わらず常にサーバー上で実行されます。 -For more information on this option, refer to [Execute on Server attribute](https://doc.4d.com/4Dv20/4D/20/Execute-on-Server-attribute.300-6330555.en.html). +このオプションに関する詳細は、4D Serverリファレンスマニュアルの [サーバー上で実行属性](https://doc.4d.com/4Dv20/4D/20/Execute-on-Server-attribute.300-6330555.ja.html) を参照ください。 ## 実行モード -このオプションを使用すると、メソッドのプリエンプティブ実行が可能であることを宣言できます。 It is described in the [Preemptive processes section](../Develop/preemptive.md). +このオプションを使用すると、メソッドのプリエンプティブ実行が可能であることを宣言できます。 これについては、[プリエンプティブプロセス](../Develop/preemptive.md) の章で説明されています。 ## 公開オプション @@ -66,23 +66,23 @@ For more information on this option, refer to [Execute on Server attribute](http ### Webサービス -この属性を使用して、SOAPリクエストでアクセス可能な Webサービスとして当該メソッドを公開することができます。 For more information, refer to the [Publication and use of Web Services](https://doc.4d.com/4Dv20/4D/20.2/Publication-and-use-of-Web-Services.200-6750103.en.html) chapter. このオプションを選択すると、**WSDL を公開** オプションを選択できるようになります。 +この属性を使用して、SOAPリクエストでアクセス可能な Webサービスとして当該メソッドを公開することができます。 詳細は [Web サービスの公開と使用](https://doc.4d.com/4Dv20/4D/20.2/Publication-and-use-of-Web-Services.200-6750103.ja.html) を参照ください。 このオプションを選択すると、**WSDL を公開** オプションを選択できるようになります。 -In the Explorer, project methods that are offered as a Web Service are given a specific icon. +エクスプローラーでは、Web サービスとして提供されるプロジェクトメソッドには専用のアイコンが表示されます。 **注:** メソッド名が XML の命名規則に準拠しない文字 (たとえばスペース) を含む場合、そのメソッドは Webサービスとして公開できません。 この場合、設定は保存できません。 ### WSDL を公開 -この属性は "Webサービス" 属性が設定されている場合にのみ利用可能です。 この属性を設定すると、当該メソッドが 4Dアプリケーションの WSDLに 含まれます。 For more information about this, refer to [Generation of the WSDL](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.en.html#502689). +この属性は "Webサービス" 属性が設定されている場合にのみ利用可能です。 この属性を設定すると、当該メソッドが 4Dアプリケーションの WSDLに 含まれます。 詳細については [WSDL ファイルを生成する](https://doc.4d.com/4Dv20/4D/20.2/Publishing-a-Web-Service-with-4D.300-6750334.ja.html#502689) を参照ください。 -In the Explorer, project methods that are offered as a Web Service and published in WSDL are given a specific icon. +エクスプローラーでは、Webサービスとして提供され、WSDLで公開されたプロジェクトメソッドには専用のアイコンが表示されます。 ### 4D タグと URL(4DACTION...) このオプションは、4D Webサーバーのセキュリティを強化するために使用されます。このオプションが選択されていない場合、[4DACTION URL](../WebServer/httpRequests.md#4daction) を使用した HTTPリクエスト、および [4DSCRIPT、4DTEXT、4DHTML タグ](../Tags/transformation-tags.md) から当該メソッドを直接呼び出すことができません。 -In the Explorer, project methods with this attribute are given a specific icon. +この属性が指定されたプロジェクトメソッドは、エクスプローラーで以下のアイコンが表示されます。 セキュリティのため、このオプションはデフォルトで選択されていません。 Web機能から直接呼び出されるメソッドには、このオプションを明示的に選択しなければなりません。 @@ -90,14 +90,14 @@ In the Explorer, project methods with this attribute are given a specific icon. この属性が選択されていると、当該プロジェクトメソッドは 4D の SQLエンジンから実行可能となります。 デフォルトでは選択されておらず、明示的に許可されない限り 4Dメソッドは保護されており、4D SQLエンジンから呼び出すことはできません。 -This property applies to all internal and external SQL queries --- executed via the ODBC driver, SQL code inserted between the [Begin SQL](../commands-legacy/begin-sql.md)/[End SQL](../commands-legacy/end-sql.md) tags or the [QUERY BY SQL](../commands-legacy/query-by-sql.md) command. +このプロパティは、全ての内部あるいは外部SQL クエリに対して適用されます。この外部SQL クエリにはODBC ドライバ、 [Begin SQL](../commands-legacy/begin-sql.md)/[End SQL](../commands-legacy/end-sql.md) タグ内に挿入されたSQL コード、あるいは [QUERY BY SQL](../commands-legacy/query-by-sql.md) コマンドから実行されたものを含みます。 **注:** - メソッドに "SQL" 属性が設定されていても、メソッドの実行時にはデータベース設定およびメソッドプロパティに設定されたアクセス権が考慮されます。 - ODBC の **SQLProcedure** 関数は "SQL" 属性が設定されているプロジェクトメソッド名のみを返します。 -For more information, refer to [4D SQL engine implementation](https://doc.4d.com/4Dv20/4D/20/4D-SQL-engine-implementation.300-6342089.en.html) in the 4D SQL manual. +詳細については、SQLマニュアルの [4Dと4D SQLエンジン統合の原則](https://doc.4d.com/4Dv20/4D/20/4D-SQL-engine-implementation.300-6342089.ja.html) を参照ください。 ### REST サーバー @@ -109,7 +109,7 @@ For more information, refer to [4D SQL engine implementation](https://doc.4d.com メソッド属性の一括設定をおこなうには: -1. On the [Methods Page](https://doc.4d.com/4Dv20/4D/20.2/Methods-Page.300-6750119.en.html) of the 4D Explorer, expand the options menu, then choose the **Batch setting of attributes...** command. "メソッド属性" ダイアログボックスが表示されます: +1. エクスプローラーの [メソッドページ](https://doc.4d.com/4Dv20/4D/20.2/Methods-Page.300-6750119.ja.html) からオプションメニューを展開し、**属性の一括設定...** コマンドを選択します。 "メソッド属性" ダイアログボックスが表示されます: 2. "一致するメソッド名" エリアに属性を一括設定するメソッドを指定するための名前条件を入力します。 入力した文字列を使用してメソッド名が検索されます。 diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md index c39e4ae70b26a5..66688da1d3a203 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Concepts/parameters.md @@ -170,28 +170,34 @@ A instrução `return` encerra a execução da função ou do método e pode ser Por exemplo, a seguinte função devolve o quadrado de seu argumento, $x, onde $x é um número. ```4d -Function square($x : Integer) -> $result : Integer +Function square($x : Integer) : Integer return $x * $x ``` -:::note - -Internamente, `return x` executa `myReturnValue:=x`, e retorna ao chamador. Se `return` for usado sem uma expressão, a função ou o método retornará um valor nulo do tipo de retorno declarado (se houver), caso contrário, *indefinido*. - -::: - -A instrução `return` pode ser usada junto com a sintaxe padrão para [valores retornados](#valorretornado) (o valor retornado deve ser do tipo declarado). Entretanto lembre que isso finaliza imediatamente a execução de código. Por exemplo: +A instrução `return` pode ser usada junto com a sintaxe padrão para [valores retornados](#valorretornado) (o valor retornado deve ser do tipo declarado). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // retorna 20 + // function returns 20 Function getValue -> $v : Integer return 10 $v:=20 // never executed - // retorna 10 + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indireção dos parâmetros diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md index 0ee8d3fe35d743..3a81e34ee97277 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valor mínimo de um indicador. Para steppers numéricos, essa propriedade repres #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md index 80962912b82583..9c6a43fd623de7 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ El nombre de la ruta a introducir es similar al de [ la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ Aspeto geral do botão. O estilo do botão também desempenha um papel na dispon #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ Este parâmetro é útil, por exemplo, quando a imagem de fundo contém contorno #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ Designa a colocação de um ícone em relação ao objeto formulário. #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ O título do botão será deslocado para a direita e para baixo em função do n #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ Cada estado é representado por uma imagem diferente. Na imagem de origem, os es #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ El nombre de la ruta a introducir es similar al de [ la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ Aqui estão os resultados utilizando as várias opções para esta propriedade: #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ Por padrão, quando um botão contém um título e uma imagem, os elementos são #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ Este parâmetro é útil, por exemplo, quando a imagem de fundo contém contorno #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ Consulte a [descrição do evento `On Alternative Click`](../Events/onAlternativ #### Gramática JSON -| Nome | Tipo de dados | Valores possíveis | -| :------------- | ------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nome | Tipo de dados | Valores possíveis | +| :------------- | ------------- | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### Objectos suportados -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/commands/open-form-window.md b/i18n/pt/docusaurus-plugin-content-docs/current/commands/open-form-window.md index f70b0f4307c7e5..991a520ad5f0fe 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/commands/open-form-window.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/commands/open-form-window.md @@ -10,6 +10,8 @@ toc_max_heading_level: 3 +
    + | Parâmetro | Tipo | | Descrição | | --------- | ------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | aTable | Tabela | → | Table of the form or Default table, if omitted | @@ -20,6 +22,7 @@ toc_max_heading_level: 3 | \* | Operador | → | Save current position and size of the window | | Resultado | Integer | ← | Número de referência da janela | +
    ## Descrição diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md index 4250929f435f3e..a4b0cba4e58d58 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-19/FormObjects/properties_TextAndPicture.md @@ -223,4 +223,4 @@ Cada opção especifica a relação entre o botão e o menu pop-up anexado: #### Objectos suportados -[Botão da barra de ferramentas](button_overview.md#toolbar) - [Botão](button_overview.md#bevel) [chanfrado - Botão chanfrado arredondado](button_overview.md#rounded-bevel) - [Botão de gradiente do OS X](button_overview.md#os-x-gradient) - [Botão texturizado do OS X](button_overview.md#os-x-textured) - [Botão do Office XP](button_overview.md#office-xp) - [Botão de círculo](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md b/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md index eb7fedfc7e8123..c1f8a4c90c5530 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-20/FormObjects/properties_TextAndPicture.md @@ -256,10 +256,10 @@ Consulte a [descrição do evento`On Alternative Click`](../Events/onAlternative #### Gramática JSON -| Nome | Tipo de dados | Valores possíveis | -|:-------------- | ------------- | --------------------------------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nome | Tipo de dados | Valores possíveis | +|:-------------- | ------------- | ------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### Objectos suportados -[Botão da barra de ferramentas](button_overview.md#toolbar) - [Botão](button_overview.md#bevel) [chanfrado - Botão chanfrado arredondado](button_overview.md#rounded-bevel) - [Botão de gradiente do OS X](button_overview.md#os-x-gradient) - [Botão texturizado do OS X](button_overview.md#os-x-textured) - [Botão do Office XP](button_overview.md#office-xp) - [Botão de círculo](button_overview.md#circle) - [Personalizado](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md index c39e4ae70b26a5..09952099d37cb5 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/Concepts/parameters.md @@ -174,24 +174,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -Internamente, `return x` executa `myReturnValue:=x`, e retorna ao chamador. Se `return` for usado sem uma expressão, a função ou o método retornará um valor nulo do tipo de retorno declarado (se houver), caso contrário, *indefinido*. - -::: - -A instrução `return` pode ser usada junto com a sintaxe padrão para [valores retornados](#valorretornado) (o valor retornado deve ser do tipo declarado). Entretanto lembre que isso finaliza imediatamente a execução de código. Por exemplo: +A instrução `return` pode ser usada junto com a sintaxe padrão para [valores retornados](#valorretornado) (o valor retornado deve ser do tipo declarado). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // retorna 20 + // function returns 20 Function getValue -> $v : Integer return 10 $v:=20 // never executed - // retorna 10 + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indireção dos parâmetros diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md index 0ee8d3fe35d743..3a81e34ee97277 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valor mínimo de um indicador. Para steppers numéricos, essa propriedade repres #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md index 80962912b82583..9c6a43fd623de7 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21-R2/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ El nombre de la ruta a introducir es similar al de [ la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ Aspeto geral do botão. O estilo do botão também desempenha um papel na dispon #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ Este parâmetro é útil, por exemplo, quando a imagem de fundo contém contorno #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ Designa a colocação de um ícone em relação ao objeto formulário. #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ O título do botão será deslocado para a direita e para baixo em função do n #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ Cada estado é representado por uma imagem diferente. Na imagem de origem, os es #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ El nombre de la ruta a introducir es similar al de [ la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ Aqui estão os resultados utilizando as várias opções para esta propriedade: #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ Por padrão, quando um botão contém um título e uma imagem, os elementos são #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ Este parâmetro é útil, por exemplo, quando a imagem de fundo contém contorno #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ Consulte a [descrição do evento `On Alternative Click`](../Events/onAlternativ #### Gramática JSON -| Nome | Tipo de dados | Valores possíveis | -| :------------- | ------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nome | Tipo de dados | Valores possíveis | +| :------------- | ------------- | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### Objectos suportados -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md index 7053a1ab07ef7a..f8eeadd7af5eff 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/Concepts/parameters.md @@ -180,24 +180,30 @@ Function square($x : Integer) -> $result : Integer return $x * $x ``` -:::note - -Internamente, `return x` executa `myReturnValue:=x`, e retorna ao chamador. Se `return` for usado sem uma expressão, a função ou o método retornará um valor nulo do tipo de retorno declarado (se houver), caso contrário, *indefinido*. - -::: - -A instrução `return` pode ser usada junto com a sintaxe padrão para [valores retornados](#valorretornado) (o valor retornado deve ser do tipo declarado). Entretanto lembre que isso finaliza imediatamente a execução de código. Por exemplo: +A instrução `return` pode ser usada junto com a sintaxe padrão para [valores retornados](#valorretornado) (o valor retornado deve ser do tipo declarado). When you have declared a return parameter (e.g. `myFunction() -> $myReturnValue : Text`), `return $x` implicitely executes `$myReturnValue:=$x`, and returns to the caller. Keep in mind that it ends immediately the code execution. Examine the following examples: ```4d +Function getValue -> $v : Integer + $v:=10 + return + // function returns 10 + Function getValue -> $v : Integer $v:=10 return 20 - // retorna 20 + // function returns 20 Function getValue -> $v : Integer return 10 $v:=20 // never executed - // retorna 10 + // function returns 10 + +Function getValue -> $v : Integer + return "Hello" //error + +Function returnHello + return "Hello" + // function returns "Hello" ``` ## Indireção dos parâmetros diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md index 0ee8d3fe35d743..3a81e34ee97277 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_Scale.md @@ -126,7 +126,7 @@ Valor mínimo de um indicador. Para steppers numéricos, essa propriedade repres #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) - [OBJECT SET MINIMUM VALUE](../commands-legacy/object-set-minimum-value.md) --- diff --git a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md index 80962912b82583..9c6a43fd623de7 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md +++ b/i18n/pt/docusaurus-plugin-content-docs/version-21/FormObjects/properties_TextAndPicture.md @@ -21,7 +21,7 @@ El nombre de la ruta a introducir es similar al de [ la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -41,7 +41,7 @@ Aspeto geral do botão. O estilo do botão também desempenha um papel na dispon #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -70,7 +70,7 @@ Este parâmetro é útil, por exemplo, quando a imagem de fundo contém contorno #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -90,7 +90,7 @@ Designa a colocação de um ícone em relação ao objeto formulário. #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -112,7 +112,7 @@ O título do botão será deslocado para a direita e para baixo em função do n #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -151,7 +151,7 @@ Cada estado é representado por uma imagem diferente. Na imagem de origem, os es #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -175,7 +175,7 @@ El nombre de la ruta a introducir es similar al de [ la propiedad Ruta de acceso #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -205,7 +205,7 @@ Aqui estão os resultados utilizando as várias opções para esta propriedade: #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -231,7 +231,7 @@ Por padrão, quando um botão contém um título e uma imagem, os elementos são #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -255,7 +255,7 @@ Este parâmetro é útil, por exemplo, quando a imagem de fundo contém contorno #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) --- @@ -294,15 +294,15 @@ Consulte a [descrição do evento `On Alternative Click`](../Events/onAlternativ #### Gramática JSON -| Nome | Tipo de dados | Valores possíveis | -| :------------- | ------------- | ---------------------------------------------------- | -| popupPlacement | string |
  • "none"
  • "linked"
  • "separated"
  • | +| Nome | Tipo de dados | Valores possíveis | +| :------------- | ------------- | ------------------------------------------------------------- | +| popupPlacement | string |
    • "none"
    • "linked"
    • "separated"
    | #### Objectos suportados -[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Circle Button](button_overview.md#circle) - [Custom](button_overview.md#custom) +[Toolbar Button](button_overview.md#toolbar) - [Bevel Button](button_overview.md#bevel) - [Rounded Bevel Button](button_overview.md#rounded-bevel) - [OS X Gradient Button](button_overview.md#os-x-gradient) - [OS X Textured Button](button_overview.md#os-x-textured) - [Office XP Button](button_overview.md#office-xp) - [Custom](button_overview.md#custom) #### Comandos -[OBJECT Get format](../commands-legacy/object-get-format.md) [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md) +[OBJECT Get format](../commands-legacy/object-get-format.md) - [OBJECT Get minimum-value](../commands-legacy/object-get-minimum-value.md) - [OBJECT SET FORMAT](../commands-legacy/object-set-format.md)