4D v16.3

ST FIXER TEXTE

Accueil

 
4D v16.3
ST FIXER TEXTE

ST FIXER TEXTE 


 

ST FIXER TEXTE ( {* ;} objet ; nouvTexte {; débutSél {; finSél}} ) 
Paramètre Type   Description
Opérateur in Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est une variable ou un champ
objet  Objet de formulaire in Nom d'objet (si * est spécifié) ou Variable ou champ Texte (si * est omis)
nouvTexte  Texte in Texte multistyle à insérer
débutSél  Entier long in Début de la sélection
finSél  Entier long in Fin de la sélection

La commande ST FIXER TEXTE insère le texte passé dans le paramètre nouvTexte dans le champ ou la variable de texte multistyle désigné(e) par le paramètre objet. Cette commande s’applique uniquement au texte brut du paramètre objet, sans modifier les éventuelles balises de style qu’il contient. Elle permet de modifier par programmation du texte multistyle affiché à l’écran.

 

Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet (une chaîne). A l'exécution, si l'objet a le focus, la commande s'applique uniquement à l'objet en cours d'édition et non à sa source de données (variable ou champ). Les modifications ne sont reportées dans la source (et donc dans les éventuels autres objets utilisant la même source) que lorsque l'objet en cours d'édition est validé via une perte de focus ou la touche Entrée. Si l'objet n'a pas le focus, la commande s'applique directement à la source de données et les modifications sont immédiatement répercutées aux éventuels autres objets utilisant la même source.
Si vous omettez 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. La commande s'applique directement au champ ou à la variable et les modifications sont répercutées à tous les objets utilisant cette source, y compris l'objet ayant le focus.

 

Passez dans nouvTexte le texte à insérer. La commande ST FIXER TEXTE est destinée aux manipulations de texte stylé (multistyle), contenant des balises de type <span>. Dans tous les autres cas (notamment en cas de manipulation de texte non stylé mais contenant les caractères <, > ou &), vous devez utiliser la commande ST FIXER TEXTE BRUT. Si vous passez à la commande ST FIXER TEXTE un texte brut contenant des caractères <, > ou &, la commande ne fait rien. Ce principe de fonctionnement est nécessaire car l'insertion directe d'une chaîne telle que "a<b" au sein d'un texte stylé va fausser l'analyse interne des balises <span>. Dans ce cas, le caractère "<" doit être préalablement encodé "&lt;", ce qui est effectué par la commande ST FIXER TEXTE BRUT (voir également l'exemple de cette commande).

Les paramètres optionnels débutSel et finSel vous 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. L’action de la commande diffère en fonction des paramètres facultatifs débutSél et finSél :

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" : 

Constante Type Valeur Comment
ST Début sélection Entier long -1000 Désigne le premier caractère de la sélection courante de texte dans l’objet (*)
ST Début texte Entier long 1 Désigne le premier caractère du texte contenu dans l’objet
ST Fin sélection Entier long -1001 Désigne le dernier caractère de la sélection courante de texte dans l’objet (*)
ST Fin texte Entier long 0 Désigne le dernier 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, le texte n'est pas modifié et la variable OK prend la valeur 0 (hormis lorsque finSél vaut 0, cf. ci-dessus).

A l’issue de l’exécution de cette commande, la variable OK prend la valeur 1 si aucune erreur n’a été rencontrée et 0 dans le cas contraire. C’est le cas notamment lorsque l’évaluation des balises de style échoue (balise incorrecte ou manquante). 

A noter qu’en cas d’erreur, la variable n’est pas modifiée. Lorsqu’une erreur se produit sur une variable lors de l’évaluation du texte, 4D transforme le texte en texte brut ; par conséquent, les caractères <, > et & seront convertis en entités HTML.

Vous souhaitez remplacer le texte multistyle sélectionné par l’utilisateur avec le contenu d'une variable.

Voici le texte sélectionné :

Le contenu stocké dans le champ est le suivant :

Après exécution de ce code :

 vtempo:="Démonstration"
 TEXTE SELECTIONNE([Produits]Notes;vDebut;vFin)
 ST FIXER TEXTE([Produits]Notes;vtempo;vDebut;vFin)

Le champ et son contenu sont les suivants :

Reportez-vous à l'exemple de la commande ST FIXER TEXTE BRUT.



Voir aussi  

ST FIXER TEXTE BRUT
ST Lire texte
ST Lire texte brut

 
PROPRIÉTÉS 

Produit : 4D
Thème : Texte multistyle
Numéro : 1115
Nom intl. : ST SET TEXT

Cette commande modifie la variable système OK

 
HISTORIQUE 

Créé : 4D v12
Modifié : 4D v12.1
Renommé : 4D v14

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)