Nuova sintassi delle dichiarazioni per un autocompletamento intuitivo

Tradotto automaticamente da Deepl

Vi siete mai chiesti cosa sia la funzione di autocompletamento di 4D o perché 4D suggerisca tutte le funzioni utilizzate nel codice? Poiché un oggetto è un tipo molto generico, 4D sa solo cosa sta memorizzando in fase di esecuzione. Tuttavia, questo non è di grande aiuto quando si scrive il codice.

4D offre ora una nuova sintassi alternativa che migliora notevolmente il completamento automatico della dichiarazione delle variabili.

La nuova sintassi è molto semplice e consiste nella parola chiave “var”, nel nome della variabile e nel suo tipo.

var <variableName> : <type>

È possibile dichiarare le variabili sia con la sintassi classica che con quella nuova nello stesso database.

Per i tipi di dati

Questa sintassi può essere utilizzata per definire i tipi di dati delle variabili. Di seguito sono riportati alcuni esempi che mostrano la corrispondenza tra le due sintassi per le variabili di tipo testo, numerico e immagine.

Sintassi precedente

C_TEXT($text1;$text2)
C_LONGINT (
$num)
C_PICTURE ($pict)

Nuova sintassi

var $text1; $text2: Text
var $num : Integer
var $pict : Picture

Per le classi utente

L’idea delle classi è stata introdotta in 4D v18 R3. Se non l’avete ancora fatto, dovreste leggere questo post del blog.

Finora, tutte le istanze di una classe venivano dichiarate come oggetto. Ora, con la nuova sintassi, è possibile definire a quale istanza di classe appartiene l’oggetto utilizzando il comando cs e il nome della classe. In questo modo si accede alle funzioni e agli attributi della classe.

Sintassi precedente

C_OBJECT($person)
$person :=cs.Person.new()

Nuova sintassi

var $person : cs.Person
$person :=cs.Person.new()

Per le classi 4D

Oggetti come File o Folder sono oggetti appartenenti a classi 4D interne. È possibile accedervi con il comando 4D.

Sintassi precedente

C_OBJECT($folder)
$folder :=Folder(Current resource folder)

Nuova sintassi

var $folder : 4D.Folder
$folder :=Folder(Current resources folder)

blank

E ORDA?

In un precedente post del blog, abbiamo mostrato che è possibile sovrascrivere le classi ORDA (Dataclass, Entity e Entity selection) con le proprie classi. È inoltre possibile utilizzare questa nuova sintassi per usufruire del completamento automatico.

Sintassi precedente

C_OBJECT($dataclass)
C_OBJECT (
$entity)
C_OBJECT ($entitySelection)

Nuova sintassi

var $dataclass : cs.Company
var $entity : cs.CompanyEntity
var $entitySelection : cs.CompanySelection

blank

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.