Cosa c’è di nuovo in 4D v18

Tradotto automaticamente da Deepl

Questo documento è una raccolta di tutte le nuove funzionalità disponibili in 4D v18. 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 blank sono relative a tutte le nuove funzionalità rilasciate tra 4D v17 R6 e 4D v18.

Questo documento è suddiviso in sette sezioni:

Database di progetto – Controllo delle versioniblank

Una soluzione fornita con 4D v18 semplifica il lavoro collaborativo dei team distribuiti memorizzando il codice sorgente in un sistema di controllo della sorgente utilizzando file di testo semplici. Questa soluzione consente di sfruttare la potenza combinata della piattaforma di sviluppo 4D con la versatilità di file leggeri e distribuiti:

Architettura

Un database di progetto contiene tutto il codice sorgente di un’applicazione di database 4D, dalla struttura del database all’interfaccia utente, compresi i moduli, i menu, le impostazioni utente e tutte le risorse necessarie. Poiché i database di progetto sono costituiti da file di testo, i progetti contengono più cartelle e file memorizzati all’interno di una singola cartella di database padre. Quando si crea un database di progetto, si trovano molte delle stesse cartelle di un database binario:

  • Dati
  • Registri
  • Risorse
  • Impostazioni
  • Cartella Web

Sono presenti anche due nuove cartelle:

  • Progetto – Codice sorgente dell’applicazione (equivalente a .4db)
  • userPreferences.<nome> – Contiene i file delle configurazioni memorizzate dall’utente(ad esempio, posizioni dei punti di interruzione, posizioni delle finestre, ecc.) Leggere la documentazione

Convertire un database binario esistente

È possibile creare un database di progetto creando un nuovo database di progetto vuoto o esportando un database binario esistente (.4db) in una cartella di progetto. Per convertire un database binario esistente, basta fare clic sulla voce di menu File > Esporta > Struttura in progetto. Al termine, viene visualizzato un messaggio per informare l’utente del completamento della conversione. 4D segnala anche se sono stati rilevati errori che richiedono il vostro intervento. Ad esempio, nel caso di vecchi oggetti modulo non più supportati. Leggere la documentazione

Post Conversione

Per quanto riguarda la struttura di un database binario, la descrizione dell’applicazione viene memorizzata in due file (.4DB e.4DIndx). Per un database di progetto, questa descrizione si trova nei file memorizzati nella cartella “Project”. Dopo la conversione, è possibile rimuovere i seguenti file dalla cartella Project (se lo si desidera): <database>.4db e <database>.4dIndy. I dati dei nuovi database di progetto risiedono in una cartella “Data” allo stesso livello della cartella “Project”. Pertanto, anche durante la fase di sviluppo, un file situato accanto alla cartella Dati è diverso da un file situato accanto alla struttura. Si consiglia, dopo la conversione, di creare una cartella Data allo stesso livello della cartella Project e di spostarvi i file data.4dd e data.4DIndx. Infine, per mantenere i dati separati e facilitare la distribuzione, 4D ora nomina i file con la parola “preferences” per i parametri relativi allo sviluppo, come la configurazione dell’editor di codice, mentre usa “settings” per i parametri relativi alla distribuzione, come le impostazioni di memoria o di backup.

Gestione di utenti e gruppi

Poiché i database dei progetti sono interamente basati su testo, non c’è più motivo di gestire utenti e gruppi per proteggere il codice. Questo ruolo è stato delegato al sistema di controllo delle versioni o al sistema di diritti di accesso ai file/cartelle del sistema operativo. Di conseguenza, gli utenti e i gruppi sono ora utilizzati solo per gestire l’accesso ai dati. Sono memorizzati in un file di testo chiamato “directory.json” accanto al file di dati.

Distribuzione migliorata

Non è più necessario differenziare gli Sviluppatori dagli Utenti. Pertanto, entrambi hanno ora il tipo “Utente”. Per semplificare la distribuzione, i comandi Get 4D file e File accettano ora la nuova costante Directory file, in modo da poter gestire facilmente e automaticamente il file corretto. Leggete la documentazione

Durante la conversione e la migrazione

Il file di directory verrà generato automaticamente durante il processo di conversione e collocato accanto alle impostazioni del progetto. Se finora avete usato il comando BLOB TO USERS per ripristinare gli utenti e le password, il comando genererà ora questo file di directory, senza dover modificare il codice esistente. Leggete la documentazione

Modalità utente singolo

In modalità utente singolo, gli utenti e i gruppi sono completamente disabilitati. L’utente corrente è sempre il Designer e non può essere cambiato. I diritti di accesso di utenti e gruppi all’applicazione possono essere delegati al sistema. Se si desidera mascherare il nome del Designer con l’account di sistema o con il proprio nome utente, è sufficiente richiamare il comando SET USER ALIAS. Leggete la documentazione

Modalità client/server

In modalità client-server, gli Utenti e i Gruppi sono pienamente operativi. È possibile cambiare l’utente corrente, impostare un alias, modificare una password, ecc.

Casella degli strumenti

Le pagine della casella degli strumenti Utenti e gruppi sono accessibili in tutte le modalità: utente singolo e client-server. Tuttavia, in modalità monoutente, la casella degli strumenti può essere utilizzata solo per modificare gli utenti e i gruppi che saranno utilizzati in modalità client-server.

Distribuzione dell’applicazione

La distribuzione consiste in due fasi: la compilazione del codice e la creazione dell’applicazione. È possibile compilare il database del progetto nello stesso modo in cui si compila il database binario (.4db). Non c’è alcuna differenza. L’interfaccia è la stessa e il codice macchina prodotto è lo stesso. L’unica differenza è che il risultato della compilazione viene salvato in un file binario (.4db) per i database binari e nella cartella “Project/DerivedData/CompiledCode” per i database di progetto. Non è necessario apportare alcuna modifica per creare le applicazioni (database compilato, componente, applicazione stand-alone, applicazione client/server), è possibile utilizzare il file di configurazione del database binario con il database di progetto convertito. La differenza sta nei file generati: i database di progetto hanno un file con estensione “.4dz” invece di un file “4dc”. Leggere la documentazione

Caricare in un sistema di controllo dei sorgenti

Quando si compila il database, 4D memorizza il codice compilato nella cartella “Project/DerivedData”. Si consiglia di caricare la cartella “Resources”, la cartella “WebFolder” e la cartella “Project” (senza la sottocartella “DerivedData“) in un sistema di controllo sorgente. Leggere la documentazione

I fogli di stile diventano CSS

Le possibilità dei fogli di stile sono state notevolmente migliorate. 4D si è ispirato alla grammatica e alla sintassi dei CSS per i fogli di stile dei database di progetto, adattandola alle esigenze specifiche dei moduli 4D. Ciò consente di configurare le proprietà degli oggetti dei moduli con i fogli di stile. Leggete la documentazione

