4D Write Pro : Bienvenue aux boîtes de texte flottantes !

Traduit automatiquement de Deepl

4D Write Pro est un produit essentiel pour la création de documents commerciaux. C’est pourquoi, à chaque nouvelle version, nous vous offrons de nouvelles fonctionnalités pour parfaire votre travail. Cette fois, 4D v19 R8 apporte des zones de texte flottantes à 4D Write Pro.

Ainsi, si vous êtes amené à utiliser des zones de texte, disons pour créer des lettres d’entreprise conformes à l’identité de la société, vous êtes libre de vous lancer dès maintenant.

Boîtes de texte 4D Write Pro

Les zones de texte peuvent être familières à certains, mais il peut être utile de rappeler ce qu’elles sont !

Une zone de texte est une zone de texte flottante de n’importe quelle taille contenant du texte, des images ou des tableaux ! Elles peuvent être utilisées de manières très différentes, par exemple pour positionner une adresse à un endroit précis sur le papier afin qu’elle apparaisse clairement dans la fenêtre de l’enveloppe.

 

 

 

Comment créer une zone de texte ?

Comme d’habitude, plusieurs solutions sont possibles ; la plus simple est d’utiliser l’interface. De nouveaux boutons sont disponibles à cet effet dans la barre d’outils et la barre latérale.

blank

blank

Une fois créées, les zones de texte peuvent être déplacées en cliquant sur leurs bords et redimensionnées à l’aide des poignées.

blank

Attributs et contenu des zones de texte

Les zones de texte ont leurs propres attributs. Ces attributs peuvent être modifiés par programmation et simplement en utilisant l’interface.

Vous pouvez choisir le type de bordure, la couleur, l’épaisseur et la couleur de fond de chaque zone de texte.

Quant au contenu, vous pouvez utiliser les zones de texte pour insérer du texte, des images, des tableaux, qui peuvent bien sûr contenir des formules.

blank

Nouvelles commandes et actions standard

De nouvelles commandes et actions standard ont été créées pour créer et supprimer les zones de texte de manière programmatique.

Commençons par les commandes !

Commandes

Deux nouvelles commandes ont été créées pour insérer et supprimer des zones de texte…

  • WP new text box
  • WP DELETE TEXTBOX

 

… et beaucoup (beaucoup) de commandes existantes ont été améliorées pour prendre ces nouveaux objets comme paramètres !

En voici quelques-unes :

  • WP SET ATTRIBUTES
  • WP Get elements
  • WP Find all
  • WP Get position
  • WP Get formulas
  • WP Get text

Exemple de code

Dans cet exemple, nous voulons créer une zone de texte qui a les caractéristiques suivantes :

Son contenu doit mesurer 10 cm x 3,5 cm, avoir des marges intérieures de 0,5 cm, et être positionné à 8 cm et 4,5 cm du coin supérieur gauche de la page. Enfin, elle doit être marquée par des bords en pointillés bleus et avoir des coins arrondis.

blank

 

Pour ce faire, voici le code à écrire.

// #1 create the the text box
$textBox:=WP New text box(WParea; 1)

// #2 define some text box attributes
WP SET ATTRIBUTES($textBox; wk id; "AddressArea")
// define anchoring and position
WP SET ATTRIBUTES($textBox; wk anchor origin; wk paper box)
WP SET ATTRIBUTES($textBox; wk anchor horizontal align; wk left; wk vertical align; wk top)
WP SET ATTRIBUTES($textBox; wk anchor horizontal offset; "8cm"; wk anchor vertical offset; "4.5cm")

// define size and style
WP SET ATTRIBUTES($textBox; wk padding; "0.5cm")  // inside margins
WP SET ATTRIBUTES($textBox; wk width; "10cm"; wk height; "3.5cm")
WP SET ATTRIBUTES($textBox; wk border style; wk dashed; wk border color; "Blue"; wk border width; "1pt"; wk border radius; "10pt")
WP SET ATTRIBUTES($textBox; wk vertical align; wk center)

// #3: insert some formulas inside the text box 
WP INSERT FORMULA($textBox; Formula(This.data.fullName); wk append)
WP INSERT BREAK($textBox; wk paragraph break; wk append)
WP INSERT FORMULA($textBox; Formula(This.data.fullAddress); wk append)

// #4: Set style to the content of the text box
WP SET ATTRIBUTES($textBox; wk font; "Arial"; wk font bold; wk true; wk font size; "18pt")

Vous n’avez pas envie de programmer aujourd’hui ? Pas de problème, les actions standards sont là pour vous !

Actions standard (associées aux menus ou aux boutons)

« insertTextBox » est la nouvelle action standard pour créer des boîtes de texte, mais le préfixe textbox/ peut également être utilisé pour définir des paramètres comme les marges, les bordures, le rembourrage, l’arrière-plan, etc.

Voici quelques exemples :

  • textBox/marginLeft
  • textBox/paddingTop
  • textBox/borders
  • textBox/remove

 

Ou vous pouvez créer votre propre menu…

$menu:=Create menu
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderStyle")

APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderColor")

APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderWidth")

APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/backgroundColor")

$value:=Dynamic pop up menu($menu)
// no need to check the $value, all items are based on standard actions!
// just don't forget to release the menu to avoid memory leaks!
RELEASE MENU($menu)

Et voici le menu créé :

blank

EXPORTER VERS HtML, PDF, SVG !

Bien sûr, la plupart des formats d’exportation prennent en compte ces zones de texte. Dans le cas d’un export HTML, rappelez simplement que les ancrages doivent être basés sur le mode Embedded, et non sur le mode Page!

Conclusion

Cette nouvelle fonctionnalité est une avancée significative de 4D Write Pro. Elle permet la création de documents plus élaborés tout en restant très simple d’utilisation.

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.