Obtenir des coordonnées dans un document 4D Write Pro

Traduit automatiquement de Deepl

À présent, vous devriez être familiarisé avec la commande WP Get position vous est maintenant familière. Vous l’avez au moins lu dans cet article de blog. Introduite avec la v17, elle vous aide à obtenir des informations sur l’emplacement des éléments dans vos documents.

4D v17 R4 met du piquant … maintenant, il renvoie aussi des coordonnées!

nouveaux attributs

La commande WP Get position renvoie deux nouveaux attributs : bounds et rangeHeight.

L’attribut bounds est un objet qui décrit le rectangle entourant une plage, en fonction de son type. Le type de la plage transmise peut être « type par défaut » (caractères), « type paragraphe », « type tableau » ou « type image », comme indiqué ci-dessous :

L’attribut bounds possède ses propres attributs : gauche, haut, droite et bas. Ils sont numériques et exprimés dans l’unité de mise en page actuelle (mm, cm, in, pt ou px).

Exemple

Cette fonctionnalité vous permet de configurer facilement des conceptions de page complexes. Par exemple, lorsque vous utilisez des modèles, vous pouvez avoir besoin de comparer la taille d’un bloc à insérer en fonction de l’espace disponible à la fin de la page actuelle. Si l’espace n’est pas assez grand( par exemple « 5 cm »), vous pouvez décider d’insérer d’abord un saut de page. C’est simple et facile. Voici comment procéder :

$range:=WP Get selection(WParea)
WP SET ATTRIBUTES (WParea;wk layout unit;wk unit cm) // change the unit to "cm"
$position :=WP Get position($range ;wk 4D Write Pro layout) // call the WP Get position function
$heightInCm:=$position.rangeHeight // read the height in "cm"
If ($heightInCm<5)
// insert a break…
End if

voici le contenu détaillé de l’objet retourné

{
"section": 1,
"page": 1,
"column": 1,
"line": 11,
"position": 49,
"bounds":    // New!
 {
  "left": 1.52,
  "top": 10.65,
  "right": 18.66,
  "bottom": 12.56,
 }
  rangeHeight: 1.9  // New!
}

Voyez la fonctionnalité en action avec cette base de données de démonstration.

4D Write Pro : Obtenir les coordonnées d’un élément

Roland Lannuzel
- Product Owner & 4D Expert - Après avoir étudié l'électronique, Roland s'est lancé dans l'informatique industrielle en tant que développeur et consultant, créant des solutions pour les clients avec une variété de bases de données et de technologies. À la fin des années 80, il est tombé amoureux de 4D et l'a utilisé pour écrire des applications commerciales, notamment des systèmes de comptabilité, de facturation et de messagerie électronique. Il a rejoint la société en 1997 et a contribué à la conception de spécifications, d'outils de test et de démonstrations, ainsi qu'à la formation et à la présentation de la communauté 4D lors de nombreuses conférences. Il continue à façonner activement l'avenir de 4D en définissant de nouvelles fonctionnalités et des outils de développement de bases de données.