Crittografia

È ora disponibile una nuova crittografia integrata dei dati per i database 4D. I dati possono essere crittografati tramite il codice o l’interfaccia utente, per tutte le tabelle o solo per quelle selezionate. Gli strumenti di crittografia di 4D si basano su una passphrase. È composta da una frase o da una combinazione di parole che viene utilizzata per generare una chiave di crittografia binaria per cifrare i dati con l’algoritmo AES. Per poter lavorare con un file di dati crittografato, la passphrase o la chiave di crittografia binaria è obbligatoria. 4D cripta i dati a livello di file, il che significa che il file di dati (4DD), il backup e il diario sono crittografati. Oltre alla sicurezza sul proprio computer, questo rende molto più sicura la copia dei backup nel cloud o su dischi esterni, poiché i dati rimangono crittografati.

Crittografare tramite il MSC

Un nuovo attributo Encryptable è disponibile per le tabelle in modalità Design. Questo attributo imposta lo stato di crittografia di una tabella, indicando che può essere crittografata. Una volta pronti a crittografare i dati, il modo più semplice per farlo è la nuova pagina Crittografa del MSC. Questa pagina fornisce tutte le funzioni necessarie per monitorare la crittografia dei dati. È possibile utilizzare questa pagina per crittografare o decrittografare il file di dati, nonché per ricrittografarlo e/o modificare la passphrase. Leggere la documentazione

Crittografia con i comandi 4D

Oltre al MSC, 4D v18 include una serie di comandi progettati per supportare la maggior parte dei requisiti di crittografia. Ad esempio, è possibile gestire la crittografia con il comando Encrypt data file() o utilizzare il comando provideDataKey() per fornire la chiave di crittografia dei dati a un file di dati aperto. È anche possibile utilizzare il comando encryptionStatus() per verificare se il file di dati aperto è criptato o meno e se è stata fornita una chiave di crittografia dei dati valida. L’elenco completo dei comandi è disponibile nel Doc center. Leggere la documentazione

Per maggiori dettagli sugli strumenti e sulle tecniche integrate per creare un ambiente sicuro per le vostre applicazioni aziendali, consultate la nostra Guida alla sicurezza.

4D per iOS

4D per iOS è una soluzione che consente di estendere le applicazioni aziendali ai dispositivi mobili. 4D per iOS è completamente integrato in 4D, quindi non è necessaria alcuna installazione aggiuntiva (tranne Xcode) né alcuna esperienza precedente. Ecco le funzionalità che verranno distribuite con questa versione:

Creare, modificare, cancellare

La modifica dei dati direttamente dalla vostra applicazione è ora possibile grazie alle azioni. Ciò significa che i vostri utenti possono modificare i dati direttamente nella vostra app iOS. Per proteggere la logica aziendale, ogni “azione” viene inviata a 4D ed esegue i metodi 4D per controllare, calcolare dati aggiuntivi e infine approvare o rifiutare l’inserimento dell’utente. Inoltre, sono state fornite azioni predefinite per gestire il contenuto dell’app: Aggiungi, Modifica ed Elimina. Leggete la documentazione

Formattatori di dati

I formattatori di dati sono un concetto di recente introduzione che consente di definire tipi di dati specifici per i campi, affinché il contenuto venga visualizzato nel formato corretto. È possibile sovrascrivere rapidamente il formato predefinito dei campi per visualizzare il formato desiderato, come valuta, booleani, percentuali, date e molto altro. Ad esempio, immaginiamo di voler visualizzare un’immagine per visualizzare le fatture “pagate” e “non pagate”, ma che si adatti molto meglio all’iPhone piuttosto che una semplice casella di controllo. Leggete la documentazione

Ricerca multi-criterio

4D per iOS supporta ora la ricerca multi-criterio! Dopo aver selezionato il modello di modulo di elenco, rilasciate più campi nell’area di ricerca per attivare la ricerca multi-criterio. Quando si specificano più valori per lo stesso campo, viene utilizzato un operatore OR dietro le quinte. Ad esempio, trascinate il nome della società, il cognome e la città nell’area di ricerca per consentire all’utente di inserire una qualsiasi di queste informazioni per cercare un cliente. Leggete la documentazione

Query limitate

Un altro concetto introdotto di recente: Le query limitate. Esse consentono di filtrare i dati da sincronizzare con l’applicazione mobile. Limitare i dati alle sole fatture dell’anno scorso, ai soli clienti attivi o alla sola regione sotto la responsabilità di un responsabile vendite è incredibilmente pratico e consente di risparmiare tempo per la sincronizzazione dei dati e MOLTO spazio sull’iPhone. Leggete la documentazione

Sincronizzazione incrementale dei dati

Un altro concetto interessante incluso in 4D per iOS è la sincronizzazione incrementale dei dati. Risponde a due esigenze diverse: anche le query limitate possono generare grandi insiemi di dati, quindi 4D tiene automaticamente traccia dei record aggiornati o eliminati e aggiorna solo questi dati sul dispositivo. Inoltre, i dati non vengono aggiornati solo ogni volta che si avvia l’applicazione, ma anche ogni volta che questa passa in primo piano o in risposta a un’azione dell’utente. Leggete la documentazione

Gestire le relazioni blank

4D per iOS supporta i tipi di relazione N a Uno e Uno a N. Per le relazioni N a uno è semplice, si possono usare i campi correlati in un modulo per il telefono come campi della tabella principale. Per le relazioni Uno a N, il modulo contiene un pulsante che passa a un’altra pagina che mostra l’elenco dei record correlati, consentendo all’utente di tornare indietro con un semplice scorrimento. Leggete la documentazione

Personalizzate la vostra applicazione

Create i vostri modelli di elenchi e moduli di dettaglio

4D per iOS offre già diversi modelli di elenchi e moduli di dettaglio per coprire la maggior parte delle vostre esigenze. Ma potete anche creare facilmente i vostri modelli. Utilizzando Xcode Storybuilder, voi (o un collega con competenze in Xcode) potete creare nuovi modelli o personalizzare quelli esistenti utilizzando tutte le funzionalità offerte da iOS. Per utilizzare i modelli creati non sono necessarie competenze particolari, si possono usare come qualsiasi modello incorporato. Leggete la documentazione

Utilizzare le proprie icone

4D per iOS dispone di un’ampia libreria di icone che copre molti settori come il commercio, la finanza, l’istruzione, il governo, la sanità, l’industria, il settore immobiliare, i servizi, ecc. Leggete la documentazione

Creare un formattatore di dati personalizzato

4D per iOS include già formattatori di dati di base per date, percentuali, tempo e così via, ma è anche possibile creare formattatori di dati personalizzati e utilizzarli direttamente dall’Editor progetti. Ad esempio, è possibile creare un formattatore integerToString, che sostituisce i numeri interni con nomi, come i codici di spedizione. Oppure integerToImage, per sostituire codici come 1,2,3,4 con badge colorati che mostrano lo stato del partner. Leggete la documentazione

