I comandi di 4D Write Pro sono stati nuovamente ottimizzati!

Tradotto automaticamente da Deepl

Ogni volta che viene rilasciata una nuova versione, teniamo conto del feedback che riceviamo dai nostri clienti sull’uso generale di 4D Write Pro e dei suoi comandi. Pur rimanendo compatibili al 100%, alcuni comandi e funzioni del linguaggio si stanno evolvendo!

Alcuni comandi, la cui sintassi è stata migliorata in 4D 20 R8, consentono ora l’uso di parametri moderni come oggetti o collezioni. Altri sono diventati funzioni, il che ne facilita l’uso. Infine, sono state create alcune nuove funzioni. Tutto questo renderà il vostro codice più semplice, più generico e più facile da mantenere!

ATTRIBUTI WP GET/SET: Tutti gli attributi in un unico oggetto!

Uno dei comandi più popolari è WP SET ATTRIBUTES, perché può essere usato per tutti i tipi di obiettivi, da un singolo carattere all’intero documento. Questo comando può ora ricevere un oggetto come parametro, anziché coppie attributo-valore.

Esempio di codice

$attributes:={color: "red"; fontBold: 0; fontItalic: 1; fontSize: "16pt"}

WP SET ATTRIBUTES($range1; $attributes)
WP SET ATTRIBUTES($range2; $attributes)
WP SET ATTRIBUTES($range3; $attributes)

Allo stesso modo, è possibile ricevere in un oggetto tutti o parte degli attributi di qualsiasi intervallo o elemento. Questo è molto utile se si desidera applicare gli stessi attributi a un’altra destinazione… Se si passa un solo parametro, l’oggetto restituito conterrà tutti gli attributi, ma è possibile limitarlo usando una collezione!

$attributes:=WP Get attributes($range; ["color"; "fontItalic"])

Infine, il comando WP RESET ATTRIBUTES accetta ora un insieme invece di parametri multipli (naturalmente la sintassi precedente è ancora valida)

$attributes:=["color"; "fontBold"; "fontItalic"; "fontSize"]

WP RESET ATTRIBUTES($range1; $attributes)
WP RESET ATTRIBUTES($range2; $attributes)
WP RESET ATTRIBUTES($range3; $attributes)

WP TABLE APPEND ROW: formule, collezioni e ritorni di funzioni!

I parametri di questo comando possono ora essere di tipo formula o una formula denominata (si ricorda che una formula denominata è un oggetto contenente sia la formula che il nome della formula… si veda questo BLOG).

Quindi, i parametri possono essere passati al comando come una collezione e, soprattutto, il comando ora restituisce un elemento di riga!

$row:=WP Table append row($table; "Reference"; "Date"; "Time"; "rnd 1"; "rdn 2")
WP SET ATTRIBUTES($row; wk background color; "lightgrey")

$colItems:=[]
$colItems.push("KX-825")
$colItems.push(Formula(Current date))
$colItems.push(Formula(String(Current time; HH MM SS)))
$colItems.push(Formula(Random))
$colItems.push({name: "RND NUMBER"; formula: Formula(Random)})

$row:=WP Table append row($table; $colItems)

WP INSERISCI IMMAGINE

Quando si inserisce un elemento in un documento, è generalmente utile avere accesso immediato a questo elemento. Il comando WP INSERT PICTURE diventa quindi una funzione WP Insert picture e restituisce un elemento immagine. Ad esempio, si può desiderare di inquadrare un’immagine subito dopo averla inserita. Inoltre, questo comando può ora accettare un 4D.File come argomento!

$pictureFile:=File(Folder(fk resources folder).path+"bullet.png"; fk posix path)
$picture:=WP Insert picture(WParea; $pictureFile; wk append)

$attributes:={}
$attributes[wk margin]:="8pt"
$attributes[wk padding]:="5pt"
$attributes[wk border width]:="2pt"
$attributes[wk border style]:=wk solid
$attributes[wk border color]:="navy"
WP SET ATTRIBUTES($picture; $attributes)

DOCUMENTI e IMMAGINI

Anche i comandi WP IMPORT DOCUMENT, WP EXPORT DOCUMENT, WP INSERT PICTURE e WP Add picture sono stati modernizzati e ora accettano gli argomenti 4D.File oltre ai tipi di argomenti consueti.

$documentFile:=File("/RESOURCES/reference.4wp")
WParea:=WP Import document($documentFile)
$documentFile:=File("/DATA/CopyOfReference.4wp")
WP EXPORT DOCUMENT(WParea; $documentFile)
$pictureFile:=File("/RESOURCES/bullet.png")
$picture3:=WP Insert picture(WParea; $pictureFile; wk append)
$pictureFile:=File("/RESOURCES/bullet.png")
$picture:=WP Add picture(WParea; $pictureFile)

“INSERIRE IL CORPO DEL DOCUMENTO” INVECE DI “INSERIRE IL DOCUMENTO”.

Per maggiore chiarezza, il comando WP INSERT DOCUMENT è stato rinominato WP Insert document body, perché è proprio questa la sua funzione.

Quando viene chiamato, viene inserito il corpo del documento. Intestazioni, piè di pagina, immagini ancorate e caselle di testo vengono ignorate. Unica eccezione: vengono importati anche i fogli di stile!

Come si può vedere nell’esempio seguente, questo comando ora restituisce un intervallo corrispondente al corpo importato!

$file:=File("/RESOURCES/Main.4wp")
$main:=WP Import document($file)

$pictureFile:=File("/RESOURCES/bullet.png")
$sub:=WP Import document($pictureFile)

$range:=WP Insert document body($main; $sub; wk append)

ULTERIORI INFORMAZIONI SULL’INTERVALLO

Alcuni comandi erano silenziosi e non restituivano… nulla, mentre spesso un intervallo sarebbe stato molto utile. I comandi seguenti fanno proprio questo e restituiscono tutti intervalli di testo!

  • WP INSERT FORMULA
  • WP INSERT BREAK
  • WP INSERT DOCUMENT BODY (in precedenza WP INSERT DOCUMENT)
$range:=WP Insert formula(WParea; Formula(Current date); wk append)
WP SET ATTRIBUTES($range; {color: "red"; fontItalic: 1; fontBold: 0})

BENVENUTO ALLE NUOVE FUNZIONI

Sezioni

Le sezioni hanno nomi e indici (questi sono attributi), ma accedere a queste informazioni non era facile.

Ora è un gioco da ragazzi con le nuove funzioni This.sectionIndex e This.sectionName, che possono essere inserite come formule direttamente nei vostri documenti!

Indici delle pagine

Se necessario, è ora possibile accedere all’indice delle pagine con la funzione This.pageIndex.

Ecco una rapida spiegazione: a differenza della funzione This.pageNumber, il cui valore può variare (può essere impostato o reimpostato per ogni sezione), l’indice di pagina parte sempre da 1 e dipende esclusivamente dalla paginazione.

Ad esempio, un documento può contenere tre sezioni i cui numeri di pagina iniziano sistematicamente da 1. La parte del preambolo va da 1 a 30, la parte principale da 1 a 200 e la parte dell’appendice da 1 a 8. In questo caso, l’indice di pagina inizierà a partire da 1. In questo caso, l’indice di pagina andrà da 1 a 238.

Conclusione

Non c’è dubbio che i comandi semplificati renderanno la vita più facile agli sviluppatori di 4D Write Pro e semplificheranno la revisione e la manutenzione del codice. Saremo lieti di ricevere il vostro feedback sul forum!

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.