WINDEV 2024
LES CHAÎNES : DES OPÉRATEURS PUISSANTS Les applications de gestion contiennent de nombreux traitements sur les chaines de ca- ractères. Avec WINDEV, le code sur les chaînes est clair et concis grâce aux opérateurs. • Les opérateurs + et += permettent de concaténer deux chaînes. • L’opérateur [ ] permet d’accéder facile- ment à une portion d’une chaîne. Les chaînes peuvent être comparées entre elles grâce aux opérateurs arithmétiques classiques mais également grâce à des opérateurs spécia- lisés. • Egalité : =, ~=, ~~ • Différence, supérieur, inférieur : <>, <, >=, … • Commence par : [=, [~, [~~ • Contient : [=], [~], [~~] • Termine par : =], ~], ~~] LES CHAÎNES : DES FONCTIONS PUISSANTES En plus des opérateurs, de nombreuses fonctions de haut niveau sont disponibles: • vérification d’expressions régulières • recherches • rempla- cements • mise en majuscules • extraction de portions de chaînes séparément ou vers les élé- ments d’un tableau • extraction automatique du nom du répertoire ou du nom du fichier depuis un chemin complet • conversion depuis et vers les types numériques, les dates ou les heures • ... EXEMPLE DE FONCTIONNALITÉ AVANCÉE : LA CONCATÉNATION OPTIONNELLE La concaténation optionnelle permet d’écrire un code concis. Elle permet d’ajouter un séparateur dans une construction de chaine, uniquement si ce sépa- rateur n’est pas déjà présent à l’emplacement où on veut l’ajouter. Le séparateur n’est pas doublé. Inutile de tester le séparateur est déjà présent ou non dans les chaines à concaténer. Il suffit d’entourer le séparateur de crochets [ ]. sFichier = sChemin+ [ "\" ] +sNom Ici, il est inutile de tester si le chemin de fichier finit déjà par un «\» ou non. Pratique ! LES ÉNUMÉRATIONS ET LES COMBINAISONS Vous pouvez créer des énumérations et des combinaisons pour améliorer la conception et la maintenance de votre code. ModePaiement est une Enumération Comptant Différé_30_jours Fractionné_3_fois FIN Enumération: déclaration Enumération: assistance sous l’éditeur de code: aucune erreur de saisie possible LES TABLEAUX ET LES AUTRES TYPES CONTENEURS Les tableaux du WLangage sont des éléments avancés qui permettent de gérer facilement des collections d’éléments grâce aux fonctions d’ajout, de suppression, de tri, de recherche. La mémoire nécessaire aux éléments des ta- bleaux est gérée automatiquement. Les méca- nismes de sécurité empêchent la manipulation d’éléments hors bornes. Les opérations de type ensemblistes (Filter, Map, Reduce) sont proposées. Plusieurs types conteneurs sont disponibles: tableau associatif, file, pile, liste. LES TYPES AVANCÉS Le WLangage propose en standard de nom- breux types avancés qui permettent de gérer très facilement des notions complexes : emails, flux RSS, certificats et signatures, documents XML, ressources pour les plannings et les agen- das, … PROGRAMMATION STRUCTURÉE PUISSANTE Les structures itératives et conditionnelles clas- siques de la programmation impératives sont dis- ponibles ( POUR i , BOUCLE , TANTQUE , SI , SELON …) mais chacune d’elles a été simplifiée au maxi- mum pour une écriture du code efficace et rapide. Par exemple les déclarations des variables des boucles « POUR i » sont implicites, les SELON peuvent utiliser toute la palette des comparai- sons du WLangage, … SELON RéférenceLivre CAS ”A” <= * < ”H” : Etage = 1 CAS ”H” <= * < ”P” : Etage = 2 CAS >= ”P” : Etage = 3 FIN On peut utiliser des intervalles complexes pour définir les cas. «POUR CHAQUE» (FOR EACH) Les boucles « POUR CHAQUE » parcourent tous les éléments d’un ensemble, par exemple toutes les lignes d’une table de données, tous les éléments d’un tableau, tous les champs sé- lectionnés d’une liste, toutes les sous-chaînes d’une chaîne, … POUR CHAQUE email NON LU DE ConnexionServeurMail FIN POUR CHAQUE LIGNE SÉLECTIONNÉE DE ListeOption FIN POUR CHAQUE Client AVEC Pays = ” France ” FIN 3 exemples, 1 seule façon de coder ! PROCÉDURES La programmation procédurale en WLangage est très puissante. Les procédures permettent une organisation logique du code. Une procédure du WLangage peut avoir plu- sieurs paramètres et plusieurs valeurs de re- tour. Les paramètres peuvent être optionnels, nom- més et leur nombre peut être variable. Les procédures sont récursives. Le typage est au choix souple ou strict. PROCÉDURES Automatismes (répétition, timer, thread) Syntaxes multiples (dynamic dispatch) Procédures internes (closures) Paramètres nommés Typage souple ou strict FONCTIONNALITÉS AVANCÉES DES PROCÉDURES Les procédures disposent de fonctionnalités intégrées. Les automatismes d’exécution permettent une exécution différée: dans 1 minute, dans 1 heure, après les inits,... L’exécution d’une procédure peut également être répétée. Une procédure peut se trouver dans un Timer ou dans un Thread. LAMBDA & PROCÉDURES INTERNES Les «procédures internes» et les lambdas per- mettent d’écrire une sous-procédure à l’inté- rieur d’une procédure, ce qui permet de voir le code d’un seul coup d’œil, sans jongler entre plusieurs procédures. Les variables locales de la procédure peuvent être utilisées directement dans la sous-procé- dure («closure»). Les procédures internes peuvent être utilisées dans toutes les fonctions qui nécessitent une «callback», y compris les fonctionnalités asyn- chrones. Suite >>> • WINDEV DÉVELOPPEZ 10 FOIS PLUS VITE 58
Made with FlippingBook
RkJQdWJsaXNoZXIy NDQ0OA==