ORDA

4D v18 continua a migliorare ORDA con le seguenti funzionalità:

Archivio dati remoto blank

Non si è più limitati al database corrente, ora è possibile accedere a uno o più database 4D remoti pubblicati sui server 4D. Un database remoto può essere pubblicato come risorsa REST e accessibile dai client 4D. Questo database remoto è utilizzabile (in lettura/scrittura) direttamente con i concetti ORDA (che attivano le richieste REST tra client e server). Le connessioni TLS sono ovviamente supportate. È possibile limitare l’accesso a utenti 4D mirati o sviluppare i propri controlli di accesso sulle credenziali dell’utente. Anche se questo processo utilizza il server Web per accedere al server REST, non è necessaria una licenza per il server Web. Per le connessioni si utilizzano le licenze standard del client 4D. Leggere la documentazione

Registrare le richieste ORDA

Sull’oggetto ds sono disponibili nuovi metodi ORDA che aiutano a eseguire il debug e a ottimizzare il codice ORDA per ottenere una migliore comprensione delle richieste inviate. Il metodo startRequestLog() è molto flessibile poiché, se chiamato con un oggetto File, può registrare le richieste ORDA in un file o in memoria. Per interrompere la registrazione delle richieste ORDA, si può chiamare il metodo stopRequestLog(). Leggere la documentazione

Nuovo metodo per ordinare una selezione di entità

Con l’aiuto di formule, è ora possibile ordinare una selezione di entità utilizzando criteri complessi in un metodo di progetto o in un’espressione 4D. La formula valuta i criteri di ordinamento che possono essere forniti sotto forma di stringa o di oggetto Formula al metodo orderByFormula() . Leggete la documentazione

Query avanzate con le formule

Il metodo query() è stato aggiornato per supportare un oggetto Formula come parametro e restituire un nuovo oggetto di tipo EntitySelection contenente tutte le entità trovate. Ciò consente di creare criteri di ricerca più sofisticati. Leggere la documentazione

Ottimizzazione delle prestazioni in client/server

L’accesso a tabelle di grandi dimensioni (soprattutto quelle con relazioni) in modalità client/server utilizzando ORDA è stato notevolmente migliorato. Quando si utilizzano selezioni di entità in caselle di riepilogo o in cicli di codice( ad esempio, While o For each), i campi utilizzati vengono automaticamente analizzati per ottimizzare il trasferimento in rete. Le prestazioni della rete LAN sono migliorate di 2-3 volte e quelle della rete WAN sono fino a 30 volte più veloci (a seconda della rete e delle dimensioni dei record). E soprattutto, non è necessario modificare nulla nel codice, è tutto automatico.

Metodi per ottenere le informazioni sulla struttura

Sono disponibili molti metodi che consentono di ottenere informazioni sulla struttura(ad esempio, informazioni sul numero di una tabella o di un campo). Ciò può essere utile quando si integra ORDA passo dopo passo nel codice 4D classico. Tuttavia, lo scopo principale di questi metodi è quello di fornire un modo per scrivere codice generico applicabile indipendentemente dalla struttura del database. Leggere la documentazione

Segnaposto con nome per i percorsi degli attributi

È possibile utilizzare segnaposto per i percorsi degli attributi (nomi dei campi nelle tabelle). Sono disponibili due tipi: Indicizzati – inseriti come :paramIndex(ad esempio:1, :2,… con un incremento di 1) nella stringa di query e i loro valori corrispondenti sono forniti dalla sequenza di parametri valore, e Nominati – inseriti come :paramName e i loro valori sono forniti negli oggetti attributi o parametri nella stringa di query. Leggere la documentazione

Segnaposto denominati per i valori

È ora più facile scrivere query ORDA generiche grazie ai segnaposto denominati per i valori. Questi segnaposto sono forniti come parametri dell’oggetto nelle impostazioni della query e vengono sostituiti da un altro valore quando la stringa di query viene valutata. Leggete la documentazione

Linguaggio 4D e altre funzioni di programmazione

Invio di posta elettronica

È disponibile un nuovo modo per creare e inviare e-mail. La nuova funzionalità è facile da usare e anche più potente di prima (utilizzando i comandi Internet 4D). Il nuovo comando SMTP New transporter consente di configurare una nuova connessione SMTP. La creazione e l’invio di e-mail seguono tre fasi: la creazione del transporter SMTP, la creazione di un oggetto di posta e l’invio dell’e-mail. Un oggetto mail ha diverse proprietà: from, cc, bc, to, sender, textBody, htmlBody, per citarne alcune. Inoltre, è possibile aggiungere un allegato con il comando MAIL Nuovo allegato. Una volta creato, l’oggetto mail può essere inviato con il comando transporter.send() .

Registrare le conversazioni SMTP

Il comando SMTP New transporter crea una connessione tra un server SMTP (come Microsoft Exchange o Gmail) e il client e registra – in testo semplice e non criptato – tutte le loro comunicazioni. È disponibile una nuova proprietà logFile, contenente il percorso completo del file di log definito per la connessione SMTP. Il file può essere prodotto in due versioni: Una versione standard e una versione estesa. Entrambe le versioni possono essere attivate dal comando SET DATABASE PARAMETER. Leggere la documentazione

Analizzare un documento MIME, modificarlo e reinviarlo blank

Il nuovo potente parser MAIL Convert from MIME converte un’e-mail ricevuta o un documento MIME creato da 4D Write Pro in un oggetto. In questo modo è possibile modificare l’oggetto come necessario, ad esempio cambiando l’oggetto, rimuovendo/aggiungendo i destinatari, modificando il corpo, aggiungendo allegati e così via, e quindi inviare il documento. Ad esempio: Nel caso in cui si utilizzi 4D Write Pro per creare e-mail HTML con immagini statiche nel testo e si debba inviare il documento, ecco la procedura da seguire:

  • Esportare il documento di 4D Write Pro in formato MIME,
  • utilizzare il comando MAIL Convert from MIME per trasformare il MIME in un oggetto di posta,
  • quindi inviarlo tramite il comando SMTP New transporter. Leggete la documentazione

Abilitazione del debugger in modalità compilata e unita blank

Ora è possibile utilizzare il debugger 4D per eseguire il debug del codice in modalità di produzione, durante l’esecuzione del comando PROCESS 4D TAGS tramite il comando TRACE nel codice inserito tra i tag <!–#4DCODE–>. Leggete la documentazione

Creare la propria finestra di dialogo di connessione per selezionare il server blank

Ora è possibile utilizzare un’applicazione unificata per singolo utente per creare una propria finestra di dialogo di connessione per un server unito. Leggete la documentazione

