Secondo la classifica dei 10 migliori post del 2019, il post Formula: Più potenza dietro la semplicità si è piazzato piuttosto in alto… tra i primi cinque. Sembra che Formula abbia davvero catturato la vostra attenzione, quindi ecco un altro consiglio che Vincent de Lachaux (sviluppatore ed esperto di 4D) mi ha mostrato e che condivido con voi!
Utilizzare la formula in una finestra di dialogo generica
Il comando FORM consente di creare facilmente una finestra di dialogo di avviso generica. È sufficiente indirizzare la finestra di dialogo a diversi testi da visualizzare in un oggetto:
$object:=New Object(\
"mainText"; "Sei sicuro di voler svuotare il cestino?";\
"additionalText"; "Non puoi annullare questa azione.";\
"okText"; "Svuota cestino";\
"cancelText"; "Annulla"\
)
È possibile arricchire ulteriormente questo oggetto con una formula per le azioni dietro i pulsanti OK e Annulla. La formula può richiamare un comando 4D o un metodo di progetto, con o senza parametri.
$object.okAction:=Formula(myMethod("Cestino"; "ok"))
$object .cancelAction:=Formula(myMethod("Cestino"; "annulla"))
Quindi, utilizzare il codice generico nei pulsanti:
Form.cancelAction.call()
// Oppure
Form .
okAction.call()
Ecco fatto! Ora abbiamo una finestra di dialogo di avviso completamente generica.
Aggiungere formule nell’oggetto Storage
Se nel codice sono presenti funzioni di verifica o di calcolo, è possibile aggiungere formule all’oggetto Storage.
Ecco un esempio:
// Define common functions
If Use ( . = ) ( ) . := ( . ) . . := (....) . . := (....) StorageƒNull
UseStorage
StorageƒNew shared object
Storageƒ
// Register the function in Storage
StorageƒisValidFormula
StorageƒcomputeXFormula
End use
End use
End if
Utilizzando questa funzione, non si modifica il contenuto della memoria, quindi non è necessario Use/End Use.
Creare formule quando si carica un componente
Per utilizzare i metodi di un componente nel database host, occorre prima condividere il metodo. Tuttavia, quando si aggiungono metodi, può essere facile dimenticarsene. Ecco un’idea per condividere le formule dei componenti!
Nel vostro componente, create un metodo che restituisca un oggetto al database host. Questo oggetto contiene le formule che richiamano i metodi del componente. Risultato? Un solo metodo da condividere. Bello, vero?
Questo è tutto per questo post. Ora tocca a voi condividere questo suggerimento con qualcun altro!