Nouvelle syntaxe de déclaration pour une autocomplétion intuitive

Traduit automatiquement de Deepl

Vous êtes-vous déjà interrogé sur la fonction d’autocomplétion de 4D ou vous êtes-vous demandé pourquoi 4D suggère toutes les fonctions utilisées dans le code ? Comme un objet est un type très générique, 4D ne sait que ce qu’il stocke réellement au moment de l’exécution. Cependant, cela ne vous aide pas beaucoup lorsque vous écrivez votre code.

4D propose désormais une nouvelle syntaxe alternative qui améliore considérablement l’autocomplétion lors de la déclaration de vos variables.

La nouvelle syntaxe est très simple et se compose du mot-clé « var », du nom de la variable et de son type.

var <variableName> : <type>

Vous pouvez déclarer des variables avec la syntaxe classique et la nouvelle syntaxe dans la même base de données.

Pour les types de données

Cette syntaxe peut être utilisée pour définir les types de données des variables. Voici quelques exemples montrant la correspondance entre les deux syntaxes pour les variables de type texte, numérique et image.

Ancienne syntaxe

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

Nouvelle syntaxe

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

Pour les classes d’utilisateurs

L’idée des classes a été introduite dans 4D v18 R3. Si vous ne l’avez pas encore fait, vous devriez lire cet article de blog.

Jusqu’à présent, toutes les instances d’une classe étaient déclarées comme un objet. Maintenant, avec la nouvelle syntaxe, vous pouvez définir à quelle instance de classe votre objet appartient en utilisant la commande cs et le nom de votre classe. Cela vous donne accès aux fonctions et attributs de la classe.

Ancienne syntaxe

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

Nouvelle syntaxe

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

Pour les classes 4D

Les objets tels que File ou Folder sont des objets appartenant à des classes 4D internes. Vous pouvez y accéder avec la commande 4D.

Syntaxe précédente

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

Nouvelle syntaxe

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

blank

Qu’en est-il d’ORDA ?

Dans un précédent article de blog, nous vous avons montré que vous pouvez remplacer les classes ORDA (Dataclass, Entity et Entity selection) par vos propres classes. Vous pouvez également utiliser cette nouvelle syntaxe pour profiter de l’autocomplétion.

Ancienne syntaxe

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

Nouvelle syntaxe

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

blank

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.