Comando evento Form rielaborato blank

Il comando Form event è stato rinominato in Form event code per maggiore chiarezza. Questo perché il comando restituiva solo il codice dell’evento, mentre il nuovo comando Evento FORM restituisce un oggetto. Non è necessario modificare il codice. Il nuovo comando restituisce un oggetto con diverse informazioni. Oltre all’evento stesso, contiene anche informazioni sull’oggetto che ha scatenato l’evento, come il nome e dati aggiuntivi a seconda del tipo di oggetto. Leggere la documentazione

Notazione degli oggetti per gestire file e cartelle

Creare, modificare o eliminare file e cartelle sul disco è diventato molto più semplice e intuitivo. È stato aggiunto un nuovo comando Cartella che consente di creare un oggetto cartella da una costante, un percorso POSIX o un percorso della piattaforma. L’oggetto cartella ha proprietà(ad esempio, nome, data di modifica, ora di modifica) e metodi(ad esempio, create(), moveTo(), rename(), delete()) che consentono di creare e manipolare le cartelle. Come per le cartelle, il comando File è disponibile per gestire i file. Il nuovo oggetto file consente di accedere e manipolare gli attributi dei file. È possibile utilizzare i metodi di file per scrivere e leggere il contenuto di un file, spostarlo, cancellarlo, ecc. Leggete la documentazione

Comandi zip blank

È possibile comprimere o decomprimere i file tramite codice, senza dover ricorrere a librerie o strumenti esterni. Il nuovo comando Zip Create archive consente di creare un archivio zip passando un file, una cartella o un oggetto con dei parametri. Per decomprimere l’archivio, utilizzare il nuovo comando ZIP Read archive, che restituisce un oggetto archivio che può essere facilmente manipolato per ottenere l’elenco dei file, estrarre un file particolare o l’intero archivio. L’uso o la creazione di un archivio zippato funziona in modo simile ai nuovi comandi File e Cartella, mantenendo il codice semplice e di facile lettura. Leggete la documentazione

Recuperare la catena di esecuzione corrente

È disponibile un nuovo comando Ottieni catena di chiamate per fornire informazioni sul codice eseguito. Ciò consente di sapere a che punto del codice ci si trova, soprattutto quando un metodo chiama altri metodi, che a loro volta possono chiamare altri metodi. Il comando restituisce un insieme di oggetti, ciascuno dei quali rappresenta una fase di esecuzione e ne descrive il database, il tipo di metodo, il nome del metodo e la linea di chiamata. Il comando può essere utilizzato in tutti i contesti di esecuzione del codice, sia in modalità interpretata che compilata. Leggere la documentazione

Nuovo strumento per analizzare i log di debug

È disponibile un nuovo strumento per analizzare i log di debug. Ad esempio, potrete vedere quali sono i processi che richiedono più tempo, la catena di chiamate con il relativo tempo di esecuzione e molto altro ancora. Questo strumento è stato progettato per aiutarvi a trovare i conflitti nel vostro codice e a migliorare le prestazioni dei vostri database. Leggete la documentazione

Applicazioni 4D senza testa blank

È ora possibile lanciare un’applicazione 4D senza interfaccia (cosiddetta headless) tramite la CLI (Command Line Interface) con il nuovo parametro headless. Disponibile per tutti i tipi di applicazione: 4D, 4D Server, applicazioni standalone, remote e unite. I messaggi di errore o altre finestre di dialogo vengono automaticamente recuperati e reindirizzati a un file di log, evitando di arrestare il server. Leggete la documentazione

Preemptive

Disabilitazione del controllo della sicurezza dei thread a livello locale blank

Ora si può dire al compilatore che una parte del codice non deve essere controllata per la conformità alla non preemptive, sapendo che questa parte del codice non verrà eseguita perché fa parte di un’istruzione If o Case of e viene eseguita solo in modalità cooperativa. Per fare ciò, è necessario circondare il codice da escludere dal controllo della sicurezza dei thread con le direttive speciali %T- e %T+ come commenti. Il commento //%T- disabilita il controllo della sicurezza dei thread e //%T+ lo abilita nuovamente. Leggere la documentazione

Processi preemptive su 4D remote

I vostri processi possono essere eseguiti in modo preemptive su 4D Remote, sfruttando appieno la potenza dei computer multi-core. Dividete un’operazione in parti ed eseguitela su tutti i core disponibili, in parallelo, per ottenere i risultati più velocemente. Leggete la documentazione

Più comandi thread-safe

Grazie ai nuovi comandi thread-safe, le applicazioni possono sfruttare appieno la potenza dei computer multi-core. Di conseguenza, le risposte alle richieste simultanee sono più rapide.

I seguenti comandi 4D sono ora thread-safe: COMPRESS BLOB, EXPAND BLOB, BLOB PROPERTIES, ENCRYPT BLOB, DECRYPT BLOB,GENERATE ENCRYPTION KEYPAIR, GENERATE CERTIFICATE REQUEST, RECEIVE BUFFER, SET DEFAULT CENTURY, GET DOCUMENT ICON, TRANSFORM PICTURE, SVG EXPORT TO PICTURE, Get localized document path, Get database localization, LOCKED BY, LOG EVENT, Current client authentication, GET MEMORY STATISTICS. Leggete la documentazione

Inizio/Fine SQL in modalità preemptive

Begin SQL, End SQL e le relative istruzioni SQL utilizzate con un database interno sono ora conformi alla modalità di prelazione. Ora è possibile avviare tutte le richieste in parallelo e aumentare la velocità delle applicazioni se questi comandi vengono utilizzati per svolgere molte attività asincrone. Leggete la documentazione

Sincronizzare i processi

È possibile utilizzare Nuovo segnale – ad esempio – per delegare il lavoro a un processo cooperativo, al fine di utilizzare un comando non preemptive. Il comando crea un oggetto condiviso e consente di gestire la progressione del processo corrente con due nuovi metodi: trigger() e wait(). Leggete la documentazione

Chiamare l’evento onResize sulle sottomaschere blank

Quando un modulo contiene una o più sottomaschere, è possibile gestire direttamente l’evento on resize nel metodo della sottomaschera. Questo evento verrà attivato ogni volta che la dimensione dell’oggetto subform viene modificata all’interno del form principale. Questo può accadere:

  • Quando la forma principale viene ridimensionata.
  • Quando uno splitter modifica l’altezza o la larghezza dell’oggetto subform.
  • Quando le dimensioni di un oggetto sottomaschera vengono modificate dalla programmazione utilizzando le coordinate di OBJECT Set. Leggere la documentazione

Nuovo tipo di dati variante blank

