Je rame avec les range de write pro

Bonjour,

J’ai du mal avec les range et les attributs de Write pro, à moins qu’il y ait un bug ?

J’ai mis une base de test v17 qui construit :

  • Une adresse sur 5 lignes
  • Un numéro de facture sous l’adresse

http://forums.4d.com/4DBB_Main/x_User/3906/files/26509745.zip

Avec les attributs je voudrais pouvoir tester ces combinaisons :

1 — encadrer le numéro de facture seul (pas chaque ligne de l’adresse)
2 — encadrer le bloc adresse complet seulement
3 — encadrer le nom de la société
4 — mettre une marge basse sous le bloc de l’adresse (pas entre chaque ligne)
5 — mettre une marge haute en haut du bloc l’adresse (pas entre chaque ligne)
6 — mettre une marge haute sur le numéro de facture (que lui)

Aujourd’hui quelques problèmes que je rencontre :

  • En bas de mon doc je mets un paragraphe avec un cadre : tous les éléments du doc se retrouvent encadrés
  • Je veux mettre une marge en haut du numéro de facture et ce sont toutes les lignes du doc qui sont affectés (base démo)
  • J’ai deux blocs de texte (lignes de factures et totaux) chacun avec son jeu de positions de tabulations dans la règle :
    • Afficher les lignes et les totaux séparément n’est pas un problème
    • Afficher les lignes et ensuite les totaux sous les lignes de facture : les caractéristiques des tabulations des totaux sont reportées sur les lignes du dessus.

Des questions :

bonjour,

Pour le bloc adresse ce qu’il faut c’est des “line break”, pas des “paragraph break” (voir WP INSERT BREAK)
(donc éviter les \r qui sont peu lisibles dans le code)

Ensuite ça devrait aller mieux !

(attention à ne pas confondre marges extérieures (margins) et intérieures (padding) aussi)

Une maquette du résultat souhaité peut-être ?

(un dessin vaut souvent mieux qu’une longue explication)

Roland

: Roland LANNUZEL

(un dessin vaut souvent mieux qu’une longue explication)

here it is:
[]26510179;“Your comment here…”[/]

Bon, voila un bout de code pour obtenir ça :

[]26510676;“Your comment here…”[/]

C’est du “gros doigts” et il y a d’autres façons de faire, certainement plus simple (avec des templates ou des bookmarks par exemple) mais ça c’est du “brut de fonderie”
Il y a des exemples de marges, d’encadrements et de padding…

<code 4D>
[WR_DOCS]wpDocument:=WP New
$doc:=[WR_DOCS]wpDocument

// BLOC 1 --------------------------------------------------------
$Range:=WP Create range($doc;wk start text;wk end text)

WP SET TEXT($Range;“Société TRUK”;wk append;wk include in range)
WP INSERT BREAK($Range;wk line break;wk append;wk include in range)
WP SET TEXT($Range;“rue du temps qui passe”;wk append;wk include in range)
WP INSERT BREAK($Range;wk line break;wk append;wk include in range)
WP SET TEXT($Range;“35000 RENNES”;wk append;wk include in range)

WP SET ATTRIBUTES($Range;wk border style;wk solid)
WP SET ATTRIBUTES($Range;wk border color;“red”)
WP SET ATTRIBUTES($Range;wk margin right;“10cm”)

WP INSERT BREAK($Range;wk paragraph break;wk append;wk include in range)
$Range:=WP Create range($doc;wk end text;wk end text)

// BLOC 2 --------------------------------------------------------
WP SET TEXT($Range;“St Machin les bains, le 15 Aout 2000”;wk append;wk include in range)
WP RESET ATTRIBUTES($Range;wk border style)
WP SET ATTRIBUTES($Range;wk margin top;“2cm”)
WP SET ATTRIBUTES($Range;wk margin bottom;“2cm”)
WP SET ATTRIBUTES($Range;wk margin right;“6cm”)

WP INSERT BREAK($Range;wk paragraph break;wk append;wk include in range)
$Range:=WP Create range($doc;wk end text;wk end text)

// BLOC 3 --------------------------------------------------------
WP SET TEXT($Range;“FACTURE N° 789654123”;wk append;wk include in range)

WP RESET ATTRIBUTES($Range;wk margin)
WP SET ATTRIBUTES($Range;wk border style;wk dotted)
WP SET ATTRIBUTES($Range;wk border color;“Blue”)
WP SET ATTRIBUTES($Range;wk padding;“1cm”)
WP SET ATTRIBUTES($Range;wk margin right;“8cm”)

WP INSERT BREAK($Range;wk paragraph break;wk append;wk include in range)
$Range:=WP Create range($doc;wk end text;wk end text)
WP RESET ATTRIBUTES($Range;wk margin;wk padding;wk border style)

// SUITE --------------------------------------------------------
WP SET ATTRIBUTES($Range;wk margin top;“2cm”)
WP SET TEXT($Range;“La suite ici…”;wk append;wk include in range)

</code 4D>

Et pour répondre au tout premier post : “non, il n’y a pas de bug…” (pas connus en tout cas :slight_smile:

: Roland LANNUZEL

Et pour répondre au tout premier post : “non, il n’y a pas de bug…”
(pas connus en tout casSmile

Suite à un appel au support ce matin

Merci je vais potasser ça.

A présent ça marche beaucoup mieux et beaucoup plus vite !