4D Write Pro – Maggiore controllo sul layout della pagina

Tradotto automaticamente da Deepl

4D Write Pro consente di creare facilmente documenti complessi. Gli attributi di visualizzazione e di layout possono essere applicati a diverse parti dei documenti, siano esse testo, immagini o tabelle. A proposito di tabelle, esse beneficiano di una nuova proprietà per definire meglio il layout! Vediamo cosa ci riserva 4D v19 R4.

HDI Interruzioni all’interno delle righe della tabella

Tabelle piccole e grandi

Le tabelle possono contenere molte righe e lo spazio che occupano in un documento può essere significativo.
Quando non c’è abbastanza spazio su una pagina, esiste già un attributo che definisce se una tabella può essere automaticamente divisa in due parti o preceduta da un’interruzione di pagina per essere inserita nella pagina successiva.

Fino a 4D V19R4, quandole tabelle vengono divise in due parti, la separazione avviene sempre tra due righe. Di solito questo è sufficiente perché le righe di una tabella contengono quasi sempre solo numeri o etichette. D’altra parte, quando le celle hanno un testo più lungo (o anche diversi paragrafi), può essere interessante permettere di dividerle in due (e quindi di dividere anche le righe della tabella) per riempire lo spazio disponibile.

Nuovi attributi

wk interruzione di pagina all’interno della tabella consente di dividere una tabella in due (o più) parti; la separazione avviene tra due righe della tabella.

Anchewk interruzione di pagina all’interno di una riga consente di dividere una tabella, ma questa volta all’interno di righe. Si noti che questa opzione dipende dalla precedente. Se una tabella non può essere divisa, non possono esserlo nemmeno le sue righe.

Questo attributo può essere applicato a un intervallo di righe, a un elemento di riga o a qualsiasi target. In quest’ultimo caso, ricordate che alla fine sono gli attributi delle righe a essere influenzati in modo trasparente.

wk interruzione di pagina all’interno del paragrafo può essere applicato ai paragrafi, ma anche a qualsiasi target, come il documento stesso, una particolare sezione, un intervallo di testo, ecc. In tutti i casi, l’attributo verrà assegnato ai paragrafi all’interno del target. Si tratta semplicemente di una caratteristica di “qualità della vita”.

Nota: l’attributo esistente wk interruzione di pagina all’interno, che si applicava sia ai paragrafi che alle tabelle, è ormai obsoleto (ma continuerà a funzionare per compatibilità). È vantaggiosamente sostituito dai nuovi attributi più espliciti descritti sopra.

Cosa cambierà?

Per i nuovi documenti, questa nuova opzione è abilitata per impostazione predefinita. In effetti, non cambierà nulla se le righe della tabella hanno solo una riga di testo. Se invece le celle contengono uno o più paragrafi, queste righe verranno divise automaticamente.

Per i documenti creati con una versione precedente, per garantirne l’identica impaginazione, questa opzione verrà disattivata in tutte le righe di tutte le tabelle all’apertura dei documenti.

Esempi di codice

Esempio 1: Consentire le interruzioni di pagina all’interno di qualsiasi riga di una tabella

WP SET ATTRIBUTES($table; wk page break inside row; wk auto)

Esempio2: Consentire l’interruzione di pagina in qualsiasi riga di una tabella, tranne la prima e l’ultima.

Ci sono due modi per programmare questa funzione a seconda dei propri gusti!

#1 Utilizzare intervalli di righe

// all rows can be split
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
// except first
WP SET ATTRIBUTES (WP Table get rows($table; 1; 1); wk page break inside row; wk avoid)
// and last
WP SET ATTRIBUTES (WP Table get rows($table; $table.rowCount; 1); wk page break inside row; wk avoid)

#2 Utilizzare elementi di riga

// all rows can be split
WP SET ATTRIBUTES
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
// get row elements
$colRows:=WP Get elements($table; wk type table row)
// except first
(
$colRows[0]; wk page break inside row; wk avoid)
// and last
WP SET ATTRIBUTES ($colRows[$colRows.length-1]; wk page break inside row; wk avoid)

Interfaccia

L’interfaccia fornita è stata naturalmente modificata per tenere conto di questi nuovi attributi nel menu delle tabelle e delle righe.

blank

blank

Conclusione

Sono stati creati nuovi attributi per una maggiore chiarezza e ne è stato aggiunto uno per una maggiore flessibilità nella presentazione. Tocca a voi creare bellissimi layout e documenti!

L’elenco di tutti gli attributi e delle costanti è disponibile nella documentazione.

Roland Lannuzel
- Product Owner ed esperto di 4D - Dopo aver studiato elettronica, Roland è passato all'IT industriale come sviluppatore e consulente, realizzando soluzioni per i clienti con una varietà di database e tecnologie. Alla fine degli anni '80 si è innamorato di 4D e lo ha utilizzato per scrivere applicazioni aziendali che includono sistemi di contabilità, fatturazione e posta elettronica. Entrato a far parte dell'azienda nel 1997, Roland ha dato il suo prezioso contributo progettando specifiche, strumenti di test e demo, oltre a formare e parlare alla comunità 4D in occasione di numerose conferenze. Continua a plasmare attivamente il futuro di 4D definendo nuove funzionalità e strumenti di sviluppo di database.