È disponibile un nuovo comando per lanciare ogni variabile specificata come variabile variante: C_VARIANT. Il tipo di dati variante può essere utilizzato per rappresentare qualsiasi altro tipo di dati (BLOB, Boolean, Collection, Date, Longint, Object, Picture, Pointer, Real, Text, Time, Null, Undefined), ad eccezione degli array. È possibile utilizzare il comando Type per recuperare il tipo di variabile e Value per il tipo di valore. Il tipo di dati Variant aiuta a scrivere codice generico, ad esempio consentendo a un metodo di ricevere un parametro come testo o blob, senza dover usare un puntatore. Leggere la documentazione

Leggere i campi degli oggetti 4D con il motore SQL

Il motore SQL è stato aggiornato per consentire la lettura dei campi degli oggetti 4D. Per sfogliare il contenuto di un campo oggetto, la funzione SQL CAST è stata estesa per restituire una rappresentazione JSON del campo. Leggere la documentazione

Miglioramento dei test del database

I prodotti 4D possono già essere lanciati utilizzando parametri della riga di comando per consentire il test o la distribuzione automatica. Tuttavia, sono stati aggiunti nuovi parametri per offrire una maggiore flessibilità nell’apertura dei database:

-opening-mode: definisce l’apertura del database in modalità interpretata o compilata.

-create-data: consente di creare nuovi dati se il file di dati corrente non viene trovato o con un nome specifico se viene passato -data.

-user-param: invia una stringa che può essere letta dopo l’avvio del database con il comando GET DATABASE PARAMETER . Leggere la documentazione

Definire un nome alternativo per l’account utente 4D

È disponibile un nuovo comando per definire un nome personalizzato da utilizzare al posto del nome corrente dell’account utente 4D: SET USER ALIAS. Accetta una stringa come parametro. Questa stringa (alias) sostituirà il nome dell’utente 4D nell’ambiente 4D. Un alias consente di utilizzare il proprio sistema di utenti/password o una directory di utenti esterna, come Active Directory o LDAP, beneficiando comunque di tutti i concetti di identificazione degli utenti integrati in 4D. Leggete la documentazione

Esportazione di un modulo 4D classico in un modulo dinamico

È disponibile un nuovo comando FORM Convert to dynamic che consente di esportare un modulo 4D classico (memorizzato in un file .4DB) in un modulo dinamico. Si passa il nome del modulo e si riceve un oggetto che descrive il modulo. In seguito, a seconda delle esigenze, è possibile modificare le opzioni del modulo, come la dimensione dei caratteri o la posizione degli oggetti sullo schermo, o addirittura aggiungere altri oggetti prima di visualizzarlo. Leggere la documentazione

Miglioramenti al registro di debug

Il comando SET DATABASE PARAMETER è stato migliorato per consentire la registrazione solo di processi specifici, nonché di chiamate a metodi membri (metodi di collezioni o oggetti). È disponibile un nuovo selettore(Registrazione del log di debug del processo corrente) che lancia il log di debug del processo corrente. Leggete la documentazione

Moduli dinamici e ordine di inserimento

Ora è possibile definire un ordine di inserimento che non è necessariamente associato all’ordine z. Per ogni pagina della definizione del modulo, l’attributo “oggetti” contiene un elenco di elementi del modulo che sono disposti seguendo l’ordine z. A questo elenco è stato aggiunto un nuovo attributo: “entryOrder”. Esso consente di specificare un ordine di inserimento personalizzato. Se questo attributo non è definito, 4D utilizza l’ordine z(cioè l’ordine definito nell’attributo “objects”). Leggere la documentazione

Istanze multi-client

È ora possibile eseguire più client sullo stesso computer e collegarli contemporaneamente allo stesso server 4D. Ogni connessione client include ora una cartella cache separata contenente l’indirizzo IP, la porta e il codice hash della connessione. Grazie a ciò, è possibile collegare più client dalla stessa macchina a più server su macchine diverse. Non è necessaria alcuna configurazione. Leggete la documentazione

Scrivere i propri metodi per gli oggetti

Il comando Nuova formula è stato esteso per consentire la creazione di formule come oggetti. È possibile passare parametri o accedere al contenuto dell’oggetto formula. Le formule come oggetti possono eseguire calcoli per gli attributi dell’oggetto da passare a un metodo. Gli oggetti possono ora avere un proprio callback o un gestore di errori. Se utilizzate già ORDA o la classica codifica basata sulla selezione, gli oggetti sono appena diventati molto più potenti. Leggete la documentazione

Blocchi di commento 4Dblank

I commenti possono essere su una singola riga o su più righe. Ora, invece di avere molte righe precedute da //, si può semplicemente usare /* all’inizio di un commento e */ alla fine per commentare un intero blocco. È anche possibile comprimere ed espandere i commenti. Inoltre, i commenti possono essere aggiunti a qualsiasi parte di una riga, anche all’interno di una condizione if o di un ciclo. Leggere la documentazione

Supporto dell’attributo SVG “non-scaling-strokeblank

Nello standard SVG, l’attributo “non-scaling-stroke” indica che la larghezza del tratto non dipende dallo zoom o dal ridimensionamento. In altre parole, le linee di un oggetto non sono influenzate da trasformazioni e zoom. Ora abbiamo aggiunto nuovi comandi al tema “4D SVG”. È possibile definire l’attributo “non-scaling-stroke” per gli oggetti di disegno con il metodo VG_SET_STROKE_VECTOR_EFFECT. Leggete la documentazione

Comandi di amministrazione del server 4D

È stato completato l’elenco dei comandi che consentono di creare le proprie interfacce di amministrazione come finestre di dialogo sul server, sul client o anche come pagine HTML per l’accesso al Web:

  • INVIA MESSAGGIO A UTENTE REMOTO per inviare un messaggio dal server a un utente remoto.
  • Ottieni attività di processo per recuperare un elenco di sessioni utente.
  • DROP REMOTE USER per terminare una sessione utente.
  • ABORT PROCESS BY ID per interrompere un processo specifico utilizzando il suo numero univoco.
  • Ottenere l’attività del processo o le proprietà del processo per recuperare il numero univoco del processo.
  • REJECT NEW REMOTE CONNECTION (Rifiuta nuova connessione remota ) per bloccare le nuove connessioni remote.
  • Ottenere informazioni sull’applicazione per sapere se le connessioni sono state accettate o rifiutate.
  • SOAP REJECT NEW REQUESTS per bloccare le richieste SOAP.
  • WEB Ottenere informazioni sul server per sapere se le connessioni sono state accettate o rifiutate.
  • Aggiorna licenza per aggiornare una licenza. Leggere la documentazione

Ulteriori informazioni sui processi web

Sono disponibili nuove informazioni sull’URL utilizzato dai processi Web. Queste informazioni possono essere recuperate in due modi: tramite la finestra di amministrazione del server 4D o tramite il linguaggio 4D con il comando Get process activity ; un nuovo attributo “url” viene aggiunto all’oggetto processo quando il tipo di processo è un processo web. Leggete la documentazione

