From 5c4964e3dc8fa5ad047d790533a64b5ca25d2a7d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 2 Jul 2026 11:51:35 +0200 Subject: [PATCH 001/223] sessionclass.md Spanish --- .../docusaurus-plugin-content-docs/current/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md index ccef3a7828ea80..beb42566a547ff 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -694,7 +694,7 @@ End if #### Descripción -La propiedad `.quotas` contiene un objeto `4D.QuotaManager` con los valores actuales y los valores establecidos para los umbrales del servidor en la sesión actual. Los límites del servidor se utilizan para controlar las solicitudes dirigidas al servidor y ayudan a evitar un uso excesivo de los recursos (ver la clase [`4D.QuotaManager`](./QuotaManagerClass.md)). +The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds regarding REST requests in the current session. Los límites del servidor se utilizan para controlar las solicitudes dirigidas al servidor y ayudan a evitar un uso excesivo de los recursos (ver la clase [`4D.QuotaManager`](./QuotaManagerClass.md)). Esta propiedad es **solo lectura**. From 08b6d01b55ec958fae6e65d6f7dacf07fc630cf8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 2 Jul 2026 11:51:40 +0200 Subject: [PATCH 002/223] sessionclass.md French --- .../docusaurus-plugin-content-docs/current/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md index 8cf3308062e36a..0030c6e610983d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -694,7 +694,7 @@ End if #### Description -The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)). +The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds regarding REST requests in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)). Cette propriété est en **lecture seule**. From 7720f569aa1afbd8ca3793e1af41004299afa937 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 2 Jul 2026 11:51:43 +0200 Subject: [PATCH 003/223] sessionclass.md Japanese --- .../docusaurus-plugin-content-docs/current/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md index d892464574ec59..7e355b5abfd889 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -694,7 +694,7 @@ End if #### 説明 -The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)). +The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds regarding REST requests in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)). このプロパティは **読み取り専用** です。 From 8e0b45727ac14a3ee8b1bcf4454027bef5a9646f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 2 Jul 2026 11:51:46 +0200 Subject: [PATCH 004/223] sessionclass.md Portuguese, Brazilian --- .../docusaurus-plugin-content-docs/current/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md index 96a5dc253ef47c..aaaff8b8110e0a 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -694,7 +694,7 @@ End if #### Descrição -The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)). +The `.quotas` property contains a `4D.QuotaManager` object with current values and set values for server thresholds regarding REST requests in the current session. Server thresholds are used to control the requests to the server and help preventing excessive use of resources (see [`4D.QuotaManager` class](./QuotaManagerClass.md)). Essa propriedade é **somente leitura**. From 3adb759551b2b6609c3ad3036c98cb782c58d741 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:07 +0200 Subject: [PATCH 005/223] dataclassclass.md Spanish --- .../version-20/API/DataClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md index 42c2faed6bd0fd..cb5fe9010ea5f9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/DataClassClass.md @@ -267,11 +267,11 @@ Para cada objeto de *objectCol*: * Si el objeto contiene una propiedad booleana "\__NEW" establecida en false (o no contiene una propiedad booleana "\__NEW"), la entidad se actualiza o se crea con los valores correspondientes de las propiedades del objeto. No se realiza ninguna comprobación con respecto a la llave primaria: * Si la llave primaria se da y existe, la entidad se actualiza. En este caso, la llave primaria puede darse tal cual o con una propiedad "\_\_KEY" (llenada con el valor de la llave primaria). - * If the primary key is given (as is) and does not exist, the entity is created + * Si se da la llave primaria (tal cual) y no existe, se crea la entidad * Si no se da la llave primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. * Si el objeto contiene una propiedad booleana "\_\_NEW" establecida como **true**, la entidad se crea con los valores correspondientes de los atributos del objeto. Se realiza una verificación con respecto a la llave primaria: * Si se da la llave primaria (tal cual) y existe, se envía un error - * If the primary key is given (as is) and does not exist, the entity is created + * Si se da la llave primaria (tal cual) y no existe, se crea la entidad * Si no se da la primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. > The nested objects featuring related entities must contain a "\_\_KEY" property (filled with the primary key value of the related entity) or the primary key attribute of the related entity itself. The use of a \_\_KEY property allows independence from the primary key attribute name. From 731afcf2946907329c02ba7796819d48e8e7a20f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:30 +0200 Subject: [PATCH 006/223] dataclassclass.md Spanish --- .../current/API/DataClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md index 6b89b12ce60412..975414df3d05f5 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/DataClassClass.md @@ -276,7 +276,7 @@ Para cada objeto de *objectCol*: - Si no se da la llave primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. - Si el objeto contiene una propiedad booleana "\_\_NEW" definida como **true**, la entidad se crea con los valores correspondientes de los atributos del objeto. Se realiza una verificación con respecto a la llave primaria: - Si se da la llave primaria (tal cual) y existe, se envía un error - - If the primary key is given (as is) and does not exist, the entity is created + - Si se da la llave primaria (tal cual) y no existe, se crea la entidad - Si no se da la primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. > La propiedad "\__KEY" que contiene un valor sólo se tiene en cuenta cuando la propiedad "\__NEW" tiene el valor **false** (o se omite) y existe una entidad correspondiente. The use of a \_\_KEY property allows independence from the primary key attribute name. @@ -1257,7 +1257,7 @@ var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc You will generally want vector similarity query results to be sorted from "most similar" to "least similar." Por defecto, los resultados devueltos con una cláusula **order by** se ordenan en orden ascendente. Depending on the similarity metric used, you may need to adjust the sorting direction to obtain the correct ranking: -- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Therefore, you will typically need to include the `desc` keyword in the query string. +- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Por lo tanto, normalmente deberá incluir la palabra clave `desc` en la cadena de consulta. - for [**euclidean distance**](./VectorClass.md#euclideandistance) similarity, lower values indicate greater similarity. In this case, the default ascending order (or explicitly using the `asc` keyword) is appropriate. ::: From 0460b2663b5036362a4abd1fcc8ff26aaeaabc4d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:33 +0200 Subject: [PATCH 007/223] sessionclass.md Spanish --- .../docusaurus-plugin-content-docs/current/API/SessionClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md index beb42566a547ff..d25dbe84499aa9 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SessionClass.md @@ -698,7 +698,7 @@ The `.quotas` property contains a `4D.Q Esta propiedad es **solo lectura**. -The following properties of the `4D.QuotaManager` object are available for the session: +Las siguientes propiedades del objeto `4D.QuotaManager` están disponibles para la sesión: | Propiedad | | Tipo | Writable | Descripción | | ------------------------------------------------------------------------- | ------------ | ------- | -------- | -------------------------------------------------------------------------------------------------------------- | From 8edcb8f28c93bdb7c1e3eb942f6ed51c92796003 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:36 +0200 Subject: [PATCH 008/223] flow-control.md Spanish --- .../current/Concepts/flow-control.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/flow-control.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/flow-control.md index 9c4c601201410a..4e920bec4cee14 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/flow-control.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/flow-control.md @@ -832,9 +832,9 @@ El comando [`defer`](../commands/defer) permite encadenar una o varias expresion Whether you are managing document closings, resetting interprocess flags, or freeing up resources, ensuring that your housekeeping tasks execute flawlessly no matter how or where your function terminates can be handled by `defer` keywords. ```4d - //make sure some code is executed at exit + //Asegurarse de que se ejecute cierto código al salir defer(myCleaningMethod) - //Do something... + //Hacer algo... ``` Vea la descripción del comando [`defer`](../commands/defer) para más información. \ No newline at end of file From 9b55d16c21cae6a1c282c5699949648dc2aff256 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:40 +0200 Subject: [PATCH 009/223] dataclassclass.md Spanish --- .../version-21-R3/API/DataClassClass.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md index d3a094cd1c2f0d..fe1bafc9a7b8dd 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21-R3/API/DataClassClass.md @@ -272,11 +272,11 @@ Para cada objeto de *objectCol*: - Si el objeto contiene una propiedad booleana "\__NEW" establecida en false (o no contiene una propiedad booleana "\__NEW"), la entidad se actualiza o se crea con los valores correspondientes de las propiedades del objeto. No se realiza ninguna comprobación con respecto a la llave primaria: - Si la llave primaria se da y existe, la entidad se actualiza. En este caso, la llave primaria puede darse tal cual o con una propiedad "\_\_KEY" (llenada con el valor de la llave primaria). - - If the primary key is given (as is) and does not exist, the entity is created + - Si se da la llave primaria (tal cual) y no existe, se crea la entidad - Si no se da la llave primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. - Si el objeto contiene una propiedad booleana "\_\_NEW" definida como **true**, la entidad se crea con los valores correspondientes de los atributos del objeto. Se realiza una verificación con respecto a la llave primaria: - Si se da la llave primaria (tal cual) y existe, se envía un error - - If the primary key is given (as is) and does not exist, the entity is created + - Si se da la llave primaria (tal cual) y no existe, se crea la entidad - Si no se da la primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. > La propiedad "\__KEY" que contiene un valor sólo se tiene en cuenta cuando la propiedad "\__NEW" tiene el valor **false** (o se omite) y existe una entidad correspondiente. The use of a \_\_KEY property allows independence from the primary key attribute name. @@ -1257,7 +1257,7 @@ var $results := ds.MyClass.query("myVectorField > :1 order by myVectorField desc You will generally want vector similarity query results to be sorted from "most similar" to "least similar." Por defecto, los resultados devueltos con una cláusula **order by** se ordenan en orden ascendente. Depending on the similarity metric used, you may need to adjust the sorting direction to obtain the correct ranking: -- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Therefore, you will typically need to include the `desc` keyword in the query string. +- for [**cosine**](./VectorClass.md#cosinesimilarity) and [**dot**](./VectorClass.md#dotsimilarity) similarity, higher values indicate greater similarity. Por lo tanto, normalmente deberá incluir la palabra clave `desc` en la cadena de consulta. - for [**euclidean distance**](./VectorClass.md#euclideandistance) similarity, lower values indicate greater similarity. In this case, the default ascending order (or explicitly using the `asc` keyword) is appropriate. ::: From f036612fffbf0ac48290aa105ebe7f12910cb4e5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:43 +0200 Subject: [PATCH 010/223] updates.md French --- .../current/Notes/updates.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md index 05eb934ceedebc..e23c7f16d43bb6 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -5,21 +5,21 @@ title: Release Notes ## 4D 21 R4 -Read [**What’s new in 4D 21 R4**](https://blog.4d.com/whats-new-in-4d-21-r4/), the blog post that lists all new features and enhancements in 4D 21 R4. +Lisez [**Les nouveautés de 4D 21 R4**](https://blog.4d.com/fr/whats-new-in-4d-21-r4), l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 21 R4. #### Points forts -- IA: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. -- Enhanced [support of client/server disconnections](../Desktop/clientServer.md#management-of-unreachable-peer) with QUIC network layer: new [`QUIC session timeout`](../commands/set-database-parameter#quick-session-timeout-135) database parameter, new [`unreachableSince` session.info](../API/SessionClass.md#info) property. -- Multi-level list style sheets are now [supported in 4D Write Pro Interface](../WritePro/writeprointerface#multi-level-list-style-sheets), allowing users to create and manage structured multi-level lists directly from the toolbar and sidebar. -- New [`defer`](../commands/defer) command to declare some code to be always executed at method or function exit; new [`Deferred formulas`](../commands/deferred-formulas) command to get the list of deferred formulas. -- New session `.quotas` property to configure thresholds for sessions. -- New [`4D.QuotaManager`](../API/QuotaManagerClass.md) class to handle threshold objects for protecting the server. -- New [`$entityset/$release`](../REST/$entityset.md#entitysetrelease) REST request to delete entity sets from server cache. +- AI: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. +- Amélioration de la [prise en charge des déconnexions client/serveur](../Desktop/clientServer.md#management-of-unreachable-peer) avec la couche réseau QUIC : nouveau paramètre de base de données [`QUIC session timeout`](../commands/set-database-parameter#quick-session-timeout-135), nouvelle propriété [`unreachableSince` de session.info](../API/SessionClass.md#info). +- Les feuilles de style pour listes à plusieurs niveaux sont désormais [prises en charge dans 4D Write Pro Interface](../WritePro/writeprointerface#multi-level-list-style-sheets), ce qui permet aux utilisateurs de créer et de gérer des listes structurées à plusieurs niveaux directement depuis la barre d'outils et la barre latérale. +- Nouvelle commande [`defer`](../commands/defer) permettant de déclarer du code qui sera toujours exécuté à la sortie d'une méthode ou d'une fonction ; nouvelle commande [`Deferred formulas`](../commands/deferred-formulas) permettant d'obtenir la liste des formules différées. +- Nouvelle propriété `.quotas` de session permettant de configurer les seuils pour les sessions. +- Nouvelle classe [`4D.QuotaManager`](../API/QuotaManagerClass.md) permettant de gérer des objets définissant des seuils destinés à protéger le serveur. +- Nouvelle requête REST [`$entityset/$release`](../REST/$entityset.md#entitysetrelease) permettant de supprimer des entity sets du cache du serveur. #### Changements de comportement -- The **`GET /Employee/$entityset/?$method=release`** REST syntax is **deprecated** and should no longer be used. To delete entity sets, you must now use [`/$entityset/$release` with a POST verb](./$entityset.md). +- La syntaxe REST **`GET /Employee/$entityset/?$method=release`** est **obsolète** et ne doit plus être utilisée. To delete entity sets, you must now use [`/$entityset/$release` with a POST verb](./$entityset.md). ## 4D 21 R3 @@ -28,7 +28,7 @@ Lisez [**Les nouveautés de 4D 21 R3**](https://blog.4d.com/fr/whats-new-in-4d-2 #### Points forts - La commande [`JSON Validate`](../commands/json-validate) prend désormais en charge le draft du schéma JSON 2020-12. -- 4D Write Pro now supports [multi-level list style sheets](../WritePro/user-legacy/stylesheets.md#multi-level-list-style-sheets), enabling the creation and management of structured [multi-level lists](../WritePro/user-legacy/using-a-4d-write-pro-area.md#multi-level-lists) with automatic numbering. +- 4D Write Pro prend désormais en charge les [feuilles de style pour listes multi-niveaux](../WritePro/user-legacy/stylesheets.md#multi-level-list-style-sheets), ce qui permet de créer et de gérer des [listes à plusieurs niveaux](../WritePro/user-legacy/using-a-4d-write-pro-area.md#multi-level-lists) structurées avec numérotation automatique. - Possibilité d'utiliser un certificat personnalisé provenant du trousseau de macOS au lieu d'un dossier de certificats local dans les classes [`HTTPRequest`](../API/HTTPRequestClass.md#4dhttprequestnew) et [`HTTPAgent`](../API/HTTPAgentClass.md#4dhttpagentnew). - Nouvelle classe [`4D.Method`](../API/MethodClass.md) pour créer et exécuter le code d'une méthode 4D à partir d'un texte source. Les commandes [`METHOD Get path`](../commands/method-get-path) et [`METHOD RESOLVE PATH`](../commands/method-resolve-path) prennent charge une nouvelle constante `path volatile method` (128). - Le transporteur IMAP prend désormais en charge les notifications d'événements de boîte aux lettres utilisant le protocole IDLE via un objet [notifier](../API/IMAPTransporterClass.md#notifier) de la classe [4D.IMAPNotifier](../API/IMAPNotifierClass.md), configurable via la propriété `listener` de [IMAP New transporter](../commands/imap-new-transporter). @@ -36,7 +36,7 @@ Lisez [**Les nouveautés de 4D 21 R3**](https://blog.4d.com/fr/whats-new-in-4d-2 - Nouvelle [page **IA**](../settings/ai.md) dans la boîte de dialogue des Propriétés, permettant de configurer des [alias de fournisseurs et de modèles](../aikit/provider-model-aliases.md) qui peuvent être appelés dans le code via le composant 4D AIKit. - Composant 4D AIKit : nouvelle classe [Providers](../aikit/Classes/OpenAIProviders.md) pour instancier et gérer les [alias de fournisseurs et de modèles](../aikit/provider-model-aliases.md). - Prise en charge du [mot-clé `server`](../Concepts/classes.md#server) pour les fonctions du modèle de données ORDA et les fonctions singleton partagées/session. -- New [printing renderer](../FormEditor/forms.md#print-rendering-engine) for forms on Liquid glass and Fluent UI interfaces. New compatibility options to [enable the renderer on Classic interfaces](../FormEditor/forms.md#legacy-print-renderer). +- Nouveau [moteur de rendu d'impression](../FormEditor/forms.md#print-rendering-engine) pour les formulaires dans les interfaces Liquid Glass et Fluent UI. Nouvelle option de compatibilité permettant d'[activer le moteur de rendu sur les interfaces classiques](../FormEditor/forms.md#legacy-print-renderer). - Dépendances : prise en charge des [composants stockés sur les dépôts GitLab](../Project/components.md#configuring-a-gitlab-repository). - [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R3) : liste de tous les bugs qui ont été corrigés dans 4D 21 R3. @@ -99,7 +99,7 @@ Lisez [**Les nouveautés de 4D 21 R2**](https://blog.4d.com/fr-whats-new-in-4d-2 | PDFWriter | 4.7.0 | 21 | Utilisé pour [`WP Export document`](../WritePro/commands/wp-export-document.md) et [`WP Export variable`](../WritePro/commands/wp-export-variable.md) | | SpreadJS | 18.2.0 | 21 R2 | Voir [ce blog post](https://blog.4d.com/4d-view-pro-whats-new-in-4d-21-r2/) pour un aperçu des nouvelles fonctionnalités. | | webKit | WKWebView | 19 | | -| Windows App SDK | 2 | **21 R4** | Used for [Fluent UI rendering](../FormEditor/forms.md#fluent-ui-rendering) | +| Windows App SDK | 2 | **21 R4** | Utilisé pour le [rendu Fluent UI](../FormEditor/forms.md#fluent-ui-rendering) | | Xerces | 3.3.0 | 21 | Utilisé pour les commandes XML | | Zlib | 1.3.1 | 21 | | From 8e63cb1171e393d53e5fc8b2b60f18fff46be85f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:46 +0200 Subject: [PATCH 011/223] updates.md Spanish --- i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md index 78dad656fbdbf5..3452247eb9e8b3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -9,7 +9,7 @@ Lea [**Novedades en 4D 21 R4**](https://blog.4d.com/whats-new-in-4d-21-r4/), la #### Lo más destacado -- IA: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. +- AI: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. - Enhanced [support of client/server disconnections](../Desktop/clientServer.md#management-of-unreachable-peer) with QUIC network layer: new [`QUIC session timeout`](../commands/set-database-parameter#quick-session-timeout-135) database parameter, new [`unreachableSince` session.info](../API/SessionClass.md#info) property. - Las hojas de estilo para listas de varios niveles ya son [compatibles con 4D Write Pro Interface](../WritePro/writeprointerface#multi-level-list-style-sheets), lo que permite a los usuarios crear y gestionar listas estructuradas de varios niveles directamente desde la barra de herramientas y la barra lateral. - Nuevo comando [`defer`](../commands/defer) para declarar que un fragmento de código se ejecute siempre al salir de un método o una función; nuevo comando [`Deferred formulas`](../commands/deferred-formulas) para obtener la lista de fórmulas diferidas. From 670e158136922fb042fc0b5592e4b50e9707b60b Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:48 +0200 Subject: [PATCH 012/223] updates.md Japanese --- i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md index a0cd1ef8a5e0fc..a72deb30a62d96 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -9,7 +9,7 @@ title: リリースノート #### ハイライト -- IA: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. +- AI: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. - Enhanced [support of client/server disconnections](../Desktop/clientServer.md#management-of-unreachable-peer) with QUIC network layer: new [`QUIC session timeout`](../commands/set-database-parameter#quick-session-timeout-135) database parameter, new [`unreachableSince` session.info](../API/SessionClass.md#info) property. - マルチレベルスタイルシートが、[4D Write Pro インターフェースでサポートされる](../WritePro/writeprointerface#multi-level-list-style-sheets) ようになり、これによりユーザーはツールバーとサイドバーから構造化されたマルチレベルリストを直接作成・管理できるようになりました。 - 新しい[`defer`](../commands/defer) コマンドが追加され、これによってメソッドまたは関数の終了時に必ず実行される同じコードを宣言することができるようになりました。また新しい[`Deferred formulas`](../commands/deferred-formulas) コマンドを使用することで、遅延されたフォーミュラの一覧を取得することができます。 From 93a25b853e82bb0e22c36c3a92aae904bc0b1916 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:01:51 +0200 Subject: [PATCH 013/223] updates.md Portuguese, Brazilian --- i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md index 1de729e4bf1794..1f73a9c05cb546 100644 --- a/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md +++ b/i18n/pt/docusaurus-plugin-content-docs/current/Notes/updates.md @@ -9,7 +9,7 @@ Leia [**O que há de novo no 4D v21 R4**](https://blog.4d.com/whats-new-in-4d-21 #### Destaques -- IA: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. +- AI: On macOS, end users can enhance or summarize texts thanks to the Apple Intelligence **Writing Tools**, available as a [property](../FormObjects/properties_Entry.md#writing-tools) and a [standard action](../Desktop/standard-actions) for [4D Write Pro](../FormObjects/writeProArea_overview.md) and [input](../FormObjects/input_overview.md) form objects. - Enhanced [support of client/server disconnections](../Desktop/clientServer.md#management-of-unreachable-peer) with QUIC network layer: new [`QUIC session timeout`](../commands/set-database-parameter#quick-session-timeout-135) database parameter, new [`unreachableSince` session.info](../API/SessionClass.md#info) property. - Multi-level list style sheets are now [supported in 4D Write Pro Interface](../WritePro/writeprointerface#multi-level-list-style-sheets), allowing users to create and manage structured multi-level lists directly from the toolbar and sidebar. - New [`defer`](../commands/defer) command to declare some code to be always executed at method or function exit; new [`Deferred formulas`](../commands/deferred-formulas) command to get the list of deferred formulas. From 7a78fee5fe0372ec1bc36326b00276afa66250cb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:04 +0200 Subject: [PATCH 014/223] building.md Spanish --- .../version-20/Desktop/building.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Desktop/building.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Desktop/building.md index fa25abab7752e0..57ec5c29d9e419 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Desktop/building.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Desktop/building.md @@ -332,10 +332,10 @@ Puede marcar la opción **Permitir la actualización automática...** para las a Esta funcionalidad requiere que haga clic en el botón **[...]** y designe la ubicación en su disco del archivo que se utilizará para la actualización. El archivo a seleccionar depende de la plataforma actual del servidor: -| Plataforma del servidor actual | Archivo requerido | Detalles | -| ------------------------------ | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| macOS | Windows 4D Volume Desktop *o* Windows client update archive | By default, you can select the `4D Volume Desktop` application for Windows. However, **it is recommended** to select a `.4darchive` file previously built on Windows for proper icon management and to preserve a signed .exe after updates. To do so, press **Shift** while clicking on [...] | -| Windows | macOS client update archive | Seleccione un archivo `.4darchive` firmado previamente creado en macOS | +| Plataforma del servidor actual | Archivo requerido | Detalles | +| ------------------------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| macOS | Windows 4D Volume Desktop *o* Windows client update archive | Por defecto, puede seleccionar la aplicación `Volumen 4D` para Windows. However, **it is recommended** to select a `.4darchive` file previously built on Windows for proper icon management and to preserve a signed .exe after updates. Para ello, presione **Mayús** mientras haces clic en [...] | +| Windows | macOS client update archive | Seleccione un archivo `.4darchive` firmado previamente creado en macOS | You can build a specific `.4darchive` file on the concurrent platform by selecting only the [**Build client application**](#build-client-application) and the appropriate [**Allow automatic update...**](#copy-of-client-applications-inside-the-server-application) option. From 8b19a8e3fae98858faf669b85bd3029e6a754844 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:07 +0200 Subject: [PATCH 015/223] clientserver.md Spanish --- .../current/Desktop/clientServer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md index 8e6a1b996af40d..606c70e3e77300 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Desktop/clientServer.md @@ -184,11 +184,11 @@ If 4D Server unexpectedly stops responding, a reconnection dialog box is display #### Objeto Session actualizado -When the "Unreachable" event is received on either side, an [`info.unreachableSince`](../API/SessionClass.md#info) property is created in the session on the machine receiving the event (on the server, it is readable through the [`Process activity.sessions`](../commands/process-activity) property), and it starts counting seconds since the last communication. You can use this property to implement your own disconnection interface. +When the "Unreachable" event is received on either side, an [`info.unreachableSince`](../API/SessionClass.md#info) property is created in the session on the machine receiving the event (on the server, it is readable through the [`Process activity.sessions`](../commands/process-activity) property), and it starts counting seconds since the last communication. Puede utilizar esta propiedad para implementar su propia interfaz de desconexión. ### Restablecer o cerrar la conexión -The QUIC session timeout is automatically used to monitor disconnections: +El tiempo de espera de la sesión QUIC se utiliza automáticamente para supervisar las desconexiones: - If the connection is restored before the QUIC session timeout is reached, the [`info.unreachableSince`](../API/SessionClass.md#info) property is automatically removed from the session object. - If the connection is not restored before the QUIC session timeout is reached, the session is closed. From 2b4bad8e028915c111405da67bd1d519a929ef54 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:09 +0200 Subject: [PATCH 016/223] buttongrid_overview.md Spanish --- .../current/FormObjects/buttonGrid_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md index 6528c5ba02802b..9dc6b75e2543fc 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/buttonGrid_overview.md @@ -24,7 +24,7 @@ Si no se selecciona ningún elemento, el valor es 0 ### Ir a la página -You can assign the `gotoPage` [standard action](/Desktop/standard-actions) to a button grid. Cuando se selecciona esta acción, 4D mostrará automáticamente la página del formulario que corresponde al número del botón que está seleccionado en la rejilla de botones. Por ejemplo, si el usuario selecciona el décimo botón de la rejilla, 4D mostrará la décima página del formulario actual (si existe). +Puede asignar la [acción estándar](/Desktop/standard-actions) `gotoPage` a una rejilla de botones. Cuando se selecciona esta acción, 4D mostrará automáticamente la página del formulario que corresponde al número del botón que está seleccionado en la rejilla de botones. Por ejemplo, si el usuario selecciona el décimo botón de la rejilla, 4D mostrará la décima página del formulario actual (si existe). ## Propiedades soportadas From b9ae122571071272e7af536761ff54735976bd6d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:11 +0200 Subject: [PATCH 017/223] input_overview.md Spanish --- .../current/FormObjects/input_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/input_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/input_overview.md index 7a0d14ed1d7fed..2256c573408160 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/input_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/input_overview.md @@ -43,7 +43,7 @@ Por razones de seguridad, en las áreas de entrada [multiestilo](./properties_Te -[Allow font/color picker](properties_Text.md#allow-fontcolor-picker) - [Alpha Format](properties_Display.md#alpha-format) - [Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Background Color](properties_BackgroundAndBorder.md#background-color--fill-color) - [Bold](properties_Text.md#bold) - [Boolean format](properties_Display.md#text-when-falsetext-when-true) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Choice List](properties_DataSource.md#choice-list) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Corner radius](properties_CoordinatesAndSizing.md#corner-radius) - [Date Format](properties_Display.md#date-format) - [Default value](properties_RangeOfValues.md#default-value) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Entry Filter](properties_Entry.md#entry-filter) - [Excluded List](properties_RangeOfValues.md#excluded-list) - [Expression type](properties_Object.md#expression-type) - [Fill Color](properties_BackgroundAndBorder.md#background-color--fill-color) - [Font](properties_Text.md#font) - [Font Color](properties_Text.md#font-color) - [Font Size](properties_Text.md#font-size) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Alignment](properties_Text.md#horizontal-alignment) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Italic](properties_Text.md#italic) - [Left](properties_CoordinatesAndSizing.md#left) - [Multiline](properties_Entry.md#multiline) - [Multi-style](properties_Text.md#multi-style) - [Number Format](properties_Display.md#number-format) - [Object Name](properties_Object.md#object-name) - [Orientation](properties_Text.md#orientation) - [Picture Format](properties_Display.md#picture-format) - [Placeholder](properties_Entry.md#placeholder) - [Print Frame](properties_Print.md#print-frame) - [Required List](properties_RangeOfValues.md#required-list) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Store with default style tags](properties_Text.md#store-with-default-style-tags) - [Text when False/Text when True](properties_Display.md#text-when-falsetext-when-true) - [Time Format](properties_Display.md#time-format) - [Top](properties_CoordinatesAndSizing.md#top) - [Type](properties_Object.md#type) - [Underline](properties_Text.md#underline) - [Variable or Expression](properties_Object.md#variable-or-expression) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Wordwrap](properties_Display.md#wordwrap) - [Writing Tools](properties_Entry.md#writing-tools) +[Permitir selector de fuente/color](properties_Text.md#allow-fontcolor-picker) - [Formato alfa](properties_Display.md#alpha-format) - [Corrección ortográfica automática](properties_Entry.md#auto-spellcheck) - [Color de fondo](properties_BackgroundAndBorder.md#background-color--fill-color) - [Negrita](properties_Text.md#bold) - [Formato booleano](properties_Display.md#text-when-falsetext-when-true) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Parte inferior](properties_CoordinatesAndSizing.md#bottom) - [Lista de opciones](properties_DataSource.md#choice-list) - [Clase](properties_Object.md#css-class) - [Menú contextual](properties_Entry.md#context-menu) - [Radio de las esquinas](properties_CoordinatesAndSizing.md#corner-radius) - [Formato de fecha](properties_Display.md#date-format) - [Valor por defecto](properties_RangeOfValues.md#default-value) - [Arrastrable](properties_Action.md#draggable) - [Soltable](properties_Action.md#droppable) - [Editable](properties_Entry.md#enterable) - [Filtro de entrada](properties_Entry.md#entry-filter) - [Lista de exclusiones](properties_RangeOfValues.md#excluded-list) - [Tipo de expresión](properties_Object.md#expression-type) - [Color de relleno](properties_BackgroundAndBorder.md#background-color--fill-color) - [Fuente](properties_Text.md#font) - [Color de fuente](properties_Text.md#font-color) - [Tamaño de fuente](properties_Text.md#font-size) - [Altura](properties_CoordinatesAndSizing.md#height) - [Ocultar rectángulo de foco](properties_Appearance.md#hide-focus-rectangle) - [Alineación horizontal](properties_Text.md#horizontal-alignment) - [Barra de desplazamiento horizontal](properties_Appearance.md#horizontal-scroll-bar) - [Ajuste horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Cursiva](properties_Text.md#italic) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Multilínea](properties_Entry.md#multiline) - [Estilo múltiple](properties_Text.md#multi-style) - [Formato de números](properties_Display.md#number-format) - [Nombre del objeto](properties_Object.md#object-name) - [Orientación](properties_Text.md#orientation) - [Formato de imagen](properties_Display.md#picture-format) - [Marcador de posición](properties_Entry.md#placeholder) - [Marco de impresión](properties_Print.md#print-frame) - [Lista obligatoria](properties_RangeOfValues.md#required-list) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Selección siempre visible](properties_Entry.md#selection-always-visible) - [Guardar con etiquetas de estilo predeterminadas](properties_Text.md#store-with-default-style-tags) - [Texto cuando es False/Texto cuando es True](properties_Display.md#text-when-falsetext-when-true) - [Formato de hora](properties_Display.md#time-format) - [Arriba](properties_CoordinatesAndSizing.md#top) - [Tipo](properties_Object.md#type) - [Subrayado](properties_Text.md#underline) - [Variable o expresión](properties_Object.md#variable-or-expression) - [Barra de desplazamiento vertical](properties_Appearance.md#vertical-scroll-bar) - [Tamaño vertical](properties_ResizingOptions.md#vertical-sizing) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width) - [Ajustar al ancho](properties_Display.md#wordwrap) - [Herramientas de escritura](properties_Entry.md#writing-tools) ## Eventos soportados From a85dcaef865f4c2992ec04eec654b8a586127233 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:14 +0200 Subject: [PATCH 018/223] picturepopupmenu_overview.md Spanish --- .../current/FormObjects/picturePopupMenu_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md index e91847907a4c6e..7cbfd790806046 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/picturePopupMenu_overview.md @@ -17,7 +17,7 @@ Puede gestionar los menús emergentes de imágenes utilizando métodos. Puede ge ### Ir a la página -You can assign the `gotoPage` [standard action](/Desktop/standard-actions) to a picture pop-up menu. Cuando se selecciona esa acción, 4D mostrará automáticamente la página del formulario que corresponde a la posición de la imagen seleccionada en el array de imágenes. Los elementos se numeran de izquierda a derecha y de arriba a abajo, empezando por la esquina superior izquierda. +Puede asignar la [acción estándar](/Desktop/standard-actions) `gotoPage` a un menú emergente de imagen. Cuando se selecciona esa acción, 4D mostrará automáticamente la página del formulario que corresponde a la posición de la imagen seleccionada en el array de imágenes. Los elementos se numeran de izquierda a derecha y de arriba a abajo, empezando por la esquina superior izquierda. Por ejemplo, si el usuario selecciona el tercer elemento, 4D mostrará la página 3 del formulario actual (si existe). Si desea gestionar usted mismo el efecto de un clic, seleccione `Sin acción`. From ff79c96a27d4f248a1dbf818b2185486cb632461 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:18 +0200 Subject: [PATCH 019/223] properties_entry.md Spanish --- .../current/FormObjects/properties_Entry.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md index 85ba3cdc6f413f..e205cf13a61c3d 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Entry.md @@ -7,11 +7,11 @@ title: Entrada 4D incluye funcionalidades de corrección ortográfica integradas y personalizables. Se pueden verificar las [entradas](input_overview.md) de tipo texto, así como también los documentos [4D Write Pro](writeProArea_overview.md). -La propiedad de corrección ortográfica automática activa la corrección ortográfica de cada objeto. Cuando se utiliza, se realiza automáticamente una corrección ortográfica durante la entrada de datos. You can also execute the [`SPELL CHECKING`](../commands/spell-checking) 4D language command for each object to be checked. +La propiedad de corrección ortográfica automática activa la corrección ortográfica de cada objeto. Cuando se utiliza, se realiza automáticamente una corrección ortográfica durante la entrada de datos. También puede ejecutar el comando del lenguaje 4D [`SPELL CHECKING`](../commands/spell-checking) para cada objeto que desee revisar. :::note Herramientas de escritura (macOS) -On macOS, if you want to provide your users with Apple Intelligence Writing Tools so that they can spellcheck their documents using IA, you might consider using the [Writing Tools](#writing-tools) property. +En macOS, si quiere ofrecer a sus usuarios las herramientas de escritura de Apple Intelligence para que puedan revisar la ortografía de sus documentos mediante IA, podría considerar utilizar la propiedad [Herramientas de escritura](#writing-tools). ::: @@ -257,7 +257,7 @@ Puede utilizar una referencia XLIFF en la forma ":xliff:resname" como marcador d Sólo se pasa la referencia en el campo "Marcador de posición"; no es posible combinar una referencia con texto estático. -> También puedes definir y obtener el texto del marcador de posición por programación utilizando los comandos [`OBJECT SET PLACEHOLDER`](../commands/object-set-placeholder) y [`OBJECT Get placeholder`](../commands/object-get-placeholder). +> También puede definir y obtener el texto del marcador de posición por programación utilizando los comandos [`OBJECT SET PLACEHOLDER`](../commands/object-set-placeholder) y [`OBJECT Get placeholder`](../commands/object-get-placeholder). #### Gramática JSON @@ -352,9 +352,9 @@ Cuando esta opción no está activa, los usuarios deben seleccionar primero la l --- -## Writing Tools +## Herramientas de escritura -On macOS, this property lets end users apply [Apple Intelligence **Writing Tools**](https://support.apple.com/guide/mac-help/find-the-right-words-with-writing-tools-mchldcd6c260/mac) to the text of [4D Write Pro](writeProArea_overview.md) and [input](input_overview.md) (with [multiline](#multiline) support) form objects. Writing Tools use AI to proofread, rewrite, summarize, or change the tone of text directly within your 4D application. +En macOS, esta propiedad permite a los usuarios finales aplicar las [**Herramientas de escritura** de Apple Intelligence](https://support.apple.com/guide/mac-help/find-the-right-words-with-writing-tools-mchldcd6c260/mac) al texto de los objetos de formulario [4D Write Pro](writeProArea_overview.md) y [entrada](input_overview.md) (con soporte para [varias líneas](#multiline)). Writing Tools use AI to proofread, rewrite, summarize, or change the tone of text directly within your 4D application. ![](../assets/en/FormObjects/writing-tools.png) @@ -383,12 +383,12 @@ The Writing Tools feature relies on **Apple Intelligence** and is only available ::: -The availability and default value of the property depend on the object type: +La disponibilidad y el valor por defecto de la propiedad dependen del tipo de objeto: -| Object | Disponibilidad en la lista de propiedades | Valor por defecto | -| --------------------------------------------- | ----------------------------------------------------------------------------- | ----------------- | -| [Entrada](input_overview.md) | Only when the [Multiline](#multiline) property is set to "Yes" or "Automatic" | False | -| [Área 4D Write Pro](writeProArea_overview.md) | Always displayed | True | +| Object | Disponibilidad en la lista de propiedades | Valor por defecto | +| --------------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------- | +| [Entrada](input_overview.md) | Sólo cuando la propiedad [Multiline](#multiline) está establecida en "Sí" o "Automático" | False | +| [Área 4D Write Pro](writeProArea_overview.md) | Always displayed | True | #### Gramática JSON From 2da71fca31bd7556aa8cd9be69b9250a4c83b496 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:22 +0200 Subject: [PATCH 020/223] writeproarea_overview.md Spanish --- .../current/FormObjects/writeProArea_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md index 51a73ba3f8f039..e7b61408f8927b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/writeProArea_overview.md @@ -13,7 +13,7 @@ Las áreas 4D Write Pro están documentadas en el manual [4D Write Pro](https:// ## Propiedades soportadas -[Auto Spellcheck](properties_Entry.md#auto-spellcheck) - [Border Line Style](properties_BackgroundAndBorder.md#border-line-style) - [Bottom](properties_CoordinatesAndSizing.md#bottom) - [Class](properties_Object.md#css-class) - [Context Menu](properties_Entry.md#context-menu) - [Draggable](properties_Action.md#draggable) - [Droppable](properties_Action.md#droppable) - [Enterable](properties_Entry.md#enterable) - [Focusable](properties_Entry.md#focusable) - [Height](properties_CoordinatesAndSizing.md#height) - [Hide focus rectangle](properties_Appearance.md#hide-focus-rectangle) - [Horizontal Scroll Bar](properties_Appearance.md#horizontal-scroll-bar) - [Horizontal Sizing](properties_ResizingOptions.md#horizontal-sizing) - [Keyboard Layout](properties_Entry.md#keyboard-layout) - [Left](properties_CoordinatesAndSizing.md#left) - [Method](properties_Action.md#method) - [Object Name](properties_Object.md#object-name) - [Print Variable Frame](properties_Print.md#print-frame) - [Resolution](properties_Appearance.md#resolution) - [Right](properties_CoordinatesAndSizing.md#right) - [Selection always visible](properties_Entry.md#selection-always-visible) - [Show background](properties_Appearance.md#show-background) - [Show footers](properties_Appearance.md#show-footers) - [Show headers](properties_Appearance.md#show-headers) - [Show hidden characters](properties_Appearance.md#show-hidden-characters) - [Show horizontal ruler](properties_Appearance.md#show-horizontal-ruler) - [Show HTML WYSIWYG](properties_Appearance.md#show-html-wysiwyg) - [Show page frame](properties_Appearance.md#show-page-frame) - [Show references](properties_Appearance.md#show-references) - [Show vertical ruler](properties_Appearance.md#show-vertical-ruler) - [Type](properties_Object.md#type) - [Vertical Sizing](properties_ResizingOptions.md#vertical-sizing) - [Vertical Scroll Bar](properties_Appearance.md#vertical-scroll-bar) - [View mode](properties_Appearance.md#view-mode) - [Visibility](properties_Display.md#visibility) - [Width](properties_CoordinatesAndSizing.md#width) - [Writing Tools](properties_Entry.md#writing-tools) - [Zoom](properties_Appearance.md#zoom) +[Corrector ortográfico automático](properties_Entry.md#auto-spellcheck) - [Estilo de línea de borde](properties_BackgroundAndBorder.md#border-line-style) - [Inferior](properties_CoordinatesAndSizing.md#bottom) - [Clase](properties_Object.md#css-class) - [Menú contextual](properties_Entry.md#context-menu) - [Arrastrable](properties_Action.md#draggable) - [Soltable](properties_Action.md#droppable) - [Editable](properties_Entry.md#enterable) - [Enfocable](properties_Entry.md#focusable) - [Alto](properties_CoordinatesAndSizing.md#height) - [Ocultar rectángulo de enfoque](properties_Appearance.md#hide-focus-rectangle) - [Barra de desplazamiento horizontal](properties_Appearance.md#horizontal-scroll-bar) - [Dimensionamiento horizontal](properties_ResizingOptions.md#horizontal-sizing) - [Disposición del teclado](properties_Entry.md#keyboard-layout) - [Izquierda](properties_CoordinatesAndSizing.md#left) - [Método](properties_Action.md#method) - [Nombre del objeto](properties_Object.md#object-name) - [Imprimir marco variable](properties_Print.md#print-frame) - [Resolución](properties_Appearance.md#resolution) - [Derecha](properties_CoordinatesAndSizing.md#right) - [Selección siempre visible](properties_Entry.md#selection-always-visible) - [Mostrar fondo](properties_Appearance.md#show-background) - [Mostrar pies de página](properties_Appearance.md#show-footers) - [Mostrar encabezados](properties_Appearance.md#show-headers) - [Mostrar caracteres ocultos](properties_Appearance.md#show-hidden-characters) - [Mostrar regla horizontal](properties_Appearance.md#show-horizontal-ruler) - [Mostrar HTML WYSIWYG](properties_Appearance.md#show-html-wysiwyg) - [Mostrar marco de página](properties_Appearance.md#show-page-frame) - [Mostrar referencias](properties_Appearance.md#show-references) - [Mostrar regla vertical](properties_Appearance.md#show-vertical-ruler) - [Tipo](properties_Object.md#type) - [Dimensionamiento vertical](properties_ResizingOptions.md#vertical-sizing) - [Barra de desplazamiento vertical](properties_Appearance.md#vertical-scroll-bar) - [Ver modo](properties_Appearance.md#view-mode) - [Visibilidad](properties_Display.md#visibility) - [Ancho](properties_CoordinatesAndSizing.md#width) - - [Herramientas de escritura](properties_Entry.md#writing-tools) - [Zoom](properties_Appearance.md#zoom) ## Eventos soportados From e8757edab181b34523f22095c551b362d38c86fe Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:25 +0200 Subject: [PATCH 021/223] webarea_overview.md Spanish --- .../current/FormObjects/webArea_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md index f7f32e61f7edc6..8b06681530b5c8 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/webArea_overview.md @@ -165,7 +165,7 @@ $4d.calcSum(33, 45, 75, 102.5, 7, function(theSum) ## Acciones estándar -Existen cuatro acciones estándar específicas para gestionar automáticamente las áreas web: `Open Back URL`, `Open Forward URL`, `Refresh Current URL` y `Stop Loading URL`. Estas acciones pueden asociarse a botones o comandos de menú y permiten una rápida implementación de interfaces web básicas. These actions are described in [Standard actions](/Desktop/standard-actions). +Existen cuatro acciones estándar específicas para gestionar automáticamente las áreas web: `Open Back URL`, `Open Forward URL`, `Refresh Current URL` y `Stop Loading URL`. Estas acciones pueden asociarse a botones o comandos de menú y permiten una rápida implementación de interfaces web básicas. Estas acciones se describen en [Acciones estándar](/Desktop/standard-actions). ## Eventos formulario From acd50cefddba76ceca3477d10032e5f9e2e44256 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:28 +0200 Subject: [PATCH 022/223] user-new.md Spanish --- .../current/WritePro/user/user-new.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md index 66848fb81202ff..7c02c4a8486a01 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/user/user-new.md @@ -65,9 +65,9 @@ Listas de varios niveles pueden ser gestionadas usando: ## Hojas de estilo para listas de varios niveles -Multi-level list style sheets are used to create [multi-level lists](../user-legacy/using-a-4d-write-pro-area.md#multi-level-lists). +Las hojas de estilo para listas de varios niveles se utilizan para crear [listas de varios niveles](../user-legacy/using-a-4d-write-pro-area.md#multi-level-lists). -To create a multi-level list style sheet, use [WP New style sheet](../commands/wp-new-style-sheet.md) and pass in *listLevelCount* the desired number of levels. You then define a hierarchy of related paragraph style sheets: one **root-level** style sheet and one or more **sub-level** style sheets linked to it. Cada nivel representa una profundidad en la lista (nivel 1, nivel 2, nivel 3, etc.) and is automatically named "root-level name + lvl + index", for example "Mylist lvl 2". +To create a multi-level list style sheet, use [WP New style sheet](../commands/wp-new-style-sheet.md) and pass in *listLevelCount* the desired number of levels. You then define a hierarchy of related paragraph style sheets: one **root-level** style sheet and one or more **sub-level** style sheets linked to it. Cada nivel representa una profundidad en la lista (nivel 1, nivel 2, nivel 3, etc.) y se llama automáticamente "Nombre de nivel raíz + nvl + índice", por ejemplo "Mylist lvl 2". To customize multi-level list styles, the paragraph style sheet object can be customized using [style sheet attributes](../commands-legacy/4d-write-pro-attributes.md#style-sheets). @@ -117,7 +117,7 @@ resultado: ### Valores de atributos predefinidos -When created, multi-level list style sheets use predefined values: +Al crearse, las hojas de estilo de listas de varios niveles utilizan valores predefinidos: - `wk margin left` = 0,75 cm \* (número de niveles anteriores) o 0,25 pulgadas \* (número de niveles anteriores), dependiendo de la unidad de diseño actual - `wk list type` = `wk decimal` From ccf08f91d36c0ca19025ed908ede8e220d5408b4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:34 +0200 Subject: [PATCH 023/223] user-new.md Spanish --- .../version-21-R3/WritePro/user/user-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21-R3/WritePro/user/user-new.md b/i18n/es/docusaurus-plugin-content-docs/version-21-R3/WritePro/user/user-new.md index 8c0043bdcec85a..76821f51591a8e 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21-R3/WritePro/user/user-new.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21-R3/WritePro/user/user-new.md @@ -67,7 +67,7 @@ Listas de varios niveles pueden ser gestionadas usando: Las hojas de estilo de listas jerárquicas se utilizan para crear [listas multinivel](../user-legacy/using-a-4d-write-pro-area.md#multi-level-lists). -To create a hierarchical list style sheet, use [WP New style sheet](../commands/wp-new-style-sheet.md) and pass in *listLevelCount* the desired number of levels. You then define a hierarchy of related paragraph style sheets: one **root-level** style sheet and one or more **sub-level** style sheets linked to it. Cada nivel representa una profundidad en la lista (nivel 1, nivel 2, nivel 3, etc.) and is automatically named "root-level name + lvl + index", for example "Mylist lvl 2". +To create a hierarchical list style sheet, use [WP New style sheet](../commands/wp-new-style-sheet.md) and pass in *listLevelCount* the desired number of levels. You then define a hierarchy of related paragraph style sheets: one **root-level** style sheet and one or more **sub-level** style sheets linked to it. Cada nivel representa una profundidad en la lista (nivel 1, nivel 2, nivel 3, etc.) y se llama automáticamente "Nombre de nivel raíz + nvl + índice", por ejemplo "Mylist lvl 2". To customize hierarchical list styles, the paragraph style sheet object can be customized using [style sheet attributes](../commands-legacy/4d-write-pro-attributes.md#style-sheets). From bf73a6546eb00b4cd7708603271169fb8c0a94f5 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:36 +0200 Subject: [PATCH 024/223] quotamanagerclass.md Spanish --- .../current/API/QuotaManagerClass.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md index ea688996e61c5f..add929483a698b 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/QuotaManagerClass.md @@ -54,11 +54,11 @@ You can change this value dynamically using the [`quotas.defaultEntitySetTimeout :::note -If you define a value higher than the `maxEntitySetTimeout` property value, it will be aligned with the `maxEntitySetTimeout` value. +Si se define un valor superior al de la propiedad `maxEntitySetTimeout`, dicho valor se ajustará al de `maxEntitySetTimeout`. ::: -You cannot pass a value <=0 (an error is generated in this case). To reset the property value for the session, pass *undefined*. +No se puede pasar un valor <=0 (en ese caso se produce un error). Para restablecer el valor de la propiedad para la sesión, pase *undefined*. #### Ejemplo @@ -92,7 +92,7 @@ http://127.0.0.1/rest/People?$filter=ID>=4&$method=entityset&$timeout=3000 ... then the timeout defined in the request is ignored and the entity set will be released after 40 minutes if not used during this period of time. -You cannot pass a value <=0 (an error is generated in this case). To reset the property value for the session, pass *undefined*. +No se puede pasar un valor <=0 (en ese caso se produce un error). Para restablecer el valor de la propiedad para la sesión, pase *undefined*. #### Ejemplo @@ -114,11 +114,11 @@ Session.quotas.maxEntitySetTimeout:=2400 The `.nbEntitySets` property contains the maximum number of REST entity sets allowed in memory for the current session (in seconds). -By default, there is no limit for entity sets [stored in memory by REST requests](../REST/$info.md) (the value is 0). You can set a limit to control the server payload for a specific session. +By default, there is no limit for entity sets [stored in memory by REST requests](../REST/$info.md) (the value is 0). Puede definir un límite para controlar la carga útil del servidor para una sesión específica. When the maximum number of allowed entity sets is reached, a REST request that need to create an entity set will get a [**429** HTTP status code and an error response](../REST/REST_requests.md#rest-status-and-response), until at least one entity set is released. You can release an entity set from the cache using the [`$release` REST command](../REST/$entityset.md#entitysetrelease). -You cannot pass a value <=0 (an error is generated in this case). To reset the property value for the session, pass *undefined*. +No se puede pasar un valor <=0 (en ese caso se produce un error). Para restablecer el valor de la propiedad para la sesión, pase *undefined*. #### Ejemplo From 1d5cdc0532bf4fcbdd1fe91583089b85a93d2f41 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:02:55 +0200 Subject: [PATCH 025/223] directory.md French --- .../docusaurus-plugin-content-docs/version-20/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/Directory.md b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/Directory.md index 7e254f41c7135b..0d24df0375c749 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-20/API/Directory.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-20/API/Directory.md @@ -514,7 +514,7 @@ $myPDF:=Folder(fk documents folder).file("Pictures/info.pdf") La fonction `.files()` retourne une collection des objets `File` contenus dans le dossier. > Les alias ou les liens symboliques ne sont pas résolus. -Par défaut, si vous omettez le paramètre *options*, seuls les fichiers à la racine du dossier sont retournés dans la collection, ainsi que les fichiers et dossiers invisibles. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : | Constante | Valeur | Commentaire | | --------------------- | ------ | -------------------------------------------------------------------------------------- | From ca0fbd3585f6e92b5b7b2420d9e29cee37d88ebc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:20 +0200 Subject: [PATCH 026/223] directory.md French --- i18n/fr/docusaurus-plugin-content-docs/current/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/Directory.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/Directory.md index 06681d3d07316a..cb17a2f9f397cf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/Directory.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/Directory.md @@ -556,7 +556,7 @@ La fonction `.files()` retourne une colle > Les alias ou les liens symboliques ne sont pas résolus. -Par défaut, si vous omettez le paramètre *options*, seuls les fichiers à la racine du dossier sont retournés dans la collection, ainsi que les fichiers et dossiers invisibles. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : | Constante | Valeur | Commentaire | | --------------------- | ------ | -------------------------------------------------------------------------------------- | From 58708ad4b7add23570feeb4d89aca60e82583723 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:22 +0200 Subject: [PATCH 027/223] signalclass.md French --- .../current/API/SignalClass.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/API/SignalClass.md b/i18n/fr/docusaurus-plugin-content-docs/current/API/SignalClass.md index 226b8841d9a2a5..dd2d34720622fc 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/API/SignalClass.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/API/SignalClass.md @@ -5,18 +5,15 @@ title: Signal Les signaux sont des outils fournis par le langage 4D pour gérer les interactions et éviter les conflits entre les process dans une application multiprocessus. Les signaux vous permettent de vous assurer qu'un ou plusieurs process attendront la fin d'une tâche spécifique avant de poursuivre leur exécution. Tout process peut attendre et/ou libérer un signal. -> Les sémaphores peuvent également être utilisés pour gérer les interactions. Les sémaphores permettent de s'assurer que deux ou plusieurs process ne modifient pas la même ressource (fichier, enregistrement...) en même temps. Seul le process qui a posé le sémaphore peut le retirer. +:::note -### Objet signal +[Semaphores](../Develop/processes.md#semaphores) can also be used to manage interactions. Les sémaphores permettent de s'assurer que deux ou plusieurs process ne modifient pas la même ressource (fichier, enregistrement...) en même temps. Seul le process qui a posé le sémaphore peut le retirer. -Un signal est un objet partagé qui doit être passé comme paramètre aux commandes qui appellent ou créent des workers ou des process. +::: -Un objet `4D.Signal` contient les méthodes et propriétés intégrées suivantes : +### Objet signal -- [`.wait()`](#wait) -- [`.trigger()`](#trigger) -- [`.signaled`](#signaled) -- [`.description`](#description). +Un signal est un objet partagé qui doit être passé comme paramètre aux commandes qui appellent ou créent des workers ou des process. Tout worker/process appelant la méthode `.wait()` suspend son exécution jusqu'à ce que la propriété `.signaled` soit mise à true. Lorsque vous êtes en attente d'un signal, le process appelant n'utilise pas de CPU. Cela peut être très intéressant pour les performances des applications multiprocess. La propriété `.signaled` devient est mise à True lorsqu'un worker/processus appelle la méthode `.trigger()`. From af804fca4c78d16f3a23cd495e252c9c18d66497 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:24 +0200 Subject: [PATCH 028/223] dt_string.md French --- .../current/Concepts/dt_string.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_string.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_string.md index 1f66268e41ce89..07f03e391cad38 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_string.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/dt_string.md @@ -34,6 +34,12 @@ Les séquences d’échappement suivantes peuvent être utilisées dans les cha **Note :** Le caractère \ (backslash) est utilisé comme séparateur dans les chemins d'accès sous Windows. Vous devez donc saisir un double \\ lorsque vous souhaitez insérer une barre oblique inversée devant un caractère utilisé dans une des séquences d’échappement reconnues par 4D (ex : “C:\\MesDocuments\\Nouveaux.txt”). +### Automatic normalization of line endings + +In order to ensure multi-platform compatibility of texts handled in the database, 4D automatically normalizes line endings so that they occupy a single character: `\r` (carriage return). This normalization is carried out at the level of form objects (variables or fields) hosting plain or multi-style text. Line endings that are not native, or that use a mix of several characters (for example `\r\n`), are considered as a single `\r`. Note that in compliance with the XML standard (multi-style text format), the [multi-style text commands](../commands/theme/Styled_Text.md) also normalize line endings for text variables that are not associated with objects. + +This principle makes it easier to use multi-style text commands or commands such as [`HIGHLIGHT TEXT`](../commands/highlight-text) in a multi-platform context. However, you must take this into account in your processing when you work with texts from heterogeneous sources. + ## Opérateurs sur les chaînes | Opération | Syntaxe | Retourne | Expression | Valeur | From 9a2710687dd730410c58b46bf5ce589f47244193 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:26 +0200 Subject: [PATCH 029/223] methods.md French --- .../current/Concepts/methods.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md index 04b4959835645e..16566157407f85 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Concepts/methods.md @@ -22,4 +22,57 @@ Dans le langage 4D, il existe plusieurs catégories de méthodes. La catégorie | **Méthode base** | Automatique, lorsqu'un événement se produit sur la session de travail | Oui (prédéfini) | Il existe 16 méthodes base dans 4D. | | **Classe** | Appelée automatiquement lorsqu'un objet de la classe est instancié ou lorsqu'une fonction de la classe est exécutée sur une instance d'objet dans toute autre méthode ou dans un [champ de la base de données](../Develop/field-properties.md#class). | oui (fonctions de classe) | Une **Classe** est utilisée pour déclarer et configurer un [constructeur](./classes.md#class-constructor), des [propriétés](./classes.md#property) et des [fonctions](./classes.md#function) d'objets. Voir [**Classes**](classes.md) et [classe **Function**](../API/FunctionClass.md). | +## Language tokens +4D's language includes a unique tokenization system for constants, commands, tables, fields and keywords names that are used in the code. Tokenizing these names means that as you type in the code editor they are stored internally as absolute references (numbers) and then restored as text during execution or display depending on the context. This allows you to guarantee that the code will always be interpreted correctly, even if you rename your tables or fields, or when 4D language commands are renamed over the course of different application versions. + +**Note:** This also ensures automatic translation of the code when you have enabled the ["Use regional system settings" preference](../Preferences/methods.md#4d-programming-language-use-regional-system-settings) and open your databases with 4D versions in different languages. + +Tokenisation is completely transparent for 4D developers when working in the [4D code editor](../code-editor/write-class-method.md), and you generally won't need to worry about it. However, there are two cases where you might need to take action regarding tokenization: if you want to disable it, and if you want to use tokenization in your formulas. + +### Disabling tokenization + +When your project is stored on a version control system (VCS) such as GitHub or GitLab, you may want to disable tokenization to make the code more readable on the external platform. To do this, you can deselect the [**Include tokens in project source files**](../Preferences/general.md#include-tokens-in-project-source-files) preference to prevent tokens from being stored in your **new projects**. + +You can configure your **existing projects** to save code without tokens by inserting the following key in the `.4DProject` file using a text editor: + +```json +"tokenizedText" : false +``` + +Ce paramètre n'est pris en compte que lors de l'enregistrement des méthodes. Les méthodes existantes dans vos projets ne sont pas modifiées, sauf si vous les enregistrez à nouveau. + +### Using tokens in formulas + +A text-based 4D [formula](../commands/theme/Formulas.md) is a text that is interpreted at runtime, and not as it is typed. In fact, this is the case as soon as 4D code is expressed as raw text, more specifically when code is exported and then imported using the [`METHOD GET CODE`](../commands/method-get-code) and [`METHOD SET CODE`](../commands/method-set-code) commands, copied/pasted or [interpreted from 4D HTML tags](../Tags/transformation-tags.md). +To benefit from tokenization mechanisms in these contexts, you just need to use an explicit syntax which consists in preceding object names in the language by their token. + +### Token syntax + +For tokenizable named elements contained in expressions, 4D offers a special syntax you can use to reference the tokens directly: you just need to add a specific suffix after the element name to indicate its type (command, field, etc.), followed by its reference. The token syntax is detailed in this table: + +| Élément | Example (standard syntax) | Suffix | Example (token syntax) | Commentaires | +| ----------- | ------------------------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| 4D Command | String(a) | :Cxx | String:C10(a) | xx is the command number | +| 4D Constant | Pi | :Kxx:yy | Pi:K30:1 | xx is the ID of the constant group and yy is its index (position) within this group | +| Table | [Employees] | :xx | [Employees:1] | xx is the table number | +| Champ | [Employees]Name | :xx | [Employees:1]Name:2 | xx is the field number | +| 4D Plugin | PV PRINT(area) | :Pxx:yy | PV PRINT:P13000:229(area) | xx is the plug-in ID and yy is the index of the command | + +**Note:** Uppercase letters (C, P) must be used in the suffixes; otherwise, they will not be interpreted correctly. + +When you use this syntax, you guarantee that your formulas will be interpreted correctly even in the case of renaming or when the database is executed in a different language. + +This syntax is accepted in all 4D formulas (or 4D expressions) regardless of the calling context: + +- 4D formulas executed using the Formula editor or using commands such as [`EXECUTE FORMULA`](../commands/execute-formula), [`APPLY TO SELECTION`](../commands/apply-to-selection), [`QUERY BY FORMULA`](../commands/query-by-formula), [`LISTBOX INSERT COLUMN FORMULA`](../commands/listbox-insert-column-formula), etc. +- expressions inserted in [multi-style text areas](../FormObjects/properties_Text.md#supported-tags) (see ST INSERT EXPRESSION), +- expressions calculated in [transformation tags](../Tags/transformation-tags.md), +- expressions inserted in external areas such as [4D Write Pro areas](../WritePro/managing-formulas.md). + +#### Where to find the element numbers? + +The token syntax requires the addition of the reference numbers of various elements. The location of these references depends on the type of element. + +- **4D commands:** Command numbers can be found in the documentation ("Properties" area) as well as on the Commands page of the Explorer. +- **Tables and fields**: Table and field numbers can be obtained using the [`Table`](../commands/table) and [`Field`](../commands/field) commands. They are also displayed in the Inspector palette of the Structure editor. \ No newline at end of file From 1d6a71fcf70ad26adbfeddf5ea56fb882e704c3c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:28 +0200 Subject: [PATCH 030/223] formobjects_overview.md French --- .../FormObjects/formObjects_overview.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md index 144475e975a2cb..26feb9875068b9 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md @@ -35,3 +35,35 @@ Vous pouvez ajouter des objets dans un formulaire de nombreuses manières : "height": 20 } ``` + +### Accessing form objects using their name or their data source in the 4D language + +Many commands handling form objects such as commands from [Objects (Forms)](../commands/theme/Objects_Forms.md), [List Box](../commands/theme/List_Box.md), or [Styled Text](../commands/theme/Styled_Text.md) themes share the same generic syntaxes described here: + +```4d +COMMAND NAME( * ; *object* : Text { ; *additional parameters* } ) +//or +COMMAND NAME( *object* : Variable, Field { ; *additional parameters* }) +``` + +If you specify the \* parameter, you indicate that *object* is the [name of the object](./properties_Object.md#object-name) (a string). If you don't pass the \*, you indicate that *object* is a field or a variable, i.e. its [data source](./properties_Object.md#variable-or-expression). + +When using the [object name](./properties_Object.md#object-name), you can rely on the @ character within that name if you want to address several objects of the form in one call. The following table shows examples of object names you can specify to this command. + +| Object Names | Objects affected by the call | +| ---------------------------------- | ------------------------------------------------------------------------------ | +| mainGroupBox | Only the object mainGroupBox. | +| main@ | The objects whose name starts with “main”. | +| @GroupBox | The objects whose name ends with “GroupBox”. | +| @Groupe@ | The objects whose name contains “Group”. | +| main@Btn | The objects whose name starts with “main” and ends with “Btn”. | +| @ | All the objects present in the form. | + +Form object names can contain up 255 bytes, allowing you to define and apply custom naming rules, such as "xxxx_Button" or "xxx_Mac". + +:::warning + +You can [configure the way the @ character is interpreted](../settings/database.md#text-comparison) when it is included in a character string. This option affects the functioning of the form object commands. + +::: + From 503f9eb7fa0159101dc276913ee46af46cca31f7 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:30 +0200 Subject: [PATCH 031/223] list_overview.md French --- .../current/FormObjects/list_overview.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md index d0dce701a5e9fb..9b952dd567d72c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md @@ -22,7 +22,7 @@ Dans les deux cas, vous gérez une liste hiérarchique lors de l'exécution via Une liste hiérarchique est à la fois un **objet de langage** existant en mémoire et un **objet de formulaire**. -L'**objet de langage** est référencé de manière unique par un identifiant interne, de type Entier long, désigné par *RefListe* dans ce manuel. Cet identifiant est retourné par les commandes permettant de créer des listes `New list`, `Copy list`, `Load list`, `BLOB to list`. Il n’existe qu’une seule instance en mémoire de l’objet de langage et toute modification effectuée sur cet objet est immédiatement répercutée dans tous les endroits où il est utilisé. +L'**objet de langage** est référencé de manière unique par un identifiant interne, de type Entier long, désigné par *RefListe* dans ce manuel. This ID is returned by the commands that can be used to create lists: [`New list`](../commands/new-list), [`Copy list`](../commands/copy-list), [`Load list`](../commands/load-list), [`BLOB to list`](../commands/blob-to-list). Il n’existe qu’une seule instance en mémoire de l’objet de langage et toute modification effectuée sur cet objet est immédiatement répercutée dans tous les endroits où il est utilisé. L'**objet de formulaire** n'est pas nécessairement unique : il peut exister plusieurs représentations d’une même liste hiérarchique dans un même formulaire ou dans des formulaires différents. Comme pour les autres objets de formulaire, vous désignez l'objet dans le langage via la syntaxe (\*;"NomListe", etc.). @@ -39,7 +39,7 @@ Chaque représentation de liste dispose de caractéristiques propres et partage - La position du curseur de défilement. Les autres caractéristiques (police, taille de la police, style, contrôle de saisie, couleur, contenu des listes, icônes, etc.) sont communes à toutes les représentations et ne peuvent pas être modifiées séparément. -Par conséquent, lorsque vous utilisez des commandes basées sur la configuration déployé/contracté ou l'élément courant, par exemple `Count list items` (lorsque le paramètre `*` final n’est pas passé), il importe de pouvoir désigner sans ambiguïté la représentation à utiliser. +Consequently, when you use commands based on the expanded/collapsed configuration or the current item, for example [`Count list items`](../commands/count-list-items) (when the final `*` parameter is not passed), it is important to be able to specify the representation to be used without any ambiguity. Vous devez utiliser l'identifiant de type `RefListe` avec les commandes du langage lorsque vous souhaitez désigner la liste hiérarchique résidant en mémoire. Par ailleurs, si vous souhaitez désigner la représentation au niveau du formulaire d'un objet Liste hiérarchique, vous devez utiliser le nom de l'objet (type chaîne) dans la commande, via la syntaxe (\*;"NomListe"...). @@ -54,44 +54,44 @@ SET LIST ITEM FONT(*;"mylist1";*;thefont) ### Prise en compte du @ -Comme pour les autres commandes de gestion des propriété d’objets, il est possible d’utiliser le caractère “@” dans le paramètre `NomListe`. En principe, cette syntaxe permet de désigner un ensemble d’objets dans le formulaire. Toutefois, dans le contexte des commandes de liste hiérarchique, ce principe n’est pas applicable dans tous les cas. Cette syntaxe aura deux effets différents en fonction du type de commande : +As with [other object property management commands](../FormObjects/formObjects_overview.md#accessing-form-objects-using-their-name-or-their-data-source-in-the-4d-language), it is possible to use the “@” character in the `ListName` parameter. En principe, cette syntaxe permet de désigner un ensemble d’objets dans le formulaire. Toutefois, dans le contexte des commandes de liste hiérarchique, ce principe n’est pas applicable dans tous les cas. Cette syntaxe aura deux effets différents en fonction du type de commande : - Pour les commandes fixant des propriétés, cette syntaxe désigne tous les objets dont le nom correspond (fonctionnement standard). Par exemple, le paramètre "LH@" désigne tous les objets de type liste hiérarchique dont le nom débute par “LH” - - `DELETE FROM LIST` - - `INSERT IN LIST` - - `SELECT LIST ITEMS BY POSITION` - - `SET LIST ITEM` - - `SET LIST ITEM FONT` - - `SET LIST ITEM ICON` - - `SET LIST ITEM PARAMETER` - - `SET LIST ITEM PROPERTIES` + - [`DELETE FROM LIST`](../commands/delete-from-list) + - [`INSERT IN LIST`](../commands/insert-in-list) + - [`SELECT LIST ITEMS BY POSITION`](../commands/select-list-items-by-position) + - [`SET LIST ITEM`](../commands/set-list-item) + - [`SET LIST ITEM FONT`](../commands/set-list-item-font) + - [`SET LIST ITEM ICON`](../commands/set-list-item-icon) + - [`SET LIST ITEM PARAMETER`](../commands/set-list-item-parameter) + - [`SET LIST ITEM PROPERTIES`](../commands/set-list-item-properties) - Pour les commandes récupérant des propriétés, cette syntaxe désigne le premier objet dont le nom correspond. Ces commandes sont : - - `Count list items` - - `Find in list` - - `GET LIST ITEM` - - `Get list item font` - - `GET LIST ITEM ICON` - - `GET LIST ITEM PARAMETER` - - `GET LIST ITEM PROPERTIES` - - `List item parent` - - `List item position` - - `Selected list items` + - [`Count list items`](../commands/count-list-items) + - [`Find in list`](../commands/find-in-list) + - [`GET LIST ITEM`](../commands/get-list-item) + - [`Get list item font`](../commands/get-list-item-font) + - [`GET LIST ITEM ICON`](../commands/get-list-item-icon) + - [`GET LIST ITEM PARAMETER`](../commands/get-list-item-parameter) + - [`GET LIST ITEM PROPERTIES`](../commands/get-list-item-properties) + - [`List item parent`](../commands/list-item-parent) + - [`List item position`](../commands/list-item-position) + - [`Selected list items`](../commands/selected-list-items) ## Commandes génériques utilisables avec les listes hiérarchiques Il est possible de modifier l’apparence d’une liste hiérarchique dans un formulaire à l’aide de plusieurs commandes 4D génériques. Vous devez passer à ces commandes soit le nom d’objet de la liste hiérarchique (en utilisant le paramètre \*), soit son nom de variable (contenant la valeur RefListe) : -- `OBJECT SET FONT` -- `OBJECT SET FONT STYLE` -- `OBJECT SET FONT SIZE` -- `OBJECT SET FILTER` -- `OBJECT SET ENTERABLE` -- `OBJECT SET SCROLLBAR` -- `OBJECT SET SCROLL POSITION` -- `OBJECT SET RGB COLORS` +- [`OBJECT SET FONT`](../commands/object-set-font) +- [`OBJECT SET FONT STYLE`](../commands/object-set-font-style) +- [`OBJECT SET FONT SIZE`](../commands/object-set-font-size) +- [`OBJECT SET FILTER`](../commands/object-set-filter) +- [`OBJECT SET ENTERABLE`](../commands/object-set-enterable) +- [`OBJECT SET SCROLLBAR`](../commands/object-set-scrollbar) +- [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) +- [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) -> Rappel : A l'exception de la commande `OBJECT SET SCROLL POSITION`, ces commandes modifient toutes les représentations d'une même liste, même si vous désignez une liste via son nom d'objet. +> Reminder: Except [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position), these commands modify all the representations of the same list, even if you only specify a list via its object name. ## Priorité des commandes de propriété @@ -101,7 +101,7 @@ Certaines propriétés d’une liste hiérarchique (par exemple l’attribut **s 2. Commandes générique de propriété d'objet 3. Propriété formulaire -Ce principe est appliqué quel que soit l’ordre d’appel des commandes. Si une propriété d’élément est modifiée individuellement via une commande de liste hiérarchique, la commande de propriété d’objet équivalente sera sans effet sur cet élément même si elle est appelée ultérieurement. Par exemple, si vous modifiez la couleur d’un élément via la commande `SET LIST ITEM PROPERTIES`, la commande `OBJECT SET COLOR` n’aura aucun effet sur cet élément. +Ce principe est appliqué quel que soit l’ordre d’appel des commandes. Si une propriété d’élément est modifiée individuellement via une commande de liste hiérarchique, la commande de propriété d’objet équivalente sera sans effet sur cet élément même si elle est appelée ultérieurement. For example, if the color of an item is modified via the [`SET LIST ITEM PROPERTIES`](../commands/set-list-item-properties) command, the `OBJECT SET COLOR` command will have no effect on this item. ## Gestion des éléments par position ou par référence @@ -121,19 +121,19 @@ Voici quelques astuces quant à l'utilisation du numéro de référence unique : 1. Vous n'avez pas besoin d'identifier chaque élément de façon unique (niveau débutant). - Premier exemple : vous construisez par programmation un système d'onglets, par exemple, un carnet d'adresses. Comme le système vous retournera le numéro de l'onglet sélectionné, vous n'aurez probablement pas besoin de davantage d'informations. Dans ce cas, ne vous préoccupez pas des numéros de référence des éléments : passez n'importe quelle valeur (hormis 0) dans le paramètre *réfElément*. Notez que pour un système de carnet d'adresses, vous pouvez prédéfinir une liste A, B,..., Z en mode Développement. Vous pouvez également la créer par programmation afin d'éliminer les lettres pour lesquelles il n'y a pas d'enregistrement. - - Deuxième exemple : en travaillant avec une base, vous construisez progressivement une liste de mots-clés. Vous pouvez sauvegarder la liste à la fin de chaque session, en utilisant les commandes `SAVE LIST` ou `LIST TO BLOB`, et la recharger au début de chaque session, à l'aide des commandes `Load list` ou `BLOB to list`. Vous pouvez afficher cette liste dans une palette flottante ; lorsque l'utilisateur clique sur un mot-clé de la liste, l'élément choisi est inséré dans la zone saisissable sélectionnée du process de premier plan. En tout état de cause, l'important est que vous ne traitez que l'élément sélectionné (par clic ou glisser-déposer), car la commande `Selected list items`vous retourne la position de l'élément que vous devez traiter. En utilisant cette valeur de position, vous obtenez le libellé de l'élément grâce à la commande `GET LIST ITEM`. Ici aussi, vous n'avez pas besoin d'identifier de façon unique chaque élément ; vous pouvez passer n'importe quelle valeur (hormis 0) dans le paramètre *réfElément*. + - Deuxième exemple : en travaillant avec une base, vous construisez progressivement une liste de mots-clés. You can save this list at the end of each session by using the [`SAVE LIST`](../commands/save-list) or [`LIST TO BLOB`](../commands/list-to-blob) commands and reload it at the beginning of each new session using the [`Load list`](../commands/load-list) or [`BLOB to list`](../commands/blob-to-list) commands. Vous pouvez afficher cette liste dans une palette flottante ; lorsque l'utilisateur clique sur un mot-clé de la liste, l'élément choisi est inséré dans la zone saisissable sélectionnée du process de premier plan. The important thing is that you only process the item selected, because the [`Selected list items`](../commands/selected-list-items) command returns the position of the item that you must process. When using this position value, you obtain the title of the item by means of the [`GET LIST ITEM`](../commands/get-list-item) command. Ici aussi, vous n'avez pas besoin d'identifier de façon unique chaque élément ; vous pouvez passer n'importe quelle valeur (hormis 0) dans le paramètre *réfElément*. 2. Vous avez besoin d'identifier partiellement les éléments de la liste (niveau intermédiaire). - Vous utilisez le numéro de référence de l'élément pour stocker l'information nécessaire lorsque vous devez agir sur un élément ; ce point est détaillé dans l'exemple de la commande `APPEND TO LIST`. Dans cet exemple, nous utilisons les numéros de référence des éléments pour stocker des numéros d'enregistrements. Cependant, nous devons pouvoir établir une distinction entre les éléments qui correspondent aux enregistrements [Départements] et ceux qui correspondent aux enregistrements [Employés]. + You use the item reference number to store information needed when you must work with the item; this point is detailed in the example of the [`APPEND TO LIST`](../commands/append-to-list) command. Dans cet exemple, nous utilisons les numéros de référence des éléments pour stocker des numéros d'enregistrements. Cependant, nous devons pouvoir établir une distinction entre les éléments qui correspondent aux enregistrements [Départements] et ceux qui correspondent aux enregistrements [Employés]. 3. Vous avez besoin d'identifier les éléments de la liste de façon unique (niveau avancé). - Vous programmez une gestion élaborée de listes hiérarchiques, dans laquelle vous devez absolument pouvoir identifier chaque élément de manière unique à tous les niveaux de la liste. Un moyen simple d'implémenter ce fonctionnement est de maintenir un compteur personnel. Supposons que vous créez une liste *hlList* à l'aide de la commande `APPEND TO LIST`. A ce stade, vous initialisez un compteur *vlhCounter* à 1. A chaque fois que vous appelez `APPEND TO LIST` ou `INSERT IN LIST`, vous incrémentez ce compteur `(vlhCounter:=vlhCounter+1)`, et vous passez le compteur comme numéro de référence de l'élément. L'astuce consiste à ne pas décrémenter le compteur lorsque vous détruisez des éléments — le compteur ne peut qu'augmenter. En procédant ainsi, vous garantissez l'unicité des numéros de référence des éléments. Puisque ces numéros sont des valeurs de type Entier long, vous pouvez ajouter ou insérer plus de deux milliards d'éléments dans une liste qui a été réinitialisée... (si vous manipulez d'aussi grandes quantités d'éléments, cela signifie généralement que vous devriez utiliser une table plutôt qu'une liste.) + Vous programmez une gestion élaborée de listes hiérarchiques, dans laquelle vous devez absolument pouvoir identifier chaque élément de manière unique à tous les niveaux de la liste. Un moyen simple d'implémenter ce fonctionnement est de maintenir un compteur personnel. Suppose that you create a *hlList* list using the [`APPEND TO LIST`](../commands/append-to-list) command. A ce stade, vous initialisez un compteur *vlhCounter* à 1. Each time you call [`APPEND TO LIST`](../commands/append-to-list) or [`INSERT IN LIST`](../commands/insert-in-list), you increment this counter `(vhlCounter:=vhlCounter+1)`, and you pass the counter number as the item reference number. L'astuce consiste à ne pas décrémenter le compteur lorsque vous détruisez des éléments — le compteur ne peut qu'augmenter. En procédant ainsi, vous garantissez l'unicité des numéros de référence des éléments. Puisque ces numéros sont des valeurs de type Entier long, vous pouvez ajouter ou insérer plus de deux milliards d'éléments dans une liste qui a été réinitialisée... (si vous manipulez d'aussi grandes quantités d'éléments, cela signifie généralement que vous devriez utiliser une table plutôt qu'une liste.) > Si vous exploitez les Opérateurs sur les bits, vous pouvez également utiliser les numéros de référence des éléments pour stocker des informations qui peuvent être logées dans un Entier long, c'est-à-dire 2 Entiers, des valeurs de 4 octets ou encore 32 Booléens. ### Quand avez-vous besoin de numéros de référence uniques ? -Dans la plupart des cas, lorsque vous utilisez des listes hiérarchiques pour des besoins d'interface utilisateur, pour lesquels seul l'élément sélectionné (par un clic ou par glisser-déposer) est important, vous n'avez pas besoin d'utiliser les numéros de référence des éléments. Les commandes `Selected list items` et `GET LIST ITEM`vous fournissent toutes les informations nécessaires à la gestion de l'élément sélectionné. De plus, des commandes telles que `INSERT IN LIST` et `DELETE FROM LIST` vous permettent de manipuler la liste de manière "relative" à l'élément sélectionné. +Dans la plupart des cas, lorsque vous utilisez des listes hiérarchiques pour des besoins d'interface utilisateur, pour lesquels seul l'élément sélectionné (par un clic ou par glisser-déposer) est important, vous n'avez pas besoin d'utiliser les numéros de référence des éléments. Using [`Selected list items`](../commands/selected-list-items) and [`GET LIST ITEM`](../commands/get-list-item) you have all you need to deal with the currently selected item. In addition, commands such as [`INSERT IN LIST`](../commands/insert-in-list) and [`DELETE FROM LIST`](../commands/delete-from-list) allow you to manipulate the list “relatively” with respect to the selected item. En pratique, vous devez vous préoccuper des numéros de référence d'éléments lorsque vous voulez accéder directement par programmation à n'importe quel élément de la liste, et pas nécessairement à l'élément couramment sélectionné. From da4744a8abaa2a7a186f86fab726cc674a4fecae Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:34 +0200 Subject: [PATCH 032/223] listbox_overview.md French --- .../current/FormObjects/listbox_overview.md | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) 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 b61f81a0df8a79..8c7e489c57f1f0 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 @@ -579,6 +579,182 @@ Dans ce cas, le remplissage et le vidage des tableaux doivent être effectués p - Lorsque l’utilisateur clique sur un bouton de contraction, vous pouvez traiter l’événement `On Collapse`. La commande [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) renvoie la cellule concernée : vous supprimez autant de lignes que nécessaire de la zone de liste à l'aide de la commande [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows). +## List boxes and the 4D language + +Many commands of the 4D language can be used with list boxes, from the [List box theme](../commands/theme/List_Box.md) but also from [Objects (Forms)](../commands/theme/Objects_Forms.md) and other themes. They can be used with list boxes, or [parts of list boxes](#list-box-parts) such as headers, footers, rows, or columns. Some of them can only be used with specific [list box types](#list-box-types). + +### List Box commands + +| Command | List Box Type | Supported Parts | +| -------------------------------------------------------------------------------- | ---------------------------- | ----------------------------------------- | +| [`LISTBOX COLLAPSE`](../commands/listbox-collapse) | Hierarchical | List box, headers, footers, rows, columns | +| [`LISTBOX DELETE COLUMN`](../commands/listbox-delete-column) | Tous | Colonnes | +| [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows) | Tableau | List box, headers, footers, rows, columns | +| [`LISTBOX DUPLICATE COLUMN`](../commands/listbox-duplicate-column) | Array, Selection, Collection | Colonnes | +| [`LISTBOX EXPAND`](../commands/listbox-expand) | Hierarchical | List box, headers, footers, rows, columns | +| [`LISTBOX Get array`](../commands/listbox-get-array) | Tableau | List box, headers, footers, rows, columns | +| [`LISTBOX GET ARRAYS`](../commands/listbox-get-arrays) | Tous | List box, headers, footers, rows, columns | +| [`LISTBOX Get auto row height`](../commands/listbox-get-auto-row-height) | Tableau | List box, headers, footers, rows, columns | +| [`LISTBOX GET CELL COORDINATES`](../commands/listbox-get-cell-coordinates) | Tous | List box, headers, footers, rows, columns | +| [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) | Tous | List box, headers, footers, rows, columns | +| [`LISTBOX Get column formula`](../commands/listbox-get-column-formula) | Selection, Collection | Colonnes | +| [`LISTBOX Get column width`](../commands/listbox-get-column-width) | Tous | Colonnes | +| [`LISTBOX Get footer calculation`](../commands/listbox-get-footer-calculation) | Array, Selection | Pieds | +| [`LISTBOX Get footers height`](../commands/listbox-get-footers-height) | Tous | Pieds | +| [`LISTBOX GET GRID`](../commands/listbox-get-grid) | Tous | List box, headers, footers, rows, columns | +| [`LISTBOX GET GRID COLORS`](../commands/listbox-get-grid-colors) | Tous | List box, headers, footers, rows, columns | +| [`LISTBOX Get headers height`](../commands/listbox-get-headers-height) | Tous | En-têtes | +| [`LISTBOX GET HIERARCHY`](../commands/listbox-get-hierarchy) | Tableau | List box, headers, footers, rows, columns | +| [`LISTBOX Get locked columns`](../commands/listbox-get-locked-columns) | Tous | List box | +| [`LISTBOX Get number of columns`](../commands/listbox-get-number-of-columns) | Tous | List box | +| [`LISTBOX GET OBJECTS`](../commands/listbox-get-objects) | Tous | List box | +| [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) | Tous | List box, headers, footers, rows, columns | +| [`LISTBOX Get property`](../commands/listbox-get-property) | Tous | List box, columns | +| [`LISTBOX Get row color as number`](../commands/listbox-get-row-color-as-number) | Tableau | Lignes | +| [`LISTBOX Get row font style`](../commands/listbox-get-row-font-style) | Tableau | Lignes | +| [`LISTBOX Get row height`](../commands/listbox-get-row-height) | Tableau | Lignes | +| [`LISTBOX Get rows height`](../commands/listbox-get-rows-height) | Tous | List box | +| [`LISTBOX Get static columns`](../commands/listbox-get-static-columns) | Tous | List box | +| [`LISTBOX GET TABLE SOURCE`](../commands/listbox-get-table-source) | Tous | List box | +| [`LISTBOX INSERT COLUMN`](../commands/listbox-insert-column) | Tous | List box | +| [`LISTBOX INSERT COLUMN FORMULA`](../commands/listbox-insert-column-formula) | Tous | List box | +| [`LISTBOX INSERT ROWS`](../commands/listbox-insert-rows) | Tableau | List box | +| [`LISTBOX MOVE COLUMN`](../commands/listbox-move-column) | Tous | Colonnes | +| [`LISTBOX MOVED COLUMN NUMBER`](../commands/listbox-moved-column-number) | Tous | Colonnes | +| [`LISTBOX MOVED ROW NUMBER`](../commands/listbox-moved-row-number) | Tableau | Lignes | +| [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) | Hierarchical | List box | +| [`LISTBOX SELECT ROW`](../commands/listbox-select-row) | Tous | Lignes | +| [`LISTBOX SET ARRAY`](../commands/listbox-set-array) | Tableau | List box, columns | +| [`LISTBOX SET AUTO ROW HEIGHT`](../commands/listbox-set-auto-row-height) | Tableau | Lignes | +| [`LISTBOX SET COLUMN FORMULA`](../commands/listbox-set-column-formula) | Selection, Collection | Colonnes | +| [`LISTBOX SET COLUMN WIDTH`](../commands/listbox-set-column-width) | Tous | Colonnes | +| [`LISTBOX SET FOOTER CALCULATION`](../commands/listbox-set-footer-calculation) | Array, Selection | Pieds | +| [`LISTBOX SET FOOTERS HEIGHT`](../commands/listbox-set-footers-height) | Tous | Pieds | +| [`LISTBOX SET GRID`](../commands/listbox-set-grid) | Tous | List box | +| [`LISTBOX SET GRID COLOR`](../commands/listbox-set-grid-color) | Tous | List box | +| [`LISTBOX SET HEADERS HEIGHT`](../commands/listbox-set-headers-height) | Tous | En-têtes | +| [`LISTBOX SET HIERARCHY`](../commands/listbox-set-hierarchy) | Tableau | List box | +| [`LISTBOX SET LOCKED COLUMNS`](../commands/listbox-set-locked-columns) | Tous | List box | +| [`LISTBOX SET PROPERTY`](../commands/listbox-set-property) | Tous | List box, columns | +| [`LISTBOX SET ROW COLOR`](../commands/listbox-set-row-color) | Tableau | Lignes | +| [`LISTBOX SET ROW FONT STYLE`](../commands/listbox-set-row-font-style) | Tableau | Lignes | +| [`LISTBOX SET ROW HEIGHT`](../commands/listbox-set-row-height) | Tableau | Lignes | +| [`LISTBOX SET ROWS HEIGHT`](../commands/listbox-set-rows-height) | Tous | List box | +| [`LISTBOX SET STATIC COLUMNS`](../commands/listbox-set-static-columns) | Tous | List box | +| [`LISTBOX SET TABLE SOURCE`](../commands/listbox-set-table-source) | Sélections | List box | +| [`LISTBOX SORT COLUMNS`](../commands/listbox-sort-columns) | Tous | Colonnes | + +### Miscellaneous commands + +| Command | List Box Type | Supported Parts | Commentaires | +| ------------------------------------------------------------ | ---------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`EDIT ITEM`](../commands/edit-item) | Tous | Colonnes | Allows you to pass a cell of a list box object into edit mode | +| [`Get edited text`](../commands/get-edited-text) | Tous | List box, headers, footers, rows, columns | | +| [`REDRAW`](../commands/redraw) | Array, Selection | List box | When applied to a selection list box, triggers an update of the data displayed in the list box. Not supported with list box of the entity selection type. | +| [`Displayed line number`](../commands/displayed-line-number) | Tous | List box, headers, footers, rows, columns | Works in the context of the [`On Display Detail`](../Events/onDisplayDetail.md) form event for a list box object | +| [`Drop position`](../commands/drop-position) | Tous | List box, headers, footers, rows, columns | | +| [`Count in array`](../commands/count-in-array) | Tous | List box, headers, footers, rows, columns | | +| [`Print object`](../commands/print-object) | Tous | List box, headers, footers, rows, columns | | + +### Object (forms) commands + +| Command | List Box Type | Supported Parts | +| ------------------------------------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------ | +| [`OBJECT DUPLICATE`](../commands/object-duplicate) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT GET BEST SIZE`](../commands/object-get-best-size) | Tous | Colonnes | +| [`OBJECT Get border style`](../commands/object-get-border-style) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT GET COORDINATES`](../commands/object-get-coordinates) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get data source`](../commands/object-get-data-source) | Tableau | List box | +| [`OBJECT GET DRAG AND DROP OPTIONS`](../commands/object-get-drag-and-drop-options) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get enterable`](../commands/object-get-enterable) | Tous | Colonnes | +| [`OBJECT Get filter`](../commands/object-get-filter) | Tous | Colonnes | +| [`OBJECT Get focus rectangle invisible`](../commands/object-get-focus-rectangle-invisible) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get font`](../commands/object-get-font) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get font size`](../commands/object-get-font-size) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get font style`](../commands/object-get-font-style) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get format`](../commands/object-get-format) | Tous | En-têtes | +| [`OBJECT Get help tip`](../commands/object-get-help-tip) | Tous | Headers, footers | +| [`OBJECT Get horizontal alignment`](../commands/object-get-horizontal-alignment) | Tous | List box, headers, footers, columns | +| [`OBJECT Get list reference`](../commands/object-get-list-reference) | Tous | Colonnes | +| [`OBJECT Get name`](../commands/object-get-name) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT Get pointer`](../commands/object-get-pointer) | Tous | List box, headers, footers, rows, columns (see below) | +| [`OBJECT GET RESIZING OPTIONS`](../commands/object-get-resizing-options) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT GET RGB COLORS`](../commands/object-get-rgb-colors) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT GET SCROLL POSITION`](../commands/object-get-scroll-position) | Tous | List box | +| [`OBJECT GET SCROLLBAR`](../commands/object-get-scrollbar) | Tous | List box | +| [`OBJECT Get type`](../commands/object-get-type) | Tous | List box, headers, footers, columns | +| [`OBJECT Get vertical alignment`](../commands/object-get-vertical-alignment) | Tous | List box, headers, footers, columns | +| [`OBJECT MOVE`](../commands/object-move) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET COLOR`](../commands/object-set-color) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET COORDINATES`](../commands/object-set-coordinates) | Tous | List box | +| [`OBJECT SET DATA SOURCE`](../commands/object-set-data-source) | Tous | List box | +| [`OBJECT SET ENTERABLE`](../commands/object-set-enterable) | Tous | Colonnes | +| [`OBJECT SET EVENTS`](../commands/object-set-events) | Tous | List box | +| [`OBJECT SET FOCUS RECTANGLE INVISIBLE`](../commands/object-set-focus-rectangle-invisible) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET FONT`](../commands/object-set-font) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET FONT SIZE`](../commands/object-set-font-size) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET FONT STYLE`](../commands/object-set-font-style) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET FORMAT`](../commands/object-set-format) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET HELP TIP`](../commands/object-set-help-tip) | Tous | Headers, footers | +| [`OBJECT SET HORIZONTAL ALIGNMENT`](../commands/object-set-horizontal-alignment) | Tous | List box, headers, footers, columns | +| [`OBJECT SET RESIZING OPTIONS`](../commands/object-set-resizing-options) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) | Tous | List box, headers, footers, rows, columns | +| [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) | Tous | List box | +| [`OBJECT SET SCROLLBAR`](../commands/object-set-scrollbar) | Tous | List box. Scrolls the list box rows so that the first selected row or a specified row is displayed | +| [`OBJECT SET TITLE`](../commands/object-set-title) | Tous | En-têtes | +| [`OBJECT SET VERTICAL ALIGNMENT`](../commands/object-set-vertical-alignment) | Tous | List box, headers, footers, columns | +| [`OBJECT SET VISIBLE`](../commands/object-set-visible) | Tous | List box, headers, footers | + +When [`OBJECT SET VISIBLE`](../commands/object-set-visible) is used with a header or footer, it is applied on all List box object headers or footers, regardless of the individual element set by the command. For example, the `OBJECT SET VISIBLE(*;"header3";False)` statement will hide all headers in the List box object to which *header3* belongs and not simply this header. Note that in order for you to be able to manage the visibility of these objects using the [`OBJECT SET VISIBLE`](../commands/object-set-visible) command, they must have been displayed in the list box properties. + +### OBJECT Get pointer + +The [`OBJECT Get pointer`](../commands/object-get-pointer) command used with the `Object with focus` or `Object current` constant can be used in the object method of a list box or a list box column. They return a pointer to the list box, the list box column (see note below) or the header variable depending on the type of [form event](../Events/overview.md). The following table details this functioning: + +| Evénement | Object with focus | Object current | +| -------------------------------------------------------- | ------------------------------------------ | ------------------------------------------ | +| [`On Clicked`](../Events/onClicked.md) | list box | column | +| [`On Double Clicked`](../Events/onDoubleClicked.md) | list box | column | +| [`On Before Keystroke`](../Events/onBeforeKeystroke.md) | column | column | +| [`On After Keystroke`](../Events/onAfterKeystroke.md) | column | column | +| [`On After Edit`](../Events/onAfterEdit.md) | column | column | +| [`On Getting Focus`](../Events/onGettingFocus.md) | column or list box (\*) | column or list box (\*) | +| [`On Losing Focus`](../Events/onLosingFocus.md) | column or list box (\*) | column or list box (\*) | +| [`On Drop`](../Events/onDrop.md) | list box (source) | list box (\*) | +| [`On Drag Over`](../Events/onDragOver.md) | list box (source) | list box (\*) | +| [`On Begin Drag Over`](../Events/onBeginDragOver.md) | list box | list box (\*) | +| [`On Mouse Enter`](../Events/onMouseEnter.md) | list box (\*\*) | list box (\*\*) | +| [`On Mouse Move`](../Events/onMouseMove.md) | list box (\*\*) | list box (\*\*) | +| [`On Mouse Leave`](../Events/onMouseLeave.md) | list box (\*\*) | list box (\*\*) | +| [`On Data Change`](../Events/onDataChange.md) | column | column | +| [`On Selection Change`](../Events/onSelectionChange.md) | list box (\*\*) | list box (\*\*) | +| [`On Before Data Entry`](../Events/onBeforeDataEntry.md) | column | column | +| [`On Column Moved`](../Events/onColumnMoved.md) | list box | column | +| [`On Row Moved`](../Events/onRowMoved.md) | list box | list box | +| [`On Column Resize`](../Events/onColumnResize.md) | list box | column | +| [`On Open Detail`](../Events/onOpenDetail.md) | Nil | list box (\*\*) | +| [`On Close Detail`](../Events/onCloseDetail.md) | Nil | list box (\*\*) | +| [`On Header Click`](../Events/onHeaderClick.md) | list box | header | +| [`On Footer Click`](../Events/onFooterClick.md) | list box | footer | +| [`On After Sort`](../Events/onAfterSort.md) | list box | header | + +(\*) When the focus is modified within a list box, a pointer to the column is returned. When the focus is modified at the overall form level, a pointer to the list box is returned. In the context of a column object method, a pointer to the column is returned. +(\*\*) Not executed in the context of a column object method. + +:::note + +When a pointer to a column is returned, the object pointed to depends on the type of list box. With an array type list box, the `OBJECT Get pointer` command returns a pointer to the column of the list box with the focus (i.e. to an array). The 4D pointer mechanism allows you to see the item number of the modified array. For example, supposing a user modified the 5th line of the column col2: +```4d + $Column:=OBJECT Get pointer(Object with focus) + //$Column contains a pointer to col2 + $Row:=$Column-> //$Row equals 5 +``` + +::: +For a selection type list box, the `OBJECT Get pointer` command returns: +- For a column associated with a field, a pointer to the associated field, +- For a column associated with a variable, a pointer to the variable, +- For a column associated with an expression, the `Is nil pointer` pointer. From 4e6265a54db307c3b5c203521bdc5889ecad6ceb Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:38 +0200 Subject: [PATCH 033/223] properties_text.md French --- .../current/FormObjects/properties_Text.md | 85 ++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) 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 2bd8e805bd4e2e..c485dedbfe5b17 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 @@ -434,7 +434,7 @@ Par défaut, cette option n'est pas activée. #### Commandes -[LISTBOX Get property](../commands/listbox-get-property) - [LISTBOX SET PROPERTY](../commands/listbox-set-property) - [OBJECT Is styled text](../commands/object-is-styled-text) +[LISTBOX Get property](../commands/listbox-get-property) - [LISTBOX SET PROPERTY](../commands/listbox-set-property) - [OBJECT Is styled text](../commands/object-is-styled-text) - ["Styled Text" theme](../ommands/theme/Styled_Text.md) ### Supported tags @@ -513,6 +513,89 @@ For font color and background color attributes, the color value can be either th ![](../assets/en/FormObjects/colors1.png) ![](../assets/en/FormObjects/colors2.png) +### Working with text handling commands + +#### Interface utilisateur + +The commands that can be used to manipulate text objects by programming do not take any style tags integrated into the text into account. They act upon displayed text only. This concerns the following commands: + +- [User Interface](../commands/theme/User_Interface.md) theme commands +- [`HIGHLIGHT TEXT`](../commands/highlight-text) +- [`GET HIGHLIGHT`](../commands/get-highlight) + +When you use these commands with commands that manipulate character strings, it is necessary to filter the formatting characters using the [`ST Get plain text`](../commands/st-get-plain-text) command: + +```4d + HIGHLIGHT TEXT([Products]Notes;1;Length(ST Get plain text([Products]Notes))+1) +``` + +#### Objets (Formulaires) + +The commands that can be used to modify the style of objects (for example, [`OBJECT SET FONT`](../commands/object-set-font)) apply to the whole object and not to the selection. + +If the object does not have the focus when the command is executed, the modification is applied simultaneously to the object (the text area) and to its associated variable. If the object does have the focus, the modification is carried out on the object but not on the associated variable. The modification is only applied to the variable when the object loses the focus. Keep this principle in mind when programming text areas. + +:::note + +If the [**Store with default style tags**](#store-with-default-style-tags) option is checked for the object, the use of these commands will cause a modification of the tags saved with each object. + +::: + +Note also that only default properties are affected by these commands (as well as any properties saved by means of default tags). Custom style tags remain as they are. For example, given a multi-style area where default tags were saved: + +![](../assets/en/FormObjects/multistyle-ex1.png) + +The plain text of the area is as follows: + +```html +This is the word red +``` + +Si vous exécutez le code suivant : + +```4d +OBJECT SET COLOR(*;"myArea";-(Blue+(256*Yellow))) +``` + +The red color remains: + +![](../assets/en/FormObjects/multistyle-ex2.png) + +and code is: + +```html +This is the word red +``` + +The following commands are concerned: + +- [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) +- [`OBJECT SET FONT`](../commands/object-set-font) +- [`OBJECT SET FONT STYLE`](../commands/object-set-font-style) +- [`OBJECT SET FONT SIZE`](../commands/object-set-font-size) + +In the context of multi-style areas, such commands should be used to set default styles only. To manage styles during database execution, we recommend using the [commands of the "Styled Text" theme](../commands/theme/Styled_Text.md). + +#### Get edited text + +When it is used with a rich text area, the [`Get edited text`](../commands/get-edited-text) command returns the text of the current area including any style tags. + +To retrieve the "plain" text (text without tags) being edited, you must use the [`ST Get plain text`](../commands/st-get-plain-text) command: + +```4d +ST Get plain text(Get edited text) +``` + +#### Query and order by commands + +Queries and sorts carried out among multi-style objects take into account any style tags saved in the object. If a style modification has been made within a word, searching for the word will not be successful. + +To be able to carry out valid searches and sorts, you must use the [`ST Get plain text`](../commands/st-get-plain-text) command. Par exemple : + +```4d +QUERY BY FORMULA([MyTable];ST Get plain text([MyTable]MyFieldStyle)="very well") +``` + --- ## Orientation From 5cfbaa6425005278ce16eff6b4b77034ab4f60fc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:40 +0200 Subject: [PATCH 034/223] general.md French --- .../current/Preferences/general.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md b/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md index c4557449b8266c..3aebebf8979541 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Preferences/general.md @@ -94,7 +94,7 @@ Grâce à ce principe, sous macOS les dossiers des bases apparaissent sous forme ### Inclure les tokens dans les fichiers sources des projets -Lorsque cette option est cochée, les [fichiers sources des méthodes](../Project/architecture.md#sources) enregistrées dans les nouveaux projets 4D contiendront des **tokens** pour les objets du langage classic et de la base (constantes, commandes, tables et champs). Les tokens sont des caractères supplémentaires tels que `:C10` ou `:5` insérés dans les fichiers de code source, qui permettent de renommer les tables et les champs et d'identifier les éléments quelle que soit la version 4D (voir [Using tokens in formulas](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.en.html)). +When this option is checked, saved [method source files](../Project/architecture.md#sources) in new 4D projects will contain [**tokens** for classic language and database objects (constants, commands, tables and fields)](../Concepts/methods.md#language-tokens). 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. Si vous avez l'intention d'utiliser des VCS ou des éditeurs de code externes avec vos nouveaux projets, il est préférable de décocher cette option pour une meilleure lisibilité du code avec ces outils. From f39fd61d9e4cfc0486b826f674c2b8993aa4a512 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:46 +0200 Subject: [PATCH 035/223] compatibility.md French --- .../current/settings/compatibility.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/settings/compatibility.md b/i18n/fr/docusaurus-plugin-content-docs/current/settings/compatibility.md index ed021cc43aee12..e8b34499ea676c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/settings/compatibility.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/settings/compatibility.md @@ -10,26 +10,26 @@ La page Compatibilité regroupe les paramètres relatifs au maintien de la compa - Le nombre d'options affichées dépend de la version de 4D avec laquelle la base de données/projet original a été créé, ainsi que des paramétrages modifiés dans cette base/projet.\ Cette page répertorie les options de compatibilité disponibles pour les bases de données/projets convertis à partir de 4D 18 et suivants.\ Cette page répertorie les options de compatibilité disponibles pour les bases de données/projets convertis à partir de 4D 18 et suivants. -- This page lists the compatibility options available for database/projects converted from 4D 18 onwards. Pour les options de compatibilité plus anciennes, consultez la [page Compatibilité](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) sur **doc.4d.com**. +- Cette page répertorie les options de compatibilité disponibles pour les bases de données/projets convertis à partir de 4D 18 et suivants. Pour les options de compatibilité plus anciennes, consultez la [page Compatibilité](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) sur **doc.4d.com**. ::: -- **Use standard XPath:** By default this option is unchecked for databases converted from a 4D version prior to 18 R3, and checked for databases created with 4D 18 R3 and higher. Starting with 18 R3, the XPath implementation in 4D has been modified to be more compliant and to support more predicates. Par conséquent, les fonctionnalités non standard de l'implémentation antérieure ne fonctionnent plus. Elles incluent : +- **Utiliser XPath standard :** Par défaut, cette option est désélectionnée pour les bases converties depuis une version de 4D antérieure à la 18 R3, et est cochée pour les bases créées sous une version 4D 18 R3 ou une version plus récente. A partir de la version 18 R3, l'implémentation de XPath dans 4D a été modifiée pour une meilleure conformité et pour la prise en charge d'un plus grand nombre de prédicats. Par conséquent, les fonctionnalités non standard de l'implémentation antérieure ne fonctionnent plus. Elles incluent : - le caractère "/" initial n'est pas seulement le noeud racine - l'utilisation du caractère / comme premier caractère d'une expression XPath ne déclare pas un chemin absolu à partir du noeud racine - pas de noeud courant implicite - le noeud courant doit être intégré dans l'expression XPath - pas de requêtes récursives dans les structures répétées - seul le premier élément est parsé. \ - Même si ces fonctionnalités ne sont pas standard, vous pourriez vouloir continuer à les utiliser afin que votre code continue de fonctionner comme avant -- dans ce cas, il vous suffit de *désélectionner* l'option. On the other hand, if your code does not rely on the non-standard implementation and if you want to benefit from the extended XPath features in your databases (as described in the [`DOM Find XML element`](../commands/dom-find-xml-element) command), make sure the **Use standard XPath** option is *checked*. + Même si ces fonctionnalités ne sont pas standard, vous pourriez vouloir continuer à les utiliser afin que votre code continue de fonctionner comme avant -- dans ce cas, il vous suffit de *désélectionner* l'option. En revanche, si votre code ne repose pas sur cette implémentation non standard et si vous souhaitez tirer parti des fonctionnalités XPath étendues dans vos bases de données (telles que décrites dans la commande [`DOM Find XML element`](../commands/dom-find-xml-element)), assurez-vous que l'option **Utiliser XPath standard** est *cochée*. -- **Use LF for end of line on macOS:** Starting with 4D 19 R2 (and 4D 19 R3 for XML files), 4D writes text files with line feed (LF) as default end of line (EOL) character instead of CR (CRLF for xml SAX) on macOS in new projects. Si vous souhaitez bénéficier de ce nouveau comportement dans les projets convertis à partir de versions antérieures de 4D, cochez cette option. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). +- **Utiliser un LF comme caractère de fin de ligne sur macOS :** À partir de 4D 19 R2 (et 4D 19 R3 pour les fichiers XML), 4D écrit les fichiers texte avec un saut de ligne (LF) comme caractère de fin de ligne (EOL) par défaut au lieu de Retour Chariot (CR) (CRLF pour xml SAX) sur macOS dans les nouveaux projets. Si vous souhaitez bénéficier de ce nouveau comportement dans les projets convertis à partir de versions antérieures de 4D, cochez cette option. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). -- **Don't add a BOM when writing a unicode text file by default:** Starting with 4D 19 R2 (and 4D 19 R3 for XML files), 4D writes text files without a byte order mark (BOM) by default. Dans les versions antérieures, les fichiers texte étaient écrits avec un BOM par défaut. Sélectionnez cette option si vous souhaitez activer le nouveau comportement dans les projets convertis. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). +- **Ne pas ajouter de BOM lors de l'écriture d'un fichier texte unicode par défaut :** À partir de 4D 19 R2 (et 4D 19 R3 pour les fichiers XML), 4D écrit des fichiers texte sans BOM ("Byte order mark") par défaut. Dans les versions antérieures, les fichiers texte étaient écrits avec un BOM par défaut. Sélectionnez cette option si vous souhaitez activer le nouveau comportement dans les projets convertis. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). -- **Map NULL values to blank values unchecked by default at field creation**: For better compliance with ORDA specifications, in databases created with 4D 19 R4 and higher the **Map NULL values to blank values** field property is unchecked by default when you create fields. Vous pouvez appliquer ce comportement par défaut à vos bases de données converties en cochant cette option (il est recommandé de travailler avec des valeurs Null car elles sont entièrement prises en charge par [ORDA](../ORDA/overview.md)). +- **Traduire les NULL en valeurs vides non cochée par défaut à la création d'un champ** : Pour une meilleure conformité avec les spécifications ORDA, dans les bases de données créées avec 4D 19 R4 et versions ultérieures, la propriété de champ **Traduire les NULL en valeurs vides** est non cochée par défaut lors de la création des champs. Vous pouvez appliquer ce comportement par défaut à vos bases de données converties en cochant cette option (il est recommandé de travailler avec des valeurs Null car elles sont entièrement prises en charge par [ORDA](../ORDA/overview.md)). -- **Non-blocking printing**: Starting with 4D 20 R4, each process has its own printing settings (print options, current printer, etc.), thus allowing you to run multiple printing jobs simultaneously. Check this option if you want to benefit from this new implementation in your converted 4D projects or your databases converted from binary mode to project mode. **When left unchecked**, the previous implementation is applied: the current 4D printing settings are applied globally, the printer is placed in "busy" mode when one printing job is running, you must call [`CLOSE PRINTING JOB`](../commands/close-printing-job) for the printer to be available for the next print job (check previous 4D documentations for more information). +- **Impression non-bloquante** : À partir de 4D 20 R4, chaque process a ses propres paramètres d'impression (options d'impression, imprimante courante, etc.), ce qui vous permet d'exécuter plusieurs tâches d'impression simultanément. Cochez cette option si vous souhaitez bénéficier de cette nouvelle implémentation dans vos projets 4D convertis ou dans les bases de données converties du mode binaire au mode projet. **Lorsque l'option n'est pas cochée**, l'implémentation précédente est appliquée : les paramètres d'impression 4D courants sont appliqués globalement, l'imprimante passe en mode "occupé" lorsqu'un job d'impression est en cours, vous devez appeler [`CLOSE PRINTING JOB`](../commands/close-printing-job) pour que l'imprimante soit disponible pour le prochain job d'impression (consultez la documentation 4D précédente pour plus d'informations). -- **Save structure color and coordinates in separate catalog_editor.json file**: Starting with 4D 20 R5, changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) sont sauvegardées dans un fichier séparé nommé `catalog_editor.json`, stocké dans le dossier [Sources](../Project/architecture.md#sources) du projet. Cette nouvelle architecture de fichiers facilite la gestion des conflits de fusion dans les applications de gestion de versions (VCS) car le fichier `catalog.4DCatalog` ne contient désormais que les modifications cruciales de la structure de la base de données. Pour des raisons de compatibilité, cette fonctionnalité n'est pas activée par défaut dans les projets convertis à partir des versions précédentes de 4D, vous devez cocher cette option. Lorsque la fonctionnalité est activée, le fichier `catalog_editor.json` est créé lors de la première modification dans l'éditeur de structure. +- **Sauvegarder les couleurs et les coordonnées de la structure dans un fichier catalog_editor.json séparé** : À partir de 4D 20 R5, les modifications apportées dans l'éditeur de Structure concernant l'apparence graphique des tables et des champs (couleur, position, ordre...) sont sauvegardées dans un fichier séparé nommé `catalog_editor.json`, stocké dans le dossier [Sources](../Project/architecture.md#sources) du projet. Cette nouvelle architecture de fichiers facilite la gestion des conflits de fusion dans les applications de gestion de versions (VCS) car le fichier `catalog.4DCatalog` ne contient désormais que les modifications cruciales de la structure de la base de données. Pour des raisons de compatibilité, cette fonctionnalité n'est pas activée par défaut dans les projets convertis à partir des versions précédentes de 4D, vous devez cocher cette option. Lorsque la fonctionnalité est activée, le fichier `catalog_editor.json` est créé lors de la première modification dans l'éditeur de structure. -- **Use legacy print rendering**: Starting with 4D 21 R3, 4D uses a new, unified print rendering engine to print forms on macOS and Windows. To make sure forms designed with the [legacy screen-based print renderer](../FormEditor/forms.md#legacy-print-renderer) continue to be printed as expected, this option is checked by default in converted projects or databases created with 4D 21 R2 and before. You can uncheck this option to benefit from the [modern print rendering engine](../FormEditor/forms.md#print-rendering-engine). Note that when forms are rendered under Liquid Glass (macOS) or Fluent UI (Windows) interfaces, this option is ignored: in such contexts forms are always printed using the modern print renderer (see [this section](../FormEditor/forms.md#legacy-print-renderer)). \ No newline at end of file +- **Utiliser l'ancien rendu d'impression** : À partir de la version 4D 21 R3, 4D utilise un nouveau moteur de rendu d'impression unifié pour imprimer des formulaires sous macOS et Windows. Afin de garantir que les formulaires conçus avec l'[ancien moteur d'impression basé sur l'affichage à l'écran](../FormEditor/forms.md#legacy-print-renderer) continuent d'être imprimés comme vous le souhaitez, cette option est cochée par défaut dans les projets convertis ou les bases de données créées avec 4D 21 R2 et les versions antérieures. Vous pouvez désélectionner cette option pour bénéficier du [moteur de rendu d'impression moderne](../FormEditor/forms.md#print-rendering-engine). Notez que lorsque les formulaires sont affichés via les interfaces Liquid Glass (macOS) ou Fluent UI (Windows), cette option est ignorée : dans ces cas-là, les formulaires sont toujours imprimés à l'aide du moteur d'impression moderne (voir [cette section](../FormEditor/forms.md#legacy-print-renderer)). \ No newline at end of file From 364b14884f502e99341588f564bcd6eaca1e987c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:48 +0200 Subject: [PATCH 036/223] database.md French --- .../current/settings/database.md | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/settings/database.md b/i18n/fr/docusaurus-plugin-content-docs/current/settings/database.md index e5b16d1f91f96e..9eab94b0a4c661 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/settings/database.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/settings/database.md @@ -114,13 +114,39 @@ Utilisez les paramètres de cet onglet pour configurer la mémoire cache de la b - **Calcul du cache adaptatif non cochée** : dans ce mode, vous définissez vous-même la taille de la mémoire cache pour la base. 4D affiche alors une zone de saisie permettant de définir la mémoire cache à utiliser ainsi que les informations relatives à la mémoire physique (mémoire RAM disponible sur la machine), le cache actuel et le cache après redémarrage (tenant compte de vos modifications). - La taille de mémoire cache que vous saisissez sera réservée pour la base 4D, quel que soit l’état des ressources de la machine. Ce paramétrage peut être utilisé dans certaines configurations spécifiques, ou lorsque la base est destinée à fonctionner sur des systèmes disparates en termes de mémoire. Dans la plupart des cas, le cache adaptatif est plus performant. +La taille de mémoire cache que vous saisissez sera réservée pour la base 4D, quel que soit l’état des ressources de la machine. Ce paramétrage peut être utilisé dans certaines configurations spécifiques, ou lorsque la base est destinée à fonctionner sur des systèmes disparates en termes de mémoire. Dans la plupart des cas, le cache adaptatif est plus performant. - **Ecriture cache toutes les… Minutes/secondes** : spécifie la fréquence de sauvegarde automatique du cache de données, c’est-à-dire son écriture sur le disque. - 4D écrit les données placées dans le cache à intervalles fixes. Vous pouvez définir tout intervalle compris entre 1 seconde et 500 minutes. Par défaut, 4D stocke vos données toutes les 20 secondes. L’application écrit aussi vos données sur disque lorsque vous changez de mode ou quittez l’application. Vous pouvez également appeler la commande [FLUSH CACHE](../commands/flush-cache) pour déclencher l'écriture à tout moment. + 4D écrit les données placées dans le cache à intervalles fixes. Vous pouvez définir tout intervalle compris entre 1 seconde et 500 minutes. Par défaut, 4D stocke vos données toutes les 20 secondes. L’application écrit aussi vos données sur disque lorsque vous changez de mode ou quittez l’application. You can also call the [`FLUSH CACHE`](../commands/flush-cache) command to trigger the flush at any moment. - Quand vous prévoyez de saisir beaucoup de données, il est souhaitable de fixer un intervalle court. En effet, en cas de coupure de courant, vous ne perdriez que les données saisies depuis la dernière écriture (si la base fonctionne sans fichier d’historique). +Quand vous prévoyez de saisir beaucoup de données, il est souhaitable de fixer un intervalle court. En effet, en cas de coupure de courant, vous ne perdriez que les données saisies depuis la dernière écriture (si la base fonctionne sans fichier d’historique). - Si chaque opération d’écriture du cache est accompagnée d’un fort ralentissement de la base de données, il faut ajuster la fréquence. Ce symptôme signifie une sauvegarde massive d’enregistrements. Dans ce cas, une fréquence d’écriture plus élevée, donc plus rapide, est plus efficace. +Si chaque opération d’écriture du cache est accompagnée d’un fort ralentissement de la base de données, il faut ajuster la fréquence. Ce symptôme signifie une sauvegarde massive d’enregistrements. Dans ce cas, une fréquence d’écriture plus élevée, donc plus rapide, est plus efficace. + +Par défaut, 4D affiche une petite fenêtre lors de l'écriture du cache. Si vous ne voulez pas ce rappel visuel, vous pouvez désélectionner l'option **Ecriture du cache** dans la [Page Interface](./interface.md). + +:::note + +You can modify temporary the cache flush frequency using the [`Cache flush periodicity` selector of the `SET DATABASE PARAMETER` command](../commands/set-database-parameter#cache-flush-periodicity-95). + +::: + +### Managing priorities in database cache + +The 4D database cache includes an automatic priority management mechanism that provides a high level of efficiency and performance for data access. Thanks to this mechanism, when space is needed to load new data in the cache, low priority cached data are released first, while higher priority cached data remain loaded. + +This mechanism is fully automatic and usually, you will not have to worry about it. However, for specific cases it can be customized using a [set of dedicated commands from the "Cache Management" theme](../commands/theme/Cache_Management.md), which allow changing the priority of objects for the entire time the database is running, or temporarily for the current process. Note that these commands must be used carefully since they affect database performance. + +#### Priority management overview + +The Cache manager selects data to remove from the cache as necessary using a priority system. The three kinds of objects that can be loaded in the cache have a different priority: + +- **tables**: all standard field data (numeric, dates, etc.), excluding blobs (see below). Default priority is medium. +- **blobs**: all binary field data (text, picture, object and blobs) stored in the data file. Default priority is the lowest. +- **indexes**: all field indexes, including keyword indexes and composite indexes. Since indexes are frequently accessed, they have a special status in the cache. Default priority is the highest. + +Default priorities usually provide the best performances. However, for specific cases you can customize the cache priorities using two sets of 4D commands: + +- Commands that change the priorities for the whole session and all processes: [`SET TABLE CACHE PRIORITY`](../commands/set-table-cache-priority), [`SET INDEX CACHE PRIORITY`](../commands/set-index-cache-priority), and [`SET BLOBS CACHE PRIORITY`](../commands/set-blobs-cache-priority). These commands should be used in a startup database method. +- Commands that change the priorities only for the current process: [`ADJUST TABLE CACHE PRIORITY`](../commands/adjust-table-cache-priority), [`ADJUST INDEX CACHE PRIORITY`](../commands/adjust-index-cache-priority), and [`ADJUST BLOBS CACHE PRIORITY`](../commands/adjust-blobs-cache-priority). Use these commands to improve the performance of a temporary operation on your database and go back to initial priorities after the operation is finished. These commands are available only on 4D Server or 4D in local mode. - Par défaut, 4D affiche une petite fenêtre lors de l'écriture du cache. Si vous ne voulez pas ce rappel visuel, vous pouvez désélectionner l'option **Ecriture du cache** dans la [Page Interface](./interface.md). From 140b7cab2f2fc97425d5c36ea067fb52884b7b72 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:03:51 +0200 Subject: [PATCH 037/223] directory.md French --- .../docusaurus-plugin-content-docs/version-21/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/Directory.md b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/Directory.md index 06681d3d07316a..cb17a2f9f397cf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21/API/Directory.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21/API/Directory.md @@ -556,7 +556,7 @@ La fonction `.files()` retourne une colle > Les alias ou les liens symboliques ne sont pas résolus. -Par défaut, si vous omettez le paramètre *options*, seuls les fichiers à la racine du dossier sont retournés dans la collection, ainsi que les fichiers et dossiers invisibles. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : | Constante | Valeur | Commentaire | | --------------------- | ------ | -------------------------------------------------------------------------------------- | From d3b2992fa0492926739c949b594d30fe20f4db00 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:00 +0200 Subject: [PATCH 038/223] directory.md French --- .../version-21-R2/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/Directory.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/Directory.md index 06681d3d07316a..cb17a2f9f397cf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/Directory.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R2/API/Directory.md @@ -556,7 +556,7 @@ La fonction `.files()` retourne une colle > Les alias ou les liens symboliques ne sont pas résolus. -Par défaut, si vous omettez le paramètre *options*, seuls les fichiers à la racine du dossier sont retournés dans la collection, ainsi que les fichiers et dossiers invisibles. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : | Constante | Valeur | Commentaire | | --------------------- | ------ | -------------------------------------------------------------------------------------- | From ba1073e42bfd23403efa601977e23fbc515c85e8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:07 +0200 Subject: [PATCH 039/223] xml.md French --- .../current/commands/theme/XML.md | 56 ------------------- 1 file changed, 56 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML.md index a778b0ad0fe8c1..137d961f3023a5 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML.md @@ -12,60 +12,4 @@ slug: /commands/theme/XML | [](../../commands/xml-get-options)
| | [](../../commands/xml-set-options)
| -## Overview of XML Commands - -:::note - -For XML support, 4D uses the [Xerces.dll library](../../Notes/updates.md#library-table) developed by the Apache Foundation company. - -::: - -### XML, DOM, and SAX - -The **XML** theme groups together the generic XML "utilities" commands of 4D. These are option- and error-management commands. - -4D also offers two separate sets of XML commands: [**DOM**](../theme/XML_DOM.md) (Document Object Model) and [**SAX**](../theme/XML_SAX.md) (Simple API XML) are two different parsing modes for XML documents. - -- The DOM mode parses an XML source and builds its structure (its "tree") in memory. Because of this, access to each element of the source is extremely fast. However, since the entire tree structure is stored in memory, the processing of large XML documents may lead to the memory capacity being exceeded and thus provoke errors. -- The SAX mode does not build a tree structure in memory. In this mode, "events" (such as the start and end of an element) are generated when parsing the source. This mode lets you parse XML documents of any size, regardless of the amount of memory available. - -#### Voir également - -http://www.saxproject.org/?selected=event
-http://www.w3schools.com/xml/ - -### Mode préemptif - -XML references created by a [preemptive process](../../Develop/preemptive.md) can only be used in that specific process. Conversely, XML references created by a cooperative process can be used by any other cooperative process, but cannot be used by any preemptive process. - -### Character Sets - -The following character sets are supported by the XML DOM and XML SAX commands of 4D: - -- ASCII -- UTF-8 -- UTF-16 (Big/Small Endian) -- UCS4 (Big/Small Endian) -- EBCDIC code pages IBM037, IBM1047 and IBM1140 encodings, -- ISO-8859-1 (or Latin1) -- Windows-1252. - -### Glossaire - -This non-exhaustive list details the main XML concepts used by the commands and functions of 4D. - -- **Attribute**: an XML sub-tag associated with an element. An attribute always contains a name and a value. -- **Child**: In an XML structure, an element in a level directly below another. -- **DTD**: *Document Type Declaration*. The DTD records the set of specific rules and properties that the XML must follow. These rules define, more particularly, the name and content of each tag as well as its context. This formalization of the elements can be used to check whether an XML document is in compliance (in which case, it is declared “valid”). The DTD may be included in the XML document (internal DTD) or in a separate document (external DTD). Note that the DTD is not mandatory. -- **Element**: an XML tag. An element always contains a name and a value. Optionally, an element may contain attributes. -- **ElementRef**: XML reference used by the 4D XML commands to specify an XML structure. This reference is made up of 8 coded characters in hexadecimal form, which means that its length is 32 characters on a 64-bit system. It is recommended to declare XML references as Text. -- **Parent**: In an XML structure, an element in a level directly above another. -- **Parsing, parser**: The act of analyzing the contents of a structured object in order to extract useful information. -- **Root**: An element located at the first level of an XML structure. -- **Sibling**: An element at the same level as another. -- **Structure**: structured XML object. This object can be a document, a variable, or an element. -- **Validation**: An XML document is “validated” by the parser when it is “well-formed” and in compliance with the DTD specifications. -- **Well-formed**: An XML document is declared “well-formed” by the parser when it complies with the generic XML specifications. -- **XML**: eXtensible Markup Language. A computerized data exchange standard enabling the transfer of data as well as their structure. The XML language is based on the use of tags and a specific syntax, in keeping with the HTML language. However, unlike the latter, the XML language allows the definition of customized tags. -- **XSL**: eXtensible Stylesheet Language. A language permitting the definition of style sheets used to process and display the contents of an XSL document. From 9056746b1f4de7c8c00b949feecd304a17f532ab Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:09 +0200 Subject: [PATCH 040/223] xml_dom.md French --- .../current/commands/theme/XML_DOM.md | 59 ------------------- 1 file changed, 59 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_DOM.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_DOM.md index a514d730a1dccb..ecc761f7022a24 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_DOM.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_DOM.md @@ -43,63 +43,4 @@ slug: /commands/theme/XML-DOM | [](../../commands/dom-set-xml-element-name)
| | [](../../commands/dom-set-xml-element-value)
| -## Présentation des commandes XML DOM - -Voir la section [XML, DOM et SAX](../theme/XML.md#xml-dom-and-sax) pour une définition de XML DOM. - -### Créer, ouvrir et fermer des documents XML via DOM - -Les objets créés, modifiés ou analysés par les commandes DOM de 4D peuvent être des textes, des URLs, des documents ou des BLOBs. Les commandes DOM utilisées pour ouvrir les objets XML dans 4D sont [`DOM Parse XML source`](../../commands/dom-parse-xml-source) et [`DOM Parse XML variable`](../../commands/dom-parse-xml-variable). - -De nombreuses commandes permettent ensuite de lire, d'analyser et d'écrire les éléments et les attributs. Les erreurs sont récupérées à l'aide de la commande [`XML GET ERROR`](../../commands/xml-get-error). N'oubliez pas d'appeler la commande [`DOM CLOSE XML`](../../commands/dom-close-xml) pour fermer la source à la fin. - -Note sur l'usage de paramètres BLOBs XML : Pour des raisons historiques, les commandes XML telles que [`DOM Parse XML variable`](../../commands/dom-parse-xml-variable) acceptent les paramètres de type BLOB. Cependant, il est fortement recommandé de stocker les structures XML sous forme de texte. L'utilisation des BLOBs est réservée au traitement des données binaires. Conformément aux spécifications XML, les données binaires sont automatiquement encodées en Base64, même si le BLOB contient du texte. - -### Prise en charge de la notation XPath - -Plusieurs commandes XML DOM ([`DOM Create XML element`](../../commands/dom-create-xml-element), [`DOM Find XML element`](../../commands/dom-find-xml-element), [`DOM Create XML element arrays`](../../commands/dom-create-xml-element-arrays) et [`DOM SET XML ELEMENT VALUE`](../../commands/dom-set-xml-element-value)) prennent en charge certaines expressions XPath pour accéder aux éléments XML. - -La notation XPath provient du langage XPath, conçu pour naviguer dans les structures XML. Elle permet de définir des éléments directement dans une structure XML via une syntaxe de type "pathname", sans qu'il soit nécessaire d'indiquer le chemin complet pour y accéder. - -Soit par exemple la structure suivante : - -```xml - - - - - - - -``` - -La notation XPath vous permet d'accéder à l'élément 3 en utilisant la syntaxe */RootElement/Elem1/Elem2/Elem3*. - -4D accepte également les éléments XPath indexés à l'aide de la syntaxe *Element[ElementNum]*. Soit par exemple la structure suivante : - -```xml - - - aaa - bbb - ccc - - -``` - -La notation XPath vous permet d'accéder à la valeur "ccc" en utilisant la syntaxe */RootElement/Elem1/Elem2[3]*. - -Pour une liste complète des expressions XPath prises en charge, se référer à la description de la commande [`DOM Find XML element`](../../commands/dom-find-xml-element). - -:::note Compatibilité - -À partir de 4D 18 R3, la mise en œuvre de XPath a été modifiée pour être plus conforme et pour prendre en charge un plus grand nombre d'expressions. Si vous souhaitez bénéficier des fonctionnalités étendues dans vos bases de données converties, vous devez sélectionner l'option **Utiliser XPath standard** de la [page de compatibilité](../../settings/compatibility.md). - -::: - -### Gestion des erreurs - -De nombreuses fonctions de ce thème renvoient une référence à un élément XML. Si une erreur se produit pendant l'exécution de la fonction (par exemple, si la référence à l'élément racine n'est pas valide), la variable *OK* est mise à 0 et une erreur est générée. - -En outre, la référence renvoyée dans ce cas est une séquence de 32 caractères zéro "0". From 5ee04965cbaf1322f6977fe8a9702171bb9496c4 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:11 +0200 Subject: [PATCH 041/223] xml_sax.md French --- .../current/commands/theme/XML_SAX.md | 29 ------------------- 1 file changed, 29 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_SAX.md b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_SAX.md index 7e815b3c8e4f53..7a8fa02cfa15a0 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_SAX.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/commands/theme/XML_SAX.md @@ -25,33 +25,4 @@ slug: /commands/theme/XML-SAX | [](../../commands/sax-open-xml-element-arrays)
| | [](../../commands/sax-set-xml-declaration)
| -## Overview of XML SAX Commands -See [XML, DOM, and SAX](../theme/XML.md#xml-dom-and-sax) section for a definition of XML SAX. - -### Creating, opening and closing XML documents via SAX - -The SAX commands work with the standard document references of 4D (**DocRef**, a Time type reference). It is therefore possible to use these commands jointly with the 4D commands used to manage documents, such as [`SEND PACKET`](../../commands/send-packet) or [`Append document`](../../commands/append-document). - -The creation and opening of XML documents by programming is carried out using the [`Create document`](../../commands/create-document) and [`Open document`](../../commands/open-document) commands. Subsequently, the use of an XML command with these documents will cause the automatic activation of XML mechanisms such as encoding. For instance, the `` header will be written automatically in the document. - -:::note - -Documents read by SAX commands must be opened in read-only mode by the [`Open document`](../../commands/open-document) command. This avoids any conflict between 4D and the Xerces library when you open "regular" and XML documents simultaneously. If you execute a SAX parsing command with a document open in read-write mode, an alert message is displayed and parsing is impossible. - -::: - -Closing an XML document must be carried out using the [`CLOSE DOCUMENT`](../../commands/close-document) command. If any XML elements were open, they will be closed automatically. - -### About end-of-line characters and BOM management - -When writing SAX documents, 4D uses the following default settings for end-of-line characters and BOM (byte order mask) usage: - -- CRLF characters on Windows and LF on macOS for end-of-line characters -- files are written without BOM. - -:::note Compatibilité - -In projects created with 4D versions up to 19.x, by default 4D uses CRLF as end-of-line characters on macOS for SAX and a BOM. You can control the `XML line ending` and `XML BOM` management using the [`XML SET OPTIONS`](../../commands/xml-set-options) command and a [Compatibility setting](../../settings/compatibility.md). Important: Since SAX file lines are written directly at each statement, if you need to set the BOM and/or end-of-line options, you must call the [`XML SET OPTIONS`](../../commands/xml-set-options) command before the first SAX writing command. - -::: From 62bfb0b390e7651ba41c693bc27cb1f29469e7d9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:14 +0200 Subject: [PATCH 042/223] directory.md French --- .../version-21-R3/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/API/Directory.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/API/Directory.md index 06681d3d07316a..cb17a2f9f397cf 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/API/Directory.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/API/Directory.md @@ -556,7 +556,7 @@ La fonction `.files()` retourne une colle > Les alias ou les liens symboliques ne sont pas résolus. -Par défaut, si vous omettez le paramètre *options*, seuls les fichiers à la racine du dossier sont retournés dans la collection, ainsi que les fichiers et dossiers invisibles. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Vous pouvez modifier cela en passant, dans le paramètre *options* parameter, une ou plusieurs des constantes suivantes : | Constante | Valeur | Commentaire | | --------------------- | ------ | -------------------------------------------------------------------------------------- | From c3ef2e107094eef518590624767d27ec001061a8 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:18 +0200 Subject: [PATCH 043/223] updates.md French --- .../version-21-R3/Notes/updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/Notes/updates.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/Notes/updates.md index 4c4ed9c8ca9ba5..99457a7f83759b 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/Notes/updates.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/Notes/updates.md @@ -18,7 +18,7 @@ Lisez [**Les nouveautés de 4D 21 R3**](https://blog.4d.com/fr/whats-new-in-4d-2 - Nouvelle [page **IA**](../settings/ai.md) dans la boîte de dialogue des Propriétés, permettant de configurer des [alias de fournisseurs et de modèles](../aikit/provider-model-aliases.md) qui peuvent être appelés dans le code via le composant 4D AIKit. - Composant 4D AIKit : nouvelle classe [Providers](../aikit/Classes/OpenAIProviders.md) pour instancier et gérer les [alias de fournisseurs et de modèles](../aikit/provider-model-aliases.md). - Prise en charge du [mot-clé `server`](../Concepts/classes.md#server) pour les fonctions du modèle de données ORDA et les fonctions singleton partagées/session. -- New [printing renderer](../FormEditor/forms.md#print-rendering-engine) for forms on Liquid glass and Fluent UI interfaces. New compatibility options to [enable the renderer on Classic interfaces](../FormEditor/forms.md#legacy-print-renderer). +- Nouveau [moteur de rendu d'impression](../FormEditor/forms.md#print-rendering-engine) pour les formulaires dans les interfaces Liquid Glass et Fluent UI. Nouvelle option de compatibilité permettant d'[activer le moteur de rendu sur les interfaces classiques](../FormEditor/forms.md#legacy-print-renderer). - Dépendances : prise en charge des [composants stockés sur les dépôts GitLab](../Project/components.md#configuring-a-gitlab-repository). - [**Liste des bugs corrigés**](https://bugs.4d.fr/fixedbugslist?version=21_R3) : liste de tous les bugs qui ont été corrigés dans 4D 21 R3. From f279f869326b4a4c1f184fddb5a41c25ce6a0396 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:21 +0200 Subject: [PATCH 044/223] compatibility.md French --- .../version-21-R3/settings/compatibility.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/settings/compatibility.md b/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/settings/compatibility.md index ed021cc43aee12..e8b34499ea676c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/settings/compatibility.md +++ b/i18n/fr/docusaurus-plugin-content-docs/version-21-R3/settings/compatibility.md @@ -10,26 +10,26 @@ La page Compatibilité regroupe les paramètres relatifs au maintien de la compa - Le nombre d'options affichées dépend de la version de 4D avec laquelle la base de données/projet original a été créé, ainsi que des paramétrages modifiés dans cette base/projet.\ Cette page répertorie les options de compatibilité disponibles pour les bases de données/projets convertis à partir de 4D 18 et suivants.\ Cette page répertorie les options de compatibilité disponibles pour les bases de données/projets convertis à partir de 4D 18 et suivants. -- This page lists the compatibility options available for database/projects converted from 4D 18 onwards. Pour les options de compatibilité plus anciennes, consultez la [page Compatibilité](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) sur **doc.4d.com**. +- Cette page répertorie les options de compatibilité disponibles pour les bases de données/projets convertis à partir de 4D 18 et suivants. Pour les options de compatibilité plus anciennes, consultez la [page Compatibilité](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) sur **doc.4d.com**. ::: -- **Use standard XPath:** By default this option is unchecked for databases converted from a 4D version prior to 18 R3, and checked for databases created with 4D 18 R3 and higher. Starting with 18 R3, the XPath implementation in 4D has been modified to be more compliant and to support more predicates. Par conséquent, les fonctionnalités non standard de l'implémentation antérieure ne fonctionnent plus. Elles incluent : +- **Utiliser XPath standard :** Par défaut, cette option est désélectionnée pour les bases converties depuis une version de 4D antérieure à la 18 R3, et est cochée pour les bases créées sous une version 4D 18 R3 ou une version plus récente. A partir de la version 18 R3, l'implémentation de XPath dans 4D a été modifiée pour une meilleure conformité et pour la prise en charge d'un plus grand nombre de prédicats. Par conséquent, les fonctionnalités non standard de l'implémentation antérieure ne fonctionnent plus. Elles incluent : - le caractère "/" initial n'est pas seulement le noeud racine - l'utilisation du caractère / comme premier caractère d'une expression XPath ne déclare pas un chemin absolu à partir du noeud racine - pas de noeud courant implicite - le noeud courant doit être intégré dans l'expression XPath - pas de requêtes récursives dans les structures répétées - seul le premier élément est parsé. \ - Même si ces fonctionnalités ne sont pas standard, vous pourriez vouloir continuer à les utiliser afin que votre code continue de fonctionner comme avant -- dans ce cas, il vous suffit de *désélectionner* l'option. On the other hand, if your code does not rely on the non-standard implementation and if you want to benefit from the extended XPath features in your databases (as described in the [`DOM Find XML element`](../commands/dom-find-xml-element) command), make sure the **Use standard XPath** option is *checked*. + Même si ces fonctionnalités ne sont pas standard, vous pourriez vouloir continuer à les utiliser afin que votre code continue de fonctionner comme avant -- dans ce cas, il vous suffit de *désélectionner* l'option. En revanche, si votre code ne repose pas sur cette implémentation non standard et si vous souhaitez tirer parti des fonctionnalités XPath étendues dans vos bases de données (telles que décrites dans la commande [`DOM Find XML element`](../commands/dom-find-xml-element)), assurez-vous que l'option **Utiliser XPath standard** est *cochée*. -- **Use LF for end of line on macOS:** Starting with 4D 19 R2 (and 4D 19 R3 for XML files), 4D writes text files with line feed (LF) as default end of line (EOL) character instead of CR (CRLF for xml SAX) on macOS in new projects. Si vous souhaitez bénéficier de ce nouveau comportement dans les projets convertis à partir de versions antérieures de 4D, cochez cette option. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). +- **Utiliser un LF comme caractère de fin de ligne sur macOS :** À partir de 4D 19 R2 (et 4D 19 R3 pour les fichiers XML), 4D écrit les fichiers texte avec un saut de ligne (LF) comme caractère de fin de ligne (EOL) par défaut au lieu de Retour Chariot (CR) (CRLF pour xml SAX) sur macOS dans les nouveaux projets. Si vous souhaitez bénéficier de ce nouveau comportement dans les projets convertis à partir de versions antérieures de 4D, cochez cette option. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). -- **Don't add a BOM when writing a unicode text file by default:** Starting with 4D 19 R2 (and 4D 19 R3 for XML files), 4D writes text files without a byte order mark (BOM) by default. Dans les versions antérieures, les fichiers texte étaient écrits avec un BOM par défaut. Sélectionnez cette option si vous souhaitez activer le nouveau comportement dans les projets convertis. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). +- **Ne pas ajouter de BOM lors de l'écriture d'un fichier texte unicode par défaut :** À partir de 4D 19 R2 (et 4D 19 R3 pour les fichiers XML), 4D écrit des fichiers texte sans BOM ("Byte order mark") par défaut. Dans les versions antérieures, les fichiers texte étaient écrits avec un BOM par défaut. Sélectionnez cette option si vous souhaitez activer le nouveau comportement dans les projets convertis. Voir [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), et [XML SET OPTIONS](../commands/xml-set-options). -- **Map NULL values to blank values unchecked by default at field creation**: For better compliance with ORDA specifications, in databases created with 4D 19 R4 and higher the **Map NULL values to blank values** field property is unchecked by default when you create fields. Vous pouvez appliquer ce comportement par défaut à vos bases de données converties en cochant cette option (il est recommandé de travailler avec des valeurs Null car elles sont entièrement prises en charge par [ORDA](../ORDA/overview.md)). +- **Traduire les NULL en valeurs vides non cochée par défaut à la création d'un champ** : Pour une meilleure conformité avec les spécifications ORDA, dans les bases de données créées avec 4D 19 R4 et versions ultérieures, la propriété de champ **Traduire les NULL en valeurs vides** est non cochée par défaut lors de la création des champs. Vous pouvez appliquer ce comportement par défaut à vos bases de données converties en cochant cette option (il est recommandé de travailler avec des valeurs Null car elles sont entièrement prises en charge par [ORDA](../ORDA/overview.md)). -- **Non-blocking printing**: Starting with 4D 20 R4, each process has its own printing settings (print options, current printer, etc.), thus allowing you to run multiple printing jobs simultaneously. Check this option if you want to benefit from this new implementation in your converted 4D projects or your databases converted from binary mode to project mode. **When left unchecked**, the previous implementation is applied: the current 4D printing settings are applied globally, the printer is placed in "busy" mode when one printing job is running, you must call [`CLOSE PRINTING JOB`](../commands/close-printing-job) for the printer to be available for the next print job (check previous 4D documentations for more information). +- **Impression non-bloquante** : À partir de 4D 20 R4, chaque process a ses propres paramètres d'impression (options d'impression, imprimante courante, etc.), ce qui vous permet d'exécuter plusieurs tâches d'impression simultanément. Cochez cette option si vous souhaitez bénéficier de cette nouvelle implémentation dans vos projets 4D convertis ou dans les bases de données converties du mode binaire au mode projet. **Lorsque l'option n'est pas cochée**, l'implémentation précédente est appliquée : les paramètres d'impression 4D courants sont appliqués globalement, l'imprimante passe en mode "occupé" lorsqu'un job d'impression est en cours, vous devez appeler [`CLOSE PRINTING JOB`](../commands/close-printing-job) pour que l'imprimante soit disponible pour le prochain job d'impression (consultez la documentation 4D précédente pour plus d'informations). -- **Save structure color and coordinates in separate catalog_editor.json file**: Starting with 4D 20 R5, changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) sont sauvegardées dans un fichier séparé nommé `catalog_editor.json`, stocké dans le dossier [Sources](../Project/architecture.md#sources) du projet. Cette nouvelle architecture de fichiers facilite la gestion des conflits de fusion dans les applications de gestion de versions (VCS) car le fichier `catalog.4DCatalog` ne contient désormais que les modifications cruciales de la structure de la base de données. Pour des raisons de compatibilité, cette fonctionnalité n'est pas activée par défaut dans les projets convertis à partir des versions précédentes de 4D, vous devez cocher cette option. Lorsque la fonctionnalité est activée, le fichier `catalog_editor.json` est créé lors de la première modification dans l'éditeur de structure. +- **Sauvegarder les couleurs et les coordonnées de la structure dans un fichier catalog_editor.json séparé** : À partir de 4D 20 R5, les modifications apportées dans l'éditeur de Structure concernant l'apparence graphique des tables et des champs (couleur, position, ordre...) sont sauvegardées dans un fichier séparé nommé `catalog_editor.json`, stocké dans le dossier [Sources](../Project/architecture.md#sources) du projet. Cette nouvelle architecture de fichiers facilite la gestion des conflits de fusion dans les applications de gestion de versions (VCS) car le fichier `catalog.4DCatalog` ne contient désormais que les modifications cruciales de la structure de la base de données. Pour des raisons de compatibilité, cette fonctionnalité n'est pas activée par défaut dans les projets convertis à partir des versions précédentes de 4D, vous devez cocher cette option. Lorsque la fonctionnalité est activée, le fichier `catalog_editor.json` est créé lors de la première modification dans l'éditeur de structure. -- **Use legacy print rendering**: Starting with 4D 21 R3, 4D uses a new, unified print rendering engine to print forms on macOS and Windows. To make sure forms designed with the [legacy screen-based print renderer](../FormEditor/forms.md#legacy-print-renderer) continue to be printed as expected, this option is checked by default in converted projects or databases created with 4D 21 R2 and before. You can uncheck this option to benefit from the [modern print rendering engine](../FormEditor/forms.md#print-rendering-engine). Note that when forms are rendered under Liquid Glass (macOS) or Fluent UI (Windows) interfaces, this option is ignored: in such contexts forms are always printed using the modern print renderer (see [this section](../FormEditor/forms.md#legacy-print-renderer)). \ No newline at end of file +- **Utiliser l'ancien rendu d'impression** : À partir de la version 4D 21 R3, 4D utilise un nouveau moteur de rendu d'impression unifié pour imprimer des formulaires sous macOS et Windows. Afin de garantir que les formulaires conçus avec l'[ancien moteur d'impression basé sur l'affichage à l'écran](../FormEditor/forms.md#legacy-print-renderer) continuent d'être imprimés comme vous le souhaitez, cette option est cochée par défaut dans les projets convertis ou les bases de données créées avec 4D 21 R2 et les versions antérieures. Vous pouvez désélectionner cette option pour bénéficier du [moteur de rendu d'impression moderne](../FormEditor/forms.md#print-rendering-engine). Notez que lorsque les formulaires sont affichés via les interfaces Liquid Glass (macOS) ou Fluent UI (Windows), cette option est ignorée : dans ces cas-là, les formulaires sont toujours imprimés à l'aide du moteur d'impression moderne (voir [cette section](../FormEditor/forms.md#legacy-print-renderer)). \ No newline at end of file From 1b785ae04b3e373a95a699b40a933d547995088c Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:24 +0200 Subject: [PATCH 045/223] drag-and-drop.md French --- .../current/Desktop/drag-and-drop.md | 260 ++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/Desktop/drag-and-drop.md diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/drag-and-drop.md b/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/drag-and-drop.md new file mode 100644 index 00000000000000..335ee94756a0b2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/Desktop/drag-and-drop.md @@ -0,0 +1,260 @@ +--- +id: glisser-déposer +title: Drag and drop +--- + +## Vue d’ensemble + +4D allows built-in drag and drop capability between objects in your forms and applications. You can drag and drop one object to another, in the same window or in another window. In other words, drag and drop can be performed within a process or from one process to another. + +You can also drag and drop objects between 4D forms and other applications, and vice versa. For example, it is possible to drag and drop a .png picture file onto a 4D picture field. It is also possible to select text in a word processing application and drop it onto a 4D text variable or a list box. + +Finally, it is possible to drop objects directly onto the application without necessarily having a form in the foreground. The [`On Drop` Database Method](../commands-legacy/on-drop-database-method.md) can be used to manage the drag and drop action in this case. This means, for example, that you can open a 4D Write Pro document by dropping it onto the 4D application icon. + +4D provides two drag-and-drop modes: + +- a **custom mode**, where the whole drag-and-drop operation is handled by the programmer. Ce mode vous permet de mettre en place des interfaces basées sur le glisser-déposer, y compris des interfaces qui ne déplacent pas nécessairement des données mais qui peuvent effectuer tout type d'action, telle que l'ouverture de fichiers ou le lancement d'un calcul. +- an **automatic mode**, where a drag-and-drop operation automatically copies or moves data from an object to another. This mode is available to text-based objects and (partially) pictures, and can be enabled by simply selecting a property. + +## Draggable and Droppable Objects + +Several form objects can be draggable and/or droppable, in custom and/or automatic mode (see below). By default, newly created form objects can be neither dragged nor dropped ("none" value). It is up to you to set these properties. + +To drag and drop an object to another object, you must set its [**Draggable** property](../FormObjects/properties_Action.md#draggable) to "Automatic" or "Custom". In a drag-and-drop operation, the object that you drag is the source object. + +To make an object the destination of a drag and drop operation, you must set its [**Droppable** property](../FormObjects/properties_Action.md#droppable) to "Automatic" or "Custom". In a drag-and-drop operation, the object that receives data is the destination object. + +The following table lists the available properties for draggable and/or droppable objects: + +| Objet de formulaire | Draggable "Custom" | Droppable "Custom" | Draggable "Auto" | Droppable "Auto" | +| ---------------------------------------------- | ------------------ | ------------------ | ---------------- | ---------------- | +| [4D Write Pro areas](writeProArea_overview.md) | x | x | x | x | +| [Combo Box](comboBox_overview.md) | | x | x | x | +| [Zone de saisie](input_overview.md) | x | x | x | x | +| [Hierarchical List](list_overview.md) | x | x | | | +| [List Box](listbox_overview.md) | x | x | | | +| [Zone de plugin](pluginArea_overview.md) | | | x | x | +| [Bouton](button_overview.md) | | x | | | +| [Picture button](pictureButton_overview.md) | | x | | | + +Items of a hierarchical list or rows in a list box can be dragged and dropped. Conversely, you can drag and drop an object onto an item of a hierarchical list or a list box row. However, you cannot drag and drop objects from the detail area of an output form. You can also manage dragging and dropping onto the application, outside of any form, using the [`On Drop` database method](../commands-legacy/on-drop-database-method.md). + +:::note Notes + +- By default, in the case of picture fields and variables, the picture and its reference are both dragged. If you only want to drag the reference, first hold down the **Alt** (Windows) or **Option** (macOS) key. +- When the "Custom" Draggable and ["Movable Rows"](../FormObjects/properties_Action.md#movable-rows) properties are both set for an array list box object, the "Movable Rows" property takes priority when a row is moved. Dragging is not possible in this case. +- An object that is capable of being both dragged and dropped can also be dropped onto itself, unless you reject the operation. + +::: + +## Custom Drag and Drop + +Implementing a custom drag-and-drop interface means combining properties, events, and commands from the [*Pasteboard* theme](../commands/theme/Pasteboard.md). The following diagram illustrates the key points of a custom drag-and-drop sequence: + +![](../assets/en/Desktop/dragdrop1.png) + +Your implementation will be based upon the following scenario: + +1. In the [`On Begin Drag Over`](../Events/onBeginDragOver.md) event of the source object (with ["Custom" **Draggable** property](../FormObjects/properties_Action.md#draggable)), put appropriate data in the pasteboard using [`APPEND DATA TO PASTEBOARD`](../commands/append-data-to-pasteboard), [`SET FILE TO PASTEBOARD`](../commands/set-file-to-pasteboard) or other commands from the [Pasteboard theme](../commands/theme/Pasteboard.md). You can also define a specific cursor icon using [`SET DRAG ICON`](../commands/set-drag-icon) command. +2. In the [`On Drag Over`](../Events/onDragOver.md) event of the destination object (with ["Custom" **Droppable** property](../FormObjects/properties_Action.md#droppable)), get the data types or data signatures found in the pasteboard using [`GET PASTEBOARD DATA TYPE`](../commands/get-pasteboard-data-type) or [`GET PASTEBOARD DATA`](../commands/get-pasteboard-data) and check if they are compatible with the destination object. + The [`Drop position`](../commands/drop-position) command returns the element number or the item position of the target element or list item, if the destination object is an array (i.e., scrollable area), a hierarchical list, a text or a combo box, as well as the column number if the object is a list box. +3. The [object method](../Concepts/methods.md#method-types) of the destination object or element must return 0 or -1 to accept or reject the action: + - If it is compatible, return **0** to accept the drop and execute the [`On Drop`](../Events/onDrop.md) event when the mouse button is released. + - Otherwise, return **-1** to reject the drop. + 4D automatically handles the interface aspect of this interaction by displaying a cursor depending on whether the drop is accepted or rejected. +4. In the [`On Drop`](../Events/onDrop.md) event of the destination object (with ["Custom" **Droppable** property](../FormObjects/properties_Action.md#droppable)), execute any action in response to the drop. If the drag-and-drop operation is intended to copy the dragged data, you simply assign the data to destination object. If the drag and drop is not intended to move data, but is instead a user interface metaphor for a particular operation, you can perform whatever you want, for example getting file paths using [`Get file from pasteboard`](../commands/get-file-from-pasteboard) command. + +Note that the [`On Begin Drag Over`](../Events/onBeginDragOver.md) event is generated **in the context of the source object of the drag** while [`On Drag Over`](../Events/onDragOver.md) and [`On Drop`](../Events/onDrop.md) events are only sent to the destination object. + +In order for the application to process these events, they must be selected in an appropriate manner in the Property List for both the source and destination objects: + +![](../assets/en/Desktop/dragdrop2.png) + +## Automatic Drag and Drop + +Automatic drag and drop is the movement or copy of a text or picture selection from one area to another by a single click. It can be used in the same 4D area, between two 4D areas, or between 4D and another application. + +:::note + +In the case of automatic drag and drop between two 4D areas, the data are moved, in other words, they are removed from the source area. If you want to copy the data, hold down the **Ctrl** (Windows) or **Option** (macOS) key during the action (under macOS, you need to hit the **Option** key *after* you start to drag the item(s)). + +::: + +[Automatic Draggable](../FormObjects/properties_Action.md#draggable) property and [Automatic Droppable](../FormObjects/properties_Action.md#droppable) property can be configured separately for each form object. + +- **Draggable: Automatic**: When this option is selected, the automatic drag mode is activated for the object. In this mode, the [`On Begin Drag`](../Events/onBeginDragOver.md) form event is NOT generated. + If you want to "force" the use of the custom drag while automatic drag is enabled, hold down the **Alt** (Windows) or **Option** (macOS) key during the action (under macOS, you need to hit the **Option** key *before* you start to drag the item(s)). Cette option n'est pas disponible pour les images. +- **Droppable: Automatic**: In this mode, 4D automatically manages — if possible — the insertion of dragged data of the text or picture type that is dropped onto the object (the data are pasted into the object). The [`On Drag Over`](../Events/onDragOver.md) and [`On Drop`](../Events/onDrop.md) form events are not generated in this case. On the other hand, the [`On After Edit`](../Events/onAfterEdit.md) (during a drop) and [`On Data Change`](../Events/onDataChange.md) (when the object loses the focus) events are generated. + +In the case of data other than text or pictures (another 4D object, file, etc.) or complex data being dropped, the application refers to the value of the "Droppable" option: if it is not "none", the [`On Drag Over`](../Events/onDragOver.md) and [`On Drop`](../Events/onDrop.md) form events are generated; otherwise, the drop is refused. + +## Exemples + +### Array based list box to input text area + +In this simple example, we want to fill an input text area with data dragged from an array-based list box: + +![](../assets/en/Desktop/dragdrop3.png) + +The list box object method: + +```4d + //Object Method: ListBox + If(Form event code=On Begin Drag Over) + SET TEXT TO PASTEBOARD(arrFirstname{arrFirstname}+" "+arrLastname{arrFirstname}) + End if +``` + +The input text area object method contains: + +```4d + + // Object Method: label1 +If(Form event code=On Drop) //Requires Droppable Action enabled from Property List + ARRAY TEXT($signatures_at;0) + ARRAY TEXT($nativeTypes_at;0) + ARRAY TEXT($formatNames_at;0) + GET PASTEBOARD DATA TYPE($signatures_at;$nativeTypes_at;$formatNames_at) + If(Find in array($signatures_at;"com.4d.private.text.native")#-1) // there is 4D text in pasteboard + OBJECT Get pointer(Object current)->:=Get text from pasteboard + End if + End if +``` + +### Selection based list box to input text area + +Combining custom and automatic drag and drop features allows simple and powerful interfaces. In this example, we want to fill an input text area with data dragged from a list box: + +![](../assets/en/Desktop/dragdrop4.png) + +- List box: "Custom" Draggable property and "On Begin Drag Over" event +- Input text area: "Automatic" Droppable property. + +```4d + //list box object method + Case of + :(Form event code=On Begin Drag Over) + LOAD RECORD([Clients]) + $label:=[Clients]Name+Char(CR ASCII code)+[Clients]Contact+Char(CR ASCII code)+\ + [Clients]Address1+Char(CR ASCII code)+[Clients]City+", "+[Clients]State+" "+[Clients]ZipCode) + SET TEXT TO PASTEBOARD($label) + End case +``` + +Moving and formatting data is done through drag and drop: + +![](../assets/en/Desktop/dragdrop5.png) + +### File path to text area + +You want the user to select a file on the disk, then drag and drop it on an enterable variable (of type object) so that it displays a json description of the file. + +![](../assets/en/Desktop/dragdrop6.png) + +In the object method of the variable, you just write: + +```4d + #DECLARE -> $result : Integer + Case of + + :(Form event code=On Drag Over) + // Accept On Drop event only if the pasteboard contains files, reject otherwise. + If(Get file from pasteboard(1)="") //no file in pasteboard + $result:=-1 //reject drop + End if + + :(Form event code=On Drop) //Requires Droppable action enabled from Property List + var $path_t : Text + var path_o : Object + $path_t:=Get file from pasteboard(1) + If($path_t#"") + path_o:=Path to object($path_t) + End if + + End case +``` + +### File paths to list box + +You want the user to select files on the disk, then drag and drop them on a list box so that it displays file paths. + +![](../assets/en/Desktop/dragdrop7.png) + +In the list box object method, you just write: + +```4d + #DECLARE -> $result : Integer + Case of + + :(Form event code=On Drag Over) + // Accept On Drop event only if the pasteboard contains files, reject otherwise. + If(Get file from pasteboard(1)#"") //at least one file dropped + $result:=0 //accept drop + Else //no file in pasteboard + $result:=-1 //reject drop + End if + + :(Form event code=On Drop) //Requires Droppable action enabled from Property List + ARRAY TEXT(importedPath_at;0) + var $path_t :Text + var $index_l:=1 + Repeat + $path_t:=Get file from pasteboard($index_l) + If($path_t#"") + APPEND TO ARRAY(importedPath_at;$path_t) + End if + $index_l:=$index_l+1 + Until($path_t="") + End case +``` + +## Pasteboard commands + +The [commands of the "Pasteboard" theme](../commands/theme/Pasteboard.md) can be used both for managing copy/paste actions (**Clipboard management**), as well as inter-application drag and drop actions. + +4D uses two data pasteboards: one for copied (or cut) data, which is the clipboard, and the other for data being dragged and dropped. +These two pasteboards are managed using the same commands. You access one or the other depending on the context: + +- The drag and drop pasteboard can only be accessed within the [`On Begin Drag Over`](../Events/onBeginDragOver.md), [`On Drag over`](../Events/onDragOver.md) or [`On Drop`](../Events/onDrop.md) form events and in the [**On Drop** database method](../commands-legacy/on-drop-database-method.md). Outside of these contexts, the drag and drop pasteboard is not available. +- The copy/paste pasteboard can be accessed in all other cases. Unlike the drag and drop pasteboard, it keeps the data that are placed in it during the entire session, so long as they are not cleared or reused. + +### Types of Data + +During drag and drop actions, different types of data can be placed on and read from the pasteboard. You can access a data type in several ways: + +- Via its 4D signature: The 4D signature is a character string indicating a data type referenced by the 4D application. The use of 4D signatures facilitates the development of multi-platform applications since these signatures are identical under Mac OS and Windows. You will find the list of 4D signatures below. +- Via a UTI (Uniform Type Identifier, macos only): The UTI standard, specified by Apple, associates a character string with each type of native object. For example, GIF pictures have the UTI type "com.apple.gif". UTI types are published in Apple documentations as well as by the editors concerned. +- Via its number or its format name (Windows only): Under Windows, each native data type is referenced by its number ("3", "12", and so on) and a name ("Rich Text Edit"). By default, Microsoft specifies several native types called standard data formats. In addition, third-party editors can "save" format names in the system, which then attributes them a number in return. For more information about this and about native types, please refer to the Microsoft developer documentation (more particularly at http://msdn2.microsoft.com/en-us/library/ms649013.aspx). + +:::note + +In 4D commands, the Windows format numbers are handled as text. + +::: + +All the [commands of the "Pasteboard" theme](../commands/theme/Pasteboard.md) can work with each one of these data types. You can find out which data types are present in the pasteboard in each of these formats using the [`GET PASTEBOARD DATA TYPE`](../commands/get-pasteboard-data-type) command. + +:::note + +4-character types (TEXT, PICT or custom types) are supported for compatibility with prior versions of 4D. + +::: + +### 4D Signatures + +Here is the list of standard 4D signatures as well as their description: + +| Signature | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------- | +| "com.4d.private.text.native" | Text in native character set | +| "com.4d.private.text.utf16" | Text in Unicode character set | +| "com.4d.private.text.rtf" | Enriched text | +| "com.4d.private.picture.pict" | PICT picture format | +| "com.4d.private.picture.png" | PNG picture format | +| "com.4d.private.picture.gif" | GIF picture format | +| "com.4d.private.picture.jfif" | JPEG picture format | +| "com.4d.private.picture.emf" | EMF picture format | +| "com.4d.private.picture.bitmap" | BITMAP picture format | +| "com.4d.private.picture.tiff" | TIFF picture format | +| "com.4d.private.picture.pdf" | PDF document | +| "com.4d.private.file.url" | File pathname | \ No newline at end of file From 7f42b3e5ac9b11cfc552aceba44438aa934d8137 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:26 +0200 Subject: [PATCH 046/223] dragdrop1.png French --- .../current/assets/en/Desktop/dragdrop1.png | Bin 0 -> 8516 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop1.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop1.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop1.png new file mode 100644 index 0000000000000000000000000000000000000000..69d86f478af2c8d6a112691b950d1e5f1f09429b GIT binary patch literal 8516 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 literal 0 HcmV?d00001 From 432b4b0e5de2da314a8f9c2c8588cafa762ac121 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:27 +0200 Subject: [PATCH 047/223] dragdrop2.png French --- .../current/assets/en/Desktop/dragdrop2.png | Bin 0 -> 38143 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop2.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop2.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop2.png new file mode 100644 index 0000000000000000000000000000000000000000..669e20441b7e5faf21c9dcf2cc9bac0c7283c5da GIT binary patch literal 38143 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 a`Tqf+V+k7XJF0000 Date: Fri, 3 Jul 2026 00:04:28 +0200 Subject: [PATCH 048/223] dragdrop3.png French --- .../current/assets/en/Desktop/dragdrop3.png | Bin 0 -> 23914 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop3.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop3.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop3.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b622f42e4b1762dc1a95a4c2514131f01a6aa7 GIT binary patch literal 23914 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 literal 0 HcmV?d00001 From dc156b1d7f70b87493072ae33841362c17fdfa86 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:30 +0200 Subject: [PATCH 049/223] dragdrop4.png French --- .../current/assets/en/Desktop/dragdrop4.png | Bin 0 -> 7102 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop4.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop4.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop4.png new file mode 100644 index 0000000000000000000000000000000000000000..b398386d8f07bc50b7d09b58b506c97d4955a04f GIT binary patch literal 7102 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 Date: Fri, 3 Jul 2026 00:04:31 +0200 Subject: [PATCH 050/223] dragdrop5.png French --- .../current/assets/en/Desktop/dragdrop5.png | Bin 0 -> 9034 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop5.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop5.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop5.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd212126556ee055aeb201bba46d68e890bb8b4 GIT binary patch literal 9034 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 Date: Fri, 3 Jul 2026 00:04:33 +0200 Subject: [PATCH 051/223] dragdrop6.png French --- .../current/assets/en/Desktop/dragdrop6.png | Bin 0 -> 142244 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop6.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop6.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop6.png new file mode 100644 index 0000000000000000000000000000000000000000..4380a47cefc4268b3666769a2e02e2ad8904b91a GIT binary patch literal 142244 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Μ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 literal 0 HcmV?d00001 From 848e1dc243b430cea88a7d259c143811a5186435 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:34 +0200 Subject: [PATCH 052/223] dragdrop7.png French --- .../current/assets/en/Desktop/dragdrop7.png | Bin 0 -> 247194 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop7.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop7.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Desktop/dragdrop7.png new file mode 100644 index 0000000000000000000000000000000000000000..7bed26ebeb18593496d5615bda1a0bce8cd7cd8a GIT binary patch literal 247194 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ð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

