Keisuke Miyako presenta i tag 4D al 4D Summit 2016

Tradotto automaticamente da Deepl

Keisuke Miyako, Technical Service Manager di 4D Japan, presenta a 4D Summit Paris 2016 come la funzione dei tag di trasformazione 4D sia stata potenziata con 4D v16. Se non utilizzate ancora i tag 4D, dopo aver visto questo video sarete sicuramente entusiasti di iniziare a usarli!

Oltre all’introduzione dei miglioramenti apportati in 4D v16 che rendono i tag 4D così potenti, Keisuke presenta due esempi concreti di utilizzo dei tag 4D: esportare i dati in un foglio di calcolo Excel e creare grafici gradevoli utilizzando una libreria JavaScript da dati serviti in formato JSON.

Principio di templatura

I tag 4D consentono di prendere notevoli scorciatoie in qualsiasi nuovo sviluppo che coinvolga XML, HTML o qualsiasi tipo di attività di elaborazione dati basata su modelli. Basta usare PROCESS 4D TAGS per generare il file di testo più adatto alle vostre esigenze.

Invece di scrivere codice complesso per costruire proceduralmente da zero documenti strutturali basati su dati 4D, si può prendere un documento di esempio già pronto e ben formattato, aggiungere blocchi di codice 4D usando i vari tag 4D a disposizione e usarlo come modello.

blank

Cosa c’è di nuovo in 4D v16?

Forse conoscete già i tag 4D esistenti: 4DTEXT, 4DLOOP, 4DIF, 4DHTML… In realtà, 4D v16 offre nuove funzionalità e nuovi tag che aprono ampie possibilità:

  • il nuovo tag 4DCODE
  • la nuova sintassi $ che offre molta più flessibilità rispetto alla solita sintassi basata sulla sintassi dei commenti HTML <!– >
  • e la possibilità di eseguire il debug del codice all’interno del template!

Il nuovo tag 4DCODE

Il tag4DCODE è abbastanza simile al tag 4DEVAL. Ma a differenza di 4DEVAL, che valuta una singola espressione 4D, 4DCODE consente di inserire codice 4D su più righe. Pertanto, è sufficiente copiare un metodo o un blocco di codice esistente e incollarlo all’interno del tag 4DCODE nel documento del modello.

<!--#4DCODE
ALL RECORDS:C47([Product:1])
ORDER BY:C49([Product:1];[Product:1]name:2)
ARRAY TEXT:C222($paramNames;0)
WEB GET VARIABLE:683($paramNomi)
C_LONG INT:C283($f)
$f:=Trova in array:C230($paramNomi; "anno")
If($f#-1)
ALL RECORDS:C47([Inventario:2])
End if
-->

Potete infatti utilizzare tutti i tag 4DCODE che volete nei vostri modelli. Potete interrogare il database, usare array, puntatori, oggetti… In pratica, potete fare tutto ciò che potete fare nei vostri metodi 4D.

4DCODE non solo consente di includere codice 4D a mano libera, ma dà anche la possibilità di tracciare ed eseguire il debug del codice. Basta usare il comando TRACE nel modello dei tag 4D e il debugger verrà aperto quando i tag verranno elaborati!

Utilizzare i numeri di comando

Nell’esempio precedente, avrete sicuramente notato i suffissi :Cxx, aggiunti alla fine di ogni comando. Il numero nel suffisso è in realtà il numero del comando. Ad esempio, 47 è il numero di comando per il comando ALL RECORDS.

Questo è facoltativo, ma è un modo a prova di futuro per scrivere codice 4D in testo semplice. Evita di incontrare problemi dopo che un comando 4D è stato rinominato, ma permette anche di usare i nomi dei comandi 4D francesi nel tag 4DCODE e di eseguirlo in un ambiente di sistema inglese. Si può anche andare oltre, evitando completamente l’intero nome del comando e usando solo :Cxx, tutto qui!

Si noti inoltre che i suffissi :Cxx possono essere generati automaticamente utilizzando l’opzione Code with tokens del comando METHOD GET CODE ovviamente non è necessario farlo manualmente!

Nuova sintassi $ per una maggiore flessibilità

Invece di usare i commenti HTML, è ora possibile usare il simbolo “$” prima dei tag 4DEVAL, 4DTEXT e 4DHTML e passare tra le parentesi qualsiasi espressione 4D da valutare. Ad esempio:

$4DTEXT($fontName)

Questa nuova sintassi consente di inserire i tag 4D all’interno di un attributo XML, ad esempio, dove non è consentito utilizzare i segni “<” e “>”. Ciò offre allo sviluppatore una maggiore flessibilità per quanto riguarda le modalità e i luoghi di utilizzo dei tag 4D.

Volete saperne di più? Per ulteriori informazioni su questa nuova sintassi, consultare questo post.