Il nuovo comando Ottieni informazioni sull’applicazione recupera informazioni dettagliate sull’attività e sulla configurazione di rete del database attivo. Questo comando può essere richiamato sia su un client remoto che sul server 4D. Leggete la documentazione

Rapporto rapido

Gestione dei metodi di callback

È ora possibile impostare il parametro “methodName” nel comando QR REPORT. Questo metodo è un callback che viene eseguito su ogni evento gestito:
  • qr cmd apri
  • qr cmd salva
  • qr cmd salva con nome
  • qr cmd genera
  • qr cmd impostazione pagina
  • qr cmd anteprima di stampa

Nel metodo di callback è possibile intercettare tutti gli eventi gestiti, fare qualcosa ed eseguire l’evento con il comando QR EXECUTE COMMAND. Leggete la documentazione

Gestire la spaziatura dei subtotali

Ora per ogni interruzione (subtotale) è possibile impostare un’interruzione di pagina o un’altezza di riga diversa. Nel caso di un’altezza di riga diversa, la differenza può essere espressa in punti (pt) o in percentuale (%). Leggere la documentazione

Gestione dei bordi blank

È possibile modificare l’aspetto della cornice di una cella, colonna o riga del report cambiandone il colore o lo spessore della linea. Posizionare il mouse sull’elemento che si desidera configurare, fare clic su di esso, quindi scegliere il parametro appropriato (la configurazione del bordo, lo spessore della linea e il colore) dalla finestra pop-up. Leggete la documentazione

Miglioramenti dell’interfaccia utente

Il primo miglioramento è un nuovo pulsante “Salva / Salva con nome”. La scelta di “Salva” consente di salvare il lavoro svolto aggiornando l’ultima versione salvata del file in modo che corrisponda alla versione visualizzata sullo schermo. Scegliendo “Salva con nome”, viene richiesto di salvare il lavoro in un file con un nome diverso. Il secondo miglioramento riguarda i tooltip (piccoli messaggi visualizzati al passaggio del mouse su un’area). Sono stati aggiunti alle righe del subtotale per aiutare a vedere facilmente la direzione dell’ordinamento: ascendente o discendente. Leggete la documentazione

4D Write Pro

Nuova barra degli strumenti

In 4D Write Pro è disponibile una nuova barra degli strumenti per aiutarvi nel processo di creazione del documento. Semplicemente trascinando e rilasciando un nuovo elemento dalla Libreria degli oggetti, si accede a una barra degli strumenti completa con sette diverse schede per passare rapidamente da un’azione all’altra. Leggete la documentazione

Fogli di stile di 4D Write Problank

È ora possibile gestire i propri fogli di stile per paragrafi o caratteri grazie a un paio di nuovi comandi che consentono di creare, eliminare e importare fogli di stile. Un foglio di stile per caratteri consente di definire il modo in cui un carattere (o una parola) viene visualizzato e stampato, mentre un foglio di stile per paragrafi permette di definire i colori dei margini, il padding, le tabulazioni, i bordi e molto altro ancora. Un foglio di stile è un oggetto che appartiene a un documento. Viene creato con il comando WP Nuovo foglio di stile. Una volta creato, è possibile utilizzare questo oggetto come parametro per gli attributi di WP Set. Di seguito è riportato l’elenco dei nuovi comandi che aiutano a gestire i fogli di stile:

  • WP Nuovo foglio di stile: consente di creare un foglio di stile.
  • WP ELIMINA FOGLIO DI STILE: consente di eliminare un foglio di stile.
  • WP Ottieni foglio di stile: consente di recuperare un singolo foglio di stile in base al suo nome,
  • WP Ottieni fogli di stile: riempie una raccolta di fogli di stile di un determinato tipo e infine,
  • WP IMPORTA FOGLI DI STILE: consente di importare i fogli di stile esistenti creati in un altro documento di 4D Write Pro (ad esempio come modello).

Leggete la documentazione

Convertire i documenti in formato .docx

I documenti di 4D Write Pro possono ora essere esportati in formato .docx. Per farlo, utilizzate la nuova costante wk docx con il comando esistente WP EXPORT DOCUMENT , oppure utilizzate il comando WP EXPORT VARIABLE. Leggete la documentazione

Ridimensionamento della larghezza delle colonne blank

Per consentire agli utenti finali di ridimensionare la larghezza delle colonne, è disponibile una funzione pronta all’uso. Passando il mouse sui separatori di riga, il cursore si trasforma in una doppia freccia che indica che la colonna può essere ridimensionata. Facendo clic e trascinando questi separatori, verranno ridimensionate sia la colonna destra che quella sinistra. Se si preme il tasto shift durante il trascinamento, solo le colonne di sinistra verranno ridimensionate e tutte le colonne di destra verranno spostate. Leggere la documentazione

Aggiunta e rimozione di righe e colonne blank

La gestione dell’inserimento e dell’eliminazione di righe e colonne è ora possibile grazie a quattro nuovi comandi: Per inserire righe e colonne, sono stati creati due nuovi comandi: WP Table insert rows e WP Table insert columns. Entrambi i comandi restituiscono intervalli che corrispondono alle parti create all’interno della tabella. Per rimuovere righe e colonne, sono disponibili altri due comandi: WP TABLE DELETE ROWS e WP TABLE DELETE COLUMNS. Leggete la documentazione

Altezza fissa per intestazioni e piè di pagina blank

È disponibile un nuovo attributo del documento: wk header and footer autofit per determinare se le intestazioni e i piè di pagina devono essere ridimensionati automaticamente per evitare di troncare il loro contenuto. Questo attributo può essere impostato su Vero o Falso. Nel caso di documenti creati ex novo, questo parametro sarà impostato su Vero (il ridimensionamento automatico di intestazioni e piè di pagina sarà attivato) e su Falso se si importa un documento di 4D Write Pro. Leggere la documentazione

Creare intestazioni e piè di pagina con il codice

Sono stati aggiunti due nuovi comandi: WP New header e WP New footer per consentire la creazione programmatica di intestazioni e piè di pagina. È inoltre possibile utilizzare il codice per eliminare un’intestazione e un piè di pagina con i comandi WP DELETE HEADER e WP DELETE FOOTER. Leggete la documentazione

Righello verticale di 4D Write Pro

È stato aggiunto un nuovo righello verticale. Consente agli utenti di gestire graficamente i margini verticali. Se il documento contiene intestazioni o piè di pagina, gli spazi tra questi e il corpo del documento possono essere modificati con il righello verticale. La nuova proprietà Mostra righello verticale è disponibile nell’Elenco proprietà e consente di attivare la visualizzazione del righello. Leggete la documentazione

Layout di pagina

