WINDEV NOUVELLE VERSION 2024

WLANGAGE 094 N o u v e a u t é W D W B WM CRÉER SES PROPRES TYPES WLANGAGE : POUR UNE PROGRAMMATION PLUS RIGOUREUSE PAR DÉFAUT Exemple : votre application manipule des prix : prix d’un matériel, d’une denrée, d’une quantité. Un exemple est le tarif de poudre, qui est défini au gramme, avec 4 chiffres après la virgule. Plutôt que de définir la variable corres- pondante en type numérique et de dévoir préciser à chaque fois le nombre de chiffres après la virgule, en version 2024 il devient possible de créer un type PrixPoudre et donc ensuite de de défi- nir dans le projet des variables par ce type PrixPoudre . Pas de risque d’erreur sur le nombre de décimales. Le code est automatiquement plus clair et plus normalisé. Les attributs de compilation définis sur le type sont conservés sur toutes les variables de ce type. Les types créés sont ensuite utilisés comme les types natifs du langage. Dans notre exemple, il devient possible de créer un tableau de PrixPoudre . PrixPoudre est type : numérique ( 5 , 4 ) PROCÉDURE CalculCoutColorant ( PoidsAProduire est un réel, CouleurRAL est un entier ) : PrixPoudre Un autre exemple d’utilisation, plus avancé, est la possibilité de définir un type callback , qui précise le nombre et le type de para- mètres, et la valeur de retour attendus par la callback («delegate»). Les callbacks auront ainsi forcément le nombre de paramètres at- tendus, et la valeur de retour attendue. Gain nouveauté 2024 : Pour ne plus mélanger choux et carottes 095 N o u v e a u t é W D W B WM IMMUABILITÉ Une variable qui possède l’attribut Immuable ne peut être affectée qu’une seule fois, et plus jamais modifiée. Contrairement à une constante, cette variable peut être initialisée dans le code de manière conditionnelle. L’immuabilité est également disponible pour les paramètres de procédure. Gain apporté par la nouveauté 2024 : Gravé dans le marbre 096 N o u v e a u t é W D W B WM GESTION DU NULL En version 2024, le WLangage gère les valeurs «Null» sur tous les types. Ceci permet de manipuler plus directement les rubriques (co- lonnes) nullables des bases de données. Les variables deviennent «nullables». Tous les types du WLangage deviennent nullables: entiers, chaînes, monétaires, dates, heures,... Une variable qui peut être nullable doit être déclarée avec l’attri- but d’extension <Nullable> ou de son raccourci : un point d’inter- rogation rajouté à la suite du type. Par exemple Entier? Les conditions sur les variables nulles répondent aux standards attendus. La gestion historique du Null est conservée pour com- patibilité. Les nouveaux opérateurs ?? , ??* et ?. permettent de gérer les comportements en cas de valeur nulle. Pour éviter des conversions implicites non désirées, le compilateur génère une erreur lorsqu’une variable nullable est affectée dans une variable non nullable. Quelques exemples de code WLangage : // Déclaration de variable nullable n est entier <nullable> // Syntaxe courte n est entier? // Nouvel opérateur permettant de récupérer la variable ou une autre valeur si null v est entier = n ?? 0 // Récupère la valeur par défaut du type si n est null v est entier = n ?? * // Nouvel opérateur permettant d’appeler une procédure pour // une variable non null, sinon la ligne n’est pas exécutée s est une chaîne? = “Hello world !” r est une chaîne = s ?. Gauche ( 5 ) ?? ”” Gain apporté par la nouveauté 2024 : C’est utile parfois d’être Null 097 N o u v e a u t é W D W B WM BINDING & VARIABLE NULL Grâce aux variables nullables, il devient plus facile de réaliser un binding champ ou mémoire entre une base de données et une classe. La gestion des variables nulles est maintenant standardisée. Gain apporté par la nouveauté 2024 : Binding plus simple GESTION DU NULL 23 L e s n o u v e a u t é s W I ND E V 2 0 2 4 WE B D E V 2 0 2 4 W I ND E V Mo b i l e 2 0 2 4

RkJQdWJsaXNoZXIy NDQ0OA==