Gestione programmatica di intestazioni e piè di pagina in 4D Write Pro

Tradotto automaticamente da Deepl

Abbiamo ricevuto diverse richieste da parte dei clienti di poter utilizzare il modello4D Write Pro con intestazioni e piè di pagina per creare altri documenti basati su questo modello. Vi abbiamo ascoltato e questo è disponibile in 4D v16 R5.

Per soddisfare questa esigenza è stata aggiunta una nuova serie di comandi a 4D Write Pro. Alcuni di questi comandi possono essere utilizzati per ottenere i riferimenti di intestazioni, corpo e piè di pagina all’interno dei documenti. Altri sono utili per ottenere un riferimento al riquadro (intestazione, piè di pagina, ecc.) in cui si trova attualmente il cursore, oppure per impostare il cursore in un riquadro specifico.

Esempio di database

Ottenere un riferimento alle intestazioni, ai piè di pagina o al corpo del documento

Nuovi comandi 4D – WP Get header, WP Get body e WP Get footer – sono stati aggiunti per consentire agli sviluppatori di ottenere un riferimento a qualsiasi intestazione o piè di pagina del documento o di una sezione specifica.

Questi riferimenti possono essere utilizzati per ottenere intervalli associati, creare documenti, ecc. L’obiettivo finale è copiare il contenuto di qualsiasi cornice (interamente o parzialmente) e incollarlo all’interno di qualsiasi altra cornice dello stesso documento o di qualsiasi altro documento nuovo o esistente.

Esempio di codice

// Get the header from a template and put it in the header of the main document
$source:=WP Get header(mytemplate;1) // first section
$rangeSource :=WP Get range($source;wk start text;wk end text)
$tempoc :=WP New($rangeSource)

$target :=WP Get header(myDocument;1) // first section
$rangeTarget :=WP Get range($target;wk start text;wk end text)
WP INSERT DOCUMENT ($rangeTarget;$tempoc;wk replace)

Spostare il cursore su un fotogramma specifico

Quando si creano documenti elaborati tramite la programmazione, è possibile che si vogliano inserire successivamente alcune informazioni prima nell’intestazione, poi nel piè di pagina e infine tornare indietro per riempire il corpo del documento. Ciò significa che è necessario disporre di un mezzo per navigare nei diversi riquadri del documento.

Il comando WP Get frame viene utilizzato per ottenere il riferimento al riquadro in cui si trova attualmente il cursore: intestazione, prima intestazione, corpo, primo piè di pagina, ecc. Il comando WP SET FRAME svolge il compito opposto. Posiziona il cursore all’interno di un riquadro specifico, purché questo riquadro esista nel documento.

Esempi di codice

Supponiamo di voler spostare il cursore sull’intestazione principale:

WP SET FRAME(*; "WParea";wk current section default header)

Se si vuole essere sicuri che l’utente abbia posizionato il cursore in un’intestazione o in un piè di pagina:

$frame:=WP Get frame(*; "WParea")
If ($frame=wk body)
ALERT ("Si prega di selezionare un piè di pagina o un'intestazione")
End if

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.