4D v16.3

Notes de programmation

Accueil

 
4D v16.3
Notes de programmation

Notes de programmation  


 

Les commandes permettant de manipuler des objets texte par programmation ne tiennent pas compte des éventuelles balises de style intégrées au texte. Elles agissent sur le texte affiché. Il s’agit des commandes suivantes :

A noter que, lorsque vous utilisez ces commandes avec des commandes de manipulation des chaînes de caractères, il est nécessaire de filtrer les caractères de formatage à l’aide de la commande ST Lire texte brut :

 SELECTIONNER TEXTE([Produits]Notes;1;Longueur(ST Lire texte brut([Produits]Notes))+1)

  • Thème Objets (Formulaires)
    Les commandes permettant de modifier le style des objets (par exemple OBJET FIXER POLICE) s’appliquent à l’objet entier et non à la sélection.
    A noter que si l’objet n’a pas le focus au moment de l’exécution de la commande, la modification est appliquée simultanément à l’objet (la zone de texte) et à sa variable associée. Si l’objet a le focus, la modification est effectuée sur l’objet mais pas sur la variable associée. La modification n’est appliquée à la variable qu’au moment où l’objet perd le focus. Gardez ce principe à l’esprit lorsque vous programmez les zones de texte. 

Si l’option "Stocker les balises par défaut" est cochée pour l’objet, l’utilisation de ces commandes provoquera une modification des balises enregistrées avec chaque objet.

A compter de 4D v14, un nouveau mode d’interaction a été défini entre les commandes génériques telles que OBJET FIXER COULEURS RVB ou OBJET FIXER STYLE POLICE et les zones de texte multistyle.

Dans les versions précédentes de 4D, l’exécution d’une de ces commandes modifiait le contenu des balises de style personnalisées éventuellement insérées dans la zone. Désormais, seules les propriétés par défaut sont affectées par ces commandes (ainsi que les propriétés stockées via les balises par défaut, le cas échéant). Les balises de style personnalisées sont conservées telles quelles. 

Par exemple, soit une zone multistyle dans laquelle les balises par défaut ont été stockées :

Le texte brut de la zone est le suivant :

<span style="text-align:left;font-family:'Segoe UI';font-size:9pt;color:#009900">Ceci est un mot <span style="color:#D81E05">rouge</span></span>

Si vous exécutez le code suivant :

 OBJET FIXER COULEUR(*;"maZone";-(Bleu+(256*Jaune)))

Avec 4D v14, la couleur rouge est préservée :

4D v14versions précédentes
<span style="text-align:left;font-family:'Segoe UI';font-size:9pt;color:#0000FF">Ceci est un mot <span style="color:#D81E05">rouge</span></span>
<span style="font-family:'Segoe UI';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#0000FF;"><span style="background-color:#FFFFFF">Ceci est un mot rouge</span></span>

Les commandes génériques sont les suivantes :

OBJET FIXER COULEURS RVB
OBJET FIXER COULEUR
OBJET FIXER POLICE
OBJET FIXER STYLE POLICE
OBJET FIXER TAILLE POLICE

Dans le contexte des zones de texte multistyles, les commandes génériques doivent être utilisées pour définir les styles par défaut uniquement. Pour gérer les styles lors de l’exécution de la base, il est recommandé d’utiliser les commandes du thème "Texte multistyle".

Lorsqu’elle est utilisée avec une zone de texte riche, la commande Lire texte edite (thème Evénements formulaire) retourne le texte de la zone courante en incluant les éventuelles balises de style. 

Pour récupérer le texte "brut" (texte sans balises) en cours d’édition, vous devez utiliser la commande ST Lire texte brut :

 ST Lire texte brut(Lire texte edite)

Les recherches et les tris effectués parmi des objets multistyles tiennent compte des éventuelles balises de style enregistrées dans l’objet. Si une modification de style a été apportée à l’intérieur d’un mot, une recherche sur ce mot sera infructueuse. 

Pour pouvoir effectuer des recherches et des tris valides, vous devez utiliser la commande ST Lire texte brut. Par exemple :

 CHERCHER PAR FORMULE([MaTable];ST Lire texte brut([MaTable]MonchampStyle)="très bien")

Afin d’assurer la compatibilité multi-plate-forme des textes manipulés dans la base de données, 4D à compter de la v14 normalise automatiquement les fins de ligne afin qu’elles n’occupent qu’un seul caractère '\r' (retour chariot). Cette normalisation est effectuée au niveau des objets de formulaire hébergeant du texte multistyle ou du texte brut (variables ou champs). Les fins de ligne non natives ou utilisant un mélange de plusieurs caractères (par exemple '\r\n') sont considérées comme un seul '\r'.

A noter que, conformément à la norme XML (format des textes multistyles), les commandes de texte multistyle normalisent également les fins de ligne des variables texte non associées à des objets.

Ce principe facilite l’utilisation des commandes de texte multistyle ou du type SELECTIONNER TEXTE dans un contexte multi-plate-forme. Vous devez toutefois en tenir compte dans vos traitements si vous manipulez des textes de provenance hétérogène.



Voir aussi  

OBJET FIXER COULEUR
OBJET FIXER COULEURS RVB
OBJET FIXER POLICE
OBJET FIXER STYLE POLICE
OBJET FIXER TAILLE POLICE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Texte multistyle
Nom intl. : Programming Notes

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

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