Quando un documento di 4D Write Pro è in modalità di modifica, spesso è utile sapere se è stato effettivamente modificato dall’utente finale. In base a questa informazione, è possibile regolare le azioni o le interfacce per renderle più facili da usare.
A partire da 4D v19 R7, tutto questo è più facile che mai.
DATABASE DEMO
DOCUMENTI MODIFICATI
Un documento può essere modificato in diversi modi. O:
- dalla programmazione, utilizzando uno dei numerosi comandi, oppure
- dall’utente finale stesso.
In genere, un documento modificato deve essere salvato, sia in termini di contenuto (aggiunta, modifica, eliminazione di testo, tabelle o immagini…) che di aspetto (stile, margini, orientamento, colori…).
In ogni caso, bisogna essere in grado di offrire la possibilità di salvarlo tramite un pulsante o un menu e, nel caso estremo in cui l’utente voglia andarsene senza averlo salvato, offrirgli un’opzione di recupero (“vuoi salvare…?”).
Questo si può fare molto rapidamente testando il nuovo documento. attributo modified.
Il principio di questo attributo è semplice. Quando il documento viene creato o caricato, il suo valore è impostato su False. Poi, non appena il documento viene modificato (dalla programmazione o dall’utente), il valore cambia automaticamente in True.
Diventa così semplice prendere le decisioni giuste 🙂
- Aggiornare l’interfaccia
OBJECT SET ENABLED(*; "btnSave";WParea.modified) // true or false
- Confermare il salvataggio
If (Form event code=On Unload)
If (WParea.modified)
CONFIRM("Would you like to save the document ?"; "Save"; "Discard")
If (ok=1)
// do what you have to do
End if
End if
End if
Che si tratti di uno spazio cancellato o di una virgola aggiunta, di un singolo carattere grassettato o corsivo, il documentomodified sarà impostato su True. Anche in caso di annullamento, il documentomodified rimarrà True.
È tuttavia possibile forzare il valore di questo attributo tramite la programmazione, ad esempio una volta che il documento è stato salvato.
If (WParea.modified)
// save document
// (…)
// then set the status to false
WParea.modified:=False // will stay false until next document modification
End if
… O NON MODIFICATO?
Alcune azioni possono modificare solo l’aspetto dei documenti senza modificarne effettivamente il contenuto; si tratta delle proprietà di visualizzazione.
È possibile modificare il fattore di zoom, visualizzare o meno i righelli orizzontali e verticali, scegliere di mostrare i caratteri invisibili, le formule, le intestazioni o i piè di pagina, ecc. Nulla di tutto ciò verrà salvato. Ciò significa che il documento non viene modificato e, pertanto, l’attributo modified rimane False. Si veda la documentazione su questo nuovo attributo.
Conclusione
Questa nuova e semplice proprietà consente di rilevare rapidamente le modifiche all’interno di un documento e di agire di conseguenza. Sia in modo trasparente (effettuando salvataggi automatici quando un documento rimane aperto, ad esempio) sia modificando l’interfaccia in modo intelligente in base alle circostanze!