-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 Date: Fri, 3 Jul 2026 00:04:36 +0200 Subject: [PATCH 053/223] relations.png French --- .../current/assets/en/Develop/relations.png | Bin 0 -> 13577 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Develop/relations.png diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Develop/relations.png b/i18n/fr/docusaurus-plugin-content-docs/current/assets/en/Develop/relations.png new file mode 100644 index 0000000000000000000000000000000000000000..cba02ce581035dd0248b344c6e2646cd5fcd030a GIT binary patch literal 13577 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 Date: Fri, 3 Jul 2026 00:04:38 +0200 Subject: [PATCH 054/223] code.json Spanish --- i18n/es/code.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/code.json b/i18n/es/code.json index d7fd93b090ac10..903807b9b373f6 100644 --- a/i18n/es/code.json +++ b/i18n/es/code.json @@ -880,6 +880,6 @@ "message": "4D Analyzer" }, "theme.docs.versionDropdown.notAvailable": { - "message": "Page not available in this version\nOpening the default page instead" + "message": "La página no está disponible en esta versión\nEn su lugar, se abrirá la página predeterminada." } } From 93f24a6f57a8bf9e3c0029ed18c4d402497dc1ff Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:43 +0200 Subject: [PATCH 055/223] directory.md Spanish --- .../docusaurus-plugin-content-docs/version-20/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md index 9c6488caca9910..93aef2e263f21a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/Directory.md @@ -514,7 +514,7 @@ $myPDF:=Folder(fk documents folder).file("Pictures/info.pdf") La función `.files()` devuelve una colección de objetos `File` contenidos en la carpeta. > Los alias o enlaces simbólicos no se resuelven. -Por defecto, si se omite el parámetro *options*, sólo se devuelven en la colección los archivos del primer nivel de la carpeta, así como los archivos o carpetas invisibles. Puede modificar esto pasando, en el parámetro *options*, una o varias de las siguientes constantes: +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Puede modificar esto pasando, en el parámetro *options*, una o varias de las siguientes constantes: | Constante | Valor | Comentario | | --------------------- | ----- | ------------------------------------------------------------------------------- | From f7ac7ac63a0926e87d84a03175cbc2043f565901 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:46 +0200 Subject: [PATCH 056/223] imaptransporterclass.md Spanish --- .../version-20/API/IMAPTransporterClass.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md index bc0a8c27444292..cd40d04c758c53 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/IMAPTransporterClass.md @@ -72,18 +72,18 @@ El comando `IMAP New transporter` ](#acceptunsecureconnection)    | False | -| .**accessTokenOAuth2**: Text
.**accessTokenOAuth2**: Object
Cadena de texto u objeto token que representa las credenciales de autorización OAuth2. Sólo se utiliza con OAUTH2 `authenticationMode`. Si se utiliza `accessTokenOAuth2` pero se omite `authenticationMode`, se utiliza el protocolo OAuth 2 (si el servidor lo permite). No se devuelve en el objeto *[IMAP transporter](#imap-transporter-object)*. | ninguno | -| [](#authenticationmode)    | the most secure authentication mode supported by the server is used | -| [](#checkconnectiondelay)    | 300 | -| [](#connectiontimeout)    | 30 | -| [](#host)    | *mandatory* | -| [](#logfile)    | ninguno | -| .**password**: Text
Contraseña de usuario para la autenticación en el servidor. No se devuelve en el objeto *[IMAP transporter](#imap-transporter-object)*. | ninguno | -| [](#port)    | 993 | -| [](#user)    | ninguno | +| *server* | Valor por defecto (si se omite) | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| [](#acceptunsecureconnection)    | False | +| .**accessTokenOAuth2**: Text
.**accessTokenOAuth2**: Object
Cadena de texto u objeto token que representa las credenciales de autorización OAuth2. Sólo se utiliza con OAUTH2 `authenticationMode`. Si se utiliza `accessTokenOAuth2` pero se omite `authenticationMode`, se utiliza el protocolo OAuth 2 (si el servidor lo permite). No se devuelve en el objeto *[IMAP transporter](#imap-transporter-object)*. | ninguno | +| [](#authenticationmode)    | se utiliza el modo de autenticación más seguro soportado por el servidor | +| [](#checkconnectiondelay)    | 300 | +| [](#connectiontimeout)    | 30 | +| [](#host)    | *mandatory* | +| [](#logfile)    | ninguno | +| .**password**: Text
Contraseña de usuario para la autenticación en el servidor. No se devuelve en el objeto *[IMAP transporter](#imap-transporter-object)*. | ninguno | +| [](#port)    | 993 | +| [](#user)    | ninguno | > **Atención**: asegúrese de que el tiempo de espera definido sea menor que el tiempo de espera del servidor, de lo contrario el tiempo de espera del cliente será inútil. #### Resultado From 3f0c0507f547e05bafb48a0e2b2b47bb010dced9 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:48 +0200 Subject: [PATCH 057/223] smtptransporterclass.md Spanish --- .../version-20/API/SMTPTransporterClass.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/API/SMTPTransporterClass.md b/i18n/es/docusaurus-plugin-content-docs/version-20/API/SMTPTransporterClass.md index 5ac28ef10c3dca..0ee8d324502894 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/API/SMTPTransporterClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/API/SMTPTransporterClass.md @@ -64,21 +64,21 @@ El comando `SMTP New transporter` ](#acceptunsecureconnection)    | False | -| .**accessTokenOAuth2**: Text
.**accessTokenOAuth2**: Object
Cadena de texto u objeto token que representa las credenciales de autorización OAuth2. Sólo se utiliza con OAUTH2 `authenticationMode`. Si se utiliza `accessTokenOAuth2` pero se omite `authenticationMode`, se utiliza el protocolo OAuth 2 (si el servidor lo permite). Cadena de texto u objeto token que representan las credenciales de autorización OAuth 2. | ninguno | -| [](#authenticationmode)    | the most secure authentication mode supported by the server is used | -| [](#bodycharset)    | `mail mode UTF8` (US-ASCII_UTF8_QP) | -| [](#connectiontimeout)    | 30 | -| [](#headercharset)    | `mail mode UTF8` (US-ASCII_UTF8_QP) | -| [](#host)    | *mandatory* | -| [](#keepalive)    | True | -| [](#logfile)    | ninguno | -| **password**: Text
Contraseña usuario para la autenticación en el servidor. Cadena de texto u objeto token que representan las credenciales de autorización OAuth 2. | ninguno | -| [](#port)    | 587 | -| [](#sendtimeout)    | 100 | -| [](#user)    | ninguno | +| *server* | Valor por defecto (si se omite) | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| [](#acceptunsecureconnection)    | False | +| .**accessTokenOAuth2**: Text
.**accessTokenOAuth2**: Object
Cadena de texto u objeto token que representa las credenciales de autorización OAuth2. Sólo se utiliza con OAUTH2 `authenticationMode`. Si se utiliza `accessTokenOAuth2` pero se omite `authenticationMode`, se utiliza el protocolo OAuth 2 (si el servidor lo permite). Cadena de texto u objeto token que representan las credenciales de autorización OAuth 2. | ninguno | +| [](#authenticationmode)    | se utiliza el modo de autenticación más seguro soportado por el servidor | +| [](#bodycharset)    | `mail mode UTF8` (US-ASCII_UTF8_QP) | +| [](#connectiontimeout)    | 30 | +| [](#headercharset)    | `mail mode UTF8` (US-ASCII_UTF8_QP) | +| [](#host)    | *mandatory* | +| [](#keepalive)    | True | +| [](#logfile)    | ninguno | +| **password**: Text
Contraseña usuario para la autenticación en el servidor. Cadena de texto u objeto token que representan las credenciales de autorización OAuth 2. | ninguno | +| [](#port)    | 587 | +| [](#sendtimeout)    | 100 | +| [](#user)    | ninguno | #### Resultado From a5e047026016753f748aabaefe8afa16bd1b37c6 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:04:53 +0200 Subject: [PATCH 058/223] classes.md Spanish --- .../version-20/Concepts/classes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/classes.md b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/classes.md index 48a5b2995f5529..4629c0c113e4ca 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/classes.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/Concepts/classes.md @@ -543,10 +543,10 @@ Class constructor ($side : Integer)

-|Parameter|Type||Description| +|Parámetro|Tipo||Descripción| |---|---|---|---| -|param|any|->|Parameter(s) to pass to the parent constructor| -|Result|Object|<-|Object's parent| +|param|cualquiera|->|Parámetro(s) que se deben pasar al constructor padre| +|Resultado|Object|<-|Object's parent|
From a33a5efdf4dc4b9e484e3f577ca94735651c57e2 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:01 +0200 Subject: [PATCH 059/223] listbox_overview.md Spanish --- .../version-20/FormObjects/listbox_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md index b141a423dc7a7b..716eb093219d5a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-20/FormObjects/listbox_overview.md @@ -389,7 +389,7 @@ Para definir un list box jerárquico, existen varias posibilidades: * Configurar manualmente los elementos jerárquicos utilizando la lista de propiedades del editor de formularios (o editar el formulario JSON). * Generar visualmente la jerarquía utilizando el menú emergente de gestión de list box, en el editor de formularios. -* Use the [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv20/4D/20.6/LISTBOX-SET-HIERARCHY.301-7487634.en.html) and [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv20/4D/20.6/LISTBOX-GET-HIERARCHY.301-7487597.en.html) commands, described in the *4D Language Reference* manual. +* Utilice los comandos [LISTBOX SET HIERARCHY](https://doc.4d.com/4Dv20/4D/20.6/LISTBOX-SET-HIERARCHY.301-7487634.en.html) y [LISTBOX GET HIERARCHY](https://doc.4d.com/4Dv20/4D/20.6/LISTBOX-GET-HIERARCHY.301-7487597.en.html) descritos en el manual *Referencia del lenguaje 4D*. #### Propiedades del List Box jerárquico From 96e5219d0a255cdae43cdd919c8d10bcafe15ebd Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:14 +0200 Subject: [PATCH 060/223] directory.md Spanish --- i18n/es/docusaurus-plugin-content-docs/current/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/Directory.md b/i18n/es/docusaurus-plugin-content-docs/current/API/Directory.md index 7cb86982579008..2f940b4cc1b3c1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/Directory.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/Directory.md @@ -556,7 +556,7 @@ La función `.files()` devuelve una colec > Los alias o enlaces simbólicos no se resuelven. -Por defecto, si se omite el parámetro *options*, sólo se devuelven en la colección los archivos del primer nivel de la carpeta, así como los archivos o carpetas invisibles. Puede modificar esto pasando, en el parámetro *options*, una o varias de las siguientes constantes: +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Puede modificar esto pasando, en el parámetro *options*, una o varias de las siguientes constantes: | Constante | Valor | Comentario | | --------------------- | ----- | ------------------------------------------------------------------------------- | From ac8e3c4d31338f758953f1260aa6b0bcb3713d82 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:15 +0200 Subject: [PATCH 061/223] signalclass.md Spanish --- .../current/API/SignalClass.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/API/SignalClass.md b/i18n/es/docusaurus-plugin-content-docs/current/API/SignalClass.md index 5e283cc0939498..e95133505eb660 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/API/SignalClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/API/SignalClass.md @@ -5,18 +5,15 @@ title: Signal Las señales son herramientas que ofrece el lenguaje 4D para gestionar las interacciones y evitar conflictos entre procesos en una aplicación multiproceso. Las señales le permiten asegurarse de que uno o más procesos esperarán a que se complete una tarea específica antes de continuar la ejecución. Todo proceso puede esperar y/o liberar una señal. -> Los semáforos también pueden utilizarse para gestionar las interacciones. Los semáforos permiten asegurarse de que dos o más procesos no modifican el mismo recurso (archivo, registro...) al mismo tiempo. Sólo el proceso que define el semáforo puede eliminarlo. +:::note -### Objeto signal +[Semaphores](../Develop/processes.md#semaphores) can also be used to manage interactions. Los semáforos permiten asegurarse de que dos o más procesos no modifican el mismo recurso (archivo, registro...) al mismo tiempo. Sólo el proceso que define el semáforo puede eliminarlo. -Una señal es un objeto compartido que debe ser pasado como parámetro a los comandos que llaman o crean trabajadores o procesos. +::: -Un objeto `4D.Signal` contiene los siguientes métodos y propiedades integrados: +### Objeto signal -- [`.wait()`](#wait) -- [`.trigger()`](#trigger) -- [`.signaled`](#signaled) -- [`.description`](#description). +Una señal es un objeto compartido que debe ser pasado como parámetro a los comandos que llaman o crean trabajadores o procesos. Lanzamiento Mientras espera una señal, el proceso que llama no utiliza ninguna CPU. Esto puede ser muy interesante para el rendimiento en aplicaciones multiproceso. Lanzamiento From 40bb7ab3c6c1423d50a4d9fcb34c2220881a8e1f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:18 +0200 Subject: [PATCH 062/223] dt_string.md Spanish --- .../current/Concepts/dt_string.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_string.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_string.md index c6a7164bc9e8fc..bbc85b947eee03 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_string.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/dt_string.md @@ -34,6 +34,12 @@ Las siguientes secuencias de escape pueden utilizarse dentro de las cadenas: **Nota:** el carácter \ (barra invertida) se utiliza como separador en las rutas de acceso en Windows. Por lo tanto, debe utilizar una doble barra invertida \\\ en las rutas cuando quiera tener una barra invertida delante de un caracter utilizado en una de las secuencias de escape reconocidas por 4D (por ejemplo, "C:\\MisDocumentos\\\Nuevos.txt"). +### Normalización automática de los finales de línea + +Para garantizar la compatibilidad multiplataforma de los textos gestionados en la base de datos, 4D normaliza automáticamente los finales de línea de modo que ocupen un solo carácter: `\r` (retorno de carro). Esta normalización se lleva a cabo a nivel de los objetos del formulario (variables o campos) que contienen texto sin formato o de varios estilos. Los finales de línea que no sean nativos, o que utilicen una combinación de varios caracteres (por ejemplo, `\r\n`), se consideran como un único `\r`. Note that in compliance with the XML standard (multi-style text format), the [multi-style text commands](../commands/theme/Styled_Text.md) also normalize line endings for text variables that are not associated with objects. + +Este principio facilita el uso de comandos de texto con múltiples estilos o de comandos como [`HIGHLIGHT TEXT`](../commands/highlight-text) en un contexto multiplataforma. Sin embargo, debe tenerlo en cuenta en su procesamiento cuando trabaje con textos de fuentes heterogénicas. + ## Operadores de cadenas | Operación | Sintaxis | Devuelve | Expression | Valor | From 225cb2254a003b8ddd0a97c724c455c66577ad4f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:19 +0200 Subject: [PATCH 063/223] methods.md Spanish --- .../current/Concepts/methods.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/methods.md b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/methods.md index ccc1b3f4d6ac4d..06ac5ec70a0633 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Concepts/methods.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Concepts/methods.md @@ -22,4 +22,57 @@ En el lenguaje 4D, hay varias categorías de métodos. La categoría depende de | **Método base** | Automático, cuando se produce un evento de la sesión de trabajo | Sí (predefinido) | Hay 16 métodos base en 4D. | | **Class** | Se llama automáticamente cuando un objeto de la clase es instanciado o cuando una función de la clase es ejecutada en una instancia de un objeto en cualquier otro método o en un [campo de base de datos](../Develop/field-properties.md#class). | sí (funciones de clase) | Una **Clase** se utiliza para declarar y configurar la clase [constructor](./classes.md#class-constructor), [propiedades](./classes.md#property) y [funciones](./classes.md#function) de objetos. Ver [**Clases**](classes.md) y [clase **Función**](../API/FunctionClass.md). | +## Language tokens +4D's language includes a unique tokenization system for constants, commands, tables, fields and keywords names that are used in the code. Tokenizing these names means that as you type in the code editor they are stored internally as absolute references (numbers) and then restored as text during execution or display depending on the context. This allows you to guarantee that the code will always be interpreted correctly, even if you rename your tables or fields, or when 4D language commands are renamed over the course of different application versions. + +**Note:** This also ensures automatic translation of the code when you have enabled the ["Use regional system settings" preference](../Preferences/methods.md#4d-programming-language-use-regional-system-settings) and open your databases with 4D versions in different languages. + +Tokenisation is completely transparent for 4D developers when working in the [4D code editor](../code-editor/write-class-method.md), and you generally won't need to worry about it. However, there are two cases where you might need to take action regarding tokenization: if you want to disable it, and if you want to use tokenization in your formulas. + +### Disabling tokenization + +When your project is stored on a version control system (VCS) such as GitHub or GitLab, you may want to disable tokenization to make the code more readable on the external platform. To do this, you can deselect the [**Include tokens in project source files**](../Preferences/general.md#include-tokens-in-project-source-files) preference to prevent tokens from being stored in your **new projects**. + +You can configure your **existing projects** to save code without tokens by inserting the following key in the `.4DProject` file using a text editor: + +```json +"tokenizedText": false +``` + +Este parámetro sólo se tiene en cuenta cuando se guardan los métodos. Los métodos existentes en sus proyectos no se modifican, a menos que los vuelva a guardar. + +### Using tokens in formulas + +A text-based 4D [formula](../commands/theme/Formulas.md) is a text that is interpreted at runtime, and not as it is typed. In fact, this is the case as soon as 4D code is expressed as raw text, more specifically when code is exported and then imported using the [`METHOD GET CODE`](../commands/method-get-code) and [`METHOD SET CODE`](../commands/method-set-code) commands, copied/pasted or [interpreted from 4D HTML tags](../Tags/transformation-tags.md). +To benefit from tokenization mechanisms in these contexts, you just need to use an explicit syntax which consists in preceding object names in the language by their token. + +### Token syntax + +For tokenizable named elements contained in expressions, 4D offers a special syntax you can use to reference the tokens directly: you just need to add a specific suffix after the element name to indicate its type (command, field, etc.), followed by its reference. The token syntax is detailed in this table: + +| Elemento | Example (standard syntax) | Suffix | Example (token syntax) | Comentarios | +| ----------- | ------------------------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| 4D Command | String(a) | :Cxx | String:C10(a) | xx is the command number | +| 4D Constant | Pi | :Kxx:yy | Pi:K30:1 | xx is the ID of the constant group and yy is its index (position) within this group | +| Tabla | [Employees] | :xx | [Employees:1] | xx is the table number | +| Campo | [Employees]Name | :xx | [Employees:1]Name:2 | xx is the field number | +| 4D Plugin | PV PRINT(area) | :Pxx:yy | PV PRINT:P13000:229(area) | xx is the plug-in ID and yy is the index of the command | + +**Note:** Uppercase letters (C, P) must be used in the suffixes; otherwise, they will not be interpreted correctly. + +When you use this syntax, you guarantee that your formulas will be interpreted correctly even in the case of renaming or when the database is executed in a different language. + +This syntax is accepted in all 4D formulas (or 4D expressions) regardless of the calling context: + +- 4D formulas executed using the Formula editor or using commands such as [`EXECUTE FORMULA`](../commands/execute-formula), [`APPLY TO SELECTION`](../commands/apply-to-selection), [`QUERY BY FORMULA`](../commands/query-by-formula), [`LISTBOX INSERT COLUMN FORMULA`](../commands/listbox-insert-column-formula), etc. +- expressions inserted in [multi-style text areas](../FormObjects/properties_Text.md#supported-tags) (see ST INSERT EXPRESSION), +- expressions calculated in [transformation tags](../Tags/transformation-tags.md), +- expressions inserted in external areas such as [4D Write Pro areas](../WritePro/managing-formulas.md). + +#### Where to find the element numbers? + +The token syntax requires the addition of the reference numbers of various elements. The location of these references depends on the type of element. + +- **4D commands:** Command numbers can be found in the documentation ("Properties" area) as well as on the Commands page of the Explorer. +- **Tables and fields**: Table and field numbers can be obtained using the [`Table`](../commands/table) and [`Field`](../commands/field) commands. They are also displayed in the Inspector palette of the Structure editor. \ No newline at end of file From a62c1b9f79d17dc2fed8ebd9f14751da369f9874 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:21 +0200 Subject: [PATCH 064/223] formobjects_overview.md Spanish --- .../FormObjects/formObjects_overview.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md index a3df34c2470951..4d4d43f156ee08 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/formObjects_overview.md @@ -35,3 +35,35 @@ Puede añadir o modificar objetos formulario 4D de las siguientes maneras: "height": 20 } ``` + +### Accessing form objects using their name or their data source in the 4D language + +Many commands handling form objects such as commands from [Objects (Forms)](../commands/theme/Objects_Forms.md), [List Box](../commands/theme/List_Box.md), or [Styled Text](../commands/theme/Styled_Text.md) themes share the same generic syntaxes described here: + +```4d +COMMAND NAME( * ; *object* : Text { ; *additional parameters* } ) +//or +COMMAND NAME( *object* : Variable, Field { ; *additional parameters* }) +``` + +If you specify the \* parameter, you indicate that *object* is the [name of the object](./properties_Object.md#object-name) (a string). If you don't pass the \*, you indicate that *object* is a field or a variable, i.e. its [data source](./properties_Object.md#variable-or-expression). + +When using the [object name](./properties_Object.md#object-name), you can rely on the @ character within that name if you want to address several objects of the form in one call. The following table shows examples of object names you can specify to this command. + +| Object Names | Objects affected by the call | +| ----------------------------------- | ------------------------------------------------------------------------------ | +| mainGroupBox | Only the object mainGroupBox. | +| main@ | The objects whose name starts with “main”. | +| @GroupBox | The objects whose name ends with “GroupBox”. | +| @Agrupar@ | The objects whose name contains “Group”. | +| main@Btn | The objects whose name starts with “main” and ends with “Btn”. | +| @ | All the objects present in the form. | + +Form object names can contain up 255 bytes, allowing you to define and apply custom naming rules, such as "xxxx_Button" or "xxx_Mac". + +:::warning + +You can [configure the way the @ character is interpreted](../settings/database.md#text-comparison) when it is included in a character string. This option affects the functioning of the form object commands. + +::: + From 596ef921de66009162b3215f71779d378321052e Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:24 +0200 Subject: [PATCH 065/223] list_overview.md Spanish --- .../current/FormObjects/list_overview.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md index af715bc42d5b1b..ac0890b6c357f3 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/list_overview.md @@ -22,7 +22,7 @@ En ambos casos, se gestiona una lista jerárquica en tiempo de ejecución a trav Una lista jerárquica es a la vez un **objeto de lenguaje** existente en memoria y un **objeto de formulario**. -El **objeto de lenguaje** está referenciado por un ID interno único de tipo Entero largo, designado por *ListRef* en el manual de Lenguaje 4D. Este ID es devuelto por los comandos que se pueden usar para crear listas: `New list`, `Copy list`, `Load list`, `BLOB to list`. Sólo hay una instancia del objeto lenguaje en la memoria y cualquier modificación realizada en este objeto se traslada inmediatamente a todos los lugares donde se utiliza. +El **objeto de lenguaje** está referenciado por un ID interno único de tipo Entero largo, designado por *ListRef* en el manual de Lenguaje 4D. This ID is returned by the commands that can be used to create lists: [`New list`](../commands/new-list), [`Copy list`](../commands/copy-list), [`Load list`](../commands/load-list), [`BLOB to list`](../commands/blob-to-list). Sólo hay una instancia del objeto lenguaje en la memoria y cualquier modificación realizada en este objeto se traslada inmediatamente a todos los lugares donde se utiliza. El **objeto de formulario** no es necesariamente único: puede haber varias representaciones de la misma lista jerárquica en el mismo formulario o en otros diferentes. Al igual que con otros objetos formulario, se especifica el objeto en el lenguaje utilizando la sintaxis (\*; "NomLista", etc.). @@ -39,7 +39,7 @@ Cada representación de la lista tiene sus propias características específicas - La posición del cursor de desplazamiento. Las otras características (fuente, tamaño de fuente, estilo, control de entrada, color, contenido de la lista, iconos, etc.) son comunes a todas las representaciones y no se pueden modificar por separado. -Por consiguiente, cuando se utilizan comandos basados en la configuración expandida/colapsada o en el elemento actual, por ejemplo `Count list items` (cuando no se pasa el parámetro final `*`), es importante poder especificar la representación que se utilizará sin ninguna ambigüedad. +Consequently, when you use commands based on the expanded/collapsed configuration or the current item, for example [`Count list items`](../commands/count-list-items) (when the final `*` parameter is not passed), it is important to be able to specify the representation to be used without any ambiguity. Debe utilizar el identificador `RefLista` con los comandos del lenguaje cuando quiera especificar la lista jerárquica que se encuentra en la memoria. En cambio, si desea especificar la representación al nivel del formulario de un objeto Lista jerárquica, debe utilizar el nombre del objeto (tipo cadena) en el comando, mediante la sintaxis estándar (\*; "NomLista", etc.). @@ -54,44 +54,44 @@ SET LIST ITEM FONT(*;"mylist1";*;thefont) ### Soporte de @ -Al igual que con otros comandos de gestión de propiedades de objetos, es posible utilizar el carácter "@" en el parámetro `NomLista`. Por regla general, esta sintaxis se utiliza para designar un conjunto de objetos del formulario. Sin embargo, en el contexto de los comandos de listas jerárquicas, esto no se aplica en todos los casos. Esta sintaxis tendrá dos efectos diferentes según el tipo de comando: +As with [other object property management commands](../FormObjects/formObjects_overview.md#accessing-form-objects-using-their-name-or-their-data-source-in-the-4d-language), it is possible to use the “@” character in the `ListName` parameter. Por regla general, esta sintaxis se utiliza para designar un conjunto de objetos del formulario. Sin embargo, en el contexto de los comandos de listas jerárquicas, esto no se aplica en todos los casos. Esta sintaxis tendrá dos efectos diferentes según el tipo de comando: - Para los comandos que fijan propiedades, esta sintaxis designa todos los objetos cuyo nombre corresponde (comportamiento estándar). Por ejemplo, el parámetro "LH@" designa todos los objetos del tipo lista jerárquica cuyo nombre empieza por "LH." - - `DELETE FROM LIST` - - `INSERT IN LIST` - - `SELECT LIST ITEMS BY POSITION` - - `SET LIST ITEM` - - `SET LIST ITEM FONT` - - `SET LIST ITEM ICON` - - `SET LIST ITEM PARAMETER` - - `SET LIST ITEM PROPERTIES` + - [`DELETE FROM LIST`](../commands/delete-from-list) + - [`INSERT IN LIST`](../commands/insert-in-list) + - [`SELECT LIST ITEMS BY POSITION`](../commands/select-list-items-by-position) + - [`SET LIST ITEM`](../commands/set-list-item) + - [`SET LIST ITEM FONT`](../commands/set-list-item-font) + - [`SET LIST ITEM ICON`](../commands/set-list-item-icon) + - [`SET LIST ITEM PARAMETER`](../commands/set-list-item-parameter) + - [`SET LIST ITEM PROPERTIES`](../commands/set-list-item-properties) - Para los comandos que recuperan propiedades, esta sintaxis designa el primer objeto cuyo nombre corresponde: - - `Count list items` - - `Find in list` - - `GET LIST ITEM` - - `Get list item font` - - `GET LIST ITEM ICON` - - `GET LIST ITEM PARAMETER` - - `GET LIST ITEM PROPERTIES` - - `List item parent` - - `List item position` - - `Selected list items` + - [`Count list items`](../commands/count-list-items) + - [`Find in list`](../commands/find-in-list) + - [`GET LIST ITEM`](../commands/get-list-item) + - [`Get list item font`](../commands/get-list-item-font) + - [`GET LIST ITEM ICON`](../commands/get-list-item-icon) + - [`GET LIST ITEM PARAMETER`](../commands/get-list-item-parameter) + - [`GET LIST ITEM PROPERTIES`](../commands/get-list-item-properties) + - [`List item parent`](../commands/list-item-parent) + - [`List item position`](../commands/list-item-position) + - [`Selected list items`](../commands/selected-list-items) ## Comandos genéricos utilizables con listas jerárquicas Es posible modificar la apariencia de una lista jerárquica en un formulario utilizando varios comandos 4D genéricos. Puede pasar a estos comandos el nombre del objeto de la lista jerárquica (utilizando el parámetro \*), o su nombre de variable (que contiene el valor ListRef): -- `OBJECT SET FONT` -- `OBJECT SET FONT STYLE` -- `OBJECT SET FONT SIZE` -- `OBJECT SET FILTER` -- `OBJECT SET ENTERABLE` -- `OBJECT SET SCROLLBAR` -- `OBJECT SET SCROLL POSITION` -- `OBJECT SET RGB COLORS` +- [`OBJECT SET FONT`](../commands/object-set-font) +- [`OBJECT SET FONT STYLE`](../commands/object-set-font-style) +- [`OBJECT SET FONT SIZE`](../commands/object-set-font-size) +- [`OBJECT SET FILTER`](../commands/object-set-filter) +- [`OBJECT SET ENTERABLE`](../commands/object-set-enterable) +- [`OBJECT SET SCROLLBAR`](../commands/object-set-scrollbar) +- [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) +- [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) -> Recordatorio: excepto `OBJECT SET SCROLL POSITION`, estos comandos modifican todas las representaciones de una misma lista, aunque sólo se especifique una lista a través de su nombre de objeto. +> Reminder: Except [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position), these commands modify all the representations of the same list, even if you only specify a list via its object name. ## Prioridad de los comandos de propiedad @@ -101,7 +101,7 @@ Ciertas propiedades de las listas jerárquicas (por ejemplo, el atributo **edita 2. Comandos genéricos de propiedad de objeto 3. Propiedad formulario -Este principio se aplica independientemente del orden de llamada de los comandos. Si una propiedad de un elemento se modifica individualmente a través de un comando de lista jerárquica, el comando de propiedad de objeto equivalente no tendrá ningún efecto sobre este elemento, incluso si se llama posteriormente. Por ejemplo, si el color de un elemento se modifica a través del comando `SET LIST ITEM PROPERTIES`, el comando `OBJECT SET COLOR` no tendrá ningún efecto sobre este elemento. +Este principio se aplica independientemente del orden de llamada de los comandos. Si una propiedad de un elemento se modifica individualmente a través de un comando de lista jerárquica, el comando de propiedad de objeto equivalente no tendrá ningún efecto sobre este elemento, incluso si se llama posteriormente. For example, if the color of an item is modified via the [`SET LIST ITEM PROPERTIES`](../commands/set-list-item-properties) command, the `OBJECT SET COLOR` command will have no effect on this item. ## Gestión de los elementos por posición o por referencia @@ -121,19 +121,19 @@ He aquí algunos consejos para utilizar los números de referencia: 1. No es necesario identificar cada elemento con un número único (nivel principiante). - Primer ejemplo: se construye por programación un sistema de pestañas, por ejemplo, una libreta de direcciones. Como el sistema devuelve el número de la pestaña seleccionada, probablemente no necesitará más información que ésta. En este caso, no se preocupe por los números de referencia de los elementos: pase un valor cualquiera (excepto 0) en el parámetro *itemRef*. Tenga en cuenta que para un sistema de libreta de direcciones, puede predefinir una lista A, B, ..., Z en el modo Diseño. También se puede crear por programación para eliminar las letras para las que no hay registros. - - Segundo ejemplo: al trabajar con una base, se construye progresivamente una lista de palabras clave. Puede guardar esta lista al final de cada sesión utilizando los comandos `SAVE LIST` o `LIST TO BLOB` y volver a cargarla al comienzo de cada nueva sesión utilizando el `Load list` o `BLOB to list`. Puede mostrar esta lista en una paleta flotante; cuando cada usuario hace clic en una palabra clave de la lista, el elemento elegido se inserta en el área introducible que está seleccionada en el proceso en primer plano. Lo importante es que sólo procese el elemento seleccionado, porque el comando `Select list items` devuelve la posición del elemento que debe procesar. Cuando se utiliza este valor de posición, se obtiene el título del elemento mediante el comando `GET LIST ITEM`. También en este caso, no es necesario identificar cada elemento individualmente; puede pasar cualquier valor (excepto 0) en el parámetro *itemRef*. + - Segundo ejemplo: al trabajar con una base, se construye progresivamente una lista de palabras clave. You can save this list at the end of each session by using the [`SAVE LIST`](../commands/save-list) or [`LIST TO BLOB`](../commands/list-to-blob) commands and reload it at the beginning of each new session using the [`Load list`](../commands/load-list) or [`BLOB to list`](../commands/blob-to-list) commands. Puede mostrar esta lista en una paleta flotante; cuando cada usuario hace clic en una palabra clave de la lista, el elemento elegido se inserta en el área introducible que está seleccionada en el proceso en primer plano. The important thing is that you only process the item selected, because the [`Selected list items`](../commands/selected-list-items) command returns the position of the item that you must process. When using this position value, you obtain the title of the item by means of the [`GET LIST ITEM`](../commands/get-list-item) command. También en este caso, no es necesario identificar cada elemento individualmente; puede pasar cualquier valor (excepto 0) en el parámetro *itemRef*. 2. Necesita identificar parcialmente los elementos de la lista (nivel intermediario). - Se utiliza el número de referencia del elemento para almacenar la información necesaria cuando debe trabajar con el elemento; este punto se detalla en el ejemplo del comando `APPEND TO LIST`. En este ejemplo, utilizamos los números de referencia de los artículos para almacenar los números de registro. Sin embargo, debemos ser capaces de establecer una distinción entre los elementos que corresponden a los registros [Department] y los que corresponden a los registros [Employees]. + You use the item reference number to store information needed when you must work with the item; this point is detailed in the example of the [`APPEND TO LIST`](../commands/append-to-list) command. En este ejemplo, utilizamos los números de referencia de los artículos para almacenar los números de registro. Sin embargo, debemos ser capaces de establecer una distinción entre los elementos que corresponden a los registros [Department] y los que corresponden a los registros [Employees]. 3. Debe identificar cada los elementos de la lista individualmente (nivel avanzado). - Programe una gestión elaborada de listas jerárquicas en la que es absolutamente necesario poder identificar cada elemento individualmente en cada nivel de la lista. Una forma sencilla de ponerlo en práctica es mantener un contador personal. Suponga que crea una lista *hlList* utilizando el comando `APPEND TO LIST`. En esta etapa, se inicializa un contador *vhlCounter* en 1. Cada vez que se llama a `APPEND TO LIST` o `INSERT IN LIST`, se incrementa este contador `(vhlCounter:=vhlCounter+1)`, y se pasa el número del contador como número de referencia del elemento. El truco consiste en no disminuir nunca el contador cuando se eliminan elementos: el contador sólo puede aumentar. De este modo, se garantiza la unicidad de los números de referencia de los elementos. Como estos números son de tipo Entero largo, puede añadir o insertar más de dos mil millones de elementos en una lista que ha sido reiniciada... (sin embargo, si está trabajando con un número tan grande de elementos, esto suele significar que debe utilizar una tabla en lugar de una lista.) + Programe una gestión elaborada de listas jerárquicas en la que es absolutamente necesario poder identificar cada elemento individualmente en cada nivel de la lista. Una forma sencilla de ponerlo en práctica es mantener un contador personal. Suppose that you create a *hlList* list using the [`APPEND TO LIST`](../commands/append-to-list) command. En esta etapa, se inicializa un contador *vhlCounter* en 1. Each time you call [`APPEND TO LIST`](../commands/append-to-list) or [`INSERT IN LIST`](../commands/insert-in-list), you increment this counter `(vhlCounter:=vhlCounter+1)`, and you pass the counter number as the item reference number. El truco consiste en no disminuir nunca el contador cuando se eliminan elementos: el contador sólo puede aumentar. De este modo, se garantiza la unicidad de los números de referencia de los elementos. Como estos números son de tipo Entero largo, puede añadir o insertar más de dos mil millones de elementos en una lista que ha sido reiniciada... (sin embargo, si está trabajando con un número tan grande de elementos, esto suele significar que debe utilizar una tabla en lugar de una lista.) > Si se utilizan operadores Bitwise, también se pueden utilizar los números de referencia de los elementos para almacenar información que se puede poner en un Entero largo, es decir, 2 enteros, valores de 4 bytes o de nuevo 32 booleanos. ### ¿Cuándo necesita números de referencia únicos? -En la mayoría de los casos, cuando se utilizan listas jerárquicas con fines de interfaz de usuario y cuando sólo se trata del elemento seleccionado (por un clic o arrastrado), no será necesario utilizar los números de referencia de los elementos en absoluto. Con `Selected list items` y `GET LIST ITEM`, tiene todo lo que necesita para tratar con el elemento seleccionado actualmente. Además, comandos como `INSERT IN LIST` y `DELETE FROM LIST` permiten manipular la lista "relativamente" con respecto al elemento seleccionado. +En la mayoría de los casos, cuando se utilizan listas jerárquicas con fines de interfaz de usuario y cuando sólo se trata del elemento seleccionado (por un clic o arrastrado), no será necesario utilizar los números de referencia de los elementos en absoluto. Using [`Selected list items`](../commands/selected-list-items) and [`GET LIST ITEM`](../commands/get-list-item) you have all you need to deal with the currently selected item. In addition, commands such as [`INSERT IN LIST`](../commands/insert-in-list) and [`DELETE FROM LIST`](../commands/delete-from-list) allow you to manipulate the list “relatively” with respect to the selected item. Básicamente, es necesario tratar con los números de referencia de los elementos cuando se quiere acceder directamente a cualquier elemento de la lista de forma programada y no necesariamente al actualmente seleccionado en la lista. From e7b31bd9608c9f484905e24be777fa6b292bb444 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:27 +0200 Subject: [PATCH 066/223] listbox_overview.md Spanish --- .../current/FormObjects/listbox_overview.md | 192 +++++++++++++++++- 1 file changed, 184 insertions(+), 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md index 07b2036bf02873..5af2d3147eb548 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/listbox_overview.md @@ -244,14 +244,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop El soporte de ordenación estándar depende del tipo de list box: -| Tipo de list box | Soporte de ordenación estándar | Comentarios | -| ------------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Colección de objetos | Sí |
  • Las columnas "This.a" o "This.a.b" son ordenables.
  • La [propiedad fuente del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
| -| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) | -| Entity selection | Sí |
  • The [list box source property](properties_Object.md#variable-or-expression) must be an [assignable expression](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
  • Supported: sorts on object attribute properties (e.g. "This.data.city" when "data" is an object attribute)
  • Supported: sorts on related attributes (e.g. "This.company.name")
  • Not supported: sorts on object attribute properties through related attributes (e.g. "This.company.data.city"). For this, you need to use custom sort with [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) function (see example below)
| -| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) | -| Selección temporal | No | | -| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar | +| Tipo de list box | Soporte de ordenación estándar | Comentarios | +| ------------------------------ | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Colección de objetos | Sí |
  • Las columnas "This.a" o "This.a.b" son ordenables.
  • La [propiedad fuente del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
| +| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) | +| Entity selection | Sí |
  • La [propiedad fuente del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
  • Soportado: ordenaciones en propiedades de atributos de objeto (p. ej. "This.data.city")
  • No soportado: ordenaciones en propiedades de atributos de objeto a través de atributos relacionados (p. ej. "This.company.data.city"). Para ello, debe utilizar la ordenación personalizada con la función [`orderByFormula()`](../API/EntitySelectionClass.md#orderbyformula) (ver el siguiente ejemplo)
| +| Selección actual | Sí | Sólo se pueden ordenar las expresiones simples (por ejemplo, `[Table_1]Campo_2`) | +| Selección temporal | No | | +| Arrays | Sí | Las columnas vinculadas a arrays de imágenes y punteros no se pueden ordenar | ### Ordenación personalizada @@ -579,6 +579,182 @@ En este caso, debe llenar y vaciar los arrays por código. Los principios que de - Cuando un usuario hace clic en un botón de contracción, puede procesar el evento `On Collapse`. El comando [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) devuelve la celda en cuestión: se eliminan tantas líneas como sean necesarias del list box mediante el comando [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows). +## List boxes and the 4D language + +Many commands of the 4D language can be used with list boxes, from the [List box theme](../commands/theme/List_Box.md) but also from [Objects (Forms)](../commands/theme/Objects_Forms.md) and other themes. They can be used with list boxes, or [parts of list boxes](#list-box-parts) such as headers, footers, rows, or columns. Some of them can only be used with specific [list box types](#list-box-types). + +### List Box commands + +| Comando | List Box Type | Supported Parts | +| -------------------------------------------------------------------------------- | ---------------------------- | ----------------------------------------- | +| [`LISTBOX COLLAPSE`](../commands/listbox-collapse) | Hierarchical | List box, headers, footers, rows, columns | +| [`LISTBOX DELETE COLUMN`](../commands/listbox-delete-column) | Todos | Columnas | +| [`LISTBOX DELETE ROWS`](../commands/listbox-delete-rows) | Array | List box, headers, footers, rows, columns | +| [`LISTBOX DUPLICATE COLUMN`](../commands/listbox-duplicate-column) | Array, Selection, Collection | Columnas | +| [`LISTBOX EXPAND`](../commands/listbox-expand) | Hierarchical | List box, headers, footers, rows, columns | +| [`LISTBOX Get array`](../commands/listbox-get-array) | Array | List box, headers, footers, rows, columns | +| [`LISTBOX GET ARRAYS`](../commands/listbox-get-arrays) | Todos | List box, headers, footers, rows, columns | +| [`LISTBOX Get auto row height`](../commands/listbox-get-auto-row-height) | Array | List box, headers, footers, rows, columns | +| [`LISTBOX GET CELL COORDINATES`](../commands/listbox-get-cell-coordinates) | Todos | List box, headers, footers, rows, columns | +| [`LISTBOX GET CELL POSITION`](../commands/listbox-get-cell-position) | Todos | List box, headers, footers, rows, columns | +| [`LISTBOX Get column formula`](../commands/listbox-get-column-formula) | Selection, Collection | Columnas | +| [`LISTBOX Get column width`](../commands/listbox-get-column-width) | Todos | Columnas | +| [`LISTBOX Get footer calculation`](../commands/listbox-get-footer-calculation) | Array, Selection | Pies | +| [`LISTBOX Get footers height`](../commands/listbox-get-footers-height) | Todos | Pies | +| [`LISTBOX GET GRID`](../commands/listbox-get-grid) | Todos | List box, headers, footers, rows, columns | +| [`LISTBOX GET GRID COLORS`](../commands/listbox-get-grid-colors) | Todos | List box, headers, footers, rows, columns | +| [`LISTBOX Get headers height`](../commands/listbox-get-headers-height) | Todos | Encabezados | +| [`LISTBOX GET HIERARCHY`](../commands/listbox-get-hierarchy) | Array | List box, headers, footers, rows, columns | +| [`LISTBOX Get locked columns`](../commands/listbox-get-locked-columns) | Todos | List box | +| [`LISTBOX Get number of columns`](../commands/listbox-get-number-of-columns) | Todos | List box | +| [`LISTBOX GET OBJECTS`](../commands/listbox-get-objects) | Todos | List box | +| [`LISTBOX GET PRINT INFORMATION`](../commands/listbox-get-print-information) | Todos | List box, headers, footers, rows, columns | +| [`LISTBOX Get property`](../commands/listbox-get-property) | Todos | List box, columns | +| [`LISTBOX Get row color as number`](../commands/listbox-get-row-color-as-number) | Array | Rows | +| [`LISTBOX Get row font style`](../commands/listbox-get-row-font-style) | Array | Rows | +| [`LISTBOX Get row height`](../commands/listbox-get-row-height) | Array | Rows | +| [`LISTBOX Get rows height`](../commands/listbox-get-rows-height) | Todos | List box | +| [`LISTBOX Get static columns`](../commands/listbox-get-static-columns) | Todos | List box | +| [`LISTBOX GET TABLE SOURCE`](../commands/listbox-get-table-source) | Todos | List box | +| [`LISTBOX INSERT COLUMN`](../commands/listbox-insert-column) | Todos | List box | +| [`LISTBOX INSERT COLUMN FORMULA`](../commands/listbox-insert-column-formula) | Todos | List box | +| [`LISTBOX INSERT ROWS`](../commands/listbox-insert-rows) | Array | List box | +| [`LISTBOX MOVE COLUMN`](../commands/listbox-move-column) | Todos | Columnas | +| [`LISTBOX MOVED COLUMN NUMBER`](../commands/listbox-moved-column-number) | Todos | Columnas | +| [`LISTBOX MOVED ROW NUMBER`](../commands/listbox-moved-row-number) | Array | Rows | +| [`LISTBOX SELECT BREAK`](../commands/listbox-select-break) | Hierarchical | List box | +| [`LISTBOX SELECT ROW`](../commands/listbox-select-row) | Todos | Rows | +| [`LISTBOX SET ARRAY`](../commands/listbox-set-array) | Array | List box, columns | +| [`LISTBOX SET AUTO ROW HEIGHT`](../commands/listbox-set-auto-row-height) | Array | Rows | +| [`LISTBOX SET COLUMN FORMULA`](../commands/listbox-set-column-formula) | Selection, Collection | Columnas | +| [`LISTBOX SET COLUMN WIDTH`](../commands/listbox-set-column-width) | Todos | Columnas | +| [`LISTBOX SET FOOTER CALCULATION`](../commands/listbox-set-footer-calculation) | Array, Selection | Pies | +| [`LISTBOX SET FOOTERS HEIGHT`](../commands/listbox-set-footers-height) | Todos | Pies | +| [`LISTBOX SET GRID`](../commands/listbox-set-grid) | Todos | List box | +| [`LISTBOX SET GRID COLOR`](../commands/listbox-set-grid-color) | Todos | List box | +| [`LISTBOX SET HEADERS HEIGHT`](../commands/listbox-set-headers-height) | Todos | Encabezados | +| [`LISTBOX SET HIERARCHY`](../commands/listbox-set-hierarchy) | Array | List box | +| [`LISTBOX SET LOCKED COLUMNS`](../commands/listbox-set-locked-columns) | Todos | List box | +| [`LISTBOX SET PROPERTY`](../commands/listbox-set-property) | Todos | List box, columns | +| [`LISTBOX SET ROW COLOR`](../commands/listbox-set-row-color) | Array | Rows | +| [`LISTBOX SET ROW FONT STYLE`](../commands/listbox-set-row-font-style) | Array | Rows | +| [`LISTBOX SET ROW HEIGHT`](../commands/listbox-set-row-height) | Array | Rows | +| [`LISTBOX SET ROWS HEIGHT`](../commands/listbox-set-rows-height) | Todos | List box | +| [`LISTBOX SET STATIC COLUMNS`](../commands/listbox-set-static-columns) | Todos | List box | +| [`LISTBOX SET TABLE SOURCE`](../commands/listbox-set-table-source) | Selección | List box | +| [`LISTBOX SORT COLUMNS`](../commands/listbox-sort-columns) | Todos | Columnas | + +### Miscellaneous commands + +| Comando | List Box Type | Supported Parts | Comentarios | +| ------------------------------------------------------------ | ---------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`EDIT ITEM`](../commands/edit-item) | Todos | Columnas | Allows you to pass a cell of a list box object into edit mode | +| [`Get edited text`](../commands/get-edited-text) | Todos | List box, headers, footers, rows, columns | | +| [`REDRAW`](../commands/redraw) | Array, Selection | List box | When applied to a selection list box, triggers an update of the data displayed in the list box. Not supported with list box of the entity selection type. | +| [`Displayed line number`](../commands/displayed-line-number) | Todos | List box, headers, footers, rows, columns | Works in the context of the [`On Display Detail`](../Events/onDisplayDetail.md) form event for a list box object | +| [`Drop position`](../commands/drop-position) | Todos | List box, headers, footers, rows, columns | | +| [`Count in array`](../commands/count-in-array) | Todos | List box, headers, footers, rows, columns | | +| [`Print object`](../commands/print-object) | Todos | List box, headers, footers, rows, columns | | + +### Object (forms) commands + +| Comando | List Box Type | Supported Parts | +| ------------------------------------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------ | +| [`OBJECT DUPLICATE`](../commands/object-duplicate) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT GET BEST SIZE`](../commands/object-get-best-size) | Todos | Columnas | +| [`OBJECT Get border style`](../commands/object-get-border-style) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT GET COORDINATES`](../commands/object-get-coordinates) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get data source`](../commands/object-get-data-source) | Array | List box | +| [`OBJECT GET DRAG AND DROP OPTIONS`](../commands/object-get-drag-and-drop-options) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get enterable`](../commands/object-get-enterable) | Todos | Columnas | +| [`OBJECT Get filter`](../commands/object-get-filter) | Todos | Columnas | +| [`OBJECT Get focus rectangle invisible`](../commands/object-get-focus-rectangle-invisible) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get font`](../commands/object-get-font) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get font size`](../commands/object-get-font-size) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get font style`](../commands/object-get-font-style) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get format`](../commands/object-get-format) | Todos | Encabezados | +| [`OBJECT Get help tip`](../commands/object-get-help-tip) | Todos | Headers, footers | +| [`OBJECT Get horizontal alignment`](../commands/object-get-horizontal-alignment) | Todos | List box, headers, footers, columns | +| [`OBJECT Get list reference`](../commands/object-get-list-reference) | Todos | Columnas | +| [`OBJECT Get name`](../commands/object-get-name) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT Get pointer`](../commands/object-get-pointer) | Todos | List box, headers, footers, rows, columns (see below) | +| [`OBJECT GET RESIZING OPTIONS`](../commands/object-get-resizing-options) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT GET RGB COLORS`](../commands/object-get-rgb-colors) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT GET SCROLL POSITION`](../commands/object-get-scroll-position) | Todos | List box | +| [`OBJECT GET SCROLLBAR`](../commands/object-get-scrollbar) | Todos | List box | +| [`OBJECT Get type`](../commands/object-get-type) | Todos | List box, headers, footers, columns | +| [`OBJECT Get vertical alignment`](../commands/object-get-vertical-alignment) | Todos | List box, headers, footers, columns | +| [`OBJECT MOVE`](../commands/object-move) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET COLOR`](../commands/object-set-color) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET COORDINATES`](../commands/object-set-coordinates) | Todos | List box | +| [`OBJECT SET DATA SOURCE`](../commands/object-set-data-source) | Todos | List box | +| [`OBJECT SET ENTERABLE`](../commands/object-set-enterable) | Todos | Columnas | +| [`OBJECT SET EVENTS`](../commands/object-set-events) | Todos | List box | +| [`OBJECT SET FOCUS RECTANGLE INVISIBLE`](../commands/object-set-focus-rectangle-invisible) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET FONT`](../commands/object-set-font) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET FONT SIZE`](../commands/object-set-font-size) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET FONT STYLE`](../commands/object-set-font-style) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET FORMAT`](../commands/object-set-format) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET HELP TIP`](../commands/object-set-help-tip) | Todos | Headers, footers | +| [`OBJECT SET HORIZONTAL ALIGNMENT`](../commands/object-set-horizontal-alignment) | Todos | List box, headers, footers, columns | +| [`OBJECT SET RESIZING OPTIONS`](../commands/object-set-resizing-options) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) | Todos | List box, headers, footers, rows, columns | +| [`OBJECT SET SCROLL POSITION`](../commands/object-set-scroll-position) | Todos | List box | +| [`OBJECT SET SCROLLBAR`](../commands/object-set-scrollbar) | Todos | List box. Scrolls the list box rows so that the first selected row or a specified row is displayed | +| [`OBJECT SET TITLE`](../commands/object-set-title) | Todos | Encabezados | +| [`OBJECT SET VERTICAL ALIGNMENT`](../commands/object-set-vertical-alignment) | Todos | List box, headers, footers, columns | +| [`OBJECT SET VISIBLE`](../commands/object-set-visible) | Todos | List box, headers, footers | + +When [`OBJECT SET VISIBLE`](../commands/object-set-visible) is used with a header or footer, it is applied on all List box object headers or footers, regardless of the individual element set by the command. For example, the `OBJECT SET VISIBLE(*;"header3";False)` statement will hide all headers in the List box object to which *header3* belongs and not simply this header. Note that in order for you to be able to manage the visibility of these objects using the [`OBJECT SET VISIBLE`](../commands/object-set-visible) command, they must have been displayed in the list box properties. + +### OBJECT Get pointer + +The [`OBJECT Get pointer`](../commands/object-get-pointer) command used with the `Object with focus` or `Object current` constant can be used in the object method of a list box or a list box column. They return a pointer to the list box, the list box column (see note below) or the header variable depending on the type of [form event](../Events/overview.md). The following table details this functioning: + +| Evento | Object with focus | Object current | +| -------------------------------------------------------- | ------------------------------------------ | ------------------------------------------ | +| [`On Clicked`](../Events/onClicked.md) | list box | column | +| [`On Double Clicked`](../Events/onDoubleClicked.md) | list box | column | +| [`On Before Keystroke`](../Events/onBeforeKeystroke.md) | column | column | +| [`On After Keystroke`](../Events/onAfterKeystroke.md) | column | column | +| [`On After Edit`](../Events/onAfterEdit.md) | column | column | +| [`On Getting Focus`](../Events/onGettingFocus.md) | column or list box (\*) | column or list box (\*) | +| [`On Losing Focus`](../Events/onLosingFocus.md) | column or list box (\*) | column or list box (\*) | +| [`On Drop`](../Events/onDrop.md) | list box (source) | list box (\*) | +| [`On Drag Over`](../Events/onDragOver.md) | list box (source) | list box (\*) | +| [`On Begin Drag Over`](../Events/onBeginDragOver.md) | list box | list box (\*) | +| [`On Mouse Enter`](../Events/onMouseEnter.md) | list box (\*\*) | list box (\*\*) | +| [`On Mouse Move`](../Events/onMouseMove.md) | list box (\*\*) | list box (\*\*) | +| [`On Mouse Leave`](../Events/onMouseLeave.md) | list box (\*\*) | list box (\*\*) | +| [`On Data Change`](../Events/onDataChange.md) | column | column | +| [`On Selection Change`](../Events/onSelectionChange.md) | list box (\*\*) | list box (\*\*) | +| [`On Before Data Entry`](../Events/onBeforeDataEntry.md) | column | column | +| [`On Column Moved`](../Events/onColumnMoved.md) | list box | column | +| [`On Row Moved`](../Events/onRowMoved.md) | list box | list box | +| [`On Column Resize`](../Events/onColumnResize.md) | list box | column | +| [`On Open Detail`](../Events/onOpenDetail.md) | Nil | list box (\*\*) | +| [`On Close Detail`](../Events/onCloseDetail.md) | Nil | list box (\*\*) | +| [`On Header Click`](../Events/onHeaderClick.md) | list box | header | +| [`On Footer Click`](../Events/onFooterClick.md) | list box | footer | +| [`On After Sort`](../Events/onAfterSort.md) | list box | header | + +(\*) When the focus is modified within a list box, a pointer to the column is returned. When the focus is modified at the overall form level, a pointer to the list box is returned. In the context of a column object method, a pointer to the column is returned. +(\*\*) Not executed in the context of a column object method. + +:::note + +When a pointer to a column is returned, the object pointed to depends on the type of list box. With an array type list box, the `OBJECT Get pointer` command returns a pointer to the column of the list box with the focus (i.e. to an array). The 4D pointer mechanism allows you to see the item number of the modified array. For example, supposing a user modified the 5th line of the column col2: +```4d + $Column:=OBJECT Get pointer(Object with focus) + //$Column contains a pointer to col2 + $Row:=$Column-> //$Row equals 5 +``` + +::: +For a selection type list box, the `OBJECT Get pointer` command returns: +- For a column associated with a field, a pointer to the associated field, +- For a column associated with a variable, a pointer to the variable, +- For a column associated with an expression, the `Is nil pointer` pointer. From 7b5c9d30e115c5facf8f57a277836fa9bbef721f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:30 +0200 Subject: [PATCH 067/223] properties_text.md Spanish --- .../current/FormObjects/properties_Text.md | 85 ++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md index c3fa3bd41b4980..ea5fc50f82a51a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/FormObjects/properties_Text.md @@ -434,7 +434,7 @@ Por defecto, esta opción no está activa. #### Comandos -[LISTBOX Get property](../commands/listbox-get-property) - [LISTBOX SET PROPERTY](../commands/listbox-set-property) - [OBJECT Is styled text](../commands/object-is-styled-text) +[LISTBOX Get property](../commands/listbox-get-property) - [LISTBOX SET PROPERTY](../commands/listbox-set-property) - [OBJECT Is styled text](../commands/object-is-styled-text) - ["Styled Text" theme](../ommands/theme/Styled_Text.md) ### Etiquetas soportadas @@ -513,6 +513,89 @@ En el caso de los atributos de color de fuente y de fondo, el valor del color pu ![](../assets/en/FormObjects/colors1.png) ![](../assets/en/FormObjects/colors2.png) +### Trabajando con comandos de manejo de texto + +#### Interfaz de usuario + +Los comandos que pueden utilizarse para manipular objetos de texto por programación no tienen en cuenta ninguna etiqueta de estilo integrada en el texto. Sólo actúan sobre el texto visualizado. Esto afecta a los siguientes comandos: + +- comandos del tema [Interfaz de usuario](../commands/theme/User_Interface.md) +- [`HIGHLIGHT TEXT`](../commands/highlight-text) +- [`GET HIGHLIGHT`](../commands/get-highlight) + +Cuando se utilizan estos comandos con comandos que manipulan cadenas de caracteres, es necesario filtrar los caracteres de formato utilizando el comando [`ST Get plain text`](../commands/st-get-plain-text): + +```4d + HIGHLIGHT TEXT([Products]Notes;1;Length(ST Get plain text([Products]Notes))+1) +``` + +#### Objetos (formularios) + +Los comandos que se pueden utilizar para modificar el estilo de los objetos (por ejemplo, [`OBJECT SET FONT`](../commands/object-set-font)) se aplican a todo el objeto y no a la selección. + +Si el objeto no tiene el foco cuando se ejecuta el comando, la modificación se aplica simultáneamente al objeto (el área de texto) y a su variable asociada. Si el objeto tiene el foco, la modificación se aplica al objeto, pero no a la variable asociada. La modificación solo se aplica a la variable cuando el objeto pierde el foco. Tenga presente este principio a la hora de programar áreas de texto. + +:::note + +Si la opción [**Guardar con etiquetas de estilo predeterminadas**](#store-with-default-style-tags) está marcada para el objeto, el uso de estos comandos provocará una modificación de las etiquetas guardadas con cada objeto. + +::: + +Tenga en cuenta también que sólo las propiedades por defecto son afectadas por estos comandos (así como las propiedades guardadas por medio de las etiquetas predeterminadas). Las etiquetas de estilo personalizadas se mantienen tal y como están. Por ejemplo, se da un área de estilo múltiple donde se guardaron las etiquetas predeterminadas: + +![](../assets/en/FormObjects/multistyle-ex1.png) + +El texto sin formato del área es el siguiente: + +```html +This is the word red +``` + +Si ejecuta el siguiente código: + +```4d +OBJECT SET COLOR(*;"myArea";-(Blue+(256*Yellow))) +``` + +El color rojo permanece: + +![](../assets/en/FormObjects/multistyle-ex2.png) + +y el código es: + +```html +This is the word red +``` + +Se trata de los siguientes comandos: + +- [`OBJECT SET RGB COLORS`](../commands/object-set-rgb-colors) +- [`OBJECT SET FONT`](../commands/object-set-font) +- [`OBJECT SET FONT STYLE`](../commands/object-set-font-style) +- [`OBJECT SET FONT SIZE`](../commands/object-set-font-size) + +En el contexto de las áreas multiestilo, estos comandos sólo deben utilizarse para definir estilos por defecto. To manage styles during database execution, we recommend using the [commands of the "Styled Text" theme](../commands/theme/Styled_Text.md). + +#### Get edited text + +Cuando se utiliza con un área de texto enriquecido, el comando [`Get edited text`](../commands/get-edited-text) devuelve el texto del área actual, incluidas las etiquetas de estilo. + +Para recuperar el texto "sin formato" (texto sin etiquetas) que se está editando, debe utilizar el comando [`ST Get plain text`](../commands/st-get-plain-text): + +```4d +ST Get plain text(Get edited text) +``` + +#### Consulta y orden por comandos + +Las consultas y ordenaciones realizadas entre objetos con varios estilos tienen en cuenta las etiquetas de estilo guardadas en el objeto. Si se ha modificado el estilo de una palabra, la búsqueda de esa palabra no dará resultado. + +Para poder realizar búsquedas y ordenaciones válidas, debe utilizar el comando [`ST Get plain text`](../commands/st-get-plain-text). Por ejemplo: + +```4d +QUERY BY FORMULA([MyTable];ST Get plain text([MyTable]MyFieldStyle)="very well") +``` + --- ## Orientación From 4aa051114c3fc5b31dd2dfe881e5e60d30e37b5f Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:32 +0200 Subject: [PATCH 068/223] general.md Spanish --- .../current/Preferences/general.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md b/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md index 1473ea47e3c826..b9c32f48b9fe8a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/Preferences/general.md @@ -94,7 +94,7 @@ Gracias a este principio, en macOS las carpetas de las bases aparecen como paque ### Incluir los tokens en los archivos fuente del proyecto -Cuando esta opción está marcada, los [archivos fuente de los métodos](../Project/architecture.md#sources) guardados en los nuevos proyectos 4D contendrán los **tokens** para los objetos clásicos del lenguaje y de la base (constantes, comandos, tablas y ca Los tokens son caracteres adicionales tales como `:C10` o `:5` insertados en los archivos de código fuente, que permiten renombrar las tablas y los campos e identificar elementos sea cual sea la versión 4D (ver [Utilización de tokens en las fórmulas](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.en.html)). Los tokens son caracteres adicionales tales como `:C10` o `:5` insertados en los archivos de código fuente, que permiten renombrar las tablas y los campos e identificar elementos sea cual sea la versión 4D (ver [Utilización de tokens en las fórmulas](https://doc.4d.com/4Dv20/4D/20.6/Using-tokens-in-formulas.300-7487422.en.html)). +When this option is checked, saved [method source files](../Project/architecture.md#sources) in new 4D projects will contain [**tokens** for classic language and database objects (constants, commands, tables and fields)](../Concepts/methods.md#language-tokens). 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. Si tiene intención de utilizar VCS o los editores de código externos con sus nuevos proyectos, es posible que desee desmarcar esta opción para una mejor legibilidad del código con estas herramientas. From 10a8f10cb2b2b8090c902073ece675dffbd2d806 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:35 +0200 Subject: [PATCH 069/223] monitor.md Spanish --- .../current/ServerWindow/monitor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/monitor.md b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/monitor.md index 1b6a08da6f3a39..8be406541374e1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/monitor.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/monitor.md @@ -34,7 +34,7 @@ El área "Visión general" ofrece diferente información sobre el sistema, la ap ![](../assets/en/Admin/server-licence-failed.png) -Usually, you will need to check the [**Licenses Manager**](Admin/licenses.md). +Generalmente, tendrá que verificar el [**Administrador de licencias**](Admin/licenses.md). ## Área Detalles From 5185c9d9ee495113213763cf6fa3f3ce27a1f8fc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:37 +0200 Subject: [PATCH 070/223] users.md Spanish --- .../current/ServerWindow/users.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/users.md b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/users.md index afaf9b48530d9d..23425b10b3709f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/users.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ServerWindow/users.md @@ -27,7 +27,7 @@ Para cada usuario conectado al servidor, la lista ofrece la siguiente informaci - **Actividad**: ratio de tiempo que 4D Server dedica a este usuario (visualización dinámica). - **Status**: The following values can be displayed: - "Online" - the session is active - - "Sleeping" - the desktop client has switched to sleep mode (see below), + - "Suspensión" - el cliente de escritorio ha cambiado al modo suspensión (ver abajo), - "Unreachable" (with [QUIC network layer](../settings/client-server.md#network-layer) only) - the desktop client is unresponsive and 4D Server will [attempt to reconnect](../Desktop/clientServer.md#management-of-unreachable-peer) during the QUIC session timeout period. ### Gestión de usuarios dormidos From 94f00041237f93afac24ada773efb81a4b8be566 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:41 +0200 Subject: [PATCH 071/223] vp-set-allowed-methods.md Spanish --- .../current/ViewPro/commands/vp-set-allowed-methods.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-allowed-methods.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-allowed-methods.md index 1ae08353d64c4c..c2ea44298aaa03 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-allowed-methods.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-allowed-methods.md @@ -47,13 +47,13 @@ Usted quiere autorizar dos métodos en sus áreas 4D View Pro: ```4d var $allowed : Object -$allowed:=New object //parameter for the command +$allowed:=New object //parámetro para el comando -$allowed.Hello:=New object //create a first simple function named "Hello" -$allowed.Hello.method:="My_Hello_Method" //sets the 4D method +$allowed.Hello:=New object //crea una primera función simple llamada "Hello" +$allowed.Hello.method:="My_Hello_Method" //define el método 4D $allowed.Hello.summary:="Hello prints hello world" - -$allowed.Byebye:=New object //create a second function with parameters named "Byebye" + +$allowed.Byebye:=New object //crea una segunda función con parámetros llamada "Byebye" $allowed.Byebye.method:="My_ByeBye_Method" $allowed.Byebye.parameters:=New collection $allowed.Byebye.parameters.push(New object("name";"Message";"type";Is text)) From f23fd152ef88cd022b32665b4ce862acaf78d7dc Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:43 +0200 Subject: [PATCH 072/223] vp-set-column-attributes.md Spanish --- .../current/ViewPro/commands/vp-set-column-attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-column-attributes.md b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-column-attributes.md index dc20ea621ad904..37a00544cc6b13 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-column-attributes.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/ViewPro/commands/vp-set-column-attributes.md @@ -42,7 +42,7 @@ Para cambiar el tamaño de la segunda columna y definir el encabezado, se escrib ```4d var $column; $properties : Object -$column:=VP Column("ViewProArea";1) //column B +$column:=VP Column("ViewProArea";1) //columna B $properties:=New object("width";100;"header";"Hello World") VP SET COLUMN ATTRIBUTES($column;$properties) From ea2af35678ab26fb2f12c6ca62696743b79f07bf Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:48 +0200 Subject: [PATCH 073/223] database.md Spanish --- .../current/settings/database.md | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md b/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md index 749bbc81261bd2..b586d5629888d7 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/settings/database.md @@ -114,13 +114,39 @@ Utilice los parámetros de esta pestaña para configurar la memoria caché de la - **Cálculo de caché adaptativa no marcado**: en este modo, usted mismo define el tamaño de la memoria caché para la base. 4D muestra entonces un área de entrada que permite configurar la memoria caché a utilizar, así como información relacionada con la memoria física (RAM disponible en la máquina), la caché actual y la caché tras el reinicio (teniendo en cuenta sus cambios). - El tamaño de la memoria caché que introduzca se reservará para la base 4D, independientemente del estado de los recursos de la máquina. Esta configuración puede utilizarse en determinadas configuraciones específicas, o cuando la base está diseñada para utilizarse en sistemas disímiles en cuanto a memoria. En la mayoría de los casos, la caché adaptativa ofrece un mejor rendimiento. +El tamaño de la memoria caché que introduzca se reservará para la base 4D, independientemente del estado de los recursos de la máquina. Esta configuración puede utilizarse en determinadas configuraciones específicas, o cuando la base está diseñada para utilizarse en sistemas disímiles en cuanto a memoria. En la mayoría de los casos, la caché adaptativa ofrece un mejor rendimiento. - **Escritura caché cada... Segundos/Minutos**: especifica el periodo de tiempo entre cada guardado automático de la caché de datos, es decir, su escritura en el disco. - 4D guarda los datos colocados en la caché a intervalos regulares. Puede especificar todo intervalo de tiempo entre 1 segundo y 500 minutos. Por defecto, 4D guarda sus datos cada 20 segundos. La aplicación también guarda sus datos en el disco cada vez que cambia a otro entorno o sale de la aplicación. También puede llamar al comando [FLUSH CACHE](../commands/flush-cache) para activar la escritura en cualquier momento. + 4D guarda los datos colocados en la caché a intervalos regulares. Puede especificar todo intervalo de tiempo entre 1 segundo y 500 minutos. Por defecto, 4D guarda sus datos cada 20 segundos. La aplicación también guarda sus datos en el disco cada vez que cambia a otro entorno o sale de la aplicación. You can also call the [`FLUSH CACHE`](../commands/flush-cache) command to trigger the flush at any moment. - Cuando prevea una entrada de muchos datos, considere la posibilidad de establecer un intervalo de tiempo breve entre guardados. En caso de corte del suministro eléctrico, sólo perderá los datos introducidos desde el último almacenamiento (si la base de datos funciona sin archivo de historial). +Cuando prevea una entrada de muchos datos, considere la posibilidad de establecer un intervalo de tiempo breve entre guardados. En caso de corte del suministro eléctrico, sólo perderá los datos introducidos desde el último almacenamiento (si la base de datos funciona sin archivo de historial). - Si la base de datos se ralentiza notablemente cada vez que se vacía la caché, deberá ajustar la frecuencia. Esta lentitud significa que se está guardando una gran cantidad de registros. Por lo tanto, un periodo más corto entre guardados sería más eficaz, ya que cada guardado implicaría menos registros y, por lo tanto, sería más rápido. +Si la base de datos se ralentiza notablemente cada vez que se vacía la caché, deberá ajustar la frecuencia. Esta lentitud significa que se está guardando una gran cantidad de registros. Por lo tanto, un periodo más corto entre guardados sería más eficaz, ya que cada guardado implicaría menos registros y, por lo tanto, sería más rápido. + +Por defecto, 4D muestra una pequeña ventana cuando se vacía la caché. Si no desea este recordatorio visual, puede deseleccionar la opción **Escritura de caché** en la [página Interfaz](./interface.md). + +:::note + +You can modify temporary the cache flush frequency using the [`Cache flush periodicity` selector of the `SET DATABASE PARAMETER` command](../commands/set-database-parameter#cache-flush-periodicity-95). + +::: + +### Managing priorities in database cache + +The 4D database cache includes an automatic priority management mechanism that provides a high level of efficiency and performance for data access. Thanks to this mechanism, when space is needed to load new data in the cache, low priority cached data are released first, while higher priority cached data remain loaded. + +This mechanism is fully automatic and usually, you will not have to worry about it. However, for specific cases it can be customized using a [set of dedicated commands from the "Cache Management" theme](../commands/theme/Cache_Management.md), which allow changing the priority of objects for the entire time the database is running, or temporarily for the current process. Note that these commands must be used carefully since they affect database performance. + +#### Priority management overview + +The Cache manager selects data to remove from the cache as necessary using a priority system. The three kinds of objects that can be loaded in the cache have a different priority: + +- **tables**: all standard field data (numeric, dates, etc.), excluding blobs (see below). Default priority is medium. +- **blobs**: all binary field data (text, picture, object and blobs) stored in the data file. Default priority is the lowest. +- **indexes**: all field indexes, including keyword indexes and composite indexes. Since indexes are frequently accessed, they have a special status in the cache. Default priority is the highest. + +Default priorities usually provide the best performances. However, for specific cases you can customize the cache priorities using two sets of 4D commands: + +- Commands that change the priorities for the whole session and all processes: [`SET TABLE CACHE PRIORITY`](../commands/set-table-cache-priority), [`SET INDEX CACHE PRIORITY`](../commands/set-index-cache-priority), and [`SET BLOBS CACHE PRIORITY`](../commands/set-blobs-cache-priority). These commands should be used in a startup database method. +- Commands that change the priorities only for the current process: [`ADJUST TABLE CACHE PRIORITY`](../commands/adjust-table-cache-priority), [`ADJUST INDEX CACHE PRIORITY`](../commands/adjust-index-cache-priority), and [`ADJUST BLOBS CACHE PRIORITY`](../commands/adjust-blobs-cache-priority). Use these commands to improve the performance of a temporary operation on your database and go back to initial priorities after the operation is finished. These commands are available only on 4D Server or 4D in local mode. - Por defecto, 4D muestra una pequeña ventana cuando se vacía la caché. Si no desea este recordatorio visual, puede deseleccionar la opción **Escritura de caché** en la [página Interfaz](./interface.md). From 6b6f1c01d1863f5c8439610046508c6c87ca5b17 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:50 +0200 Subject: [PATCH 074/223] http-request-handler.md Spanish --- .../current/WebServer/http-request-handler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md index be7509653e3c69..38d32df6267f3f 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WebServer/http-request-handler.md @@ -28,7 +28,7 @@ Since HTTP Request handler functions are called from standard web requests (they Sin embargo, estas funciones necesitan tener **permisos** apropiados, como todas las peticiones ejecutadas desde procesos web. When the handler function is called, the **privileges** of its web session must allow the code to run properly. Cualquier otro recurso al que se acceda dentro del código (datos, otras funciones...) también deben estar permitidos por los permisos. -In [*restricted mode by default*](../ORDA/privileges.md#restriction-modes), if a HTTP Request handler can open a new, unauthenticated session (which is the case for example when your application provides **deep linking** feature), you need to make sure that the *guest* privilege is allowed to execute the handler function and access all subsequent resources. +En [*modo restringido por defecto*](../ORDA/privileges.md#restriction-modes), si un controlador de peticiones HTTP puede abrir una nueva sesión sin autenticar (lo cual ocurre, por ejemplo, cuando su aplicación ofrece la función de **enlaces profundos**), debe asegurarse de que se conceda el privilegio *invitado* para ejecutar la función del controlador y acceder a todos los recursos posteriores. Si una función HTTP Request handler puede ejecutarse dentro de una sesión ya autenticada, debe asegurarse de que la sesión de usuario está autorizada para ejecutar la función handler y acceder a todos los recursos posteriores. Note that this can also happen with deep linking if you copy/paste the link into a browser where you are already authenticated for the application and the session is still active. From 05c04fbce468057a8a8dee1d2774e2c5532a0097 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:55 +0200 Subject: [PATCH 075/223] wp-insert-picture.md Spanish --- .../current/WritePro/commands/wp-insert-picture.md | 1 + 1 file changed, 1 insertion(+) diff --git a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md index 0156053ff1d2a2..d7247e67a75038 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/WritePro/commands/wp-insert-picture.md @@ -38,6 +38,7 @@ Para el segundo parámetro, puede pasar cualquiera de los dos: - Campo o variable de imagen - Cadena que contiene una ruta a un archivo de imagen almacenado en disco, en la sintaxis del sistema. Si utiliza una cadena, puede pasar un nombre de ruta completo o un nombre de ruta relativo al archivo de estructura de la base de datos. También puede pasar un nombre de archivo, en cuyo caso el archivo debe estar situado junto al archivo de estructura de la base de datos. También puede pasar un nombre de archivo, en cuyo caso el archivo debe estar situado junto al archivo de estructura de la base de datos. + - En *pictureFile* : un objeto `File` que representa un archivo imagen o una ruta. Todo formato imagen [soportado por 4D](../../FormEditor/pictures.md#native-formats-supported) puede ser usado. Puede obtener la lista de formatos de imagen disponibles usando el comando [PICTURE CODEC LIST](../../commands/picture-codec-list). Si la imagen encapsula varios formatos (codecs), 4D Write Pro solo mantiene un formato para la visualización y otro para la impresión (si son diferentes) en el documento; los "mejores" formatos se seleccionan automáticamente. From 1461781f95ead7581269ce771d47154993218031 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:05:58 +0200 Subject: [PATCH 076/223] dataclassclass.md Spanish --- .../version-21/API/DataClassClass.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md index 5a1e40ae606fff..6050eff7eaac77 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/DataClassClass.md @@ -272,11 +272,11 @@ Para cada objeto de *objectCol*: - Si el objeto contiene una propiedad booleana "\__NEW" establecida en false (o no contiene una propiedad booleana "\__NEW"), la entidad se actualiza o se crea con los valores correspondientes de las propiedades del objeto. No se realiza ninguna comprobación con respecto a la llave primaria: - Si la llave primaria se da y existe, la entidad se actualiza. En este caso, la llave primaria puede darse tal cual o con una propiedad "\_\_KEY" (llenada con el valor de la llave primaria). - - If the primary key is given (as is) and does not exist, the entity is created + - Si se da la llave primaria (tal cual) y no existe, se crea la entidad - Si no se da la llave primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. - Si el objeto contiene una propiedad booleana "\_\_NEW" definida como **true**, la entidad se crea con los valores correspondientes de los atributos del objeto. Se realiza una verificación con respecto a la llave primaria: - Si se da la llave primaria (tal cual) y existe, se envía un error - - If the primary key is given (as is) and does not exist, the entity is created + - Si se da la llave primaria (tal cual) y no existe, se crea la entidad - Si no se da la primaria, se crea la entidad y se asigna el valor de la llave primaria con respecto a las reglas estándar de la base de datos. > La propiedad "\__KEY" que contiene un valor sólo se tiene en cuenta cuando la propiedad "\__NEW" tiene el valor **false** (o se omite) y existe una entidad correspondiente. The use of a \_\_KEY property allows independence from the primary key attribute name. From df352258bb67c249f52704355fdab1d031e95a33 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:06:00 +0200 Subject: [PATCH 077/223] directory.md Spanish --- .../docusaurus-plugin-content-docs/version-21/API/Directory.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/Directory.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/Directory.md index 7cb86982579008..2f940b4cc1b3c1 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/Directory.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/Directory.md @@ -556,7 +556,7 @@ La función `.files()` devuelve una colec > Los alias o enlaces simbólicos no se resuelven. -Por defecto, si se omite el parámetro *options*, sólo se devuelven en la colección los archivos del primer nivel de la carpeta, así como los archivos o carpetas invisibles. Puede modificar esto pasando, en el parámetro *options*, una o varias de las siguientes constantes: +By default, if you omit the *options* parameter, only the files at the first level of the folder are returned in the collection, including invisible files. Puede modificar esto pasando, en el parámetro *options*, una o varias de las siguientes constantes: | Constante | Valor | Comentario | | --------------------- | ----- | ------------------------------------------------------------------------------- | From 06434acca3d8ee395257ba76278a472a4b7b9e25 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:06:04 +0200 Subject: [PATCH 078/223] entityclass.md Spanish --- .../version-21/API/EntityClass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md index a15492bb8bbcfb..efd68a6c964da2 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/API/EntityClass.md @@ -409,7 +409,7 @@ El objeto devuelto por `.drop()` contiene las siguientes propiedades: | `dk status validation failed` | 7 | Error no crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Mild Validation Error" | | `dk status serious error` | 4 | Un error crítico es un error de bajo nivel de la base de datos (por ejemplo, una llave duplicada), un error de hardware, etc.
***statusText asociado***: "Other error" | | `dk status serious validation error` | 8 | Error crítico enviado por el desarrollador para un [evento de validación](../ORDA/orda-events.md). **statusText asociado**: "Serious Validation Error" | -| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • with `.save()`: error only if the `dk auto merge` option is not used
  • with `.drop()`: error only if the `dk force drop if stamp changed` option is not used
  • with `.lock()`: error only if the `dk reload if stamp changed` option is not used
  • **Associated statusText**: "Stamp has changed"
  • | +| `dk status stamp has changed` | 2 | El valor del marcador interno (stamp) de la entidad no coincide con el de la entidad almacenada en los datos (bloqueo optimista).
  • con `.save()`: error sólo si no se utiliza la opción `dk auto merge`.
  • con `.drop()`: error sólo si no se usa la opción `dk force drop if stamp changed`
  • con `.lock()`: error sólo si no se utiliza la opción `dk reload if stamp changed`.
  • **statusText asociado**: "Stamp has changed"
  • | | `dk status wrong permission` | 1 | Los privilegios actuales no permiten suprimir la entidad. **StatusText asociado**: "Permission Error" | #### Ejemplo 1 From 3004ce482f5cc7672727fbcf018f4092105c550d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 3 Jul 2026 00:06:09 +0200 Subject: [PATCH 079/223] listbox_overview.md Spanish --- .../version-21/FormObjects/listbox_overview.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md index ebab76aa551dc3..43adedc41568db 100644 --- a/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md +++ b/i18n/es/docusaurus-plugin-content-docs/version-21/FormObjects/listbox_overview.md @@ -244,14 +244,14 @@ Puede activar o desactivar la ordenación usuario estándar desactivando la prop El soporte de ordenación estándar depende del tipo de list box: -| Tipo de list box | Soporte de ordenación estándar | Comentarios | -| ------------------------------ | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Colección de objetos | Sí |
    • Las columnas "This.a" o "This.a.b" son ordenables.
    • La [propiedad source del list box](properties_Object.md#variable-or-expression) debe ser una [expresión asignable](../Concepts/quick-tour.md#assignable-vs-non-assignable-expressions).
    | -| Colección de valores escalares | No | Utilice la ordenación personalizada con la función [`orderBy()`](../API/CollectionClass.md#orderby) | -| Entity selection | Sí |