È possibile che i moduli debbano essere modificati in base alle esigenze dei clienti o degli utenti. Ad esempio, il colore nero potrebbe essere perfetto per un utente, ma non altrettanto per un altro (che vede il blu come la massima perfezione). Fortunatamente, i moduli dinamici (introdotti con 4D v16 R6) sono qui per aiutarvi a gestire le preferenze dei vostri utenti. Ma riscrivere un modulo esistente per trasformarlo in un modulo dinamico potrebbe essere un compito difficile e non è sempre facile iniziare con una pagina vuota. L’ideale sarebbe avere una bozza che possa essere modificata e migliorata. Con 4D v17 R3, è ora possibile convertire facilmente un modulo 4D classico (memorizzato in un file .4DB) in un modulo dinamico.
A questo scopo, è disponibile un nuovo comando. Passando il nome del modulo, si riceverà un oggetto che lo descrive.
$oForm:=FORM Convert to dynamic("myProjectForm")
È quindi possibile apportare modifiche al modulo in modo rapido e semplice. Ad esempio, è possibile cambiare il colore del carattere per tutti gli oggetti con l’etichetta “Annulla” nel modulo tramite codice:
// iterate on all objects of first page
(
$pageObjects:=$oForm.pages[1].objects
For each ( ; ) ( ( [ ]. )="@Annulla@") [ ] :="rosso" $object$pageObjects
IfString$pageObjects$objecttext // all widgets with a "Cancel" caption text
$pageObjects$objectstroke // change it to red color
End if
End for each
DIALOG$oForm)
In un altro esempio, è possibile salvare il modulo dinamico in un file sul computer dell’utente e apportare modifiche personalizzate solo per questo specifico utente.
Il colore dei caratteri era solo un semplice esempio. Ma non è tutto… font, dimensione del carattere, inserimento, formato, posizione, ridimensionamento, opzione di ridimensionamento, metodo dell’oggetto assegnato o eventi del modulo e molto altro ancora. È possibile riprogettare completamente un modulo al volo. Le possibilità sono infinite!