È possibile definire con il codice le dimensioni, l’orientamento e i margini della pagina del documento. Sono disponibili nuovi attributi utilizzabili con i comandi WP SET ATTRIBUTES e WP GET ATTRIBUTES . È possibile impostare le proprietà per un intero documento di 4D Write Pro. I seguenti valori sono utilizzati per impostazione predefinita per tutte le sezioni del documento e possono essere modificati per una determinata sezione:

  • wk larghezza pagina, wk altezza pagina – per le dimensioni della pagina
  • wk orientamento pagina – per l’orientamento della pagina
  • wk margine pagina, wk margine pagina sinistra, wk margine pagina destra, wk margine pagina superiore, wk margine pagina inferiore – per i margini della pagina. Leggere la documentazione

Nuovi attributi per evitare vedove, orfani e interruzioni di pagina

Sono state aggiunte nuove opzioni a 4D Write Pro per evitare le vedove e gli orfani per i paragrafi o le tabelle e le interruzioni di pagina all’interno di paragrafi o tabelle.

Le vedove e gli orfani sono le righe all’inizio o alla fine di un paragrafo che vengono lasciate da sole in cima o in fondo alla pagina. Per evitarli, è disponibile un nuovo attributo da usare con il comando WP SET ATTRIBUTES : wk avoid widows and orphans. I valori disponibili per questo attributo sono wk true o wk false. Quando questo attributo è impostato per un paragrafo o una tabella, 4D Write Pro impedisce che questo paragrafo o tabella abbia una singola riga separata in un’altra pagina.

Per quanto riguarda le interruzioni di pagina all’interno di paragrafi o tabelle, è disponibile un nuovo attributo: wk interruzione di pagina interna. I valori disponibili sono wk evita o wk auto. Questa opzione è utile quando non si vuole che un paragrafo, più paragrafi o una tabella si interrompa su due pagine. Leggere la documentazione

Gestire le sezioni con il codice

Una sezione consente di ottenere layout diversi all’interno dello stesso documento. Ad esempio, per ogni sezione è possibile definire un diverso formato e orientamento della carta, margini diversi, intestazioni e piè di pagina diversi e così via. In questo modo si ottengono documenti complessi e ben progettati. Le sezioni possono essere manipolate dal codice con il comando WP Get sections, che consente di recuperare un insieme di sezioni nel documento. Il comando WP Get section può essere usato per recuperare la sezione corrente. Per modificare gli attributi di una sezione specifica, si può passare il riferimento della sezione ai comandi WP SET ATTRIBUTES e WP GET ATTRIBUTES. È anche possibile creare sottosezioni con il codice usando il nuovo comando WP Create subsection. Leggere la documentazione

Paginazione delle tabelle

Le tabelle di grandi dimensioni vengono ora visualizzate automaticamente su più pagine. Non è necessario contare le righe per controllare le dimensioni di una pagina o il suo orientamento, poiché le tabelle vengono suddivise dinamicamente quando si verifica un’interruzione di pagina o di colonna. Il comando WP INSERT BREAK è stato aggiornato per supportare una nuova costante: wk paragraph break. Leggete la documentazione

Espressioni 4D supportate nelle immagini ancorate

Un’espressione 4D valida può essere associata a un’immagine ancorata con il nuovo attributo wk image expression, che offre una flessibilità ancora maggiore. È sufficiente impostare questa costante per qualsiasi immagine ancorata per definire un metodo che restituisca un’immagine. Leggete la documentazione

Ottenere le coordinate in un documento 4D Write Pro

Ora è possibile ottenere le coordinate in un documento 4D Write Pro. Il comando WP Ottieni posizione restituisce ulteriori informazioni sulla posizione corrente di un intervallo o di un riferimento a un elemento utilizzando due nuovi attributi: bounds e rangeHeight. Il primo attributo descrive il rettangolo che circonda un intervallo in base al suo tipo ( “tipo predefinito” (caratteri), “tipo paragrafo”, “tipo tabella” o “tipo immagine”). Ha anche degli attributi propri: top, bottom, left e right. Il secondo attributo descrive l’altezza del rettangolo di confine dell’oggetto. Leggere la documentazione

Struttura virtuale

Le espressioni di tabella e di campo inserite nei documenti di 4D Write Pro supportano ora la definizione della struttura virtuale del database. Ciò avviene con i comandi SET TABLE TITLES(…;*) e SET FIELD TITLES(…;*). Anche l’editor di formule supporta la struttura virtuale e, poiché 4D imposta automaticamente l’interfaccia utente in base alle impostazioni del sistema, l’editor di formule verrà visualizzato nella lingua dell’utente. Leggere la documentazione

Collegamenti in un documento 4D Write Pro

WP SET LINK consente di impostare gli URL e dà anche la possibilità di invocare un metodo dall’applicazione 4D (con parametri) o di puntare ai segnalibri dal documento. Il nuovo comando WP Get links restituisce una raccolta di tutti i collegamenti presenti in un documento, con una sola chiamata. Ogni collegamento della collezione è un oggetto con una descrizione del collegamento nei suoi attributi. Leggete la documentazione

Gestire le proprietà delle viste

Le proprietà delle viste possono essere gestite dalla programmazione. Il comando WP SET VIEW PROPERTIES consente di impostare dinamicamente una o più proprietà di visualizzazione dell’area di 4D Write Pro. Le impostazioni possono essere restituite in un oggetto con tutte le proprietà della vista tramite il comando WP Get view properties. Leggete la documentazione

Impostazioni delle schede

Le schede possono essere impostate con un insieme di stringhe, valori numerici o persino un insieme di oggetti! Se è necessario modificare solo i valori predefiniti delle schede, si può usare un oggetto con la nuova costante wk tab default (aggiunta appositamente per questo scopo). Leggete la documentazione

Altri target e comandi rinominati

I comandi elencati di seguito sono stati estesi per accettare qualsiasi tipo di target come primo parametro. Possono ancora usare un intervallo, ma ora possono anche usare un riferimento (intestazione, corpo, piè di pagina), un elemento (immagine, paragrafo) o l’intero documento come target:

  • WP IMPOSTA TESTO
  • WP INSERISCI PAUSA
  • WP INSERISCI DOCUMENTO
  • WP INSERISCI IMMAGINE
  • WP Inserisci tabella
  • WP IMPOSTA ATTRIBUTI
  • WP OTTENERE ATTRIBUTI

Inoltre, diversi comandi sono stati rinominati:

Nome precedente Nuovo nome
WP Crea intervallo di paragrafi WP Intervallo di paragrafi
WP Crea intervallo di immagini WP Intervallo immagini
WP Crea intervallo WP Intervallo testo
WP Crea intervallo tabella WP Intervallo tabella
WP Ottieni segnalibro WP Intervallo segnalibri
WP Ottieni selezione WP Intervallo di selezione

Leggere la documentazione

Vista 4D Pro

Lavorare con i documenti .xlsx utilizzando 4D View Pro

