4D v16.3

ST LIRE ATTRIBUTS

Accueil

 
4D v16.3
ST LIRE ATTRIBUTS

ST LIRE ATTRIBUTS 


 

ST LIRE ATTRIBUTS ( {* ;} objet ; débutSél ; finSél ; nomAttribut ; valeurAttribut {; nomAttribut2 ; valeurAttribut2 ; ... ; nomAttributN ; valeurAttributN} ) 
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 (si * est omis)
débutSél  Entier long in Début de la sélection de texte
finSél  Entier long in Fin de la sélection de texte
nomAttribut  Entier long in Attribut à lire
valeurAttribut  Variable in Valeur courante de l’attribut

La commande ST LIRE ATTRIBUTS permet de récupérer la valeur courante d’un attribut de style dans une sélection de texte du ou des 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 retourne les informations de l'objet en cours d'édition ; si l'objet n'a pas le focus, la commande retourne les informations de la source de données de l'objet (variable ou champ).
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. A l'exécution, la commande retourne les informations de la variable ou du champ.

 

Les paramètres débutSél et finSél permettent de désigner la sélection de texte de laquelle lire l’attribut de style. Passez dans débutSél la position du premier caractère et dans finSél la position plus un du dernier caractère de la sélection. 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 les valeurs de débutSél et finSél sont égales ou si débutSél est supérieur à finSél (hormis si finSél vaut 0), une erreur est retournée.
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 le paramètre nomAttribut le nom de l’attribut à lire et dans le paramètre valeurAttribut une variable devant récupérer la valeur courante de l’attribut. Pour définir le paramètre nomAttribut, vous devez utiliser l’une des constantes du thème Attributs de texte multistyle.

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)

Vous pouvez passer autant de paires attribut/valeur que vous souhaitez.

Si la valeur de l’attribut nomAttribut est identique dans la totalité de la sélection, elle est retournée dans valeurAttribut. Si cette valeur est différente ou si objet ne contient pas de balises SPAN, les valeurs suivantes sont retournées :

nomAttributvaleurAttribut si attribut hétérogène dans la sélection ou pas de balises SPAN
Attribut couleur fondFFFFFFFF
Attribut couleur texteFFFFFFFF
Attribut nom de police"" (chaîne vide)
Attribut style barré2
Attribut style gras2
Attribut style italique2
Attribut style souligné2
Attribut taille texte-1

Exemple  

Soit un champ [Table_1]StyledText affiché dans un formulaire. L’objet comporte la propriété Multistyle et est nommé "StyledText_t". Vous souhaitez récupérer le texte sélectionné ainsi que le statut de l’attribut Gras. Vous pouvez procéder de deux manières différentes, selon que vous utilisez le nom d’objet ou la référence de champ. 

  • Utilisation du nom d’objet :

 $text:=ST Lire texte(*;"StyledText_t";ST Début sélection;ST Fin sélection)
 ST LIRE ATTRIBUTS(*;"StyledText_t";ST Début sélection;ST Fin sélection;Attribut style gras;$bold)

  • Utilisation du nom de champ :

 TEXTE SELECTIONNE([Table_1]StyledText;$Begin_l;$End_l)
 $text:=ST Lire texte([Table_1]StyledText;$Begin_l;$End_l)
 ST LIRE ATTRIBUTS([Table_1]StyledText;$Begin_l;$End_l;Attribut style gras;$bold)

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.



Voir aussi  

ST FIXER ATTRIBUTS

 
PROPRIÉTÉS 

Produit : 4D
Thème : Texte multistyle
Numéro : 1094
Nom intl. : ST GET ATTRIBUTES

Cette commande modifie la variable système OK

 
HISTORIQUE 

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

 
MOTS-CLÉS 

multi-style, multistyle, multi style

 
UTILISATION DE L'ARTICLE

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