Ottenere le coordinate in un documento 4D Write Pro

Tradotto automaticamente da Deepl

A questo punto si dovrebbe avere familiarità con il comando WP Get position . Per lo meno ne avete letto in questo post. Introdotto con la versione 17, consente di ottenere informazioni sulla posizione degli elementi all’interno dei documenti.

4D v17 R4 rende le cose più piccanti… ora restituisce anche le coordinate!

nuovi attributi

Il comando WP Get position restituisce due nuovi attributi: bounds e rangeHeight.

L’attributo bounds è un oggetto che descrive il rettangolo che circonda un intervallo, in base al suo tipo. Il tipo dell’intervallo passato può essere “tipo predefinito” (caratteri), “tipo paragrafo”, “tipo tabella” o “tipo immagine”, come mostrato di seguito:

L’attributo bounds ha dei propri attributi: left, top, right e bottom. Sono numerici ed espressi nell’unità di misura del layout corrente (mm, cm, in, pt o px).

Esempio

Questa funzione consente di impostare facilmente design di pagina complessi. Ad esempio, quando si utilizzano i modelli può essere necessario confrontare le dimensioni di un blocco da inserire in base allo spazio disponibile alla fine della pagina corrente. Se lo spazio non è sufficiente( ad esempio “5 cm”), si può decidere di inserire prima un’interruzione di pagina. È semplice e facile. Ecco come procedere:

$range:=WP Get selection(WParea)
WP SET ATTRIBUTES (WParea;wk layout unit;wk unit cm) // change the unit to "cm"
$position :=WP Get position($range ;wk 4D Write Pro layout) // call the WP Get position function
$heightInCm:=$position.rangeHeight // read the height in "cm"
If ($heightInCm<5)
// insert a break…
End if

Ecco il contenuto dettagliato dell’oggetto restituito

{
"section": 1,
"page": 1,
"column": 1,
"line": 11,
"position": 49,
"bounds":    // New!
 {
  "left": 1.52,
  "top": 10.65,
  "right": 18.66,
  "bottom": 12.56,
 }
  rangeHeight: 1.9  // New!
}

Guardate la funzione in azione con questo database dimostrativo.

4D Write Pro: Ottenere le coordinate di un elemento

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.