I comandi esistenti di 4D View Pro , VP IMPORT DOCUMENT e VP EXPORT DOCUMENT, sono stati migliorati. Ora supportano i file con estensione .xlsx (Microsoft Excel). È sufficiente passare il percorso del file ai comandi per essere subito operativi. Leggete la documentazione

Una barra degli strumenti in stile nastro ricca di funzionalità

Per migliorare l’interfaccia utente di 4D View Pro è disponibile una potente barra degli strumenti in stile ribbon. Permette di organizzare le funzioni di 4D View Pro in una serie di schede, per aumentare la scopribilità delle funzioni e consentire un accesso rapido ai diversi comandi. Vale la pena ricordare che questa barra degli strumenti introduce anche nuove funzioni, come le opzioni di esportazione in PDF e CSV. Leggete la documentazione

Utilizzo di metodi e campi del database

La sicurezza del database è migliorata: ora avete un controllo ancora maggiore sui dati che decidete di rendere disponibili (o meno) agli utenti finali, nonché sui campi o sui metodi che consentono l’accesso.

Per motivi di sicurezza, i comandi e le variabili non possono essere richiamati direttamente da una cella, ma è possibile accedervi attraverso metodi autorizzati che restituiscono il valore del comando o della variabile. I metodi possono essere autorizzati con il comando SET ALLOWED METHODS, le tabelle o i campi possono essere dichiarati come strutture virtuali con i comandi SET TABLE TITLES e SET FIELD TITLES. Le variabili e i comandi 4D devono essere contenuti in un metodo autorizzato. Leggete la documentazione

Controllo delle impostazioni del metodo 4D

VP SET METODI CONSENTITI è un nuovo comando che consente di specificare i parametri, il nome, il tipo e il sommario di un metodo 4D. Ora i metodi possono essere più informativi e descrittivi per gli utenti finali. Leggete la documentazione

Stampa ed esportazione in PDF blank

Ora è possibile definire opzioni specifiche di stampa per ogni foglio con il comandoVPSET PRINT INFO . Queste opzioni vengono utilizzate per preparare il documento prima dell’esportazione o della stampa in PDF. Per esportare un documento in formato PDF, è possibile utilizzare il comando VP EXPORT DOCUMENT . Le informazioni contenute in VP PRINT INFO verranno utilizzate per incorporare automaticamente tutti i font utilizzati nel documento nel file PDF generato. Per la stampa, è possibile utilizzare il comando VP PRINT. Leggete la documentazione

Convertire in SVG blank

Il comando VP Converti in immagine consente di convertire un foglio o parte di esso in SVG. L’SVG può quindi essere utilizzato all’interno di un modulo 4D per essere stampato come parte di un lavoro di stampa 4D, insieme ad altri moduli o dati. Leggete la documentazione

Aggiunta di nuovi eventi all’elenco delle proprietà blank

È disponibile una nuova serie di eventi del modulo 4D View Pro, elencati nell’elenco delle proprietà. Essi restituiscono informazioni speciali a cui si può accedere con il comando Evento FORM: “Su ridimensionamento colonna”, “Su ridimensionamento riga”, “Su clic”, “Su doppio clic”, “Su clic intestazione”, “Su cambio selezione” e “Su dopo modifica”. Quando si verifica l’evento, tutte le informazioni associate possono essere recuperate dall’oggetto restituito dal comando Evento FORM. Leggere la documentazione

Codificare un intervallo in 4D View Pro

È ora possibile creare intervalli tramite codice. Sono disponibili nuovi comandi che consentono di definire un oggetto intervallo per manipolare le celle: VP Cell, VP Cells, VP Column, VP Row, VP All, VP Combine ranges e VP Name. Leggete la documentazione

Ottenere e impostare il contenuto delle celle

È disponibile una nuova serie di comandi per riempire i documenti tramite la programmazione: VP SET VALUE, VP SET BOOLEAN VALUE, VP SET DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE, VP SET FORMULA, VP SET FIELD, VP Get value, VP Get formula. Leggere la documentazione

Dare un nome agli intervalli e alle formule

Viene introdotto un nuovo concetto: gli intervalli e le formule con nome. Con la programmazione è possibile creare due tipi di nomi:

Il primo si riferisce a un intervallo di celle a cui si può applicare un nome leggibile con il comando VP ADD RANGE NAME.

Il secondo si riferisce a una formula con il comando VP AGGIUNGI NOME FORMULA per sostituire i calcoli con nomi leggibili nei fogli di calcolo. Inoltre, crea una costante e semplifica la lettura dei calcoli nel foglio di calcolo. Leggete la documentazione

Gestire le selezioni e la cella attiva

Sono inclusi una serie di comandi che aiutano a impostare e ottenere la cella o le selezioni attive nei documenti:

  • VP Ottieni cella attiva
  • VP Ottieni selezione
  • VP IMPOSTA CELLA ATTIVA
  • VP IMPOSTA SELEZIONE
  • VP AGGIUNGI SELEZIONE
  • VP RESET SELEZIONE

Se si desidera visualizzare una cella in una posizione specifica dell’area di 4D View Pro(ad esempio, in alto a sinistra o in basso a destra), è possibile utilizzare il comando VP SHOW CELL . Leggere la documentazione

Utilizzare le collezioni per leggere e scrivere in 4D View Pro

Sono disponibili quattro nuovi comandi che consentono di leggere un gran numero di valori o formule diverse in modo più semplice, rapido e simultaneo tramite le raccolte: VP IMPOSTA VALORI, VP OTTIENE VALORI, VP IMPOSTA FORMULE e VP OTTIENE FORMULE. Per impostare valori o formule nelle celle, è sufficiente creare una raccolta in cui ogni elemento rappresenta una riga. Ogni riga è un insieme di valori di celle da impostare nelle colonne. Per la lettura, è possibile passare un intervallo di celle a VP Ottieni valori. Il comando restituisce i valori nelle raccolte corrispondenti. Leggere la documentazione

Personalizzazione dello stileblank

È possibile personalizzare programmaticamente lo stile dei documenti di 4D View Pro. Sono disponibili tre diverse opzioni. È possibile utilizzare i comandi:

  • i comandi stile predefinito per definire lo stile generale di un foglio con i comandi VP SET DEFAULT STYLE e VP Get default style, oppure
  • i comandi relativi ai fogli di stile per definire gli stili personalizzati utilizzati di frequente con i comandi VP ADD STYLESHEET, VP REMOVE STYLESHEET, VP Get stylesheet e VP Get stylesheets , oppure
  • comandi di stile di cella per definire lo stile di celle specifiche con i comandi VP SET CELL STYLE e VP Get cell style.

Inoltre, è stato aggiunto il nuovo comando VP SET BORDER per gestire i bordi di un intervallo. Leggete la documentazione

Approfondimenti sulle release R