Aller au contenu principal
Version: Next

ST INSERT EXPRESSION

ST INSERT EXPRESSION ( {* ;} objet ; expression {; débutSél {; finSél}} )

ParamètreTypeDescription
*OpérateurSi spécifié, objet est un nom d'objet (chaîne)
Si omis, objet est un champ ou une variable
objetObjectNom d'objet (si * est spécifié) ou
Champ ou variable (si * est omis)
expressionTextExpression et (optionnel) format à insérer
débutSélIntegerDébut de la sélection
finSélIntegerFin de la sélection

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande ST INSERT EXPRESSION insère une référence à l’expression dans le champ ou la variable de texte multistyle désigné(e) par le paramètre objet.

Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet (une chaîne). Si vous ne passez pas le paramètre, vous indiquez que le paramètre objet est un champ ou une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de champ ou de variable (champ ou variable objet uniquement).

Passez dans le paramètre expression l’expression 4D à évaluer dans l’objet. Une expression 4D valide est une chaîne retournant une valeur. expression peut être un champ, une variable, une commande 4D, une instruction retournant une valeur, une méthode projet, etc.

L’expression doit être passée entre guillemets ("").

Note : Le paramètre expression ne peut pas être une variable de type Image.

Si expression retourne une valeur contenant des retours chariot et des tabulations, 4D formate le texte en fonction de l’objet hébergeant l’expression ; les caractères retours chariot sont interprétés comme des retours à la ligne.

Vous pouvez formater l’expression en incluant une information de formatage dans le paramètre expression. Dans ce cas, le paramètre doit être de la forme :

"String(valeur;format)"

... où valeur contient l’expression elle-même et format le formatage à appliquer. Le paramètre format peut contenir les valeurs suivantes :

  • pour les numériques : tout format d’affichage numérique existant ou non, par exemple "###,##"
  • pour les dates : un nombre désignant un format de date existant. Vous pouvez utiliser les constantes du thème "Formats d'affichage des dates", par exemple System date short.
  • pour les heures : un nombre désignant un format d’heure existant. Vous pouvez utiliser les constantes du thème "Formats d'affichage des heures", par exemple System time short.

Par exemple :

 "Chaine([Table_1]Champ_1;Système date court)"

Par défaut, les valeurs des expressions sont affichées dans les zones de texte multistyle. Vous pouvez forcer l’affichage des références à l’aide de la commande ST SET OPTIONS.

Les paramètres optionnels débutSél et finSél permettent de désigner une sélection de texte dans objet. Les valeurs débutSél et finSél expriment une sélection de texte brut, sans tenir compte des balises de style éventuellement présentes dans le texte.

  • Si vous passez uniquement débutSél, le résultat de l’expression est inséré à l'emplacement spécifié.
  • Si vous omettez débutSél et finSél, le résultat de l’expression est inséré à l’emplacement du curseur.
  • Si vous passez débutSél et finSél, ST INSERT EXPRESSION remplace le texte situé à l’intérieur de cette sélection par le résultat de l’expression. Si la valeur de finSél est supérieure au nombre total de caractères dans l’objet, tous les caractères entre débutSél et la fin du texte sont remplacés par le résultat de l’expression.

4D propose des constantes prédéfinies afin de désigner automatiquement des bornes de sélection dans les paramètres débutSél et finSél. Ces constantes sont placées dans le thème "Texte multistyle" :

ConstanteTypeValeurComment
ST End highlightEntier long-1001Désigne le dernier caractère de la sélection courante de texte dans l’objet (*)
ST End textEntier long0Désigne le dernier caractère du texte contenu dans l’objet
ST Start highlightEntier long-1000Désigne le premier caractère de la sélection courante de texte dans l’objet (*)
ST Start textEntier long1Désigne le premier caractère du texte contenu dans l’objet

(*) Vous devez passer un nom d’objet dans objet pour pouvoir utiliser cette constante. Si vous passez une référence de variable ou de champ, la commande s’appliquera à l’ensemble du texte de l’objet.

Note : Si débutSél est supérieur à finSél (hormis si finSél vaut 0), la commande ne fait rien et la variable OK prend la valeur 0.

Exemple

Vous souhaitez remplacer le texte sélectionné par la valeur d'un champ :

 ST INSERT EXPRESSION(*;"myText";"[Clients]Nom";ST Start highlight;ST End highlight)

Voir aussi

ST COMPUTE EXPRESSIONS
ST FREEZE EXPRESSIONS
ST Get expression
ST INSERT URL