Questo documento è una raccolta di tutte le nuove funzionalità disponibili in 4D v19. Ogni funzione è accompagnata da un post sul blog che ne illustra gli esempi concreti. È possibile accedere a questi post del blog facendo clic sul titolo della funzione.
Inoltre, le sezioni con il tag sono relative a tutte le nuove funzionalità rilasciate tra 4D v18 R6 e 4D v19.
Questo documento è suddiviso in sette sezioni:
In seguito all’annuncio rivoluzionario di Apple(i nuovi Mac Silicon), abbiamo rilasciato 4D v19 con sei mesi di anticipo rispetto al previsto, per offrirvi una versione nativa Silicon di 4D il prima possibile. Oltre ai notevoli miglioramenti delle prestazioni, ecco le novità:
Poiché i Mac Silicon non utilizzano più un’architettura di processore x86 come i Mac e i PC Intel, non possono eseguire lo stesso codice compilato. Per questo motivo, abbiamo dovuto migliorare il nostro compilatore con una compilazione specifica per Silicon (disponibile solo in modalità progetto). Ora potrete compilare le vostre applicazioni per le architetture Intel (Windows e Intel Mac), Silicon (Silicon Mac) o entrambe.
Plugin
Anche i plugin subiranno un leggero impatto. Per far sì che un plugin funzioni sia su Mac Intel che su Mac Silicon, sarà necessario compilarlo come binario universale. Se utilizzate plugin di terze parti, assicuratevi di scaricare le versioni binarie native per Silicon o universali.
Avete bisogno di più tempo?
Naturalmente, 4D v19 continuerà a funzionare con Rosetta. Se avete bisogno di tempo per far funzionare le vostre applicazioni in modo nativo, è sempre possibile eseguirle su Rosetta.
Caratteristiche della modalità progetto
Iprogetti sono un tipo di architettura che rappresenta un enorme passo avanti per le applicazioni 4D. Aggiungono la possibilità di sfruttare gli strumenti di controllo dei sorgenti, la programmazione collaborativa, la condivisione del codice, la modularità e molto altro ancora. Al momento della stesura di questo manuale, grazie all’architettura di progetto e alla possibilità di condividere il codice sorgente delle applicazioni di progetto tramite un sistema di controllo sorgente, abbiamo pubblicato più di 45 repository su GitHub. Questi includono HDI, componenti e applicazioni di esempio complete.
4D v19 offre una serie di nuove funzionalità che miglioreranno notevolmente la vostra esperienza di programmazione.
Grazie alla modalità progetto, abbiamo introdotto le classi. Una classe consente di definire il comportamento di un oggetto attraverso proprietà e funzioni. Una volta definita una classe, è possibile istanziare oggetti di questa classe in qualsiasi punto del codice. Ogni oggetto è un’istanza della sua classe. Le classi possono estendere altre classi e quindi ereditare le loro funzioni.
In 4D sono disponibili due tipi di classi: le classi integrate in 4D (restituite dal comando 4D ) e le classi utente (restituite dal comando cs ).
Per creare un oggetto come istanza di una classe, si usa il comando cs con la funzione membro new. Un altro termine importante da conoscere è il costruttore. Il costruttore viene utilizzato per creare e istanziare un oggetto con attributi predefiniti. Viene chiamato automaticamente quando un oggetto viene inizializzato. La creazione di una classe si effettua dal menu “Nuovo” della barra degli strumenti o dalla finestra di dialogo “Esploratore”. Verrà visualizzato un editor di classi in cui è possibile creare il costruttore e le funzioni della classe. Leggere la documentazione
L’ereditarietà consente a una classe di ereditare il comportamento di un’altra classe (la classe padre ). Per derivare una classe figlia da una classe genitore, utilizzare la parola chiave Class extends. Questo richiama automaticamente il costruttore della classe genitore (se non è stato definito un costruttore specifico per la classe figlia ). Si può anche usare il comando Super per richiamare il costruttore della classe genitore. Leggere la documentazione
Denominazione dei parametri per metodi e funzioni
Non è più necessario passare attraverso una variabile intermedia: ora è possibile dare un nome ai parametri e ai risultati quando si dichiara un metodo:
- metodo di progetto,
- metodo trigger,
- metodo di database,
- metodo del modulo,
- costruttore di classe,
- funzione di classe. Leggete la documentazione
Anteprima CSS nell’editor dei moduli
Questa funzione è stata la richiesta di funzionalità più votata e la più veloce a diventare una richiesta di funzionalità votata nel nostro forum di richieste di funzionalità. Consente di visualizzare in anteprima la resa finale del CSS nell’editor del modulo. Una nuova icona nella barra degli strumenti consente di visualizzare il modulo con o senza rendering CSS e persino di vedere come apparirebbe con un rendering CSS specifico su Mac o Windows.
Per quanto riguarda la sovrascrittura delle proprietà in modalità CSS, nell’editor dei moduli viene visualizzato un nuovo tipo di schermatura (simile alle schermature per Metodo oggetto o Ordine di inserimento). Ora è facile vedere quali oggetti sono influenzati dallo stile CSS. Leggete la documentazione
Lo sviluppo e il debug del codice server nelle applicazioni del progetto diventano più semplici. In modalità di sviluppo in team, è frequente che diversi sviluppatori eseguano lo sviluppo in modalità single-user e che effettuino il commit delle loro modifiche in un sistema di controllo della versione. Il comando RELOAD PROJECT, in combinazione con comandi come git pull, consente di aggiornare un server in esecuzione con il nuovo codice senza doverlo riavviare per i test o addirittura per la produzione.
Quando un client 4D Developer si collega a un server 4D sullo stesso computer, il file .4DZ non viene trasferito dal server al client. Il 4D Remote gestisce i file di progetto (metodi, moduli, risorse, ecc.) come se fosse un client 4D monoutente. I file di progetto sono condivisi da 4D Server e 4D Remote. In questo modo, è possibile modificare il codice e testarlo al volo.
Se si desidera che il server ricarichi i file modificati, passare alla modalità applicazione dall’ambiente di sviluppo. Spostate il Server 4D in primo piano o selezionate la voce di menu “File / Salva tutto” in 4D Remote (o utilizzate il nuovo comando RELOAD PROJECT ).
Ricordate che l’esecuzione di un metodo sul lato client esegue automaticamente un’azione “Salva tutto” e, di conseguenza, ricarica i file modificati sul lato server. Leggete la documentazione
Le macro sono ora disponibili nell’editor dei moduli. Con una macro del modulo è possibile:
- Modificare, eliminare o aggiungere una proprietà a uno o più oggetti del modulo, ad esempio cambiare il colore o la larghezza di un pulsante.
- Aggiungere o eliminare uno o più oggetti del modulo (compreso il metodo oggetto associato).
- Selezionare o deselezionare gli oggetti del modulo nell’editor
- Visualizzare una finestra di dialogo modale per inserire un parametro al volo
- Calcolare la posizione ideale degli oggetti del modulo e spostarli
- Creare una classe CSS da un oggetto modulo da usare come modello
- Controllare che i percorsi delle immagini nel modulo siano validi
- Aprire i file CSS nell’editor CSS invece di cercare i file sul disco
- Controllare che i riferimenti XLIFF abbiano la loro corrispondenza nei file XLIFF
- e molto altro ancora!
Le macro dei moduli sono disponibili nel menu contestuale. Le macro del database host vengono visualizzate per prime, seguite da quelle dei componenti. Per eseguire una macro, è sufficiente fare clic sulla voce di menu. Per creare le macro dei moduli, dichiararle in un file formMacros.json al primo livello della cartella Sources del progetto. Assicuratevi di dare un’occhiata agli esempi di macro che abbiamo reso disponibili su GitHub. Potete integrarli nelle vostre applicazioni come componenti per testarli. Leggete la documentazione
È possibile scrivere la propria documentazione per i metodi di database, trigger, progetti e moduli di tabella. La documentazione viene salvata in un file Markdown con lo stesso nome del metodo o del modulo in una cartella di documentazione. Markdown è un formato standard per la documentazione e consente stili di formattazione avanzati. Il formato può essere visualizzato in 4D Explorer, in GitHub o in altri strumenti. La documentazione può contenere la descrizione di un elemento e tutte le informazioni necessarie per capire come funziona l’elemento nel database. Per creare o modificare il file di documentazione in un database di progetto, dall’Explorer fare clic sul pulsante “Crea” o selezionare la voce di menu “Modifica documentazione”. 4D crea il file corrispondente e lo apre nell’editor predefinito con un modello preimpostato. Leggere la documentazione
4D offre tre temi di font automatici che rispettano le linee guida di ogni piattaforma. 4D v19 consente di sovrascrivere le dimensioni di questi temi automatici e di avere un maggiore controllo sulla visualizzazione del testo. Leggete la documentazione
4D per iOS
Il set di funzionalità di 4D per iOS è stato ampliato con 4D v19:
Ora è possibile lavorare offline e interagire con il server 4D in modo molto flessibile.
Quando la rete non è disponibile, le attività vengono messe in coda, in attesa che il server sia disponibile. Questo garantisce un modo di lavorare molto fluido ed efficiente, con applicazioni che funzionano senza ritardi. Leggete la documentazione
Il deep linking consente di condividere un URL, ad esempio in un’e-mail. Facendo clic sull’URL si aprirà direttamente un record specifico in un’app 4D per iOS. In combinazione con le notifiche push, è possibile informare i venditori su un nuovo preventivo o gli agenti assicurativi su un nuovo caso. Un solo clic apre direttamente l’app e visualizza il record appropriato. Leggete la documentazione
Lenotifiche push sono un modo perfetto per tenere gli utenti delle vostre app iOS impegnati e informati.
È possibile impostare le notifiche push per attivare la sincronizzazione sui dispositivi iOS. Ciò consente di aggiornare istantaneamente l’interfaccia utente, fornendo agli utenti dati in tempo reale che possono controllare alla ricezione di una notifica. Leggete la documentazione
Nuovi formati di parametri: Firma e codice a barre
Per rendere le vostre app più interattive, sono stati aggiunti nuovi formati di parametro a 4D per iOS:
- Formato firma: firma con un dito e invia le firme direttamente dall’app al server. Questo potrebbe essere utile per raccogliere le firme dei clienti dopo la consegna di un pacco, ad esempio.
- Formato codice a barre: associare qualsiasi valore a un codice a barre (EAN13, EAN8, QR Code, ecc.) da estrarre con una semplice scansione da un modulo di azione. È un modo molto comodo per aggiungere, ad esempio, un riferimento a un articolo tramite la scansione di un codice QR direttamente dalla vostra applicazione. Leggete la documentazione
È possibile accedere e pubblicare le relazioni Uno a molti dalle relazioni Molti a uno nella sezione Struttura. In breve, ciò significa che è possibile visualizzare le relazioni molti a molti, il che consente di creare app iOS con un’ergonomia migliore che mai. Ciò comporta ulteriori funzionalità, come l’aggiunta di interazioni a un campo, trascinandovi sopra una relazione, e la visualizzazione del numero di record corrispondente facendo clic sulle relazioni One to Many. Leggete la documentazione
Supporto della scansione dei codici a barre
La ricerca è notevolmente migliorata grazie all’aggiunta del supporto per la scansione dei codici a barre. Questo permette di avere applicazioni adattate alle situazioni sul campo (ad esempio, per le esigenze di inventario del magazzino).
Più tecnicamente, questa funzione consente di:
- Filtrare un modulo di elenco in base al valore del codice. Se un record corrisponde al valore del codice a barre, il modulo di dettaglio del record si apre automaticamente.
- In combinazione con il deep linking, la visualizzazione di moduli di elenco e di dettaglio specifici mediante la semplice scansione di un codice a barre i cui valori sono schemi URL o collegamenti universali. Leggete la documentazione
4D per iOS offre un nuovo modo moderno di effettuare il login. Il modello di modulo di accesso SignInWithQRCode consente agli utenti dell’app di accedere scansionando il QRCode o di accedere direttamente all’app se sono già stati autenticati. Leggete la documentazione
Sincronizzazione dei dati ottimizzata
Il processo di sincronizzazione dei dati di 4D per iOS è stato ottimizzato, migliorando la velocità di sincronizzazione dei dati fino a 25 volte. Leggete la documentazione
4D per iOS consente di determinare l’autenticità e la legittimità della persona che cerca di accedere alla vostra applicazione. Il processo aggiorna lo stato della sessione di un utente per consentirgli di accedere all’applicazione:
- Nel modulo di accesso, quando un utente inserisce un indirizzo e-mail e fa clic sul pulsante Accedi , lo stato della sessione viene aggiornato a “in attesa” e viene inviata un’e-mail con un link di convalida a tale indirizzo e-mail.
- Quando l’utente fa clic sul link di convalida, lo stato della sessione passa da “in attesa” a “accettato”.
- L’utente può riaprire l’applicazione. Poiché lo stato della sessione è ora “accettato”, l’accesso è consentito.
È disponibile il componente che gestisce e semplifica il processo, in modo da poter adattare il processo di autenticazione alle proprie esigenze. Leggete la documentazione
Creare modelli di moduli di dettaglio
Poiché i moduli di dettaglio sono scorrevoli, è possibile inserire tutti i campi che si desidera nei modelli di modulo di dettaglio. Ci sono molti modi per aggiungere campi ai moduli di dettaglio:
- Selezionare un modello vuoto e aggiungervi tutti i campi desiderati.
- Trascinare i campi in qualsiasi punto della vista per aggiungerli e visualizzarli subito dopo l’ultimo campo aggiunto, oppure inserirli tra un campo e l’altro.
- Fare doppio clic su un campo per aggiungerlo alla fine dell’elenco
- Fare clic con il pulsante destro del mouse su uno dei campi disponibili nella tabella Campi a sinistra. Viene visualizzato un menu che consente di aggiungere i campi mancanti ai moduli di dettaglio. Leggere la documentazione
Nell’editor di progetto sono disponibili 40+ modelli pronti all’uso. La galleria si basa su un elenco dinamico di modelli aggiornati disponibili su GitHub. Per utilizzare un modello, è disponibile l’icona “Altro” per i moduli di elenco e di dettaglio. Fare clic su di essa per visualizzare l’intero elenco di modelli della sezione Moduli. Selezionare il modello e 4D per iOS si occuperà dell’installazione. È quindi possibile adattarlo alle proprie esigenze. Leggere la documentazione
ORDA
4D v19 continua ad apportare miglioramenti a ORDA. Oltre alle diverse funzionalità disponibili (vedi sotto), ORDA consente di creare funzioni di classe di alto livello al di sopra del modello di dati. Ciò consente di scrivere codice orientato al business per nascondere la complessità, ridurre gli errori e accelerare il processo di sviluppo. Inoltre, è possibile esporre il progetto come un’API con un server REST.
Classi ORDA per gestire il modello di dati
La struttura di ORDA (datastore, classe di dati, entità, selezione di entità) è costituita da oggetti fortemente tipizzati collegati a specifiche classi ORDA. Ciò significa che è possibile scrivere funzioni che nascondono la complessità dell’implementazione fisica dei dati.
4D crea automaticamente i seguenti oggetti:
- Classe Entità: Per implementare le funzioni relative a un’entità (ad esempio, per calcolare le spese di spedizione per il preventivo corrente. Codice assegnato a un determinato record).
- Classe EntitySelection: Per implementare funzioni relative a una selezione di entità (ad esempio, per eseguire una statistica sui record selezionati. Codice assegnato a una selezione)
- Classe DataClass: Per implementare funzioni relative alla classe di dati (per eseguire codice relativo a una tabella, ma indipendente da uno specifico record o selezione. Ad esempio, per creare un nuovo record in base ai parametri forniti)
- DataStore: Per implementare funzioni relative al datastore (per eseguire codice non legato a una tabella o a un record, simile a un metodo generico di progetto). Leggere la documentazione
Classi del modello di dati ORDA e REST
È possibile richiamare le funzioni delle classi definite per il modello di dati ORDA tramite richieste REST, al fine di beneficiare dell’API esposta del progetto applicativo 4D mirato. Esponete la vostra logica aziendale con un’API controllata (attraverso le vostre classi) per altri strumenti, come framework web come Angular o React. Leggete la documentazione
Per impostazione predefinita, in modalità client/server, le funzioni delle classi ORDA vengono eseguite sul server. Con la nuova parola chiave local, è possibile scegliere di eseguire alcune funzioni sul client. È inoltre possibile scegliere quali funzioni pubblicare (o meno) come API per i client REST con la nuova parola chiave exposed. Leggere la documentazione
È ora disponibile un nuovo tag 4D: il tag 4DEACH. Può essere usato come tag 4D nelle pagine SHTML e con il comando PROCESS 4D TAGS, semplificando l’uso di ORDA o di oggetti in PROCESS 4D TAGS o SHTML. Leggere la documentazione
Quando si lavora con 4D in modalità standalone, non è più necessario riavviare il database per avere un datastore aggiornato quando la struttura viene aggiornata.
Se si lavora in modalità client/server, questo funziona bene per il codice eseguito sul server 4D. Per i client remoti, è sufficiente riavviare il client che richiede l’aggiornamento della struttura. Leggete la documentazione
Selezioni di entità condivisibili
A volte si può desiderare di condividere una selezione di entità con un altro processo o di renderla disponibile a tutti i processi. Ad esempio, immaginiamo di dover eseguire una query complessa per trovare tutte le fatture scadute, consentire agli utenti finali di selezionarne alcune (o tutte) e inviare un sollecito di pagamento via e-mail. L’invio di e-mail è meglio farlo in un altro processo per evitare di bloccare l’utente.
Invece di creare un elenco di chiavi primarie da passare all’altro processo, una selezione di entità condivisa può essere passata direttamente a un altro processo. Le selezioni di entità condivise possono anche essere allegate all’oggetto Storage per essere condivise con tutti i processi.
In breve, una selezione di entità può essere condivisibile o non condivisibile:
- Una selezione di entità condivisibile può essere memorizzata in un oggetto condiviso o in una raccolta condivisa e può essere condivisa tra più processi o worker. Non consente l’aggiunta di nuove entità. Il tentativo di aggiungere un’entità a una selezione di entità condivisibile genera un errore.
- Una selezione di entità non condivisibile non può essere condivisa tra processi, né può essere memorizzata in un oggetto o in un insieme condiviso. Il tentativo di memorizzare una selezione di entità non condivisibile in un oggetto o in un insieme condiviso provoca un errore. Tuttavia, una selezione di entità non condivisibile accetta l’aggiunta di nuove entità. Leggere la documentazione
Nuovi metodi per la selezione di entità
Sono disponibili nuovi metodi membri:
- extract(): per estrarre i dati da una selezione di entità. Ciò consente di costruire una collezione completamente personalizzata con i dati della selezione di entità. È possibile specificare gli attributi della classe di dati che si desidera estrarre e i loro nomi nella collezione risultante.
- refresh(): invalida i dati della selezione di entità nella cache di ORDA. Innesca un aggiornamento dal server al successivo utilizzo dei dati. Per impostazione predefinita, la cache di ORDA scade dopo 30 secondi; utilizzare questo metodo membro nel caso in cui si necessiti di dati aggiornati immediatamente. Leggere la documentazione
Linguaggio 4D e altre funzioni di programmazione
Supporto della modalità scura su macOS
4D ha aggiunto il supporto alla modalità scura, che viene applicato automaticamente se la modalità scura è attivata a livello di macOS. Questo è solo l’inizio e nelle prossime versioni verranno rilasciate altre funzionalità, come il supporto in tutti i componenti (ad esempio il widget 4D Write Pro) e la modalità di progettazione. Leggete la documentazione
Temi multipli per l’editor di codice
4D offre temi di base che potete arricchire e adattare ai vostri gusti:
- “tema chiaro predefinito” (basato sull’editor di colori classico)
- “tema scuro predefinito” (nuovo colore)
Se si preferiscono i colori del tema di un collega o se si trova un tema più adatto ai propri gusti, ad esempio su GitHub, è possibile importarlo aggiungendo il file JSON del tema in:
- “<diskName>/Users/<userName>/Application Support/4D/4DEditorTheme” su macOS
- “<diskName>:\Users\userName>AppData\Roaming\4D\4DEditorTheme” su Windows. Leggere la documentazione
Nei sistemi di integrazione continua, ogni volta che viene inviato del codice, o su base oraria, viene avviata automaticamente una compilazione del codice sorgente. Questo approccio consente di controllare le fusioni sul server di gestione del codice. A partire da 4D v19, il nuovo comando Compila progetto consente di lanciare la compilazione del codice, in modo da poter impostare questo tipo di sistema. Leggere la documentazione
Per costruire l’applicazione, si utilizza il comando BUILD APPLICATION con una serie di chiavi XML che consentono di configurare l’applicazione costruita. Dopo il processo di compilazione, è possibile aggiungere informazioni quali l’azienda, il copyright o la versione dell’applicazione. A partire da 4D v19, è possibile leggerle, aggiungerle o modificarle su piattaforme Windows o macOS senza dover padroneggiare il linguaggio XML e la struttura del file info.plist.
A tale scopo, abbiamo aggiunto due nuove funzioni alla classe File per consentire la lettura e la scrittura delle informazioni dell’applicazione:
- Per aggiungere le informazioni a un file .exe (Windows) o .plist (macOS), è possibile passare alla funzione setAppInfo un oggetto con gli attributi che si desidera impostare.
- Per leggere le informazioni da un file .exe o .plist, basta usare getAppInfo, per ottenere tutti gli attributi in un unico oggetto. Leggete la documentazione
A partire da macOS Big Sur, le applicazioni non firmate non possono essere eseguite. In passato, abbiamo rilasciato un workaround per creare applicazioni client-server che girano su un server Windows e accettano connessioni da client Mac. Con il rilascio di 4D v19, abbiamo aggiornato la creazione di applicazioni in 4D per gestire questo scenario.
Evoluzione del formato di log di 4D
Abbiamo recentemente rivisto i nostri formati di log per migliorare la leggibilità e la conformità con l’analisi automatizzata. Abbiamo apportato questi miglioramenti in risposta a situazioni reali che abbiamo vissuto, affrontando direttamente i problemi che limitavano la nostra capacità di utilizzare i registri 4D. Leggete la documentazione.
Utilizzare collezioni ed elenchi all’interno degli oggetti dei moduli
A partire da 4D v19, è possibile utilizzare le collezioni per definire il contenuto di alcuni oggetti dell’interfaccia, anche utilizzando la funzione Form. Ciò è molto utile per la gestione generica delle interfacce. Sono stati inoltre apportati miglioramenti alle modalità di utilizzo degli elenchi.
L’uso degli elenchi è stato migliorato:
– Elenchi gerarchici
– Controlli a schede (primo caso d’uso)
Le collezioni possono ora essere utilizzate come riferimenti con i seguenti oggetti:
– Elenchi a discesa (noti anche come “elenchi a comparsa”)
– Caselle combinate
– Controlli a schede (secondo caso d’uso). Leggete la documentazione
Nuova sintassi delle dichiarazioni
È ora disponibile una nuova sintassi per dichiarare le variabili. Utilizza la parola chiave var, il nome della variabile e il suo tipo. Questa nuova sintassi consente di migliorare notevolmente il completamento automatico della dichiarazione delle variabili. È possibile dichiarare le variabili utilizzando sia la sintassi classica che quella nuova nello stesso database. Leggere la documentazione
Visualizzazione del prototipo e breve descrizione
Per semplificare e facilitare la scrittura del codice nell’editor, il prototipo di una funzione e una breve descrizione vengono visualizzati nell’editor di codice.
L’elenco dei suggerimenti visualizza il completamento intelligente del codice (con una breve descrizione) e il prototipo, in modo da poter scrivere il codice in modo più rapido e corretto. Mentre si scrive la funzione, 4D visualizza il prototipo della funzione e una breve descrizione della stessa. Inoltre, evidenzia il parametro che si sta completando. Leggere la documentazione
OAuth 2.0 è uno standard di autenticazione e autorizzazione che protegge i dati degli utenti fornendo l’accesso ai dati senza rivelare l’identità o le credenziali dell’utente. Ultimamente, i server di posta elettronica hanno iniziato a passare a questo standard per aumentare la sicurezza. Office365 e Gmail consigliano di utilizzare OAuth 2.0 per gestire le e-mail.
A partire da 4D v19, forniamo un modo per configurare OAuth 2.0. I trasportatori IMAP, SMTP e POP3 ora supportano nativamente il protocollo OAuth 2.0. Leggete la documentazione
Il protocollo IMAP consente di associare un elenco di flag a un messaggio per gestire informazioni aggiuntive. Abbiamo aggiunto una serie di funzioni all’oggetto transporter IMAP per aggiungere o rimuovere i flag IMAP.
Con il protocollo IMAP è possibile gestire cinque flag:
- \Visto: Il messaggio è stato letto.
- \Answered: Il messaggio è stato risposto.
- \Segnalato: Il messaggio è contrassegnato come “segnalato” per un’attenzione urgente/speciale.
- \Eliminato: Il messaggio è contrassegnato come “da cancellare”. La rimozione ha effetto quando viene richiamata la funzione expunge(), quando si cambia mailbox o si chiude la connessione. Questo flag è già aggiunto dalla funzione delete().
- \Draft: Il messaggio non ha completato la composizione (è contrassegnato come bozza). Leggere la documentazione
Creare, eliminare e rinominare le caselle di posta elettronica con IMAP
Sono disponibili funzioni che aiutano a gestire le caselle di posta elettronica tramite la programmazione. Ciò include la creazione, la ridenominazione e l’eliminazione delle caselle postali. Una mailbox viene visualizzata come una cartella nei client di posta elettronica come Microsoft Outlook o Apple Mail. Leggete la documentazione
Salvare le e-mail in una casella di posta specifica
Quando si invia un’e-mail da 4D, se i clienti si aspettano di riceverne una copia nella casella di posta “Inviata” visualizzata da Outlook o Apple Mail, è possibile salvarne una copia dopo l’invio:
- Creare due trasportatori: un trasportatore SMTP per inviare l’e-mail al client e un trasportatore IMAP per caricare l’e-mail sul server di posta.
- Dopo aver inviato l’e-mail con SMTP, utilizzare la funzione append() del transporter IMAP. Leggere la documentazione
Il metodo searchMails consente di recuperare un elenco di messaggi in base a criteri quali tutte le e-mail non lette o tutte le e-mail di una persona specifica nelle ultime 4 settimane. Il comando restituisce un insieme di ID di posta, che possono essere utilizzati direttamente dal nuovo metodo getMails (per scaricarli, ad esempio). Leggere la documentazione
Copiare, spostare e cancellare le e-mail
Sono state aggiunte tre nuove funzioni al trasportatore IMAP: copy(), move() e delete(). Leggete la documentazione
Ricevere le e-mail usando POP3
È possibile scaricare localmente le e-mail e rimuoverle dal server di posta elettronica tramite POP3 grazie al nuovo comando POP3 New transporter. Il Post Office Protocol (POP) è un protocollo standard di Internet utilizzato per recuperare le e-mail da un server di posta. Questo standard è utile per azioni quali la connessione a un server POP3, il recupero dei messaggi per elaborarli automaticamente (per memorizzarli nel database locale) e la loro cancellazione dal server. Inoltre, sono stati aggiunti diversi metodi per migliorare la gestione delle e-mail:
- getMailInfoList(): Restituisce informazioni su tutti i messaggi presenti nella casella di posta elettronica.
- getMailInfo(): Restituisce informazioni su un singolo messaggio.
- getMail(): Consente di scaricare messaggi specifici passando come parametro il numero del messaggio restituito da getMailInfoList().
- delete(): Segnala i messaggi specificati da cancellare durante la chiusura della sessione.
- getBoxInfo(): Restituisce il numero di messaggi di posta elettronica presenti nella casella e la dimensione della casella. Leggere la documentazione
Come per SMTP e POP3, il nuovo comando IMAP New transporter gestisce il protocollo IMAP. Sono stati aggiunti comandi che consentono di scegliere una casella di posta e di scaricare un’e-mail. Leggete la documentazione
Scaricare le e-mail in formato MIME
4D v19 offre un comando che consente di archiviare le e-mail nel loro formato originale, non convertito, ricevuto. Utilizzando il metodo POP3_transporter.getMIMEAsBlob( ), è possibile ottenere un BLOB contenente il contenuto MIME di un messaggio specifico, che può essere salvato nel database o altrove. Leggere la documentazione
Crittografare i propri dati con l’algoritmo 4D
4D offre un modo semplice ma potente per criptare i propri dati. Ora consente anche di utilizzare lo stesso algoritmo usato per la crittografia dei dati (AES-256) per le proprie esigenze. Ora è quindi possibile crittografare e decrittografare qualsiasi informazione con una serie di nuovi comandi: Cifra dati BLOB e Decifra dati BLOB. Leggete la documentazione
La nuova classe CryptoKey fornisce una serie di metodi per eseguire le operazioni crittografiche più comuni (come la firma e la verifica, la crittografia e la decrittografia). Fornisce un modo per garantire:
- Riservatezza (protezione dei dati da accessi non autorizzati)
- Integrità (garantire che i dati siano completi e corretti)
- Autenticità (convalida dell’autenticità di un messaggio o di un mittente/destinatario) Leggi la documentazione
Web
Il server Web 4D supporta ora le sessioni Web scalabili, un nuovo tipo di sessione Web che migliorerà notevolmente le prestazioni delle applicazioni Web.
Le sessioni web scalabili possono gestire più processi in modalità preemptive. Ciò significa che possono gestire diverse richieste dell’agente utente allo stesso tempo e possono anche condividere i dati tra questi processi. Leggete la documentazione
Attributi SameSite e Secure per i cookie
I cookie si sono evoluti nel corso degli anni, ma hanno lasciato in eredità alcuni problemi. Per gestire questo aspetto e abilitare un modello sicuro per impostazione predefinita per i cookie, i browser (tra cui Safari, Chrome, Firefox ed Edge) stanno modificando il loro comportamento per quanto riguarda gli attributi SameSite e Secure. Per questo motivo, 4D v19 apporta alcuni miglioramenti. Leggete la documentazione
Supporto per la condivisione di risorse in base all’origine (CORS)
Il protocollo CORS impedisce a una pagina web di effettuare richieste a domini diversi dal proprio. Tuttavia, se avete bisogno di consentire ad altri siti di effettuare richieste HTTP al vostro server per ottenere o inviare alcuni dati, ora è possibile tramite:
- programmazione: grazie ai comandi WEB SET OPTION e WEB Server . Essi accettano parametri di dominio per consentire azioni specifiche (GET, POST, HEAD, PUT)
- impostazioni del database: grazie alle opzioni disponibili nella finestra Impostazioni > Web > Opzioni (II). Leggere la documentazione
4D v19 offre una versione di anteprima di 4D Data Explorer. Gli sviluppatori e gli amministratori di 4D possono ora esplorare facilmente i dati delle loro applicazioni in un browser web senza bisogno di una licenza Web Server. Guardate questo video per vedere il prodotto in azione.
Cartella cache 4D personalizzata per il server 4D unito
Se il vostro computer ospita un’applicazione server unita costruita con diverse versioni di 4D, potreste riscontrare dei problemi a causa della cartella di struttura 4D condivisa. Per evitare di condividere questa cartella di sistema tra applicazioni server unite costruite con versioni diverse di 4D, è ora possibile definire il nome della cartella durante il processo di compilazione dell’applicazione con il nuovo tasto buildApp per impostare la propria cartella di struttura. Leggete la documentazione
Cartella di cache 4D personalizzata per i client 4D uniti
La connessione dell’applicazione remota a diversi server può talvolta comportare l’ottenimento di una grande cartella di risorse locali nel sistema, che può consumare molto tempo, volume e larghezza di banda. La nuova chiave buildApp consente di condividere la stessa cartella delle risorse locali tra tutti i server identici. Leggete la documentazione
Integrazione migliorata del giornale
Quando si esegue un server 4D in produzione, tutto dovrebbe essere completamente automatico e funzionare senza l’intervento di un amministratore. Ciò è particolarmente importante con l’aggiornamento automatico e quando si opera in modalità Headless. Dopo un’interruzione di corrente o un arresto anomalo, piccoli errori nel diario potrebbero impedire il riavvio automatico del Server 4D. Una nuova opzione consente ora di sopprimere i messaggi di errore non critici (ma di riportarli comunque in un registro), riducendo i tempi di inattività del sistema. Leggete la documentazione
Concessione dinamica dei permessi agli utenti
Dopo la possibilità di utilizzare il proprio sistema di gestione degli utenti finali e il comando SET USER ALIAS, abbiamo aggiunto la possibilità di gestire i permessi degli utenti finali. Il nuovo comando IMPOSTA ACCESSO GRUPPO consente di impostare dinamicamente le appartenenze ai gruppi. Leggete la documentazione
Memorizzazione degli alias utente nel diario
Il comportamento del comando IMPOSTA ALIAS UTENTE è stato esteso in 4D v19 per consentire di sapere chi ha fatto cosa. Ora, quando viene impostato un alias, questo viene memorizzato anche nel diario. Ciò consente di recuperare l’utente corretto, anche se più utenti condividono lo stesso computer e/o account di sistema. Il nome dell’utente viene visualizzato in:
- nelle schede Analisi attività e Rollback del CSM
- nella finestra di dialogo visualizzata con il comando CHECK LOG FILE (Controlla file di registro )
- il file JSON generato dal comando LOG FILE TO JSON Leggere la documentazione
Monitorare le operazioni lente
Per scoprire quali operazioni stanno rallentando un server, è possibile utilizzare il nuovo comando AVVIA ATTIVITÀ DI MONITORAGGIO . Il comando registra in memoria le operazioni che superano una determinata durata.
In base alle specifiche impostate da questo comando, è possibile ottenere tutte le attività registrate con il comando Get Monitored Activity(). Quando si decide di interrompere la registrazione dell’attività dell’applicazione 4D o di svuotare l’elenco delle attività, si chiama il comando STOP MONITORING ACTIVITY. Leggete la documentazione
Casella di riepilogo
Gestione dei clic nelle celle modificate
L’evento del modulo
viene attivato indipendentemente dal fatto che una cella sia in fase di modifica o meno, offrendo un maggiore controllo e migliorando l’interfaccia. Ciò può essere utile se si desidera visualizzare i possibili valori di una cella quando è in fase di modifica, ad esempio utilizzando un menu contestuale. Una volta selezionata la riga, è possibile offrire una scelta di colore per quella particolare riga o cella.
Per garantire la compatibilità, se si dispone già di codice che viene eseguito durante l’evento “on clicked”, è possibile interrompere l’esecuzione di tale codice quando si verifica un clic all’interno di una cella modificata. In questo caso, è sufficiente testare prima lo stato della cella con la funzione di modifica del testo. Leggere la documentazione
Colonne dei tempi e calcoli a piè di pagina
Sebbene le nuove caselle di riepilogo che utilizzano collezioni o selezioni di entità offrano maggiori possibilità, non consentivano la visualizzazione temporale e i calcoli automatici nel piè di pagina, a differenza delle caselle di riepilogo che visualizzano array o record.
Ora tutti i tipi di caselle di riepilogo possono visualizzare il tempo nelle loro colonne e i calcoli nel piè di pagina. Leggete la documentazione
Miglioramento dell’avanzamento di tipo
Normalmente, una casella di riepilogo può ricevere eventi di pressione dei tasti solo in modalità di modifica. Questo impediva il filtraggio automatico dell’elenco o la selezione delle voci quando l’utente utilizzava la tastiera o caselle di riepilogo non digitabili.
Ora, l’evento On before Keystroke viene generato non appena la casella di riepilogo ha il focus e viene digitato un tasto anche se i dati non vengono inseriti in una cella. Questo permette a 4D di sapere quali tasti sono stati premuti e rende possibile (tramite programmazione) prendere decisioni come l’avvio di una nuova ricerca o la modifica della selezione corrente.
È stato aggiunto il nuovo comando Sta modificando il testo per aiutare a determinare se c’è un input in corso quando viene generato l’evento On before keystroke. Ad esempio, consente di rendere modificabile una casella di riepilogo, continuando a supportare le funzioni di digitazione in testa. Gli eventi On before keystroke e On after keystroke supportano ora le finestre di dialogo di aiuto del sistema per la selezione di diacritici come é, ä o caratteri asiatici. L’evento viene ritardato finché l’utente finale non seleziona i caratteri finali. Non è necessario gestirlo da soli. Leggete la documentazione
Funzionalità Listbox Pro gratis
Non è più necessaria una licenza 4D View Pro per utilizzare queste funzioni avanzate. È possibile sfruttare appieno le caselle di riepilogo per:
- adattare automaticamente l’altezza di ogni riga al suo contenuto, in modo da visualizzare l’intero testo o l’intera immagine
- utilizzare gli array di oggetti nelle colonne per consentire l’immissione e la visualizzazione di vari tipi di valori nelle righe di una singola colonna della casella di riepilogo.
Impostazione di righe mobili tramite codice
In modalità Progettazione, quando si utilizzano caselle di riepilogo basate su array, è possibile definire se gli utenti finali possono spostare le righe(ad esempio, per riordinare o raggruppare le righe, ecc.) I comandi LISTBOX SET PROPERTY e LISTBOX Get property sono stati aggiornati per supportare la nuova proprietà lk movable rows. Leggete la documentazione
Selezione delle righe della casella di riepilogo
Il nuovo comando LISTBOX SELECT ROWS facilita la selezione delle righe in una selezione di entità. Il comando accetta una selezione di entità come parametro e le righe che corrispondono alla selezione di entità possono essere selezionate in modo intuitivo (comprese le righe aggiunte o rimosse dalla selezione). Per le caselle di riepilogo delle collezioni, è possibile passare una collezione contenente i riferimenti agli oggetti che si desidera selezionare. Leggere la documentazione
Gli elementi del sistema grafico, come il dock di macOS o la barra delle applicazioni di Windows, vengono presi in considerazione per poter utilizzare l’intera area di lavoro disponibile. Al comando COORDINATE SCHERMO è stato aggiunto un nuovo parametro opzionale: Area di lavoro dello schermo. In questo modo si può essere certi che le finestre dell’applicazione si trovino in un’area visualizzabile (soprattutto in modalità SDI su Windows). Leggete la documentazione
XML: Supporto XPath migliorato
A partire da 4D v19, l’implementazione di XPath è più conforme e semplifica le ricerche consentendo il supporto di espressioni come //, @, * e last(). Per ragioni di compatibilità, l’implementazione precedente, non standard, viene mantenuta per default nei database convertiti. Per sfruttare le funzionalità estese nei database convertiti, selezionare l’opzione Usa compatibilità XPath standard nella pagina Compatibilità. Leggete la documentazione
Miglioramento degli oggetti e delle collezioni
Il comando OB Copy() e il metodo membro collection.copy() sono stati migliorati. Ora consentono di aggiungere un oggetto standard a un oggetto o a una collezione condivisa, semplificando la copia del contenuto dell’oggetto standard nell’oggetto o nella collezione condivisa. Inoltre, sono ora disponibili nuovi comandi per gestire gli oggetti come mappe hash:
- OB Keys: restituisce i nomi delle proprietà di un oggetto sotto forma di collezione
- OB Values: restituisce i valori delle proprietà di un oggetto come collezione
- OB Entries: restituisce un insieme di oggetti con proprietà chiave (nome della proprietà) e valori (valore della proprietà). Leggere la documentazione
Creare un’area web fuori dallo schermo
4D v19 consente di utilizzare un’area Web in modalità offscreen con il comando WA Esegui area offscreen. Il comando crea un’area Web in memoria e prende come parametri tutte le informazioni rilevanti per l’area Web, quali:
- l’URL da caricare
- il nome dell’area
- la formula richiamata quando viene lanciato un evento dall’area Web.
Per semplificare il debug delle aree Web fuori schermo, è stato aggiunto il nuovo comando WA OPEN WEB INSPECTOR . Questo comando apre l’ispettore web e consente di verificare se la pagina è stata caricata correttamente o se il codice JavaScript ha generato errori. Leggete la documentazione
Accesso ai valori degli oggetti del modulo tramite programmazione
Sono disponibili due nuovi comandi che consentono di accedere ai valori degli oggetti del modulo, indipendentemente dalla loro variabile o espressione: OGGETTO Ottieni valore e OGGETTO IMPOSTA VALORE.
- Per ottenere il valore di un oggetto modulo, utilizzare il comando OBJECT Get value e passare il nome dell’oggetto modulo come parametro.
- Per impostare il valore di un oggetto modulo, utilizzare il comando OBJECT SET VALUE e passare come parametri il nome e il nuovo valore. Leggere la documentazione
Miglioramenti nel confronto tra stringhe
4D offre strumenti versatili per la ricerca e il confronto di stringhe. Possono essere adattati a diversi contesti e situazioni.
Con 4D v19 sono stati apportati aggiornamenti al comando Position ed è stato aggiunto il nuovo comando Compare strings:
- Posizione: questo comando ha ora maggiori capacità di confronto, come “sensibile alle maiuscole e minuscole” o “sensibile all’accento”, e sono ora disponibili le seguenti opzioni di ricerca:
- Lingua giapponese (Hiragana/Katagana)
- larghezza del carattere
- “parola intera
- Confronta stringhe: questo nuovo comando consente di confrontare le stringhe con le stesse opzioni aggiunte al comando Posizione. Questo comando si basa sulla lingua definita nelle impostazioni del database. Può essere utile, ad esempio, per consentire ordinamenti specifici. Leggete la documentazione
4D v19 include nuove opzioni e informazioni aggiuntive che facilitano il tracciamento e l’analisi del codice.
-
- Parametri: Conoscere i parametri di ingresso e di uscita di un metodo o di una funzione, nonché il loro tipo, è essenziale per il debug del codice. La riga di dichiarazione viene visualizzata in alto a sinistra nella finestra del debugger. Nel riquadro della catena di chiamate è possibile scegliere se visualizzare o nascondere il tipo di parametro.
- Commenti: Per aiutare a spiegare un metodo o una funzione, una pratica comune è quella di includere commenti all’inizio dei blocchi di codice. Questi commenti sono ora visibili nel debugger. Leggere la documentazione
Questa funzione consente di decidere dove eseguire il debug del codice del server (lato client o lato server). Il debug sul lato client è particolarmente utile se si esegue il server in modalità headless o come servizio Windows.
Sono state aggiunte due nuove voci di menu su entrambi i lati per gestire il collegamento del debugger:
- Attacca / Stacca debugger: Collega o scollega istantaneamente il debugger al client o al server.
- Collega il debugger all’avvio: Collega il debugger all’avvio del client o del server.
Tenete presente che il debugger può essere collegato solo a una singola istanza di 4D alla volta. Ad esempio, se si cerca di collegare il debugger al server senza staccarlo dal client, si otterrà un messaggio di errore con informazioni sul proprietario del debugger.
Per aiutarvi a distinguere se il debugger o le finestre di errore provengono dal server o dal client, abbiamo cambiato l’aspetto di queste finestre. Leggete la documentazione
Convertire i documenti Word in formato 4D Write Pro
È ora possibile importare documenti .docx in 4D Write Pro. Per farlo, utilizzate la nuova costante wk docx con il comando esistente WP Importa documento. Si noti che 4D Write Pro importerà la maggior parte del contenuto del documento MS Word, ad eccezione di ciò che non è supportato da 4D Write Pro (come descritto nel capitolo della documentazione: Importazione ed esportazione in formato .docx). Inoltre, durante il processo di importazione, viene generato un registro di importazione integrato nel documento 4D Write Pro stesso. Sarà possibile consultarlo per verificare eventuali differenze tra il documento originale e quello convertito. Leggete la documentazione
Senza installare alcun driver di stampa o software aggiuntivo, i documenti di 4D Write Pro possono essere esportati direttamente in formato PDF. L’esportazione diretta non solo è più veloce e affidabile di un driver di stampa, ma offre anche un maggiore controllo sul risultato. Supporta i collegamenti ipertestuali, consente di ottimizzare le dimensioni delle immagini e altro ancora. Il comando WP EXPORT DOCUMENT è stato aggiornato per accettare una nuova costante: wk pdf. Leggete la documentazione
Trovare e sostituire il testo all’interno di un documento di 4D Write Pro è già possibile con comandi di base come WP Get text e WP Set text. Il nuovo comando WP Trova tutto rende questo processo più veloce che mai. Leggete la documentazione
Individuare tutte le interruzioni
I documenti di 4D Write Pro supportano cinque tipi di interruzioni:
- interruzioni di riga
- interruzioni di paragrafo
- interruzioni di pagina
- interruzioni di sezione
- interruzioni di colonna
A volte è necessario individuare un certo tipo di interruzione per sostituirla con un’altra o semplicemente eliminare tutte le sue occorrenze nel documento. Per rendere possibile questo, abbiamo sviluppato una nuova funzione: WP Get breaks. Leggete la documentazione
Formule: gestione del comportamento del ritorno a capo
È disponibile la nuova proprietà del documento wk break paragraphs nelle formule, che definisce come deve essere trattato il ritorno a capo. Ha due possibili valori:
- wk true: Interpretato come interruzione di paragrafo.
- wk false: (valore predefinito) Interpretato come interruzione di riga. Leggere la documentazione
Miglioramenti dell’interfaccia utente
Nel widget dell’interfaccia di 4D Write Pro è disponibile una nuova scheda. Permette di importare ed esportare documenti in diversi formati. Abbiamo anche aggiunto miglioramenti alla barra degli strumenti e alla barra laterale. Ora è possibile
- aumentare o diminuire il testo
- copiare e incollare il righello
- cambiare il colore di sfondo di un paragrafo
- cambiare lo stile di una parola (maiuscolo, minuscolo, ecc.). Leggere la documentazione
Selezionare le pagine del widget da mostrare
4D visualizza solo le pagine menzionate nella raccolta, nell’ordine della stessa. Ciò consente di ridurre l’insieme delle funzioni per semplificare il lavoro dell’utente finale. Se sono necessarie solo le opzioni di stile, è meglio non visualizzare le altre funzionalità. Ora, il widget 4D Write Pro offre la possibilità di selezionare le pagine da visualizzare con il nuovo metodo del componente WP ShowTabPages. È sufficiente passare il nome del widget e un insieme di pagine da visualizzare quando si chiama il metodo. Leggete la documentazione
Selezionare il carattere per le schede decimali
Se avete documenti provenienti da varie fonti, i numeri potrebbero non essere formattati correttamente per le vostre esigenze. Ora 4D Write Pro consente di specificare questa impostazione per ogni documento. È possibile scegliere di allineare i numeri a:
- il punto
- alla virgola
- al primo separatore trovato (punto o virgola)
- il separatore definito dal sistema operativo
Per ottimizzare la compatibilità (in particolare con MS Word), l’opzione #3 viene utilizzata per impostazione predefinita quando si creano nuovi documenti. Quando si migrano documenti di 4D Write a 4D Write Pro, viene utilizzato per impostazione predefinita il separatore definito dal sistema. Leggete la documentazione
L’inserimento dei trattini morbidi è stato semplificato grazie a nuove azioni standard e a nuovi pulsanti nei widget dell’interfaccia di 4D Write Pro.
Sono disponibili due nuove azioni standard:
- insertSoftHyphen
- removeSoftHyphens
La funzionalità è stata aggiunta anche ai widget dell’interfaccia di 4D Write Pro, sia nel widget della barra degli strumenti che in quello della barra laterale. Leggete la documentazione
Nuove azioni standard per le tabelle e i loro elementi
4D v19 aggiunge a 4D Write Pro nuove azioni standard per tabelle, righe e celle. Esse consentono di definire il tipo di bordo di una tabella, il colore di sfondo di una cella, l’allineamento verticale del testo in una riga, l’allineamento della tabella stessa all’interno del documento, i margini, il padding e oltre 40 altre opzioni. Di conseguenza, l’interfaccia di 4D Write Pro è stata migliorata in termini di capacità di elaborazione delle tabelle. Sono stati aggiunti quattro nuovi pulsanti per modificare l’aspetto di tabelle, righe, colonne e celle. Leggete la documentazione
In 4D v19, alcune parti dei documenti 4D Write Pro (o tutte le parti) possono essere “non modificabili”. Sono disponibili due livelli di protezione. Innanzitutto, è necessario definire quale parte dei documenti sarà protetta (per impostazione predefinita, tutte le parti sono protette). Quindi, attivare il flag di protezione del documento in modo che le impostazioni effettuate vengano prese in considerazione. A tale scopo, è possibile utilizzare due nuovi attributi con il comando WP SET ATTRIBUTES :
- wk protected (può essere impostato su quasi tutti i tipi di target appartenenti a un documento)
- wk protection enabled (abilita o disabilita la protezione globale del documento). Leggete la documentazione
Gestione delle formule all’interno dei documenti
4D v19 include una serie di comandi che possono aiutare a gestire le formule all’interno dei documenti di 4D Write Pro:
- WP Ottieni formule: Recupera tutte le formule all’interno di un obiettivo specifico (l’intero documento, ma anche parti più specifiche di un documento come il corpo, la seconda sezione, l’intestazione sinistra, ecc,)
- WP Inserisci formula: Inserisce un’espressione come oggetto formula all’interno di un determinato intervallo,
- WP Calcolo formule e WP Congelamento formule: Possono essere usate in modo molto simile(cioè usando un obiettivo). Rivaluta tutte le espressioni di un documento o congela solo le espressioni appartenenti ai piè di pagina. Leggere la documentazione
L’eliminazione di immagini in linea o ancorate può ora essere effettuata con il nuovo comando WP DELETE PICTURE . È sufficiente recuperare l’immagine da eliminare in base al suo ID (usando WP Get element by ID) o alla sua posizione (usando WP Get elements), quindi richiamare il comando. Leggete la documentazione
Miglioramenti con SpreadJS v14
4D v19 è dotato di una nuova barra multifunzione di 4D View Pro. Oltre al nuovo look, abbiamo aggiunto nuove caratteristiche per supportare le nuove funzionalità di SpreadJS v14.
Questa nuova barra degli strumenti offre nuove funzionalità quali:
- Supporto all’accessibilità: Fornisce un adeguato supporto all’accessibilità per gli utenti disabili che utilizzano tecnologie assistive come gli screen reader. Per ulteriori informazioni, consultate la sezione Supporto all’accessibilità
- Personalizzazione dell’indicatore di commento: Gli utenti possono ora modificare il colore e le dimensioni dell’indicatore.
- Copia di immagini da Excel: Consente di copiare immagini da Excel e di incollarle nei fogli. L’immagine incollata avrà le stesse dimensioni, lo stesso bordo e lo stesso sfondo che aveva in Excel.
- Effetti di riempimento e modelli: Migliorate l’aspetto delle celle in un foglio di calcolo applicando alle celle effetti di pattern o gradienti. Per ulteriori informazioni, consultare Riempimento a motivo e Riempimento a gradiente.
Oltre all’inglese, abbiamo aggiunto il supporto per francese, tedesco, spagnolo, giapponese e portoghese! Se siete utenti di 4D v19 o superiore con un sistema operativo che corrisponde alle lingue supportate, noterete che tutti gli elementi di 4D View Pro sono ora tradotti (barra multifunzione, barra degli strumenti, menu contestuale, messaggi di errore, ecc.)
Fine del caricamento del documento
Sono disponibili due nuovi eventi che consentono di sapere quando i calcoli sono terminati: Su intervallo VP modificato e sull’evento Timer.
Ciò può essere utile, ad esempio, quando si carica un documento 4D View Pro di grandi dimensioni con molte formule e i calcoli possono richiedere del tempo per essere completati, oppure quando si utilizza un’area fuori dallo schermo e si desidera esportare il documento in formato PDF o Excel. In questi casi, è necessario attendere il termine dei calcoli prima di procedere. Leggere la documentazione
A volte, quando si inizializza un documento di 4D View Pro, è necessario trovare alcuni valori o tag e sostituirli con i dati emessi da 4D. Ora è un gioco da ragazzi grazie al comando VP Find. Grazie a questo comando, è possibile trovare dati, formule o tag e sostituirli nell’intero foglio o solo in una parte specifica di esso. Leggete la documentazione
Formule 4D nei fogli di calcolo
Il comando VP IMPOSTA FUNZIONI PERSONALIZZATE consente di creare funzioni personalizzate in 4D View Pro per eseguire una formula 4D. Non è necessario creare un metodo per utilizzare una semplice variabile in 4D View Pro, basta passarla come parametro alla formula. Inoltre, il comando semplifica la digitazione per l’utente finale, fornendo un testo di aiuto e i nomi dei parametri. Nelle strutture di grandi dimensioni, l’uso di questo comando è molto più rapido rispetto al comando generico SET FIELD TITLES. Leggete la documentazione
Il nuovo comando VP Esegui area fuori schermo consente di manipolare i comandi e le funzioni di 4D View Pro in un’area fuori schermo. Per utilizzarlo, è sufficiente passare le informazioni dell’area come parametro (ad esempio, il nome dell’area e il metodo chiamato quando viene lanciato un evento dall’area di 4D View Pro). Leggete la documentazione
È disponibile una nuova serie di comandi che consentono di unire e disunire un gruppo di celle mediante la programmazione:
- Per creare una cella unita, definire un intervallo con tutte le celle che si desidera unire, quindi passarlo come parametro al nuovo comando VP ADD SPAN che unisce le celle in un unico intervallo di celle.
- Per recuperare tutte le celle unite, utilizzare il comando VP Ottieni campate.
- Per rimuovere le celle con campitura nel documento, utilizzare il comando VP REMOVE SPAN. Leggete la documentazione
Formule: ricalcola, sospendi e riprendi
Tre nuovi comandi consentono di attivare i calcoli delle formule ogni volta che lo si desidera:
- Usare VP RICALCOLA FORMULE per ricalcolare le formule quando i dati cambiano.
- Usare VP SOSPENDI CALCOLO e VP RIPRENDI CALCOLO per sospendere e riprendere i calcoli. Leggere la documentazione
Più opzioni per personalizzare i fogli di lavoro
Il nuovo comando VP IMPOSTA OPZIONI FOGLIO consente di definire varie opzioni del foglio di un’area di 4D View Pro. Ad esempio, questo comando consente di:
- proteggere un foglio di lavoro impedendo la modifica delle celle al suo interno
- personalizzare i colori delle schede del foglio di lavoro, delle linee congelate, delle linee della griglia o dello sfondo e del bordo di una selezione
- gestire la visibilità delle linee di griglia e delle intestazioni di riga e colonna di un foglio di lavoro. Leggete la documentazione
4D v19 include nuovi comandi per la gestione di colonne e righe. Questi comandi consentono di adattare meglio i documenti alle proprie esigenze. Le colonne e le righe possono essere aggiunte e rimosse, oppure possono essere definite nelle loro dimensioni, visibilità ed etichette di intestazione con i seguenti comandi:
- VP INSERT ROWS o VP INSERT COLUMNS: aggiunge righe o colonne passando un intervallo contenente la prima colonna o riga come parametro e il numero di righe o colonne da aggiungere.
- VP SET COLUMN COUNT e VP SET ROW COUNT: Definiscono il numero di colonne e righe visualizzate. Per impostazione predefinita, un foglio di 4D View Pro contiene 100 colonne e 1.000 righe.
- VP ELIMINA RIGHE o VP ELIMINA COLONNE: Rimuove righe o colonne specifiche.
- VP IMPOSTA ATTRIBUTI COLONNA e VP IMPOSTA ATTRIBUTI FILA: Specificano la larghezza delle colonne o l’altezza delle righe; aggiungono un’interruzione di pagina per la stampa; nascondono o mostrano colonne o righe; abilitano o vietano il ridimensionamento di colonne o righe da parte degli utenti; modificano le etichette delle intestazioni delle colonne o delle righe. Leggete la documentazione
Il nuovo comando VP SET FROZEN PANES consente di creare riquadri. Se si dispone di una grande tabella di dati, può essere utile mantenere visibile un’area del foglio di lavoro mentre si scorre verso un’altra area. Con questo comando è possibile creare fino a 4 riquadri nella propria area: uno a sinistra, uno sopra, uno a destra e uno sotto. Leggete la documentazione
Approfondimenti sulle release R