Suggerimenti

Una classe per gestire facilmente le sottoforme

Tradotto automaticamente da Deepl

Sul forum sono state fatte diverse richieste, suggerimenti o domande sulla visualizzazione di un messaggio, di una clessidra o di alcuni elementi dell’interfaccia in primo piano in un modulo, sfocando il resto. È possibile creare questo tipo di interfaccia con moduli secondari e moduli di chiamata. Il codice può diventare complicato se si lavora con un modulo a più pagine.

Per facilitare il lavoro, Vincent De Lachaux ha preparato una classe che semplifica la gestione delle sottoforme visualizzate in un modulo a più pagine. Si occupa di caricare al volo la sotto-forma, di controllarla da un worker e di riposizionarla se la forma principale viene ridimensionata. È possibile concentrarsi sui dialoghi senza preoccuparsi della meccanica.

Prodotto blank

Incontro con la funzione distinta migliorata

Tradotto automaticamente da Deepl

Recuperare l’elenco degli elementi unici dei dati è sempre utile quando si manipolano i dati. In alcuni casi, recuperare il numero di occorrenze di ciascun valore è essenziale. La funzione distinct delle classi di selezione Collection ed Entity consente di recuperare un elenco di valori univoci. Con 4D v20, è possibile recuperare anche il numero di occorrenze di ciascun valore distinto.

E non è tutto!

Un oggetto del database può essere utilizzato per salvare i dati personalizzati inseriti dall’utente. Quindi, dal punto di vista del codice, è necessario conoscere tutti i possibili percorsi dell’oggetto. La funzione distinctPaths è stata aggiunta alla classe Entity selection.

Ecco tutto ciò che occorre sapere.

Suggerimenti blank

Suggerimenti e trucchi per le applicazioni 4D – Edizione di settembre

Tradotto automaticamente da Deepl

di Add Komoncharoensiri, Direttore dei servizi tecnici di 4D Inc.

Eccoci con un’altra serie di suggerimenti e trucchi.

Come sapete, la Knowledge Base di 4D è una libreria di informazioni sulla tecnologia 4D in cui vengono pubblicati attivamente consigli tecnici settimanali e note tecniche mensili. Se vi siete persi gli ultimi suggerimenti sulla KB, non c’è problema; ecco una raccolta delle ultime settimane.

Questo post copre 16 suggerimenti:

Suggerimenti blank

Nuovi suggerimenti e trucchi per le applicazioni 4D

Tradotto automaticamente da Deepl

di Add Komoncharoensiri, Direttore dei servizi tecnici di 4D Inc.

Come sapete, la Knowledge Base di 4D è una libreria di informazioni sulla tecnologia 4D in cui vengono pubblicati attivamente consigli tecnici settimanali e note tecniche mensili. Se vi siete persi gli ultimi suggerimenti sulla KB, non c’è problema; ecco una raccolta delle ultime settimane.

Questo post copre 12 suggerimenti:

Prodotto blank

Un modo semplice per gestire i parametri

Tradotto automaticamente da Deepl

Nella dichiarazione di una funzione o di un metodo, si definiscono esplicitamente i suoi parametri. Poi, quando si chiama quella funzione o quel metodo, si possono passare meno parametri se alcuni sono opzionali. Oppure, se si usa la dichiarazione con ${n}, il numero di parametri passati è variabile. In questo caso, si usa il comando Count Parameters con un ciclo sugli argomenti. Questo codice funziona perfettamente. Tuttavia, è un po’ pesante.

Ci avete chiesto un modo più leggero per gestire i parametri e vi abbiamo ascoltato. A partire da 4D v19 R5, vi forniamo un nuovo comando, Copy parametersche consente di scrivere un codice più semplice, elegante e facile da leggere.

Prodotto blank

Accedere alle classi dei componenti dal progetto host

Tradotto automaticamente da Deepl

I componenti possono ora pubblicare classi! E ancora meglio, se la vostra applicazione è ancora in modalità binaria, potete ora beneficiare delle classi e dello sviluppo orientato agli oggetti utilizzando un componente (in modalità progetto) per creare le vostre classi e utilizzarle dalla vostra applicazione (basata sulla modalità binaria).

Prodotto blank

Saltare rapidamente alle diverse funzioni di una classe

Tradotto automaticamente da Deepl

Leclassi sono state introdotte con 4D v18 R3. Esse consentono di organizzare la logica aziendale e di separarla più rapidamente dalla parte dell’interfaccia utente.

Le classi sono composte da diverse funzioni di lunghezza variabile, quindi non è sempre facile trovare la funzione che si desidera modificare o passare da una funzione all’altra. È possibile utilizzare l’explorer, che visualizza classi e funzioni, ma quando si sta codificando nella finestra dell’editor non si vuole perdere tempo a cambiare finestra.

Con 4D v19 R4, l’elenco delle funzioni della classe viene visualizzato nella barra degli strumenti dell’editor di codice, consentendo di passare facilmente a una funzione specifica.

Prodotto blank

Serve una bacchetta magica? Ecco le proprietà di classe calcolate!

Tradotto automaticamente da Deepl
L’apparizione delle classi nell’ambiente di sviluppo 4D ha reso la programmazione più moderna e più facile da scalare. Le classi consentono di definire proprietà e funzioni e supportano anche l’ereditarietà.
Nella vostra applicazione, probabilmente avete una classe per gestire dati scientifici o finanziari. Facciamo l’esempio dei dati finanziari. Supponiamo che abbiate creato delle funzioni per calcolare le tasse. Se gestite anche diversi Paesi, potreste aver utilizzato l’ereditarietà per gestire le diverse regole. Quindi, si visualizzano i risultati in una casella di riepilogo, ma se l’utente modifica uno degli attributi utilizzati nella formula, è necessario gestire questo evento per aggiornare il risultato.
Con 4D v19 R3, 4D consente di semplificare questo processo grazie alle proprietà calcolate: È possibile definire una funzione get e set per la proprietà calcolata e, quando si aggiunge la proprietà a una casella di riepilogo, tutto viene gestito automaticamente da 4D. Niente più logica aziendale nell’interfaccia utente.

Prodotto blank

Creare un attributo BLOB in un oggetto

Tradotto automaticamente da Deepl

Con l’introduzione delle classi nell’ambiente 4D, è aumentata la necessità di memorizzare i dati in oggetti e soprattutto in blob. Ecco perché 4D v19 R2 consente di incapsulare i blob negli oggetti.

Oltre all’aspetto della memorizzazione, poiché l’oggetto blob è un tipo di riferimento, le prestazioni in termini di occupazione di memoria e di velocità saranno notevolmente migliorate.

Prodotto blank

Sintassi semplice per le funzioni e i metodi della classe

Tradotto automaticamente da Deepl

L’uso delle variabili $1, $2 e $n nel codice non solo rende il codice meno leggibile, ma può anche aumentare la confusione, poiché il cervello umano può avere difficoltà a ricordare a cosa corrispondono queste variabili. La soluzione è creare una variabile con un nome comprensibile e assegnarle il valore di $1, $2 o $n.

In 4D v18 R5 c’è una buona notizia: ora è possibile assegnare un nome ai parametri quando si dichiara un metodo di progetto:

  • un metodo di progetto,
  • un trigger
  • un metodo di database
  • un metodo di un modulo
  • un costruttore di una classe
  • una funzione di una classe.

Vediamo come!