4D v16.3ST FIXER ATTRIBUTS |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
ST FIXER ATTRIBUTS
|
ST FIXER ATTRIBUTS ( {* ;} objet ; débutSél ; finSél ; nomAttribut ; valeurAttribut {; nomAttribut2 ; valeurAttribut2 ; ... ; nomAttributN ; valeurAttributN} ) | ||||||||
Paramètre | Type | Description | ||||||
* | Opérateur |
![]() |
Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est une variable ou un champ | |||||
objet | Objet de formulaire |
![]() |
Nom d'objet (si * est spécifié) ou Variable ou champ Texte (si * est omis) | |||||
débutSél | Entier long |
![]() |
Début de la nouvelle sélection de texte | |||||
finSél | Entier long |
![]() |
Fin de la nouvelle sélection de texte | |||||
nomAttribut | Chaîne |
![]() |
Attribut à définir | |||||
valeurAttribut | Chaîne, Entier long |
![]() |
Nouvelle valeur d’attribut | |||||
La commande ST FIXER ATTRIBUTS permet de modifier un ou plusieurs attribut(s) de style dans le ou les objet(s) de formulaire désigné(s) par objet.
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.
Note : Vous pouvez utiliser les attributs de style avec des champs de type Texte uniquement. Les champs de type Alpha ayant une longueur prédéfinie, l’ajout d’éventuelles balises de style entraînerait des pertes de données.
La définition d’un attribut s’effectue via l’insertion ou la modification de balises HTML de style dans à l’intérieur du texte (pour plus d'informations sur ce point, reportez-vous au manuel Mode Développement). A noter que ST FIXER ATTRIBUTS insère des balises de style dans tous les cas, même si objet désigne des objets texte de formulaire n’ayant pas la propriété Multistyle.
Les paramètres débutSél et finSél permettent de désigner la sélection de texte à laquelle appliquer la ou les modification(s) de style à l’intérieur de l’objet. Passez dans débutSél la position du premier caractère à modifier et dans finSél la position plus un du dernier caractère à modifier. Vous pouvez passer 0 dans finSél afin de désigner automatiquement le dernier caractère du texte (passez 1 dans débutSél pour désigner le premier caractère).
Si la valeur de finSél est supérieure au nombre de caractères de l’objet, tous les caractères entre débutSél et la fin du texte seront modifiés. 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.
Les valeurs débutSél et finSél ne tiennent pas compte des balises de style éventuellement déjà présentes dans la zone. Elles sont évaluées sur la base du texte brut (texte duquel les balises de style ont été filtrées).
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.
Passez dans les paramètres nomAttribut et valeurAttribut respectivement le nom et la valeur de l’attribut à modifier. Vous pouvez passer autant de paires attribut/valeur que vous souhaitez. Pour définir le paramètre nomAttribut, utilisez les constantes prédéfinies placées dans le thème Attributs de texte multistyle. La valeur à passer dans le paramètre valeurAttribut dépend du paramètre nomAttribut :
Constante | Type | Valeur | Comment |
Attribut couleur fond | Entier long | 8 | valeurAttribut=Valeur hexadécimale ou nom de couleur HTML (Windows uniquement) |
Attribut couleur texte | Entier long | 7 | valeurAttribut=Valeur hexadécimale ou nom de couleur HTML |
Attribut nom de police | Entier long | 5 | valeurAttribut=Nom de la famille de police (chaîne) |
Attribut style barré | Entier long | 3 | valeurAttribut=0 : pas d'attribut barré pour la sélection valeurAttribut=1 : attribut barré pour la sélection |
Attribut style gras | Entier long | 1 | valeurAttribut=0 : pas d'attribut gras pour la sélection valeurAttribut=1 : attribut gras pour la sélection |
Attribut style italique | Entier long | 2 | valeurAttribut=0 : pas d'attribut italique pour la sélection valeurAttribut=1 : attribut italique pour la sélection |
Attribut style souligné | Entier long | 4 | valeurAttribut=0 : pas d'attribut souligné pour la sélection valeurAttribut=1 : attribut souligné pour la sélection |
Attribut taille texte | Entier long | 6 | valeurAttribut=Nombre de points (numérique) |
Couleurs
Si vous passez la constante Attribut couleur texte ou Attribut couleur fond dans nomAttribut, vous devez passer dans valeurAttribut une chaîne contenant soit un nom de couleur HTML soit une valeur de couleur hexadécimale :
Nom de couleur HTML | Valeur hexadécimale |
Aqua | #00FFFF |
Black | #000000 |
Blue | #0000FF |
Fushia | #FF00FF |
Gray | #808080 |
Green | #008000 |
Lime | #00FF00 |
Maroon | #800000 |
Navy | #000080 |
Olive | #808000 |
Purple | #800080 |
Red | #FF0000 |
Silver | #C0C0C0 |
Teal | #008080 |
White | #FFFFFF |
Yellow | #FFFF00 |
Dans cet exemple, nous modifions la taille, la couleur de texte ainsi que les attributs gras et souligné des caractères 2 à 4 du champ :
ST FIXER ATTRIBUTS([MaTable]MonChamp;2;5;Attribut nom de police;"Arial";Attribut taille texte;10;Attribut style souligné;1;Attribut style gras;1;Attribut couleur texte;"Blue")
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.
Produit : 4D
Thème : Texte multistyle
Numéro :
1093
Nom intl. : ST SET ATTRIBUTES
Créé : 4D v12
Modifié : 4D v12.1
Renommé : 4D v14
multistyle, multi-style, multi style
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)