webdev® windev - Parent Directory
Transcription
webdev® windev - Parent Directory
WEBDEV WINDEV ® MOBILE ® PLATEFORMES INTÉGRÉES DE DÉVELOPPEMENT 11 Nouveaux Concepts + +111 Nouveautés +111+ Nouvelles Fonctions WLangage +111+ Nouvelles Fonctions PHP +111+ Nouvelles Fonctions Java DÉVELOPPEZ 10 FOIS PLUS VITE ® Les nouveautés V ous le savez mieux que personne: la théorie est une chose, et la pratique une autre. Les environnements PC SOFT proposent les fonctionnalités issues des besoins réels, faciles à mettre en oeuvre. Les gains sont immédiats, sans avoir à bouleverser vos habitudes. Le retour sur investissement (ROI) se chiffre en jours ou en semaines, avec un taux de réussite hors du commun. Evoluer avec WINDEV, WEBDEV et WINDEV Mobile est facile, et immédiatement rentable. Le but des versions 11 est de vous simplifier encore plus tous les aspects du cycle de vie des applications, et d’augmenter automatiquement la qualité des applications et des sites que vous créez. «Toujours plus» de fonctionnalités, de facilité, d’organisation et de sécurité, c’est ce que vous offrent les versions 11. Notre objectif est, plus que jamais, de vous aider à développer les meilleures applications au monde, meilleures et plus belles que celles de vos concurrents, pour le plus grand bénéfice des utilisateurs. 1 1 NOUVEAUX CONCEPTS 11 nouveaux concepts utiles apparaissent afin de simplifier encore le développement, le suivi et la mise au point des projets. Vous retrouverez ces concepts dans la liste des nouveautés. • Héritage d’interface: la gestion facile des IHM des grands projets • Règles métier: les définir facilement, les obtenir facilement • Tableau de Bord du projet: suivez l’état d’avancement des projets • Tests automatiques et qualimétrie • Le suivi précis du temps • Projet commun: définissez toutes les cibles dans un seul projet • IHM client: des interfaces de nouvelle génération (Vista) sans programmation • Rétro analyse de projet et de code: la reprise facile d’existant • Programmation par action prédéfinie, sans code • Web 2.0 & Ajax • 64 bits par simple recompilation. Vous aussi profitez de ces nouveautés. Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Un nouveau look L’interface des applications évolue encore et toujours facilement grâce à WINDEV 11. Vous bénéficiez de nouveaux types de champs natifs, que vous définissez facilement en quelques clics grâce au concept des «7 onglets». Ici un menu carrousel. Distinguez vos applications en offrant un look moderne. 92,9% de projets réussis Avez WINDEV, le taux de réussite de vos projets est de 92,9%, quand la moyenne de l’industrie se limite aux environs de 40%: vous avez fait le bon choix ! Les versions 11 innovent dans le respect des standards du marché, et vous permettent d’améliorer encore ce taux de réussite exceptionnel. dans quel logiciel la LEGENDE Indique nouveauté est disponible Numéro de la nouveauté Nouveauté WD = WINDEV 11 WB = WEBDEV 11 WM = WINDEV Mobile 11 001 WD WB WM ttention. Ce document s’adresse aux lecteurs qui connaissent déjà les versions 10 de WINDEV, WEBDEV et WINDEV Mobile. Si vous ne les connaissez pas, n’hésitez pas à demander les documentations complètes (en français) sur ces logiciels . A (sondage septembre 2006) FACILITEZ VOTRE RÉUSSITE WINDEV ET NOUVEAUTÉS COMMUNES À WEBDEV ET WINDEV MOBILE Cette partie présente les nouveautés communes aux 3 environnements (selon la légende du titre). Dans le compteur Indicateur de qualité globale du projet. Jauge de sauvegarde du projet, Jauge de nettoyage, 4 voyants d’avertissement: composant(s) pas à jour, erreur(s) de compilation, Warning(s), Info(s) Sous le compteur Voyant des bogues: nouveaux et total, Voyant des Tests automatiques: en erreur, total. Nouveau concept TABLEAU DE BORD DU PROJET Nouveauté Le responsable fonctionnel cherche à savoir quelles sont les évolutions demandées par les utilisateurs. Le nouveau concept de «Tableau de bord» apporte automatiquement cette vision globale de l’état d’avancement des projets, de la Qualité globale, et pour les projets déployés, des nécessités de maintenance applicative et corrective. Les différents voyants passent du vert au rouge à chaque fois qu’une partie du projet nécessite une intervention: correction de bogue, optimisation, ... Le tableau de bord séduira également le développeur au quotidien, car il permet de lancer directement les éléments affichés, et 001 WD WB WM Le Tableau de Bord du projet «Beau et indispensable». Tout responsable de projet cherche à avoir une vision globale et synthétique de l’état d’avancement des projets qu’il dirige. Tout responsable Qualité veut connaître le nombre et l’importance des bogues des projets, et en suivre l’évolution. Le compteur indique au centre la qualité du projet Compteurs de nouvelles tâches à réaliser, demandes utilisateurs, ... Information et accès aux modules d’optimisation La configuration active Etat des tests automatiques, et accès rapide aux tests et aux bugs Les composants inclus dans la configuration active Accès rapide aux workflows, à l’analyse et aux spécifications du projet Favoris et derniers éléments accédés Eléments extraits Impression du tableau de bord, et du dossier Informations sur le GDS 3 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 lui permet de créer des raccourcis vers les codes qu’il utilise régulièrement. RÈGLES MÉTIER Le Tableau de Bord est un concept majeur de ces versions 11. Détail de la partie droite du Tableau de Bord 1- Nombre de tâches et de demandes dans le CC Suivi Messagerie: nombre de messages non lus Nombre de règles métier du projet 1 2 Q ui n’a jamais vécu cette situation? Sur une application existante, vous demandez une modification sur un traitement que vous aviez défini: par exemple un calcul de statistiques qui ne donne plus le résultat attendu. Vous vous retrouvez face au développeur qui a codé (il y a des mois) ce traitement. Vous ne vous souvenez plus précisément de ce que vous lui avez demandé (les formules exactes à appliquer), et lui ne se souvient plus exactement de ce qu’il a codé... Vous devez ré-analyser le problème et le résoudre une deuxième fois. Vous perdez du temps, et le développeur aussi. Ceci ne serait pas arrivé si vous aviez décrit une règle métier... 2- Boutons d’optimisation du projet 3- Configuration active du projet (si pas de configuration, intégralité du projet) Date et numéro de version de dernière génération Liste de composants inclus dans cette configuration 3 Nouveauté 4- Trois moyens d’accéder aux éléments du projet : Sélection rapide est équivalent à Ctrl+E Favoris est la liste des favoris que vous avez définis Derniers éléments accédés 4 Les règles métier Quel développeur n’a jamais eu à re coder plusieurs fois le même traitement parce qu’il était mal défini ? Parce que les besoins exprimés par les utilisateurs n’étaient pas clairs ? Parce que le cahier des charges n’était pas assez précis, élisant au rang d’évidence ce qui demandait en réalité à être défini précisément ? Que de temps perdu, que d’utilisateurs et de clients frustrés. Détail de la partie gauche du Tableau de Bord 1 Et ensuite, après le déploiement de l’application, une fois celle-ci en exploitation, vient le temps des évolutions. La loi évolue, la concurrence également, les utilisateurs expriment de nouveaux besoins. 2 Pour que ces définitions et ces évolutions se passent de manière harmonieuse et précise, les versions 11 permettent la saisie et l’exploitation facile de «règles métier». La définition des Règles Métier permet de fixer précisément les modes de fonctionnement et fait ainsi économiser un temps précieux. Une règle métier peut être simple ou élaborée, elle précise un traitement particulier ou un mode opératoire. Par exemple: le calcul d’un taux de TVA avec ses particularités, les règles de changement de statut d’un client, la formule de calcul d’un montant de frais de port, une commission commerciale, un taux de remise, un coefficient de vétusté, une autorisation de livraison,... 3 4 1- Détail de l’onglet Projet 2- Par type d’élément du projet (fenêtre, état,...) nombre d’éléments dans le projet, nombre d’éléments extraits par moi-même, nombre d’éléments extraits par les autres développeurs. 002 WD WB WM 3- En cliquant sur un icone d’élément, la fenêtre indique le détail des extractions, ainsi que la liste des personnes les ayant effectuées. 4- Informations sur le GDS A l’usage, le Tableau de Bord devient vite indispensable ! Il permet de bénéficier d’une vision globale, même dans les phases de forte charge de travail, comme les fins de projet et les phases de recette. Le Tableau de Bord alerte lorsqu’il devient nécessaire d’exécuter les outils d’optimisation du projet (profiler, analyse des requêtes). Une alerte est également affichée sur les retards de planning. L’utilisation du Tableau de Bord vous permet de suivre sans contrainte, d’un coup d’oeil, les indicateurs d’avancement et de qualité de vos projets. Saisie de règle, ici par l’utilisateur final Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 4 Bien entendu la saisie et la gestion de ces règles est «naturelle» et non contraignante, totalement intégrée à l'environnement, et disponible à chaque fois que cela est nécessaire. Ici, visualisation des règles qui sont utilisées dans cette fenêtre; de la même manière, il est possible de savoir où une règle donnée est appliquée Portée de la règle Les règles sont bien sûr les règles définies lors de la conception du projet, dans le cahier des charges initial. Mais les règles métier vont évoluer durant le développement puis la vie de l’application. De nouvelles règles vont également naître en cours d’utilisation. Une règle peut être définie par l’architecte du projet. Elle peut aussi être définie par un développeur lors des phases de code, pour éclaircir un point d’ombre ou clarifier les méthodes suivies. Une règle peut enfin être demandée et définie directement par un utilisateur, qui définira un mode opératoire ou exprimera une demande. Règles architecte, règles développeur, règles utilisateur sont maintenant prises en compte par l’environnement avec une grande facilité. L’information est captée, circule, et est proposée par chaque éditeur à chaque fois qu’elle est nécessaire. Le développeur n’est plus seul face à son code. Chaque utilisateur peut suivre les demandes qu’il a effectuées: bogue, demande d’évolution, spécification de règle métier... (cette fonctionnalité est désactivable) COMPATIBILITÉ TOTALE AVEC LES VERSIONS PRÉCÉDENTES Cela facilite et sécurise la maintenance applicative, et permet de réduire d’une part les durées de développement en évitant les allers-retours inutiles, et d’autre part le délai de mise à disposition. La saisie et la remontée des règles décrites par les utilisateurs sont automatisées par l’application. Il suffit d’inclure un composant («feedback», que vous connaissez déjà) dans l’application pour que les utilisateurs puissent définir, illustrer et envoyer des règles métier. Aucune phase de migration n’est nécessaire entre WinDev 7.5, 8, 9 ou 10 et WinDev 11: il suffit de recompiler l’application pour qu’elle fonctionne en version 11. Il en va de même pour le passage de WebDev 7, 9 ou 10 à WebDev 11, ainsi que pour WinDev Mobile. Il suffit de recompiler. L’éditeur de règles métier vous permet de conserver la méthodologie qui vous est naturelle, s’y adapte, ce qui induit la réussite plus rapide des projets. Les composants existants (version 8 ou 9 ou 10) fonctionnent directement (sans avoir à être recompilés) avec les applications en version 11. Une version 11 ouvre directement un projet 7.5, 8, 9 ou 10. Les projets plus anciens (5.5,...) sont migrés. Et bien entendu, plusieurs versions différentes de vos environnements peuvent cohabiter simultanément sur votre PC; une licence 11 lance aussi les anciennes versions (10, 9, 8, 7.5, 5.5,...). 5 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 PROJET Nouveauté 003 WD WB WM Le projet commun Les projets créés actuellement sont souvent multi-cible. Par exemple, pour un ERP destiné à fonctionner sous Windows, il est fort probable qu’en plus de l’application qui sera le socle de la solution applicative, des commerciaux seront équipés de PDA ou de Smartphones, les magasiniers utiliseront des terminaux mobiles pour la gestion des stocks, et qu’un site Intranet et un site Internet seront mis en place. Avant les versions 11, cela obligeait à gérer 3 projets différents, un projet par cible. Technologiquement, cela nécessitait des manipulations qui bien qu’étant simples n’en étaient pas moins fastidieuses: association d’analyse, partage des composants, des classes, des états, assemblage du dossier papier... Regardez le graphe du projet et le treeview: fenêtres, pages, fenêtres mobiles... Nouveauté La description de projet : plus d’informations Grâce à ce nouveau concept des versions 11, il est maintenant facile de décrire un projet global. Par exemple, depuis WINDEV, on peut indiquer les aspects Internet, Intranet et Mobile. Le dossier sera exhaustif dès sa conception. Dans les phases d’utilisation de l’environnement, il est maintenant possible de visualiser depuis chaque environnement les éléments de chaque cible. Un projet sous WINDEV affiche les vignettes des pages WEBDEV et des fenêtres WINDEV Mobile par exemple. Cliquer sur une page WEBDEV depuis l’éditeur de projet de WINDEV ouvre la page WEBDEV (WEBDEV doit être installé sur le poste). Sont également partagés: les documents, les descriptions de workflow, les composants... La vision globale des projets est ainsi facilitée. Nouveauté 004 WD WB WM La définition d’un projet prend en compte de nombreux nouveaux paramètres, pour mieux définir et assister la «vie» de l’application: sa conception, son développement, sa maintenance, son exploitation. Parmi les informations qui sont maintenant gérées, vous trouvez: Description des équipes; Echéances; Cibles, plateformes; Niveau de sécurité attendu; Volumétrie; Méthode de travail en équipe : partage du code, de fenêtres, de classes, de procédures, d’analyses...; Paramétrage de la gestion des sources... L’intégration des documents de tout format (d’une spécification UML à un coin de nappe en papier arraché dans un restaurant, voir la nouveauté numéro 5) améliore également la documentation utile du projet. Et bien entendu les paramètres que vous connaissez déjà sont toujours gérés: charte de programmation, charte graphique, accès aux données, ... 005 WD WB WM De l’influence des nappes en papier sur la réussite des projets Nous l’avons tous fait: avec un client ou un utilisateur, au restaurant, un bout de schéma conceptuel, une règle métier, un algorithme ou simplement quelques idées griffonnées sur un bout de nappe en papier, que l’on arrache à la fin du repas. Mais la plupart du temps, ces éléments sont trop bien rangés ou perdus... Maintenant, vous pouvez scanner directement tout élément dans le projet, et ainsi l’information sera datée, conservée et partagée. Les éléments seront imprimés avec le dossier si vous le désirez. De la même manière, pour relier des informations à votre projet, vous pouvez également indiquer des liens (vers un disque, Internet, un document Word, PDF, PowerPoint...) dans la description d’un projet. Pratique: stockez et éditez tous les types de documents dans la description d’un projet 6 Lors de la création de l’installation d’une nouvelle version, une liste des modifications par rapport avec la version précédente est proposée directement par WINDEV 11. Le squelette d’informations est automatiquement déduit par l’environnement: liste des tâches terminées déduite du Centre de Contrôle de Suivi de projet, liste des bogues corrigés et des évolutions fonctionnelles déduite du Centre de Contrôle de Suivi de la Qualité, liste des éléments modifiés provenant du GDS,... En cours de développement ou lors de la création de l’install, le concepteur sélectionne et éventuellement reformule les éléments de cette liste, et ajoute les informations qu’il juge nécessaires. Sans contraintes particulières pour le concepteur, sans perte de temps, l’utilisateur est ainsi informé des nouveautés et des évolutions, et peut ainsi mieux exploiter l’application. Ces informations sont affichées lors de l’installation et ensuite accessibles depuis le menu standard «?» de l’application. Nouvel assistant de création de projet. Notez le plan sur la gauche L’affichage automatique chez l’utilisateur lors de l’installation; le texte défile seul pour attirer l’attention Nouvel assistant. La progression dans les étapes est indiquée Nouveauté 006 WD WB WM Des assistants chapitrés Petite nouveauté agréable à l’usage, certains assistants reprennent le principe des étapes numérotées. Cela donne une vue d’ensemble de l’assistant lors de son utilisation, et permet une navigation agréable. Nouveauté 007 WD WB WM L’information est ensuite consultable à loisir depuis le menu «?» Information de l’utilisateur sur les évolutions ORGANISATION Une application évolue, c’est un lieu commun. Les tâches d’exploitation, vous le savez, sont facilitées avec WINDEV, principalement en raison de l’installation «1 clic», et également du «live update» des applications déployées en 1 clic également. L’utilisateur bénéficiera donc souvent d’évolutions. Mais l’utilisateur doit savoir ce qui a été modifié entre 2 versions, afin qu’il puisse bénéficier des nouveautés. L’utilisateur doit être informé des évolutions et des nouveaux modes opératoires pour les utiliser. C’est maintenant un traitement «standard» des versions 11. L’organisation des tâches de conception et de développement est primordiale, vous le savez bien. En équipe bien sûr, mais aussi lors d’un développement effectué seul. Précurseur dans ce domaine, WINDEV propose de nouvelles fonctionnalités utiles en version 11. 7 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté 008 WD WB WM Planning: diagramme de Gantt Le Centre de Contrôle «Suivi» permet de gérer les plannings de l’équipe. L’impression des plannings sous forme de diagramme de «Gantt» est maintenant proposée. Le même projet, avec les durées réalistes Grâce à ce concept, les dates de livraison sont mieux appréhendées, les décisions de la direction générale seront plus affûtées, et clients et utilisateurs ne seront pas inutilement frustrés. Vous savez quand votre projet sera fini. Planning de projet «Gantt» Nouveauté Nouveauté 010 WD WB WM Gestion des absences des membres de l’équipe de développement 009 WD WB WM Réalisme des plannings Nous le savons tous, les plannings prévisionnels sont souvent optimistes. En général ils ne tiennent pas compte d’un ensemble de micro tâches finalement coûteuses en temps. Le centre de Contrôle de Suivi propose donc un coefficient de «réalisme», qui peut être appliqué par le chef de projet sur les plannings. La gestion des absences (déplacement, congés,...) est améliorée. Cette gestion permet d’affiner les plannings prévisionnels. Ce coefficient, spécifiable par développeur, permet de tenir compte des tâches chronophages, des oublis, du débogage supplémentaire, de la capacité intrinsèque de chaque développeur. Par exemple, un développeur débutant se verra affecter un coefficient multiplicateur 3, un développeur souvent sollicité pour la maintenance ou le support auprès des autres développeurs aura un coefficient de 2,5 , etc... En fonction de la composition de son équipe, le chef de projet peut ainsi affiner les dates prévisionnelles réalistes de disponibilité. La manipulation du planning (sous l’éditeur ou à l’impression, comme le diagramme de Gantt) par le chef de projet peut s’effectuer en affectant ou non ce coefficient. Gestion et visualisation des absences Nouveauté 011 WD WB WM Suivi du temps passé La gestion du temps est primordiale. Où passe le temps de chaque journée? Comment le savoir sans contrainte supplémentaire, sans astreindre les membres de l’équipe à une saisie fastidieuse, et sans non plus donner l’impression désagréable d’être espionné ? La saisie du temps passé sur les tâches évolue en version 11, pour plus de naturel et moins de contraintes. La tâche en cours est par Un projet, avec les durées théoriques ... Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 8 exemple rappelée à intervalle régulier; ainsi le développeur n’oublie plus de changer la tâche s’il est passé sur un sujet différent. Analyser «où passe le temps» permet à chacun d’améliorer son efficacité, et permet de planifier avec plus de réalité les futurs projets. Vous savez maintenant où est passé le temps ! Cette fonctionnalité est également très utile pour les prestataires (SSII, développeur indépendant, consultant,...) qui facturent leurs prestations au temps passé. Exemple: processus d’envoi d’email Tous les types de diagrammes L’éditeur de Modélisation Souple permet de créer des diagrammes dans différents domaines. Par exemple, il sera utilisé par l’éditeur de rétro analyse de code (voir nouveauté n° 34) L’éditeur servira également pour la matérialisation d’idées lors de séances de brain storming (remue méninge). Il sera également utile pour décrire les cheminements de documents dans l’entreprise, ou les circuits de décision... Cette fenêtre «pop up» s’ouvre (par dessus tout logiciel) après une période d’inactivé (que vous définissez) sur le PC pour vous demander confirmation de votre tâche en cours MODÉLISATION SOUPLE Nouveauté 012 GDS (GESTIONNAIRE DE SOURCES) WD WB WM Editeur de modélisation souple L’éditeur de «Modélisation souple» permet de définir des workflow, des algorithmes, des modèles objets, des topographies, des études de cas, des règles, des idées... Cet éditeur permet de définir sans contrainte les processus de l’entreprise, et les processus du logiciel à développer. Vous n’avez pas besoin d’apprendre un nouveau langage de modélisation, vous employez les termes de votre activité Parmi les améliorations de l’éditeur : permettre une liaison multiple vers tous les modèles, facilités de présentation (voir également nouveautés numéro 23 et 24). Le GDS, le Gestionnaire de Sources collaboratif, est un élément pivot du développement. En version 11 le GDS propose de nouvelles fonctionnalités, et optimise ses performances et les manipulations nécessaires sur de nombreux traitements. Nouveauté 013 WD WB WM Gestion des branches Nouvelle fonctionnalité majeure du GDS, la gestion des branches permet de gérer en parallèle plusieurs versions exploitées (ou pas) d’une même application. Le cas habituel est celui-ci: vous avez diffusé une version de votre application et vous travaillez sur la future version applicative de cette application. Mais vous souhaitez dans le même temps, reporter dans la version en clientèle les corrections de bogues que vous effectuez dans la nouvelle version et donc créer et diffuser de nouvelles versions correctives intermédiaires. Vous pourrez ainsi diffuser des versions correctives de l’application en clientèle sans effort: vous ne coderez pas 2 fois les mêmes choses. Le risque d’erreur dû au report «manuel» disparaît également. Le confort augmente, la sécurité augmente, le frein à la mise à disposition de correctifs disparaît... Exemple de workflow d’envoi d’email 9 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Un autre cas est celui d’un logiciel diffusé à grande échelle et dont certains des utilisateurs sont en versions différentes. Un autre cas est celui d’un logiciel standard dérivé en versions adaptées à certaines particularités (gestion d’une chaîne de magasins avec différences locales,...). Le nombre de branches est illimité, et il peut y avoir des «branches de branche». Une branche peut être créée à posteriori à partir de l’historique. Un assistant guide chaque étape de la création de branche. Nouveauté 014 WD WB WM Gestion des labels Un détail agréable et utile: vous pouvez nommer les versions de votre application. Au lieu d’être la version 103, ce sera la version «10.1» ou la version «Bêta1» ou encore... ce que vous désirez. Les manipulations sont alors plus intuitives. Les versions nommées Nouveauté 015 WD WB WM Recherche automatique des éléments partagés entre projets Lancement de l’assistant de report de correction Lors de l’insertion d’un nouveau projet dans le GDS, l’assistant d’ajout de projet propose maintenant automatiquement d’effectuer un lien sur les éléments déjà présents dans le GDS: vous évitez des centaines de clics lors de l’import d’un gros projet. Report de correction Le partage automatique : éléments utilisés par le projet trouvés dans d’autres répertoires Choix des éléments à reporter sur une branche Un même élément est trouvé dans 2 répertoires différents: lequel choisir ? Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 10 Nouveauté 016 WD WB WM Les composants dans le GDS Le GDS peut être utilisé comme un centre de réutilisabilité des composants. Le menu «Atelier» de la version 11 propose l’option «Ajouter un composant dans le projet depuis le GDS» et la mise à jour est automatique avec les autres éléments du GDS. Bien entendu, si vos applications utilisent des appels directs aux API système Windows 32 bits (fonction AppelDLL32, code indépendant de WINDEV), vous devrez adapter le type des paramètres de ces appels directs. Vous pourrez ainsi tirer le meilleur parti des plateformes 64 bits. Hyper File (serveur et client) supporte également le mode 64 bits, voir la nouveauté N° 55 dans la section Hyper File. HÉRITAGE ET SURCHARGE : IHM, CODE... 64 BITS Gabarit et style permettent déjà de définir la charte graphique de l’application. Mais la taille de vos projets a augmenté avec le temps et avec la montée en puissance de WINDEV. Vos projets comptent maintenant souvent 700 ou 800 fenêtres (la moyenne du nombre de fenêtres par projet est de 278). Vous souhaitez donc pouvoir effectuer facilement des modifications «en bloc» sur une partie des propriétés de certains champs d’un ensemble d’un jeu de fenêtres, mais sans modifier d’autres propriétés. WINDEV 11 vous comblera. WINDEV 11 permet de modifier facilement en bloc les propriétés de champs des fenêtres (style, position, code,...). Nouveauté Les modèles de fenêtre et de champ permettent de bénéficier facilement des concepts d’héritage et de surcharge, au niveau du code, mais également et surtout des autres propriétés des champs (position,...). 017 WD WB WM 64 bits natif et 32 bits natif : un code source unique Les systèmes d’exploitation 64 bits font leur apparition dans les PC de bureau et les serveurs. Le framework de WINDEV et le serveur d’application de WEBDEV sont également disponibles en version 64 bits. Vos applications supportent le mode 64 bits par simple recompilation, la quasi totalité des fonctions étant supportée en mode 64 bits. Vous conservez un code source unique. Partage intra et inter projets Le partage des fenêtres et des champs à l’intérieur d’un projet ou entre différents projets devient maintenant très facile. Ces nouvelles notions permettent une architecture des IHM optimisée et facilement évolutive. Nouveauté 018 WD WB WM Modèle de fenêtre («template») Un modèle de fenêtre est une fenêtre «type» que vous définissez. Vous définissez le contenu (y compris son code) et la position des champs. Par la suite, à chaque fois que vous créez une nouvelle fenêtre, celle-ci peut être basée sur un ou plusieurs modèle(s). Vous pouvez également appliquer un modèle sur une fenêtre existante. Vous normalisez ainsi la création des fenêtres. Compilation: choisissez 32 bits ou 64 bits Cette fonctionnalité de «64 bits par simple recompilation» vous fera gagner du temps lorsque vous désirez passer au 64 bits. Le partage de bibliothèques ou de composants créés en 32 bits et 64 bits est tout à fait possible. Lorsqu’un modèle est modifié, WINDEV 11 vous propose de modifier toutes les fenêtres qui utilisent ce modèle. Vous pouvez alors désolidariser chaque fenêtre du modèle, ou d’une partie du modèle (juste certains champs) ou de certains paramètres uniquement (par exemple désolidariser la position de certains champs). Voir sur ce sujet la nouveauté «Héritage de champ» ci-après. Autre nouveauté, notez qu’un code de «déclaration des globales» du modèle est géré (il devient possible de définir des variables globales directement dans un modèle). 11 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Par exemple, vous pouvez décider d’hériter des caractéristiques d’un ensemble de champs, mais changer le positionnement d’un des champs, et surcharger le code d’un autre champ du modèle. L’héritage s’effectue depuis un modèle de fenêtre ou un modèle de champ. Un modèle de fenêtre (indiqué par le cadre jaune) : certains champs sont déjà présents Un modèle de fenêtre simple: juste 2 boutons... Une fenêtre basée sur le modèle ; un lien d’héritage avec les champs du modèle est automatiquement créé (ce lien est signalé par le petit carré jaune) Nouveauté Le modèle a servi à créer une fenêtre. Le carré jaune indique les champs provenant du modèle. 019 WD WB WM Modèle de champ Un modèle de champs est un ensemble de champs réutilisables dans plusieurs fenêtres. Un modèle de champ peut être édité, et lors d’une modification du modèle, WINDEV 11 propose de modifier toutes les fenêtres qui utilisent ce modèle de champ. Un modèle de champ peut être dérivé. Nouveauté 020 WD WB WM Héritage et surcharge d’IHM, et de code Nouveauté attendue de la version 11 donc, l’héritage de «champ» est disponible depuis les modèles de champ et les modèles de fenêtre. Il ne s’agit pas seulement d’un héritage au niveau du code, mais également d’un héritage au niveau de l’IHM. Pour chaque fenêtre où le champ est utilisé, vous pouvez alors dériver le champ du modèle en désolidarisant un ou plusieurs paramètres uniquement (par exemple désolidariser la position du champ pour positionner le champ ailleurs mais conserver les autres évolutions sur le champ, comme le code ou le style). Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Un bouton a été supprimé, le bouton «Valider» a été personnalisé (taille et position), et hérite des autres propriétés du bouton (code, style,...) Ces nouvelles fonctionnalités de modèle et d’héritage facilitent grandement la gestion des grands projets. Le gain de temps est important, et la présentation des IHM facilement normalisée. Ce nouveau concept est une nouveauté majeure des versions 11. 12 Nouveauté LES ÉDITEURS Copiez les graphiques, les modèles, les workflows ! Vous le savez, les éditeurs reposent sur un référentiel commun, bâti automatiquement par l’environnement, en fonction des éléments qui sont créés, et ceci sans aucune contrainte pour le développeur, sans changer ses méthodes de travail. Ce concept permet une grande productivité et induit automatiquement une plus grande rigueur dans le développement. Pour le confort et la plus grande productivité des équipes, les éditeurs évoluent en version 11 Nouveauté 023 WD WB WM Chaque élément visualisé dans un éditeur peut être copié vers une image au format EMF (format vectoriel, qui permet donc l’agrandissement sans dégradation ni pixellisation). Cela est utile pour la réalisation d’un document, d’une présentation Powerpoint,... 021 WD WB WM Créez des choix de menu personnels dans les éditeurs Vous souhaitez lancer un autre outil ou un traitement depuis votre éditeur WINDEV ? Il suffit de rajouter ce choix dans le menu PersoMenu. Il peut s’agir d’un simple raccourci de lancement, mais également d’un passage de paramètres contextuels au projet en cours: nom du projet, répertoire,... Cela permet d’automatiser des opérations. Calculer une enveloppe ou un CRC, effectuer une copie sur le réseau, exécuter un batch... s’effectue maintenant depuis votre éditeur. Un Workflow issu de l’Editeur de Modélisation Souple de WINDEV, ici sous PowerPoint Nouveauté 024 WD WB WM Gestion de l’altitude des objets graphiques dans les éditeurs C’est mon choix ! Nouveauté Cette nouveauté est surtout utile dans l’outil de d’Analyse (modélisation de base de données) et de Modélisation Souple. Les éléments de schéma se superposent plus facilement. 022 WD WB WM Navigation facilitée dans les éditeurs La navigation dans les éditeurs est facilitée par la présence d’une nouvelle barre de navigation dynamique, activée par la combinaison de touche Ctrl+Tab. L’historique de la navigation est mémorisé, et il est facile de revenir en arrière. Détail réellement pratique, l’utilisation de Ctrl+Tab permet de parcourir et visualiser immédiatement. Lors du passage sur le nom de l’élément, cet élément est visualisé dans l’environnement. De nouvelles options de présentation Nouveauté 025 WD WB WM Editeur d’Analyse: un clic pour un fichier Il est facile de basculer entre les éléments ouverts Lors de la description d’une structure de données, l’éditeur de modélisation (analyse) permet maintenant de créer physiquement le fichier de données décrit. Il sera ainsi inutile de programmer des «HCréationSiInexistant» dans votre code. 13 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté 026 WD WB WM Nouveauté Mode plan en fenêtre 028 WD WB WM Dictionnaire OpenOffice.org en ligne dans les éditeurs Utile pour effectuer des modifications en cascade sur les libellés des champs, et également pour accéder aux différents plans d’une fenêtre, le mode «plan» permet d’éditer l’ensemble des libellés des champs d’une fenêtre et de ses plans pour les visualiser et éventuellement les modifier en bloc. Il n’est donc plus nécessaire de se déplacer dans tous les plans et onglets de la fenêtre. Le dictionnaire orthographique et grammatical de OpenOffice est maintenant accessible depuis les éditeurs. Ainsi vous pourrez taper des textes qui respectent orthographe et grammaire si ces dictionnaires sont installés sur la machine... Les erreurs orthographiques se soulignent en rouge. Ici en saisie de libellé dans les «7 onglets». EDITEUR DE CODE Le mode «plan» Nouveauté Nouveauté 029 WD WB WM Détection de code mort et orphelin 027 WD WB WM GO de page et fenêtre avec paramètres Certaines fenêtres et pages attendent des paramètres. Le test de ces fenêtres est maintenant automatique, sans avoir à programmer le passage de ces paramètres. Le «GO» de ces fenêtres et pages demande directement les paramètres attendus. Tous les développeurs le savent: plus une application «vit», plus elle est utilisée, et plus le code «vieillit». Ce n’est toutefois pas une fatalité. Le simple fait d’utiliser le WLangage permet d’éliminer une grande partie des problèmes que l’on rencontre avec les langages verbeux plus traditionnels. Malgré cela, toute application qui a vécu et donc évolué comporte du code qui n’est plus utilisé, appelé «code mort». Ce code alourdit inutilement le projet. Grâce à la nouvelle fonctionnalité de détection de code mort, il devient facile de détecter ces parties de code devenues inutiles. Vous pouvez ainsi les supprimer. Vous pouvez également marquer ces parties de code comme «utiles» si leur présence répond en fait à un besoin particulier. La demande de paramètres La liste des codes morts de l'application Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 14 Nouveauté 030 WD WB WM Références croisées: les codes appelants et les codes appelés Concernant les références croisées, vous connaissez déjà la liste des «appelants»: les codes «appelants» le traitement que vous éditez. La version 11 propose cette visualisation sous forme de treeview, et également la liste des codes «appelés»: les traitements appelés depuis le code. La bulle propose ici un assistant, une brique de code, et 3 exemples Nouveauté 032 WD WB WM Repérage immédiat de code modifié Autre nouvelle fonctionnalité très utile de l’éditeur de code, la mise en évidence des lignes modifiées depuis le début de la session ou la dernière sauvegarde d’un code. Vous pouvez bien entendu comparer 2 versions de code (entre autres) à l’aide du GDS, mais une nouvelle fonctionnalité légère fait son apparition: visualiser en temps réel les lignes qui ont été modifiées depuis la dernière sauvegarde ou depuis le début de la session. Les lignes modifiées sont facilement visibles (bande orangée en marge) Nouveauté Favoris Tous les appelés par le traitement en cours. Le treeview déroule au fur et à mesure en cliquant sur les «+» Nouveauté 033 WD WB WM 031 WD WB WM Saisie assistée encore plus riche Vous connaissez déjà la puissante saisie assistée de l’éditeur de code. Première nouveauté, l’affichage de cette assistance peut être temporairement déconnecté, afin de faciliter la lecture sur des écrans de petite taille par exemple. L’assistance à la saisie franchit encore une étape d’assistance en proposant des informations détaillant les ressources existantes sur la fonction utilisée: exemple livré, article LST, composant livré... Vous pouvez ainsi charger et utiliser cette ressource si nécessaire. Toujours afin d’augmenter encore votre confort de développement, la notion de «favori de code» fait son apparition. Avez-vous remarqué que pendant certaines périodes vous ne modifiez principalement que certaines procédures ou certains codes? Grâce à cette nouveauté, vous disposez d’un accès immédiat à ces codes. Ces «favoris» sont également proposés dans le «Tableau de Bord». Notez que les favoris ne se limitent pas au code de votre application. Ils sont également disponibles pour tous les éléments du projet: fenêtre, état, requête, modélisation souple... 15 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté 034 WD WB WM LA RÉTRO MODÉLISATION DE CODE Qui n’a jamais eu à reprendre un code ou un projet écrit par un autre développeur? Comment comprendre facilement ce code? Groupes fonctionnels La rétro modélisation va automatiquement regrouper les procédures intermédiaires des traitements analysés en «groupes fonctionnels», ceci afin de présenter une vision synthétique de l’architecture des traitements. Vous pourrez ensuite afficher le détail des groupes fonctionnels (eux-mêmes découpés en sous-groupes fonctionnels) : l’exploration d’un code inconnu s’effectue ainsi par étapes... Comment évaluer l’impact d’une modification que l’on envisage d’apporter à une application ? WINDEV propose depuis sa genèse, en 1993 (cela nous rappelle que le concept d’environnement intégré gérant le cycle de vie nous est familier depuis longtemps) de nombreux outils de documentation automatique (tels que le dossier), et un langage dont la lisibilité est sans équivalent sur le marché. Aujourd’hui la version 11 de WINDEV va plus loin en implémentant ce concept de «rétro modélisation». Depuis un code existant (procédure, méthode, pcode,...) , l’éditeur de Modélisation Souple effectue à la demande une rétro modélisation. Cette fonction est réellement utilisable car, plutôt que de tenter de rétro-modéliser un projet entier (le résultat serait difficilement lisible), cette nouvelle fonctionnalité permet, en partant d’un code, soit de décomposer fonctionnellement les traitements contenus dans ce code, soit de retrouver les parties de code qui appellent ce code ailleurs dans le projet. La décomposition fonctionnelle d'une procédure, appelée «rétro modélisation des appelés», affiche toutes les procédures appelées depuis la procédure. Elle permet de comprendre l'organisation de la procédure et de trouver où apporter des modifications. La recherche des parties de code qui appellent une procédure donnée, appelée «rétro modélisation des appelants», affiche récursivement toutes les procédures qui appellent la procédure. Elle permet d'évaluer l'impact d'une modification dans la procédure. Adaptation de la modélisation Les graphes obtenus peuvent être modifiés par l’éditeur de Modélisation Souple afin de les affiner, d'afficher le détail d'un groupe fonctionnel, de supprimer les branches inutiles (comme une fonction de trace), de rajouter des commentaires, ... et de les sauvegarder. Une mise en évidence de l'élément du projet auquel appartient chaque procédure permet par exemple de visualiser facilement l'appel d'une procédure globale depuis une procédure de fenêtre. En fonction des modifications à apporter ou du but de l’exploration des traitements, vous pouvez générer plusieurs modélisations d’une même procédure. Lien direct avec le code Pendant l’exploration de la modélisation, un simple clic sur un bouton permet d’accéder au code correspondant. Le très pratique F2 / Ctrl F2 de l’éditeur de code (descente et remontée dans le code) est également disponible depuis chaque procédure visualisée dans la rétro modélisation. RÉTRO MODÉLISATION : UN EXEMPLE CONCRET 1 2 2- A partir d'une procédure, la rétro modélisation peut générer deux types de Workflows : • la modélisation des «appelés», c'est-à-dire l'organisation interne de la procédure • la modélisation des «appelants», c'est-à-dire tous les traitements qui utilisent la procédure. 1- La fenêtre principale d'une application implémente souvent plusieurs fonctionnalités découpées en de très nombreuses procédures. La rétro modélisation permet de décider où effectuer une modification et de déterminer quelles en seront les conséquences. Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 16 Nouveauté 035 WD WB WM Ainsi le développeur visualise facilement l’appartenance de ces procédures dans la liste des procédures locales ou globales. Classement: coloration des procédures Vous pouvez attribuer une couleur (de texte) à vos procédures afin de les classer et de les retrouver facilement. Un critère de tri supplémentaire est cette couleur de procédure. Cette fonctionnalité est très pratique pour s’y retrouver dans les gros projets ! Il est également possible de mettre en gras le nom de certaines procédures, par exemple pour identifier une procédure principale. Dans le cadre d’une rétro modélisation, il est possible d’affecter d’un clic une couleur à un ensemble de procédures contenu dans un regroupement. 3 Coloration des procédures; le tri par couleur est proposé 4 ... 4- En fonction de la modification à apporter, vous adaptez le graphe à vos besoins en affichant le détail des groupes fonctionnels qui vous intéressent, en supprimant les parties inutiles à votre recherche, en rajoutant des commentaires, ... Toute la puissance de l'éditeur de Workflow est à votre disposition. 3- La modélisation des «appelés» génère une vue synthétique d'une procédure complexe. Les groupes fonctionnels, détectés automatiquement, permettent d'avoir une vue générale sans entrer directement dans les détails. Il est aisé de retrouver la partie du traitement sur laquelle on veut apporter une modification. 5 6 ... 5- La modélisation des «appelants» permet de retouver rapidement tous les codes qui utilisent le traitement. Les groupes fonctionnels, détectés automatiquement, permettent de réduire l'importance de la modélisation et de retrouver plus rapidement tous les utilisateurs de la procédure. Vous pouvez alors évaluer l'impact d'une modification dans la procédure. 6- Dans ce cas également, l'éditeur de workflow vous permet d'adapter la modélisation à vos besoins en affichant le détail des groupes fonctionnels, en supprimant les parties inutiles, en rajoutant des commentaires, ... 17 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 QUALITÉ DU CODE : TEST AUTOMATIQUE Nouveauté 036 WD WB WM Test unitaire D’une manière générale, la qualité et la sécurité d’une application dépend de nombreux paramètres: complexité ou facilité du langage, programmation dans une langue étrangère non maîtrisée ou dans sa langue maternelle, complexité ou intuitivité de l’environnement, nécessité ou pas d’utiliser des logiciels en provenance de différents éditeurs, mixité de versions professionnelles et non professionnelles, générateur d’IHM permettant de limiter les erreurs des utilisateurs et les données fausses... La phase de tests automatisés n’est qu’une partie du cheminement qui amène la qualité du logiciel, mais c'est une phase importante. WINDEV propose depuis de nombreuses années un «centre de tests automatisés», qui permet de créer et rejouer des tests de validation et de non régression. La version 11 va encore plus loin, et propose maintenant en plus des tests de non régression, la réalisation de tests unitaires, de test d’intégration. Par simple enregistrement de vos manipulations, des scénarios de test sont générés. Le nouveau menu contextuel Taux de validation de l’application Le centre de tests permet d’afficher la liste des tests existants, la version de l’application sur laquelle chacun de ces tests est passé et le résultat de chaque test. Ces informations sont également affichées en mode résumé dans le «Tableau de bord» du projet. Un avantage supplémentaire de ces scénarios de test est qu’ils sont générés en WLangage. L’utilisation du WLangage comme langage de script facilite la modification éventuelle des scripts générés. Les fonctions de la famille «Pilote» font leur apparition à cet égard. Le processus de création des tests est simplifié à l’extrême. Test de fenêtre Une série de boutons «magnétoscope» apparaît sur demande, et permet de lancer et terminer l’enregistrement d’un scénario de test. Taux de validation de l’application, et détail L’éditeur de scénarios de test Boutons d'enregistrement du test Tous les tests relatifs à une fenêtre sont regroupés dans un même fichier de script, qui est sauvé avec le projet. Test de procédure et de classe Pour tester directement une procédure ou une classe, il suffit d’utiliser le menu contextuel qui propose de créer (et ensuite de rejouer) un nouveau test unitaire ! Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Les scripts générés sont donc générés en WLangage. Cela permet de les modifier plus facilement, par exemple pour ajouter ou modifier des valeurs à tester, pour ajouter une rubrique, changer un nom de base de données externe. Notez que le «renommage intelligent» est effectif dans les scripts de tests; si un nom de champ change dans le projet, le test continue de fonctionner automatiquement ! Lors de l’exécution d’un test, si une erreur est détectée dans l’application, le clic sur l’erreur d’exécution du script positionne directement dans le code à l’emplacement de l’erreur ! 18 WLANGAGE Nouveauté 037 WD WB WM Tableaux associatifs Un nouveau «type de tableau» fait son apparition dans le WLangage: le tableau associatif. Un tableau associatif permet d’indicer ses éléments par un identifiants de son choix (une chaîne, un réel, un monétaire...), et non pas forcément par un nombre. On écrira par exemple: Adresse["Hervé"]= "[email protected]" L’éditeur de scripts L'ajout et la recherche dans ce type de tableau s’effectue de manière plus intuitive. Un tableau associatif peut gérer ou non les doublons selon ses paramètres de déclaration. La vérification des tests lors des processus courants A chaque création de version client, WINDEV 11 affiche le taux de validation de l’application, et vous alerte si celui-ci n’est pas acceptable (le taux est paramétrable). Chaque élément modifié et non testé, pour lequel il existe un test, sera signalé. S’il n’existe pas de test pour une fenêtre qui a été modifiée, le Centre de Tests indique si cette fenêtre a été exécutée au moins une fois depuis la compilation. Un historique des taux de validation est automatiquement mémorisé, ce qui permet le suivi de l’évolution de la qualité de l’application. Cette vérification est également effectuée lorsque vous réintégrez des éléments dans le gestionnaire de sources. Nouveauté 038 WD WB WM Feuilles Excel Les fonctions de gestion Excel évoluent (voir également la nouveauté numéro 86). Chaque feuille de classeur est gérable. De nombreuses fonctions évoluent: taille du texte exporté, langue du document (alphabet conservé), format des nombres et des dates conservé... Nouveauté 039 WD WB WM Microsoft Office 2007 Office 2007 est pilotable depuis les versions 11. Nouveauté 040 WD WB WM WLangage: nouvelles fonctions à intérêt spécifique De nouvelles fonctionnalités du WLangage apparaissent. Les nouveautés du WLangage sont indiquées dans la partie de chaque logiciel (voir page 37, page 41 et page 45) Parmi ces nouvelles fonctionnalités, en voici quelques unes qui présentent un intérêt spécifique. Ici les tests n’ont pas été repassés malgré la modification de la fenêtre; la version 11 le signale Concaténation optionnelle La concaténation optionnelle offre une syntaxe simple et intuitive pour la construction des chaînes avec séparateurs. Finis les codes alambiqués pour construire des chaînes séparées par des tabulations ou des chemins de fichiers à partir de nom de répertoires incomplets. Pour charger le contenu d'un fichier sans se soucier de la présence ou non des \ dans le nom du répertoire ou du fichier, on écrira directement fChargeTexte(NomRepertoire + ["\"] + NomFichier) 19 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Pour construire une chaîne contenant le nom de tous les clients séparés par des tabulations, on écrira simplement ListeNoms est une chaîne POUR TOUT Client ListeNoms += [TAB] + Client.Nom FIN 2 nouvelles syntaxes POUR TOUT Simplifiez les parcours des enregistrements d'un fichier Hyper File correspondant à une valeur d'une clé composée. Par exemple, pour trouver les prospects du Rhône, plutôt que de taper : HLitRecherchePremier(Contact,TypeDepartement, HConstruitValCle (Contact,TypeDepartement,"prospect",69)) ... Ici, l’action prédéfinie est «ouvrir une fenêtre»: la prévisualisation des fenêtres du projet s’affiche il suffit de taper: POUR TOUT Contact AVEC TypeDepartement = ["prospect",69] ... FIN La syntaxe peut également être utilisée avec l'opérateur «commence par» pour ne chercher que sur le début d'une clé composée. Si par exemple on a le code postal entier et non pas uniquement le numéro du département, on pourra écrire POUR TOUT Contact AVEC TypeCodePostal [= ["prospect","69"] ... FIN Divers, mais utile ! • L’opérateur [= (commence par) est disponible sur les chaînes UNICODE • La fonction Erreur() sans paramètre est équivalent à Erreur(ErreurInfo()) • Les fonctions fListeFichier et fListeRépertoire peuvent fonctionner sans callback • GraveurAjouteRépertoire peut fonctionner sans callback, avec la possibilité de passer frRécursif, frNonRécursif et frInterruptible en paramètre de cette fonction. • HDeclare permet de rechercher l'analyse dans les WDL de l'application. • La nouvelle constante indParamètreRequête, pour les indirections sur les paramètres de requêtes, optimise les indirections de ce type. • La fonction fSupprime supporte la constante frVersCorbeille • Les fonctions «Zip» permettent de paramétrer le niveau de compression, et gèrent le format 64bits qui permet la gestion de fichier de taille supérieure à 4 Giga octets. • ... Nouveauté 041 WD WB WM Programmation par action prédéfinie La programmation par action prédéfinie, déjà disponible dans WEBDEV, fait son apparition dans WINDEV 11. Il devient possible de définir un traitement d’un clic, sans coder, en le sélectionnant simplement dans une liste. Les composants et les collections de procédures du projet sont proposées comme actions prédéfinies. Leurs paramètres sont également proposés à la saisie par l’assistant. Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Ici, une autre action prédéfinie: initialisation d’un composant; les paramètres sont indiqués dans l’interface Nouveauté 042 WD WB WM MD5: l’intégrité de données stockées (hachage cryptographique) Cet algorithme effectue un test d’intégrité sur un fichier , quel que soit son type: données, exécutable, image, install... Cette fonctionnalité est par exemple utile pour s’assurer qu’un fichier hébergé sur un site miroir n’a pas été altéré ou infesté. Le niveau de sécurité apporté par cette technologie est élevé. Les versions 11 supportent plusieurs normes de génération de clé: CheckSum: 8, 16, 32, 64 Famille MD5 : 128 Famille SHA : 160, 256, 384, 512 Famille RIPEMD : 128, 160 Famille TIGER : 128, 160, 192 Famille WHIRLPOOL. Les algorithmes de CheckSum représentent le niveau de vérification minimum, les algorithmes MD5, SHA et RIPEMD sont des fonctions de hachage cryptographiques classiques, et les algorithmes TIGER et WHIRLPOOL ont de très bonnes propriétés cryptographiques qui sont optimisées pour le 64 bit, mais peuvent être utilisées en 32 bits. 20 Pilotez vos matériels électriques depuis des applications ! Ce contrôle peut s’effectuer à distance, depuis un site Internet, depuis un Pocket PC, ou même en envoyant (et recevant) des SMS depuis un téléphone mobile. DOMOTIQUE Tout devient imaginable grâce aux versions 11 ! Nouveauté 043 WD WB WM Support de la norme X10: pilotez vos matériels électriques Les fonctions de type «Domo» font leur apparition. Ces ordres permettent de piloter et connaître l’état des périphériques accessibles à travers la ligne électrique. DomoEnvoie permet d’envoyer une commande telle que: allume, éteint, fait varier l’intensité, et ce à 1 ou plusieurs matériels électriques simultanément. DomoEtat permet de connaître l’état (allumé ou éteint) d’un matériel. DomoOuvre permet d’initialiser le dialogue entre l’application et le module d’interface (module physique de communication bi directionnelle de type CM11). Le pilotage depuis un terminal mobile doit s’effectuer en établissant une connexion (WiFi, Internet, ...) avec un PC. Depuis son Pocket PC, cette jeune femme allume le chauffage de son jaccuzzi, relève les volets électriques, et règle la température de la climatisation dans toute la maison... La domotique par courant porteur (X10) est aujourd’hui une réalité. Gérer les équipements électriques d’un bâtiment à travers le cablage électrique existant ouvre la voie à un contrôle à distance facile par programmation. Saviez-vous qu’il est possible d’utiliser une installation électrique classique, et de la transformer à bas coût en installation domotique ? Sans câblage supplémentaire, sans onde radio, vous pilotez des équipements électriques grâce à des applications créées en version 11. Il suffit soit d’utiliser une prise ou des interrupteurs adaptés (la norme X10 est utilisée), soit d’utiliser une multiprise adaptée (que l’on trouve facilement dans le commerce). Allumer une lampe, fermer des volets, éteindre un matériel ou connaître son état (éteint, allumé)... s’effectue facilement depuis une application WINDEV 11. Clin d’oeil: et maintenant il fait le café Depuis des années, lors des présentations de WINDEV, qui vous le savez gère l’intégralité du cycle de développement en standard, devant l’exhaustivité des possibilités et leur facilité de mise en oeuvre, les spectateurs posaient souvent la question: «Oui, mais fait-il le café?». Maintenant nous pouvons répondre «Oui». WINDEV 11 sait maintenant «faire le café» grâce aux nouvelles fonctions de la famille «Domo». A1 Réseau électrique Réseau X10 par courant porteur RS 232 ou USB Interface CM11 A2 A3 21 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté HYPER FILE TOUTES VERSIONS Ecriture dans une base depuis une application tierce Les moteurs de base de Données Hyper File évoluent eux aussi en version 11. Découvrez les principales nouveautés dans les pages qui suivent. Le pilote ODBC sur Hyper File est maintenant effectif en lecture et écriture. Cela permet à une application écrite dans un langage tiers de lire et d’écrire dans des fichiers Hyper File. Nouveauté Nouveauté 044 WD WB WM Le langage SQL Hyper File accepte certaines syntaxes de jointure spécifiques à SQL Server, Access, et MySQL: une requête telle que celle qui suit est maintenant acceptée par Hyper File : Dans une même requête, il est possible de définir (en utilisant le code SQL) 2 liaisons différentes entre 2 fichiers, et par extension jusqu’à n liaisons entre 2 fichiers. SELECT Client.Nom, Produit.Nom FROM Client LEFT OUTER JOIN Commande ON Client.IDClient=Commande.IDClient JOIN LigneCommande ON Commande.IDCommande = LigneCommande.IDCommande JOIN Produit ON LigneCommande.IDProduit = Produit.IDProduit 045 WD WB WM Requête multi bases Une requête (tapée en code SQL) peut fonctionner sur des bases différentes: Hyper File, Oracle, SQL Server... Il est possible d’effectuer une jointure entre une requête sur une base de données d’un type et une requête sur base de données d’un autre type. Les données peuvent donc se trouver dans des bases différentes. Vous pouvez ainsi extraire et agréger facilement des données provenant de n’importe quelle source. Cela est utile pour gérer les SI existants. Nouveauté La portabilité du code est ainsi améliorée. HYPER FILE CLIENT/SERVEUR 046 WD WB WM Nouveauté Export vers un fichier Hyper File 047 WD WB WM SQL: nouvelles fonctions supportées Les fonctions suivantes sont maintenant supportés par Hyper File: TRIM, REPLACE, TRANSLATE, CEILING, FLOOR, ROUND, TRUNC, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH, LPAD, RPAD, CONCAT, POSITION, ASCII, BIN, HEX, OCT, ... Nouveauté 048 WD WB WM Imbrication de fonctions SQL LEFT, RIGHT, MID, SUBSTR, SUBSTRING, LTRIM, RTRIM, INSTR, PATINDEX,... acceptent des expressions au lieu d’une valeur de type chaîne ou numérique dans les différents paramètres. Pratique ! Par exemple: Les procédures stockées font leur apparition en Hyper File Client/Serveur. Les procédures stockées permettent de faciliter l'évolution et la maintenance de vos applications en factorisant le code. En effet, lorsque la façon de calculer un résultat ou une règle métier contenue dans une procédure stockée évolue, il vous suffira de modifier seulement la procédure stockée sur le serveur, sans effectuer la moindre modification dans les applications déployées. Les procédures sont écrites en WLangage, et doivent être déclarées dans l’analyse. Une procédure stockée permet de limiter le nombre d’allers et retours entre le poste client et le serveur, et donc améliore également la vitesse des traitements. Une même procédure stockée peut être partagée entre plusieurs applications. Notez que dans un premier temps, seule une sélection de fonctions du WLangage est supportée dans les procédures stockées. SUBSTRING(email,INSTR(email,’@’)+1) est maintenant reconnu par Hyper File. Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 051 WD WB WM Procédures stockées Lors d’un «GO» de requête, le résultat peut être directement exporté dans un fichier de type Hyper File pour traitement ultérieur. Nouveauté 050 WD WB WM Compatibilité syntaxe spécifique SQL Server, Access et MySQL Jointures multiples Nouveauté 049 WD WB WM 22 Il est donc possible de limiter les ressources d’un poste client qui lance un grand nombre d’accès simultanés: il pénalisera ainsi moins les autres utilisateurs. Le Centre de Contrôle Hyper File permet de gérer ce paramétrage «à chaud» (sans avoir à relancer le serveur). La mise en place de cet équilibrage peut également s’effectuer «à chaud», par programmation: il n’est pas nécessaire de relancer le serveur (fonctions HPriorité, HPrioritéClient) Liste des constantes proposées pour le paramétrage, afin de régler des coefficients qui servent à faire varier l'importance de chaque compteur dans la formule de calcul de la charge engendrée par un utilisateur sur le serveur hecActif hecEnvoyé hecReçu hecDisque hecAccèsDisque hecAppelsClient hecAttenteMax Editeur d’analyse: les procédures stockées Nouveauté 052 WD WB WM Paramétrage du serveur : par le Centre de Contrôle et par programme Nouveauté Un jeu de constantes fait son apparition pour la nouvelle fonction HGèreServeur qui permet de connaître et modifier certains paramétrages du serveur Hyper File: niveau de log du serveur, taille d’un fichier de log, taille du cache fichier... Ces paramètres sont également directement modifiables via le Centre de Contrôle Hyper File. Liste non exhaustive des constantes de paramétrage: hCheminBaseDeDonnées hCheminJNL hCheminJNLBackup hPortServeur hMode2Go hTailleCacheNdx hNiveauLog hCheminLog hTailleMaxLog hPériodeStatistiquesActivité hTailleMaxStatistiquesActivité hCheminStatistiquesActivité Nouveauté chemin vers le répertoire de sauvegarde des bases chemin vers les journaux ( pour les mettre sur un autre disque ) chemin vers le répertoire de sauvegarde des journeaux ( rappel: HHistoriqueModification tient compte de ces sauvegarde ) port TCP du serveur les tables systèmes peuvent contenir plus de 2 GO de données taille du cache des index ( à chaud ) activation et niveau de détail des logs ( audit, trace...) ( à chaud ) chemin des log ( à chaud ) combien garder de log ( à chaud ) période d'échantillonnage ( à chaud ) taille maximale ( à chaud ) chemin de sauvegarde Activation/désactivation globale de l'équilibrage de charge Coef. global pour nombre d'octets envoyés sur le réseau Coef. global pour nombre d'octets reçus sur le réseau Coef. global pour nombre d'octets lus ou écrits sur disque Coef. global pour nombre d'accès au disque Coef. global pour nombre d'appels du client Temps d'attente global max (ms) pour une tâche effectué par l’équilibrage de charge sur le serveur 054 WD WB WM Statistiques d’activité et suivi des requêtes exécutées Pour mieux suivre vos applications, améliorer les performances d’accès aux données, les statistiques d’accès aux données sont importantes. Pour le service d’exploitation, ces statistiques permettent de mieux suivre les utilisateurs, leurs dérives éventuelles, ou de faire remonter au service développement des suggestions de modification applicatives pour optimiser l’accès aux ressources matérielles. Le trafic (réseau et/ou disque, reçu et/ou envoyé) par utilisateur et par connexion est analysé et mémorisé. Les compteurs disponibles sont : • nombre d'octets envoyés sur le réseau • nombre d'octets reçus sur le réseau • nombre d'octets lus ou écrits sur disque • nombre d'accès au disque • nombre d'appels du client • Nombre d’octets lus dans le cache. La période d’échantillonnage est paramétrable. 053 WD WB WM Equilibrage dynamique de charge du serveur La machine serveur qui héberge un moteur de base de données Hyper File peut être très sollicitée. Hyper File propose maintenant un partage des ressources du serveur selon 2 modes différents : Le mode «automatique», qui partage les ressources au prorata inverse du nombre d’accès au serveur. Un traitement gourmand en ressources partagera son temps d'exécution avec des traitements plus légers. Ainsi un traitement lourd ne pénalisera pas les autres accès. Le mode «prioritaire», qui partage les ressources selon une priorité définie. Un traitement avec une priorité maximale utilisera la quasi totalité des ressources du serveur. Lecture du «log» du serveur Hyper File. 23 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Le Centre de Contrôle Hyper File permet de visualiser les statistiques du serveur. Il est possible de regrouper, trier, filtrer les données selon des critères variés: fonction Hyper File (hLitPremier,...), nom de requête, code SQL de requête, durée d’exécution (pour déterminer les requêtes gourmandes en consommation), utilisateur, application, poste client... Nouveauté 055 LOTUS NOTES : SUPPORT NATIF Nouveauté 057 WD WB WM Support natif de Lotus Notes WD WB WM 64 bits (Windows) Le serveur Hyper File existe maintenant en 2 versions: mode 32 bits et mode 64 bits. Le client Hyper File existe également en mode 32 bits et en mode 64 bits. Le serveur 64 bits reconnaît les clients en mode 32 bits. De la même manière, le serveur 32 bits reconnaît les clients en 64 bits. L’accès aux mails présents sur le serveur de mails de Lotus Notes (Domino), en envoi et réception, est maintenant possible en mode natif. La programmation est simplissime: il s’agit des fonctions que vous connaissez déjà dans WINDEV ! (famille eMailEnvoie,...). Il suffit de rajouter en début de traitement une ligne de connexion au serveur Notes: eMailOuvreSessionNotes. La sécurité habituelle de Lotus Notes est bien entendu respectée, via le certificat de Lotus. L’accès aux contacts, aux rendez-vous, aux tâches et à tous les documents présents sur le serveur est facile. Il est possible en lecture et en écriture par un nouveau jeu de fonctions (famille «Notes») qui fait son apparition en WLangage (voir liste page 46). BASES DE DONNÉES TIERCES Les versions de Notes supportées actuellement sont les versions 6.0 à 7.0 (version actuelle). Les SI utilisent souvent plusieurs moteurs de Base de Données différents au sein de l'entreprise. Les versions 11 permettent de réaliser des requêtes qui utilisent simultanément différentes bases de données. Une même requête peut accéder à la fois à des données de Oracle et Hyper File par exemple. Voir la nouveauté n° 45. Nouveauté 056 WD WB WM Génération de script SQL de création de table adapté à la cible Chaque moteur de base de données a ses particularités : les types de données diffèrent selon la base. Depuis l’éditeur d’analyse, il est possible d’exporter un script de création de table qui soit adapté au moteur de base de données sur lequel il doit s’exécuter: Oracle, SQL Server, MySQL,... Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Accédez (lecture/écriture) à Lotus Notes en natif 24 Nouveauté OUTLOOK : SUPPORT NATIF Nouveauté 059 WD WB WM La souplesse Voici les possibilités offertes • Possibilité d'imprimer UPCA, UPCE, EAN13 et EAN8 sans le texte • Possibilité d'ignorer les parenthèses d'un code 128 (ou EAN 128). • Code 39 : on peut passer les caractères de start/stop (*) dans la chaîne. 058 WD WB WM Support natif de Outlook L’accès aux mails de Outlook, en envoi et réception, est maintenant également possible. La programmation est également simplissime: il s’agit des fonctions que vous connaissez déjà dans WINDEV ! (famille eMailEnvoie,...) L’accès aux contacts, aux rendez-vous et aux tâches est facile, en lecture et en écriture. Il suffit de rajouter en début de traitement une ligne de connexion au serveur Outlook: eMailOuvreSessionOutlook. La sécurité habituelle de Outlook est bien entendu respectée. Les mails sont gérés en version Express, et les emails et les contacts sont gérés en version 97. Les versions «2000» et «2007» sont supportées intégralement (mails, contacts, groupes, rendez-vous et tâches). Exemples: UPCA, EAN13, EAN 128 avec et sans texte DIVERS Nouveauté 060 WD WB WM XML L’accès natif à XML génère la DTD interne lors d’un ordre de création. Accédez (lecture/écriture) à Outlook en natif CODES BARRES Vous le savez, WINDEV, WEBDEV, WINDEV Mobile supportent la quasi totalité des formats de code barres en natif; un gain de temps certain, et des économies qui peuvent être substantielles. Vous avez demandé une souplesse d’édition accrue, la voici. Notez également que WINDEV Mobile 11 accepte maintenant les codes barres dans les états (voir nouveauté N° 95) 25 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 WINDEV Cette partie présente les nouveautés spécifiques à WINDEV. Bien entendu, les nouveautés communes (pages 3 à 25) s’appliquent également à WINDEV. INTERFACE : LE FEU D’ARTIFICE Parce que l’interface de vos applications est primordiale, parce que les utilisateurs sont plus efficaces devant de beaux écrans, les nouveautés dans le domaine de l’interface (IHM) sont nombreuses et spectaculaires. Il y a bien entendu le support automatique de Vista, mais également de nombreuses autres fonctionnalités impressionnantes. La version 11 propose également le concept de «modèles de fenêtre» en WINDEV et l’héritage d’IHM. Nouveauté Carrousel: créez un menu de ce type en 1 minute Ici le client choisit sa superbe veste Nouveauté 063 WD WB WM Le nouveau type de champ cube Le champ «cube» est un champ de décor, mobile, qui effectue automatiquement des rotations sur tous les axes. Ce champ peut par exemple être présent en petite taille dans un coin de fenêtre. Ce champ nécessite le framework DotNet 3.0 (inclus avec Vista, téléchargeable pour Windows XP) pour fonctionner. 061 WD WB WM Support natif des capacités graphiques de Vista (DotNet 3.0): WINDEV 11 propose ses champs A PC SOFT nous savons que chaque équipe de développement ne comporte pas forcément d’infographiste ni de spécialiste de codage des IHM. Alors WINDEV 11, en plus des gabarits, propose de nouveaux types de champs élaborés prédéfinis, qui tirent parti des nouvelles possibilités de VISTA (framework nommé DotNet 3.0). Nouveauté 062 WD WB WM Le nouveau type de champ carrousel Le champ «carrousel» est un menu animé composé d’images qui tournent. L’utilisateur fait défiler les images à l’aide de la souris, et sélectionne l’élément de son choix comme dans un menu. Le champ carrousel se définit par les «7 onglets», et les images qu’il contient sont modifiables par programme (fonction ListeAjoute). Ce champ nécessite le framework DotNet 3.0 (inclus avec Vista, téléchargeable pour Windows XP) pour fonctionner. Nouveauté 064 WD WB WM Le support de XAML XAML est un nouveau langage descriptif de présentation graphique. Il permet de définir la partie statique du décor des champs. WINDEV 11 assure bien entendu le support de XAML. Mais WINDEV 11 va plus loin que le simple support des fichiers descriptifs XAML en proposant de nouveaux types de champs. [Suite page 28...] Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 26 Nouveauté 065 WD WB WM Le look «VISTA» avec ou sans VISTA : sous XP, sous 2000 Windows XP Vista propose une norme de présentation des fenêtres et des champs. WINDEV 11 vous propose d’appliquer ces normes sur vos applications actuelles, tout en conservant la version actuelle de Windows sur le poste ! Vos applications fonctionnent directement sous Windows 98, NT, 2000, XP, Vista... Par le simple fait de recompiler une application en version 11 et de modifier les styles d’affichage (ou le gabarit), vos applications changeront immédiatement d’apparence sans être sous Vista! Un avantage certain pour vos applications ! Windows Windows Vista 2000 La même fenêtre sous différentes versions de Windows Nouveaux effets automatiques du moteur graphique WINDEV 11 Disponible sous Windows 98, NT, 2000, XP (et bien entendu Vista) Transparence du cadre de la fenêtre (looking glass) Les interrupteurs et sélecteurs peuvent être des images Cadre de champ avec effet de survol Halo autour du bouton en cours de survol Les cadres de champ peuvent être eux-mêmes des images Image et pictogramme de titre personnalisable Les ascenseurs peuvent être des images, et gèrent le survol Animation en n étapes sur les transitions en effet de bouton Les bandeaux de sélection peuvent être des images et gèrent le survol 27 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 [...Suite de la page 26] Le champ «tiroir» enroulé et déroulé; remarquez que les éléments qui se trouvent «sous» la barre ouverte ont été automatiquement décalés vers le bas Exemple d’utilisation du langage descriptif XAML : ici un pense-bête sur lequel on peut dessiner à la souris... Nouveauté 067 WD WB WM Nouveau champ table hiérarchique En version 11, les tables acceptent une colonne de type «treeview». Les fonctionnalités d’enroulé et déroulé sont disponibles, ce qui permet de voir ou non le détail d’un élément. Les lignes de la table apparaissent ou disparaissent (visuellement). Ce nouveau type de champ est utilisable sous toutes les versions de Windows (98 et supérieure) Une partie du code XAML à coder (pour l’exemple ci-dessus, ce code représente 680 lignes) Nouveauté 066 WD WB WM Nouveau champ tiroir Vous connaissez ce type de champ: il est utilisé abondamment par Windows XP ! Ce type de champ permet de «déplier» une fenêtre, tout en décalant automatiquement les informations situées sous la fenêtre. L’utilisateur affiche donc ou pas les informations contenues dans le champ. Si la fenêtre hôte est de taille trop petite, celle-ci pourra automatiquement être agrandie par l’action de l’utilisateur. Ce nouveau type de champ est utilisable sous toutes les versions de Windows (98 et supérieure). Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Une table, avec une colonne treeview 28 La même table déroulée Les «7 onglets» des combos Nouveauté 069 WD WB WM Table, un nouveau pcode: le tri Autre petite nouveauté mais très pratique également, les tables disposent maintenant d’un code de «tri». Il est ainsi possible de modifier facilement par programmation les critères de tri. Le code de tri Il est même possible d’indiquer un choix en cochant une case Nouveauté 070 WD WB WM Table: des titres de colonne en RTF Les titres de colonne supportent maintenant le RTF et les fonctions graphiques de la famille gXXX (Par exemple une image en fond de titre, et une image en picto sur l’image de fond). Il est possible d’inclure une image dans chaque cellule de titre, ou de changer l’image de la loupe ou du bandeau d’en-tête. IHM Nouveauté 068 WD WB WM Nouveaux paramètres pour les combos Petites nouveautés mais néanmoins utiles, il est maintenant possible de spécifier pour une combo en saisie un effacement du contenu, une fin de saisie automatique et la sélection automatique du contenu. Les titres de colonne contiennent images et mise en forme 29 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté 071 WD WB WM Bandeau de table: image en fond de bandeau Toujours afin d’agrémenter l’aspect des tables, il est possible d’indiquer une image en fond de bandeau de sélection. Notez l’image de fond et l’aspect du bandeau: bandeau de clic en girafe, bandeau de survol en vert ! Nouveauté Un ascenseur apparaît si nécessaire 072 WD WB WM Nouveauté Ascenseur dans champ de saisie Souris aimantée Toujours dans la série des nouveautés mineures intéressantes, les champs de saisie peuvent maintenant proposer automatiquement un ascenseur vertical. Cet ascenseur apparait uniquement lorsque cela devient nécessaire, pour mieux en parcourir le contenu. Nouveauté 074 WD WB WM Opacité sur les champs Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 073 WD WB WM Un champ de saisie ou un bouton peut aimanter la souris: celle-ci se placera directement sur le champ défini, soit à l’ouverture de la fenêtre, soit après le traitement de votre choix. Vous disposez donc de toute la latitude nécessaire à la mise en place et l’activation de cette mini fonctionnalité. Par rapport à la fonctionnalité présente dans Windows, vous pouvez ici limiter cette aimantation uniquement à certains champs et à certains traitements. La propriété «..Opacité» est maintenant disponible sur l’ensemble des champs. Cette propriété permet de règler le niveau de transparence des champs. Cela permet la création facile d’effets spectaculaires. 30 Nouveauté Un nouveau mode d’affichage apparaît, «homothétique sans agrandissement», qui élimine ce cas. L’image sera réduite si nécessaire, mais ne dépassera pas sa taille originelle si le champ d’accueil est trop grand. 075 WD WB WM Des liens clicables (Internet, lancement de document,...) dans les champs de saisie Il est souvent pratique de pouvoir cliquer sur un lien présent dans un texte. Cette possibilité est maintenant offerte à tous les champs de saisie et d’affichage des fenêtres WINDEV. A l’exécution, les liens sont détectés automatiquement, identifiés (soulignement en bleu) et ainsi proposés au clic de l’utilisateur ! Notez qu’il n’est pas nécessaire que le champ soit en RTF. Plus jamais ça ! Ici un lien clicable vers un site, détecté automatiquement à l’exécution WINDEV ne détériore pas la qualité de l’image Nouveauté 076 WD WB WM Bulle d’aide: RTF & fonctions «g» Les bulles d’aide (ou bulles de survol) permettent maintenant d’afficher un texte formaté en «RTF»: changements de police, de graisse, et de couleur sont possibles. Notez que les fonctions graphiques de la famille «gXXX» (gImage,...) permettent de changer le nom et les attributs de police (gPoliceNom, gPoliceGras,...). Cela rend les bulles plus lisibles et plus efficaces. Le nouveau mode Nouveauté Une bulle lisible Nouveauté 077 WD WB WM Des images harmonieuses Les développeurs s’appliquent à la réalisation d’applications fiables mais négligent trop souvent les détails de présentation. WINDEV leur simplifie déjà énormément la tâche avec les concepts de gabarit, et de style, la version 11 apporte les modèles et l’héritage. Sur le sujet de l’affichage «libre» des images, il arrivait de temps en temps que des images soient exagérément agrandies, ce qui faisait apparaitre une pixellisation excessive. 078 WD WB WM Fenêtres détourées et menus Les fenêtres détourées (de forme non rectangulaire) sont faciles à réaliser avec WINDEV et sont souvent superbes, mais elles ne pouvaient pas contenir de menu principal. Cette lacune est maintenant corrigée en version 11 et vous pouvez marier fenêtre détourée et menu, en positionnant le menu à l’emplacement de votre choix (X, Y). 31 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Un menu dans une fenêtre détourée Transformation de table en zone répétée Nouveauté 079 WD WB WM Fenêtres internes: au lasso ! La définition des fenêtres (et des pages) internes est facilitée en version 11: l’outil «lasso» peut être utilisé pour regrouper les champs. Nouveauté 081 WD WB WM Des Splash screen en panavision Le splash screen (l’écran qui s’affiche au lancement d’une application) est la première chose que voit l’utilisateur à chaque lancement. C’est un détail pour certains, mais autant qu’il soit valorisant pour votre application. La version 11 propose des fonctionnalités de transparence et d’apparence au goût du jour. Des modèles sont proposés, il suffit alors d’indiquer le nom de votre application pour le personnaliser automatiquement. Au lasso ! Nouveauté 080 WD WB WM Refactoring d’IHM: transformer une table en zone répétée Vous souhaitez quelquefois transformer une table en zone répétée, pour bénéficier de leur richesse. Cette opération est maintenant possible d’un clic. La définition du Splash Screen est totalement assistée Il est facile d’indiquer des textes qui doivent défiler. De la même manière, la fenêtre «à propos» de votre logiciel sera maintenant par défaut une fenêtre au contenu déroulant sous les yeux de l’utilisateur! Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 32 Gabarit «Active Vista» La fenêtre «A Propos» Nouveauté 082 WD WB WM FONCTIONNALITÉS AUTOMATIQUES DE L’APPLICATION (FAA) Nouveaux gabarits livrés Le nouveau moteur graphique intégré à WINDEV 11 permet la réalisation de gabarits beaucoup plus riches. De nouveaux gabarits prêts à l’emploi sont livrés. Ces gabarits sont applicables sous Windows 98, NT, 2000, XP et Vista. Les Fonctionnalités Automatique des Applications que vous développez plaisent à vos utilisateurs ! Les résultats des sondages que nous effectuons indiquent un taux d’utilisation de plus de 80% de ces FAA de la part des utilisateurs. Les versions 11 vous proposent donc de nouvelles FAA. Nouveauté 083 WD WB WM Table: la recherche sans la loupe Vous le savez, la loupe des tables permet à l’utilisateur de rechercher une valeur présente dans la colonne, sans programmation de votre part. En version 11, il est également possible à l’utilisateur de taper la valeur recherchée directement dans la table. (Ce fonctionnement est comparable à celui de l’explorateur de Windows XP) Gabarit «Office 2007» Exemple: en tapant directement des caractères (ici T et R), la recherche est activée automatiquement. Inutile de cliquer sur la loupe ! Gabarit «Media Center» 33 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté 084 WD WB WM Nouveauté Recherche multi champs: dans la fenêtre entière Une nouvelle FAA très attendue fait son apparition: la possibilité de rechercher un terme dans la fenêtre affichée. 086 WD WB WM L’export vers les tableurs: Excel et OpenOffice L’export vers le tableur évolue et permet d’affiner les exports. Les textes qui ressemblent à des valeurs numériques peuvent être exportés en numérique. Il est possible d’exporter des données dans une feuille XLS existante; pratique pour stocker et appliquer des macros. La mise en page de la feuille d’accueil est respectée. Cela permet par exemple de préparer une page d’accueil avec des formules de calcul, et ainsi de visualiser les résultats immédiatement après l’export des données, sans manipulation spécifique. Les caractéristiques de la table WINDEV qui exporte les données servent de modèle à la création des feuilles Excel: couleur des cellules, du texte, cadrage, polices, ... (Voir également la nouveauté N° 38) ETATS & REQUETES (GRATUIT) Nouveauté La fenêtre de recherche dans la fenêtre entière Nouveauté 087 WD WB WM Faites télécharger le logiciel «ETATS & REQUETES» 085 WD WB WM nouveau Minuterie sur bouton Avec une application réalisée en version 11, l’utilisateur peut lui même ajouter une minuterie sur un bouton: il suffit d’effectuer un clic droit sur le bouton et la fenêtre de paramétrage apparaît. Très utile pour ne pas bloquer un programme «batch». Vous le savez, le logiciel «Etats & Requêtes» est diffusable gratuitement avec vos applications. Ce logiciel gratuit donne aux utilisateurs la possibilité de créer leurs propres états, et leurs propres vues sur les données. Ils peuvent également modifier les états et requêtes que vous leur avez fourni, tout cela bien sûr si vous les y autorisez. L’utilisateur peut définir ses propres boutons minuterie Afin de diminuer la taille de vos procédures d’installation, vous pouvez maintenant indiquer que «Etats & Requêtes» sera automatiquement téléchargé (depuis le site de PC SOFT, ou un autre site) à sa première utilisation. La documentation de Etats & requêtes est livrée sous la forme d’un fichier PDF redistribuable. L’éditeur ENI propose cette documentation sous la forme d’un ouvrage de la collection «Tech Note» A chaque nouvelle utilisation de la fenêtre, la minuterie se déclenche sur le bouton ! Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 34 DÉPLOIEMENT Nouveauté 088 WD WB WM INSTALL : protection par mot de passe L’installation d’un logiciel peut demander un mot de passe pour s’exécuter. Cela permet de sécuriser des installations, et ainsi d'empêcher une installation non autorisée. Les tables fichiers, ainsi que les listes et les combos, sont maintenant gérées automatiquement en Java Nouveauté Nouveauté 089 WD WB WM 091 WD WB WM Support des tableaux de classes et de structures INSTALL : lors des mises à jour, il affiche les nouveautés depuis la version précédente Il est désormais possible de créer des tableaux de classes et de structures en Java. Lors de la mise à jour d’une application (qui s’effectue automatiquement, vous le savez), la liste des évolutions proposée par cette version est automatiquement affichée. L’utilisateur est ainsi automatiquement informé des nouveautés. Cette liste sera ensuite facilement accessible depuis l’application par l’intermédiaire du choix «?» (voir nouveauté N° 7) Nouveauté 092 WD WB WM JAVA: les nouvelles fonctions Le nombre de fonctions WLangage reconnues en génération Java s'accroît de la liste des fonctions ci-dessous (liste non exhaustive) EcranVersFichier EstImpair FichierVersEcran FTPAttribut FTPCommande FTPConnecte La génération automatique du texte des nouveautés FTPDate FTPDéconnecte JAVA FTPEnvoie FTPHeure Nouveauté 090 WD WB WM FTPListeFichier JAVA: les fonctions «h» reconnues La famille des ordres «h» est reconnue en Java. Il est maintenant facile d’accéder aux fichiers de type Hyper File (Classic et Client/Serveur) avec une programmation traditionnelle. Les fonctions «h» s’appliquent également aux fichiers MySQL et SQL Server. La syntaxe «POUR TOUT» sur fichiers est reconnue. Les fonctions SQL sont bien entendu également reconnues, comme par le passé. Les liaisons fichier automatiques sont gérées. FTPNom FTPRécupère FTPRenommeFichier FTPRepCrée FTPRepEnCours FTPRepSupprime FTPSupprimeFichier 35 Initialise automatiquement la valeur mémoire des rubriques d'un fichier avec la valeur des champs de la fenêtre. Les rubriques du fichier de base reliées aux champs de la fenêtre sont automatiquement affectées avec les valeurs des champs correspondants Identifie un nombre impair. Initialise automatiquement les champs d'une fenêtre avec les valeurs des rubriques associées dans l'enregistrement en cours (chargé en mémoire) du fichier Hyper File, ... décrit sous l'éditeur d'analyses. Identifie les attributs d'un fichier présent sur un serveur FTP (File Transfer Protocol). Envoie une commande FTP spécifique à un serveur. Connecte le poste en cours à un serveur FTP (File Transfer Protocol). Renvoie les différentes dates (date de création, de modification ou d'accès) d'un fichier présent sur un serveur FTP (File Transfer Protocol). Ferme la connexion entre le poste en cours et le serveur FTP (File Transfer Protocol). Cette connexion a été établie avec la fonction FTPConnecte. Transfère un fichier ou un répertoire sur un serveur FTP (File Transfer Protocol). Renvoie les différentes heures (heure de création, de modification ou d'accès) d'un fichier présent sur un serveur FTP (File Transfer Protocol). Liste les fichiers d'un répertoire (et/ou les répertoires) d'un serveur FTP et retourne le nombre de fichiers (et/ou de répertoires) listés. Renvoie le nom du dernier fichier accédé par une fonction FTP (File Transfer Protocol). Transfère un fichier ou un répertoire d'un serveur FTP (File Transfer Protocol) sur le poste en cours. Renomme ou déplace un fichier présent sur un serveur FTP (File Transfer Protocol). Crée un répertoire sur un serveur FTP (File Transfer Protocol). Identifie ou modifie le répertoire en cours sur un serveur FTP (File Transfer Protocol). Supprime un répertoire et son contenu (fichiers et sousrépertoires) d'un serveur FTP (File Transfer Protocol). Supprime un fichier d'un serveur FTP (File Transfer Protocol). Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 FTPTaille gLienActive HActiveFiltre HAjoute HAnnuleRecherche HAttacheMémo HAvance HChangeConnexion HConstruitValClé HCréation HCréationSiInexistant HDécritConnexion HDernier HDésactiveFiltre HEnDehors HErreur HErreurDoublon HErreurInfo HErreurIntégrité HErreurMotDePasse HExécuteRequête HFerme HFermeConnexion HFiltre HFiltreCommencePar HFiltreIdentique HLibèrePosition HListeConnexion HListeRubrique Renvoie la taille (en octets) d'un fichier présent sur un serveur FTP (File Transfer Protocol). Autorise ou non la récupération de la valeur définie par la fonction gLien dans une liste ou dans une combo. Active le filtre précédemment créé pour le fichier (la vue ou la requête) spécifié. Ce filtre a été créé avec la fonction HFiltre et désactivé avec la fonction HDésactiveFiltre. Si aucun filtre n'a été déclaré, HActiveFiltre est sans effet. Ajoute l'enregistrement présent en mémoire dans le fichier de données (la requête ou la vue). Les index correspondant à toutes les clés utilisées dans le fichier sont mis à jour automatiquement. Annule le critère de recherche en cours. Le parcours du fichier peut alors se poursuivre à partir de l'enregistrement en cours, sans utiliser de critère de recherche. Permet d'associer un fichier (ou une requête) à une rubrique de type mémo binaire ou d'annuler l'attachement existant entre un fichier binaire (ou un requête) et une rubrique. Avance de plusieurs enregistrements dans le fichier, à partir de la position en cours, selon une rubrique spécifiée. Change dynamiquement la connexion associée à un fichier. La nouvelle connexion doit être connue et définie lors de ce changement. Cette nouvelle connexion sera utilisée lors de la prochaine ouverture du fichier. Construit la valeur d'une clé composée pour réaliser un filtre (fonction HFiltre) ou effectuer une recherche (fonctions HLitRecherchePremier, HLitRechercheDernier, ...). Crée à vide un fichier de données (fichier d'extension ".FIC") avec le fichier d'index et le fichier mémo si nécessaires. Cette fonction permet également de supprimer tous les enregistrements d'un fichier. Crée à vide un fichier de données (si le fichier n'existe pas) ou ouvre le fichier (si le fichier existe) Décrit une nouvelle connexion à une base de données externe. Cette connexion est nommée. Des paramètres spécifiques peuvent être définis tels que le mode de gestions des curseurs (si la base de données accédée le permet). Positionne sur le dernier enregistrement d'un fichier selon une rubrique de parcours. L'enregistrement n'est pas lu. Désactive temporairement un filtre sur un fichier (une vue ou une requête). Ce filtre a été créé avec la fonction HFiltre. Si aucun filtre n'a été déclaré, HDésactiveFiltre est sans effet. Permet de savoir si l'enregistrement sur lequel on veut se positionner est en dehors du fichier, du filtre, de la vue ou de la requête. Renvoie le numéro de la dernière erreur déclenchée par le moteur Hyper File. Permet de tester si une erreur de doublons est survenue. Renvoie une information détaillée sur la dernière erreur déclenchée par le moteur Hyper File. Permet de tester si une erreur d'intégrité est survenue. Après l'exécution d'une fonction de lecture ou d'écriture dans un fichier, permet de savoir si une erreur due à un mot de passe erroné a été rencontrée sur ce fichier. Déclare une requête créée sous l'éditeur de requêtes au moteur Hyper File et exécute cette requête. Le résultat de la requête pourra ensuite être parcouru. Si une requête de même nom existe déjà, cette requête est remplacée. Le résultat est re-calculé. Ferme soit un fichier, soit tous les fichiers ouverts. Tous les fichiers physiques associés sont fermés. Ferme une connexion à une base de données. Tous les fichiers utilisant cette connexion sont fermés. Définit et active un filtre sur un fichier, une vue ou une requête. Définit et active un filtre de type "Commence par" sur un fichier, une vue ou une requête. Le filtre de type "Commence par" permet de sélectionner tous les enregistrements commenÿant par une suite de caractères définie. Définit et active un filtre permettant de rechercher la valeur exacte d'une rubrique de type chaîne. Ce filtre peut être utilisé sur un fichier, une vue ou une requête. Supprime une position sauvegardée par la fonction HSauvePosition. Permet de libérer la mémoire allouée à la gestion des positions. Renvoie la liste des connexions actuellement décrites dans l'application. Il est possible de lister les connexions décrites sous l'éditeur d'analyses ainsi que les connexions décrites dynamiquement (avec les fonctions HDécritConnexion ou HOuvreConnexion). Renvoie la liste des rubriques d'un fichier (d'une requête Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 HLit HLitDernier HLitPrécédent HLitPremier HLitRecherche HLitRechercheDernier HLitRecherchePremier HLitSuivant HModifie HNbEnr HNumEnr HOuvre HOuvreConnexion HPositionCourante HPrécédent HPremier HRAZ HRecherche HRechercheDernier HRecherchePremier HRecule HRécupèreEnregistrement HRetourPosition 36 ou d'une vue) reconnu par le moteur Hyper File. Les fichiers définis par les fonctions HDéclare, HDéclareExterne et HDécritFichier sont pris en compte. Lit un enregistrement dans un fichier en fonction d'un numéro d'enregistrement donné. Ce mode de lecture est appelé "Accès direct". L'enregistrement lu est chargé en mémoire. La fonction HEtat permet de connaître l'état de l'enregistrement. Positionne sur le dernier enregistrement d'un fichier selon une rubrique de parcours. L'enregistrement est lu, et les variables Hyper File sont mises à jour (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client). Positionne sur l'enregistrement précédent d'un fichier en fonction d'une rubrique de parcours. L'enregistrement est lu et les variables Hyper File sont mises à jour (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client). Positionne sur le premier enregistrement d'un fichier en fonction d'une rubrique de parcours. L'enregistrement est lu et les variables Hyper File (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client) sont mises à jour. Positionne sur le premier enregistrement du fichier dont la valeur d'une rubrique spécifique est supérieure ou égale à une valeur recherchée (recherche générique). L'enregistrement est lu et les variables Hyper File correspondantes sont mises à jour. Positionne sur le dernier enregistrement du fichier dont la valeur d'une rubrique spécifique est inférieure ou égale à une valeur recherchée (recherche à l'identique). L'enregistrement est lu et les variables Hyper File correspondantes sont mises à jour. Positionne sur le premier enregistrement du fichier dont la valeur d'une rubrique spécifique est supérieure ou égale à une valeur recherchée (recherche à l'identique). L'enregistrement est lu et les variables Hyper File correspondantes sont mises à jour. Positionne sur l'enregistrement suivant d'un fichier en fonction d'une rubrique de parcours. L'enregistrement est lu et les variables Hyper File sont mise à jour (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client). Modifie l'enregistrement spécifié ou l'enregistrement présent en mémoire dans le fichier de données (la requête ou la vue). Les index correspondant à toutes les clés utilisées dans le fichier sont mis à jour automatiquement. Les mémos sont ajoutés si nécessaire. Renvoie le nombre d'enregistrements d'un fichier, d'une requête ou d'une vue Hyper File : enregistrements actifs, rayés, supprimés, etc. Renvoie soit le numéro de l'enregistrement en cours dans le fichier, soit le numéro de l'enregistrement en cours dans la vue Hyper File. Ouvre un fichier. Ouvre une connexion à une base de données spécifique. La connexion reste ouverte jusqu'à l'appel de la fonction HFermeConnexion. Renvoie la position approximative de l'enregistrement en cours dans le fichier. Cette position est donnée par rapport à une rubrique spécifique. Positionne sur l'enregistrement précédent du fichier en fonction d'une rubrique de parcours. L'enregistrement n'est pas lu. Positionne sur le premier enregistrement d'un fichier en fonction de la rubrique de parcours spécifiée. L'enregistrement n'est pas lu. Initialise une ou toutes les variables des rubriques d'un fichier avec leurs valeurs par défaut. Les valeurs par défaut sont définies lors de la description du fichier sous l'éditeur d'analyses. Positionne sur le premier enregistrement du fichier dont la valeur d'une rubrique spécifique est supérieure ou égale à une valeur recherchée (recherche générique par défaut). L'enregistrement n'est pas lu. Positionne sur le dernier enregistrement du fichier dont la valeur d'une rubrique spécifique est inférieure ou égale à une valeur recherchée. L'enregistrement n'est pas lu. L'enregistrement n'est pas lu. Positionne sur le premier enregistrement du fichier dont la valeur d'une rubrique spécifique est supérieure ou égale à une valeur recherchée. L'enregistrement n'est pas lu. Recule de plusieurs enregistrements dans le fichier, à partir de la position en cours, selon une rubrique spécifiée. Renvoie le contenu de l'enregistrement en cours (dans un fichier, une vue ou une requête,...). Restaure le contexte précédemment sauvegardé d'un fichier (fonction HSauvePosition) : enregistrement en cours, filtre, pointeurs de lecture. HSauvePosition HSuivant HSupprime HTrouve HVersion ListeAffiche NetAdresseIP TableAffiche TableEnregistre TexteVersXML TitreEnCours XMLAjouteAttribut XMLAjouteFils XMLAnnuleRecherche XMLConstruitChaîne XMLDernier XMLDocument XMLDonnée XMLEnDehors XMLExtraitChaîne XMLExtraitDocument XMLFils XMLFilsExiste XMLInsèreDocument XMLInsèreElément XMLModifie XMLNamespace XMLNamespaceURI XMLNomElément XMLNomParent XMLParent XMLPosition XMLPrécédent Mémorise le contexte en cours d'un fichier : enregistrement en cours, filtre, pointeurs de lecture. Il est ainsi possible de suspendre momentanément le traitement en cours, d'utiliser le fichier par ailleurs (pour effectuer des vérifications par exemple). Positionne sur l'enregistrement suivant du fichier en fonction d'une rubrique de parcours. L'enregistrement n'est pas lu. Supprime un enregistrement d'un fichier (d'une requête ou d'une vue). L'enregistrement est supprimé logiquement et physiquement. Il ne pourra pas être restauré (contrairement aux enregistrements rayés avec la fonction HRaye). Vérifie si l'enregistrement en cours correspond au filtre ou à la recherche en cours. Permet de savoir si le contenu d'un fichier a été modifié ou si le contenu d'un fichier utilisé par une requête a été modifié. Rafraîchit l'affichage d'une liste (y compris liste image) ou d'une combo fichier. Pour une liste mémoire, le rafraîchissement est automatique. Renvoie l'adresse IP (Internet Protocol) d'un poste. Rafraîchit l'affichage d'une table à partir d'une position donnée. Modifie ou ajoute l'enregistrement associé à la ligne en cours dans la table fichier. L'enregistrement est mis à jour dans le fichier lié à la table fichier. Convertit une chaîne de caractères au format ANSI en une chaîne de caractères au format XML. Modifie le titre de la fenêtre en cours (connu par la fonction FenEnCours) et la barre de titre. Ajoute un attribut dans un document XML. Cet attribut est ajouté à la fin de la liste des attributs de la position courante. Ajoute une balise fille dans un document XML. Cette balise fille est ajoutée à la fin de la liste des attributs de la position courante. Annule la recherche effectuée par la fonction XMLRecherche. Récupère et met en forme le contenu d'un document XML (créé avec la fonction XMLDocument et modifié grâce aux fonctions XML). Positionne sur le dernier élément (balise ou attribut) du niveau en cours de l'arborescence. Crée un nouveau document XML. Renvoie la valeur de l'élément en cours (balise ou attribut XML) ou d'un de ses attributs. Permet de savoir si l'élément (balise ou attribut) sur lequel on veut se positionner est en dehors du document XML. Extrait le contenu d'une balise dans un document XML. Dans le cas d'une recherche plus complexe, utilisez les fonctions XMLDocument et XMLRecherche. Crée un nouveau document XML à partir d'une partie d'un document XML existant. Positionne sur le premier élément fils de l'élément en cours. Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, ...) Indique si la balise courante a des fils correspondant au type recherché (balise, attribut, ...). Insère un document XML dans un autre document XML Insère un élément (balise ou attribut) XML dans un document XML. La position d'insertion est relative à la position courante. Modifie le contenu de l'élément courant dans un document XML. Renvoie le préfixe de l'espace de nommage de la balise courante dans un document XML. Renvoie l'URI de définition de l'espace de nommage de la balise courante dans un document XML. Renvoie le nom de l'élément en cours (balise ou attribut). Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). Renvoie le nom de la balise parente de l'élément (balise ou attribut) en cours. Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). Positionne sur l'élément parent de l'élément en cours (balise ou attribut). Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). Renvoie la position en cours dans le document sous la forme XPATH. Positionne sur l'élément (balise ou attribut) précédent. XMLPremier XMLRacine XMLRenomme XMLRetourPosition XMLSauvePosition XMLSuivant XMLSupprime XMLTermine XMLTrouve XMLTypeElement XMLVersTexte XMLRecherche Positionne sur le premier élément (balise ou attribut) du niveau en cours de l'arborescence. Positionne sur la balise racine d'un document XML. Modifie le nom de l'élément courant (balise ou attribut) dans un document XML. Restaure le contexte précédemment sauvegardé d'un document XML (fonction XMLSauvePosition). Le filtre en cours lors de la sauvegarde de la position peut être restauré (le filtre est mis en place avec la fonction XMLRecherche). Mémorise la position en cours dans le document XML. Il est ainsi possible de suspendre momentanément le traitement en cours, d'utiliser le document XML par ailleurs (pour effectuer des vérifications par exemple). Le contexte sauvegardé pourra être restitué. Positionne sur l'élément suivant (balise ou attribut). Supprime l'élément courant d'un document XML, ainsi que toute la branche qui en découle. Ferme un document XML créé avec XMLDocument. Toutes les ressources allouées lors de la création et de la manipulation du document XML sont libérées. Vérifie si l'élément en cours correspond au parcours ou à la recherche en cours. Renvoie le type de l'élément en cours (balise ou attribut). Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). Convertit une chaîne de caractères au format XML en une chaîne de caractères standard. Lance une recherche dans un document XML. Cette recherche peut être annulée par la fonction XMLAnnuleRecherche. WLANGAGE Nouveauté 093 WD WB WM Les nouvelles fonctions disponibles sous WINDEV De nouvelles fonctions apparaissent. ArbreCherche CDEjecte CDListe ConstruitEntier ContactAjoute ContactCherche ContactDernier ContactModifie ContactPrécédent ContactPremier ContactRAZ ContactSuivant ContactSupprime DécomplèteRep EmailChercheNotes 37 Renvoie le chemin d'un élément (feuille ou noeud) dans un champ arbre Ouvre ou ferme le tiroir du lecteur de CD/DVD sélectionné Liste les lecteurs de CD/DVD installés sur le poste en cours Construit un entier à partir de 2 entiers sur 2 de poids faible et fort Ajoute un contact dans le carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Recherche un contact dans un carnet d'adresses situé sur une base locale ou distante Lotus Notes ou Domino Renvoie le dernier contact présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Modifie un contact présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Renvoie le contact précédent présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Renvoie le premier contact présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Réinitialise la structure "mContact" Renvoie le contact suivant présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Supprime un contact présent dans un carnet d'adresse d'une messagerie Lotus Notes, Domino ou Outlook Enlève le caractère "/"' ou "\"' à la fin d'une chaîne si ce caractère est présent Recherche un ou plusieurs emails selon des critères spécifiés, dans une base Lotus Notes ou Domino Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 EmailOuvreSessionNotes EnModeTestAutomatique ExécuteActionPrédéfinie FermeSession FlècheDébut FlècheFin gPoliceGras gPoliceItalique gPoliceSouligné gPoliceTaille GroupeAjoute GroupeDernier GroupeModifie GroupePrécédent GroupePremier GroupeRAZ GroupeSuivant GroupeSupprime HashChaîne HashFichier HashVérifieChaîne HashVérifieFichier HGèreServeur HInfoLog HRécupèreLog LDAPMode NotesCherche NotesDernier NotesDimensionPropriété NotesDonnePropriété NotesEnDehors NotesEnregistre NotesFerme NotesListePropriété NotesModifiePropriété NotesOuvre NotesPrécédent NotesPremier NotesRAZ NotesSuivant NotesSupprimePropriété MenuSupprime MessFramework Ouvre une connexion avec une base locale ou distante Lotus Notes ou Domino Permet de savoir si un test automatique est en cours ou non Exécute une des actions prédéfinies Fermer une connexion avec une messagerie Lotus Notes, Domino ou Outlook Indique la position du début de la flèche d'un champ "Forme" de type flèche Indique la position de la fin de la flèche d'un champ "Forme" de type flèche Indique si la police d'affichage du texte est en gras ou non Indique si la police d'affichage du texte est en italique ou non Indique si la police d'affichage du texte est soulignée ou non Indique la taille de la police d'affichage dans une chaîne graphique Ajoute un groupe de contacts dans le carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Renvoie le dernier groupe de contacts d'une messagerie Lotus Notes, Domino ou Outlook Modifie un groupe de contacts du carnet d'adresses d'une messagerie LotusNote, Domino ou Outlook Renvoie le groupe de contacts précédent d'une messagerie Lotus Notes, Domino ou Outlook Renvoie le premier groupe de contacts d'une messagerie Lotus Notes, Domino ou Outlook Réinitialise la structure "mGroupe" Renvoie le groupe de contacts suivant d'une messagerie Lotus Notes, Domino ou Outlook Supprime un groupe de contacts dans le carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Calcule le Hash d'une chaîne Calculer le Hash d'un fichier Vérifie le Hash d'une chaîne Vérifier le Hash d'un fichier Permet de connaître et de modifier certains paramétrages du serveur Renvoie des informations sur les logs du serveur Renvoie les logs du serveur réalisés entre deux dates données Modifie le fonctionnement d'une session LDAP Recherche un ou plusieurs documents selon des critères spécifiés Ces documents sont situés sur une base locale ou distante Lotus Notes ou Domino Renvoie le dernier document ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes Renvoie la dimension d'un champ du document Lotus Notes en cours Renvoie la valeur d'un champ du document Lotus Notes en cours Permet de savoir s'il y a un document Lotus en cours Enregistre le document en cours dans une base locale ou distante Lotus Notes ou Domino Ferme le document ouvert par la fonction NotesOuvre Renvoie la liste des propriétés du document Lotus Notes en cours Permet de modifier la valeur d'un champ du document Lotus Notes en cours Ouvre le document spécifié par dernière fonction ayant accédé à une note Lotus Renvoie le document précédent ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes Renvoie le premier document ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes Crée un nouveau document Lotus Notes vide Renvoie le document suivant ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes Supprime une propriété du document Lotus Notes en cours Supprime un menu ou une option de menu Récupère un message du framework dans la langue en cours Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 OuvreSessionNotes OuvreSessionMAPI PiloteAvertissement PiloteConfirmer PiloteDialogue PiloteErreur PiloteFenêtre PiloteInfo PiloteMenu PiloteOKAnnuler PiloteOuiNon PiloteSaisie PiloteSouris RendezVousAjoute RendezVousDernier RendezVousModifie RendezVousPrécédent RendezVousPremier RendezVousRAZ RendezVousSuivant RendezVousSupprime StyleDessin TâcheAjoute TâcheDernier TâcheModifie TâchePrécédent TâchePremier TâcheRAZ TâcheSuivant TâcheSupprime TailleCommune testEcritRésultat THAjouteLigne THInsèreLigne DomoEcrit DomoEtat DomoEvénement DomoFerme DomoOuvre xlsFeuilleEnCours xlsNbFeuille 38 Ouvre une connexion avec une base locale ou distante Lotus Notes ou Domino Ouvre une connexion avec une base Outlook Pilote le prochain appel de la fonction Avertissement et clique automatiquement sur le bouton "OK" Pilote le prochain appel de la fonction Confirmer, puis clique automatiquement sur le bouton passé en paramètre Pilote le prochain appel de la fonction dialogue, puis clique automatiquement sur le bouton passé en paramètre Pilote le prochain appel de la fonction Erreur, puis clique automatiquement sur le bouton "OK" Indique quelle est le test qui sera utilisé lors de la prochaine ouverture de fenêtre Pilote le prochain appel de la fonction Info, puis clique automatiquement sur le bouton "OK" Pilote le prochain menu qui sera ouvert, puis exécute automatiquement l'option indiqué en paramètre Pilote le prochain appel de la fonction OKAnnuler, puis clique automatiquement sur le bouton passé en paramètre Pilote le prochain appel de la fonction OuiNon, puis clique automatiquement sur le bouton indiqué en paramètre Fait une saisie dans un champ, en vérifiant que le champ est bien actif et que la saisie est possible Simule un événement souris Ajoute un rendez-vous dans une messagerie Lotus Notes, Domino ou Outlook Renvoie le dernier rendez-vous stocké dans une messagerie ouverte par la fonction OuvreSessionNotes, EmailOuvreSessionNotes, EmailOuvreSession (syntaxe outlook) ou OuvreSessionMAPI Modifie un rendez-vous dans une messagerie Lotus Notes, Domino ou Outlook Renvoie le rendez-vous précédent Renvoie le premier rendez-vous stocké dans une messagerie ouverte par la fonction OuvreSessionNotes, EmailOuvreSessionNotes, EmailOuvreSession (syntaxe outlook) ou OuvreSessionMAPI Réinitialise la structure "mRendezVous" Renvoie le rendez-vous suivant Supprime un rendez-vous dans une messagerie Lotus Notes, Domino ou Outlook Permet de paramétrer certains paramètres du mode d'affichage des fenêtres Ajoute une tâche dans messagerie Lotus Notes, Domino ou Outlook Renvoie la dernière tâche stockée dans une messagerie Lotus Notes, Domino ou Outlook Modifie une tâche dans une messagerie Lotus Notes, Domino ou Outlook Renvoie la tâche précédente Renvoie la première tâche stockée dans une messagerie Lotus Notes, Domino ou Outlook Réinitialise la structure "mTâche" Renvoie la tâche suivante Supprime une tâche dans une base locale ou distante Lotus Notes ou Domino Renvoie la longueur de la partie commune entre deux chaînes de caractères Ecrit un résultat dans le journal de passage du test Ajoute une ligne dans un champ table hiérarchique, à la fin d'un niveau de hiérarchie donné Insère une ligne dans un champ table hiérarchique Envoie une commande à un ou plusieurs modules compatibles avec le protocole Domo Permet de connaître l'état (Marche/Arret) d'un module contrôlé Associe une procédure écrite en WLangage à un événement initié par un module domotique X10 Ferme la communication ouverte avec la fonction DomoOuvre Envoie des commandes au protocole Domo afin de gérer des dispositifs électriques compatibles avec ce protocole Permet de connaître ou modifier la feuille courante dans le document Excel Renvoie le nombre de feuilles présentes dans un document Excel WINDEV Mobile Cette partie présente les nouveautés spécifiques à WINDEV Mobile. Bien entendu, les nouveautés communes (pages 3 à 25) s’appliquent également à WINDEV Mobile. Nouveauté Impression de codes barres La mobilité est un atout imparable de toute entreprise. Eviter les doubles saisies, partager et modifier l’information en temps réel permet une réactivité totale et élimine les sources d’erreurs et les coûts inutiles. Bénéficier de la portabilité de ses applications «PC» vers les mobiles est un atout majeur des environnements de PC SOFT, pour le plus grand bénéfice des sociétés utilisatrices ! Nouveauté 095 WD WB WM 094 WD WB WM Imprimer un code barres depuis un mobile est pratique ! La version 11 permet de le faire directement depuis une application sur mobile, via une connexion entre le mobile et l’imprimante, ou via l’imprimante intégrée au terminal. L’imprimante doit simplement être compatible «PCL». L’impression est possible à travers les états, et via les fonctions d’impression directe (famille de fonction iImprime). Les codes barres supportés sont: UPCA, UPCE, EAN13, EAN8, Interleaved 2 of 5, Codabar, Code MSI, Code 39, Code 93, Code 128, EAN 128, PDF 417, Datamatrix Framework renommé commun à plusieurs applications termec èque In Phototh Afin d’optimiser l’encombrement mémoire du PDA, un framework renommé peut maintenant être partagé par plusieurs applications chargées sur la machine. Vous pouvez par ailleurs choisir les éléments du framework à embarquer, pour n’installer que les modules nécessaires, et ainsi limiter la taille mémoire utilisée. Notez que cette nouveauté est également disponible pour WINDEV 11. Une application en mode «vertical» Nouveauté ... et la même application en mode horizontal: pratique ! 096 WD WB WM Orientation de l’écran: vertical ou horizontal ? Certaines informations sont plus faciles à lire selon que l’écran est visualisé horizontalement ou verticalement. La fonction «sysOrientation» permet de changer dynamiquement l’affichage sur le Pocket PC. Couplé aux «ancrages» déjà disponibles, cela permet un confort d‘utlisation sans limites. Un conseil: prévoyez un bouton clicable ou un choix de menu qui permet l’orientation. 39 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté 097 WD WB WM Nouveauté Appel d’assemblage .NET La plupart des fournisseurs de matériel complémentaire (GPS, scanner, lecteur de code barres, lecteur RFID,...) fournissent avec leur matériel des pilotes d’accès. Ces pilotes d’accès sont fournis sous forme de DLL native ou quelquefois d’assemblage .NET. Ce mode de dialogue via un assemblage .NET est maintenant supporté par WINDEV Mobile 11. Modification automatique des fichiers Hyper File sur le terminal Voici une nouveauté que vous nous avez réclamée ! La possibilité de faire évoluer la structure de la base installée sur le mobile directement depuis le mobile autonome (non connecté à un PC) est disponible en version 11. Vos utilisateurs itinérants pourront donc se mettre à jour pour des modifications de structure de base de données, via GPRS par exemple. La modification automatique en action sur un Pocket PC Utilisez tous les logiciels d’interfaçage fournis par les fabricants de périphériques Nouveauté 099 WD WB WM Débogage du terminal réel depuis le PC Vous savez que vous pouvez déboguer un projet en utilisant l’émulateur fourni avec WINDEV Mobile. Toutefois, dans certains cas, le débogage sur le terminal réel est nécessaire: terminal particulier, terminal qui utilise des périphériques non disponibles sur PC... Grâce à la version 11, vous pourrez déboguer sur le matériel réel. Notez qu’il n’y a aucun logiciel supplémentaire à installer sur le mobile, car tout est piloté depuis le PC. Déboguez les terminaux et leurs périphériques spéciaux depuis le PC Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 098 WD WB WM 40 Nouveauté 100 WD WB WM Nouveauté Compilation dynamique La compilation dynamique (création, compilation et exécution de code par une application) est disponible sous WINDEV Mobile 11. 101 WD WB WM 104 WD WB WM Les nouvelles fonctions disponibles sous WINDEV Mobile De nouvelles fonctions de programmation sont proposées. ArbreCherche Renvoie le chemin d'un élément (feuille ou noeud) dans un champ arbre Import de projet de WM vers WD ConstruitEntier Construit un entier à partir de 2 entiers sur 2 de poids faible et fort Un projet réalisé initialement avec WINDEV Mobile peut être importé dans WINDEV. Les ancrages définis dans les fenêtres «mobiles» sont actifs sous WINDEV et la fenêtre importée est ainsi directement utilisable. DécomplèteRep Enlève le caractère "/"' ou "\"' à la fin d'une chaîne si ce caractère est présent EnModeTestAutomatique Permet de savoir si un test automatique est en cours ou non ExécuteActionPrédéfinie Exécute une des actions prédéfinies FlècheDébut Indique la position du début de la flèche d'un champ "Forme" de type flèche FlècheFin Indique la position de la fin de la flèche d'un champ "Forme" de type flèche gPoliceGras Indique si la police d'affichage du texte est en gras ou non gPoliceItalique Indique si la police d'affichage du texte est en italique ou non gPoliceSouligné Indique si la police d'affichage du texte est soulignée ou non HashChaîne Calcule le Hash d'une chaîne HashFichier Calculer le Hash d'un fichier HashVérifieChaîne Vérifie le Hash d'une chaîne HashVérifieFichier Vérifier le Hash d'un fichier HGèreServeur Permet de connaître et de modifier certains paramétrages du serveur HInfoLog Renvoie des informations sur les logs du serveur HRécupèreLog Renvoie les logs du serveur réalisés entre deux dates données MenuSupprime Supprime un menu ou une option de menu MessFramework Récupère un message du framework dans la langue en cours StyleDessin Permet de paramétrer certains paramètres du mode d'affichage des fenêtres SysChangeOrientationEcran Permet de changer l'orientation de l'écran du Pocket PC SysIMEI Renvoie le numéro IMEI d'un Smartphone SysListeOrientationEcran Permet de connaître les orientations possibles de l'écran du Pocket PC SysOrientationEcran Renvoie l'orientation en cours de l'écran du Pocket PC TailleCommune Renvoie la longueur de la partie commune entre deux chaînes de caractères, en début ou en fin des chaînes dRotation Effectue une rotation d'un champ image MagnétoAction Permet de lancer le magnétophone du Pocket PC. Lors de ce lancement, il est possible de commencer un enregistrement ou de jouer un fichier donné MagnétoEvénement Permet d'associer une touche du Pocket PC au lancement du magnétophone et de spécifier la procédure à exécuter lors de la fin de l'enregistrement SysArrête Arrête le système du Pocket PC SysMémoireDispo Renvoie la taille de la mémoire disponible (mémoire de stockage et mémoire pour les programmes) sur le Pocket PC SysMiseEnVeille Met en veille le système du Pocket PC SysNumSérie Renvoie le numéro de série du Pocket PC SysRedémarre Redémarre le système du Pocket PC SysRepCarteStockage Renvoie le chemin de la carte de stockage Domo Les fonctions de la famille «Domo» sont disponibles en WinDev Mobile (voir la liste dans la partie WinDev svp) Nouveauté Nouveauté 102 WD WB WM Nouveau gabarit Ce nouveau gabarit prêt à l’emploi pour mobile est livré. Ce gabarit, qui fonctionne en Windows Pocket PC, Windows Mobile 2002, 2003 et Windows Mobile 5.0, reprend de nouvelles propriétés des champs qui apparaissent en version 11, comme les bandeaux dégradés, les animations sur les boutons, ... Le gabarit «Media Center» Nouveauté 103 WD WB WM Des fonctions utiles De nouvelles fonctions font leur apparition : • les fonctions de la famille «Sys» sont utiles sur mobiles. Elles permettent d’accéder en standard aux spécificités système du terminal. • récupérer le numéro IMEI (identifiant unique) du téléphone • récupérer le numéro de série de la machine • pilotage du «dictaphone» (pour les matériels équipés; déclenchement et arrêt par programme, lancer un traitement lorsque l’utilisateur appuie sur le bouton d’enregistrement,...) • désactiver (et réactiver) la mise en veille du périphérique (utile pour économiser les batteries ou ne pas couper une liaison GPRS en cours) • connaître le chemin d’accès (répertoire) de la SD card 41 WEBDEV La technologie Web 2.0 permet aux applications Web • Un ascenseur vertical apparaît automatiquement si nécessaire. • Sont lus dans le fichier de données les enregistrements visualisés, ainsi que quelques enregistrements précédents et suivants (buffer automatique, qui permet le fetch partiel automatique): le temps de chargement est réduit au minimum, la fluidité est totale. • Un ascenseur horizontal automatique apparaît si la largeur des données à visualiser dépasse la largeur de la table. • Le tri des colonnes est possible en cliquant simplement sur l’entête de colonne. • La recherche par la «loupe», comme dans WINDEV, est proposée en standard. • La saisie est maintenant possible directement dans les cellules de la table, toujours sans programmation (ni sur le serveur, ni en Javascript sur le navigateur). d’apporter un comportement d’IHM proche d’une interface traditionnelle sous Windows. Un élément déterminant du Web 2.0 est «AJAX» qui permet au navigateur de dialoguer avec le serveur en ne rafraichissant que la partie modifiée de la page. Ces nouvelles fonctionnalités permettent un meilleur partage de code avec les applications WINDEV qui utilisent des tables. Le passage d’une application WINDEV à WEBDEV n’en est que facilité ! Cette partie présente les nouveautés spécifiques à WEBDEV. Bien entendu, les nouveautés communes (pages 3 à 25) s’appliquent également à WEBDEV WEB 2.0 ET AJAX Nouveauté 105 WD WB WM Nouveauté Tables AJAX 106 WD WB WM Zones répétées AJAX La gestion «AJAX» des tables permet une évolution drastique des fonctionnalités. Le champ «table» s’enrichit automatiquement, sans qu’aucune programmation ne soit nécessaire. Le champ «Zone répétée» devient 100% AJAX à la demande. Les possibilités offertes par les zones répétées Ajax se rapprochent des fonctionnalités des tables Ajax. Nouvelles fonctionnalités disponibles dans les tables «AJAX» Ces fonctionnalités sont disponibles pour les sites Internet et Intranet La recherche dans la table est possible via la loupe Le tri des colonnes est disponible Un ascenseur remplace automatiquement la règlette Il est possible de redimensionner les colonnes Le fond du bandeau de sélection peut être une image Les lignes de la table sont «multi sélection» Ancrage et ascenseur automatique Les cellules de table peuvent être en «saisie» Gestion automatique d’un «cache» (fetch partiel) qui ne charge que les données nécessaires à l’affichage et au parcours fluide à vitesse humaine Si un traitement est long, un sablier s’affiche automatiquement. 42 Nouveauté 107 WD WB WM Nouveauté Champs déplaçables par programmation 109 WD WB WM Jauge automatique AJAX Une jauge d’attente automatique peut être affichée dans une page pendant qu’un traitement AJAX s’effectue. En effet, les traitements Ajax ne font pas afficher la jauge habituelle de chargement de page du navigateur. Normal: il n’y a plus de chargement de page... Les champs des pages sont déplaçables dynamiquement par programmation. Les propriétés X et Y font leur apparition, en lecture et en écriture, en code serveur et en code navigateur. Il est ainsi possible de : • Proposer à l’internaute de placer lui-même des champs ou des groupes de champs. • Modifier dynamiquement la position des champs en fonction de certains traitements ou de certaines actions. Par exemple suivre la cage de l’ascenseur, suivre le pointeur de souris, effectuer un drag & drop (glisser/ relâcher)... La jauge LINUX Nouveauté 110 WD WB WM LINUX: Les nouvelles fonctions disponibles Plus de 60 nouvelles fonctions sont disponibles en version 11: les fonctions XML sont supportées en WEBDEV et WINDEV, la «compilation dynamique» est supportée. Ici le champ «promotion» (l’ovale) se déplace avec la souris: impossible à rater ! Nouveauté 108 WD WB WM Champ déplaçable à la souris Nouveauté Dans une page créée avec WEBDEV 11, il est maintenant possible d’indiquer qu’un champ peut être déplacé à la souris directement. L’internaute pourra déplacer ce champ sous le navigateur. La nouvelle position sera sauvegardée. 111 WD WB WM Apache Linux: authentification Il est possible de définir un utilisateur par compte WebDev avec le serveur d’application en version Linux. Cela permet d’améliorer sensiblement la sécurité des serveurs. PHP Nouveauté 112 WD WB WM PHP: Les nouvelles fonctions disponibles L’internaute repositionne les éléments de sa page d’accueil Le nombre de fonctions PHP augmente sensiblement. Parmi les nouveautés PHP, notez qu’il est possible de préciser les paramètres d’une requête paramétrée en nommant les paramè- 43 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 tres (syntaxe: <Nom de requête>,<Nom de Paramètre>). Cette méthode très pratique permet de préciser les différents paramètres dans n’importe quel ordre, ce qui est intéressant pour les requêtes qui nécessitent de nombreux paramètres. ChronoDébut ChronoFin ChronoValeur fCompare HTTPDonneRésultat HTTPRequête HTTPTimeOut InitFenêtre ListeSelectOccurrence MatAdditionne MatCopie MatCrée MatDéterminant MatEcrit MatErreur MatExiste MatInverse MatLit MatLitColonne MatLitLigne MatMultiplie MatNbColonne MatNbLigne MatRéelAdditionne MatRéelMultiplie MatRemplit MatSupprime MatTranspose MemAjoute MemCrée MemDernier MemEnCours MemEnDehors MemExiste MemModifie MemOccurrence MemPositionne MemPrécédent Démarre un chronomètre afin de mesurer la durée d'un traitement (en millisecondes) et permet de remettre à zéro un chronomètre existant. L'arrêt du chronométrage est effectué avec la fonction ChronoFin. Arrête un chronomètre et renvoie le temps écoulé (en millisecondes) depuis le début du chronométrage (appel de la fonction ChronoDébut). Indique le temps écoulé depuis l'appel à la fonction ChronoDébut. Le chronomètre n'est pas arrêté. Compare bit à bit le contenu de deux fichiers. Récupère le résultat ou l'en-tête de la dernière requête HTTP lancée. Cette requête a été lancée par la fonction HTTPRequête. Lance une requête HTTP sur un serveur. Règle le Time Out pour les fonctions WLangage utilisant le protocole HTTP (fonctions HTTPRequête, SOAPExécute, DotNetExécute, J2EEExécute, ...). Initialise les champs à zéro (ou non) et lance les traitements d'initialisation des champs et de la fenêtre. Renvoie le nombre d'éléments sélectionnés dans une liste (y compris une liste image) ou une combo. Additionne deux matrices de mêmes dimensions (même nombre de lignes et même nombre de colonnes). Crée la copie d'une matrice. La nouvelle matrice a les mêmes dimensions que la matrice de base. Tous les éléments de la matrice d'origine sont copiés dans la nouvelle matrice. Crée une matrice de 0 ligne et 0 colonne. Calcule le déterminant d'une matrice carrée (nombre de lignes égal au nombre de colonnes). Écrit un élément dans une matrice. Identifie le type de la dernière erreur due à une fonction Matxxx (fonctions de gestion des matrices). Teste l'existence d'une matrice en mémoire. Inverse une matrice carrée. Lit la valeur d'un élément d'une matrice. Lit la valeur de tous les éléments d'une colonne d'une matrice. Lit la valeur de tous les éléments d'une ligne d'une matrice. Multiplie deux matrices. Renvoie le nombre de colonnes d'une matrice. Le nombre de colonnes d'une matrice varie dynamiquement. Il correspond au nombre de colonnes initialisées. Renvoie le nombre de lignes d'une matrice. Le nombre de lignes d'une matrice varie dynamiquement. Il correspond au nombre de lignes initialisées. Additionne une valeur à chaque élément d'une matrice. Cette addition est réalisée directement dans la matrice spécifiée. Multiplie chaque élément d'une matrice par une valeur. Cette multiplication est réalisée directement dans la matrice spécifiée. Initialise tous les éléments d'une matrice d'une taille donnée. Si la matrice est plus grande, seuls les éléments spécifiés seront remplis. Supprime une matrice existante. La suppression d'une matrice inutilisée (ou nulle) dans une application permet de libérer la place mémoire utilisée par cette matrice. Calcule la transposée d'une matrice. Ajoute un élément dans une zone mémoire. Crée une zone mémoire. Cette zone mémoire peut contenir des informations de type texte ou numérique. Positionne sur le dernier élément d'une zone mémoire et renvoie la valeur de retour de ce denier élément. Renvoie l'indice de l'élément en cours. Permet de savoir si le parcours effectué sur une zone de mémoire est en dehors de cette zone de mémoire. Teste l'existence d'une zone de mémoire. Modifie un élément dans une zone mémoire. Renvoie le nombre d'éléments présents dans une zone de mémoire. Positionne la zone mémoire sur un élément. Positionne sur l'élément précédent l'élément en cours d'une zone mémoire et renvoie la valeur de retour de cet élément. Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Positionne sur le premier élément d'une zone mémoire et renvoie la valeur de retour de ce premier élément. MemRecherche Recherche un élément dans une zone mémoire. MemRécupère Récupère la valeur de retour d'un élément présent dans une zone mémoire. MemSuivant Positionne sur l'élément suivant d'une zone mémoire et renvoie la valeur de retour de cet élément. MemSupprime Supprime un élément dans une zone mémoire. MemSupprimeTout Vide et supprime une zone mémoire. MemTrie Trie les éléments présents dans une zone mémoire. Ce tri est effectué sur l'argument de tri spécifié avec les fonctions MemAjoute ou MemModifie. MemTrouvé Vérifie si l'élément recherché a été trouvé. MemValClé Renvoie la valeur ajoutée ou modifiée (par les fonctions MemAjoute ou MemModifie) de l'élément en cours dans une zone mémoire. NavigateurAdresseIP Renvoie l'adresse IP du poste de l'Internaute connecté au site WebDev. NavigateurNom Renvoie le nom du navigateur de l'Internaute. Le nom du navigateur est renvoyé par le logiciel de navigation de l'internaute. PageInitialisation Remet à zéro (ou non) les champs de la page en cours et lance les traitements d'initialisation des champs et de la page. PHPAffiche Appelle un script PHP externe et renvoie la page résultat dans la fenêtre en cours du navigateur. sCalculeCrc32 Calcule le code de redondance cyclique (CRC) d'un tampon. SocketAccepte Exécutée sur le poste serveur, cette fonction accepte une demande de connexion sur une socket existante sur le poste serveur. Cette fonction permet de créer le canal de communication entre la socket serveur et la socket cliente. SocketAttendConnexion Exécutée sur le poste serveur, cette fonction permet d'attendre une demande de connexion provenant de sockets clientes. SocketChangeModeTransmission Change le mode de transmission utilisé sur un socket. Il est ainsi possible de définir le codage du message lors de la transmission. Les fonctions SocketLit et SocketEcrit utilisent le mode de transmission indiqué. SocketClientInfo Permet au serveur d'obtenir des renseignements sur la socket cliente en cours. La socket cliente en cours correspond à la dernière socket dont le message a été lu avec la fonction SocketLit. Cette fonction peut être utilisée sur un poste serveur de socket SocketConnecte Connecte un poste client à une socket donnée. SocketCrée Crée une socket. Une socket est une ressource de communication utilisée par les applications pour communiquer d'une machine à une autre sans se soucier du type de réseau. SocketCréeUDP Crée une socket utilisant le protocole UDP. SocketEcrit Ecrit un message destiné à une autre socket. Cette fonction peut être utilisée sur un poste client ou un poste serveur. SocketExiste Teste l'existence d'une socket. SocketFerme Ferme une socket ou une connexion à une socket d'un serveur. SocketLit Récupère un message envoyé par une autre socket. Cette fonction peut être utilisée sur un poste client ou un poste serveur. StatCorrélation Calcule le coefficient de corrélation entre deux séries de valeurs. StatCovariance Calcule la covariance entre deux séries de valeurs. StatEcartMoyen Calcule la moyenne des écarts absolus des valeurs par rapport à leur moyenne arithmétique. StatEcartType Calcule l'écart type d'une série de valeurs. StatEcartTypeP Calcule l'écart type d'une série complète de valeurs. StatErreur Renvoie le numéro de la dernière erreur due à une fonction Statxx (fonctions statistiques). StatMax Calcule la valeur maximale d'une série de valeurs. StatMin Calcule la valeur minimale d'une série de valeurs. StatMoyenne Calcule la moyenne arithmétique, géométrique ou harmonique d'une série de valeurs. StatSomme Calcule le cumul d'une série de valeurs. StatVariance Calcule la variance d'une série de valeurs. StatVarianceP Calcule la variance d'une série complète de valeurs. TableauAjoute Ajoute un élément en dernière position d'un tableau à une dimension. TableauCherche Cherche l'indice d'un élément dans un tableau. TableauCopie Copie le contenu d'un tableau dans un autre. TableauDéplace Permet soit de déplacer un élément dans un tableau à une dimension, soit d'échanger deux éléments dans un tableau à une dimension. MemPremier 44 Renvoie les caractéristiques d'un tableau : type des éléments, nombre de dimensions, dimensions, ... TableauInsère Insère un élément à une position donnée dans un tableau à une dimension. TableauOccurrence Renvoie soit le nombre d'éléments présents dans un tableau à une dimension, soit le nombre de lignes présentes dans un tableau à deux dimensions, soit le nombre d'éléments présents dans la première dimension d'un tableau à trois dimensions ou plus. TableauSupprime Supprime un élément à une position donnée dans un tableau à une dimension. La taille du tableau est automatiquement réduite. TableauSupprimeTout Supprime tous les éléments d'un tableau à une dimension ou deux dimensions. TableauTrie Trie un tableau. TableSelectOccurrence Renvoie le nombre d'éléments sélectionnés dans une table. Les lignes sélectionnées correspondent aux lignes en cours sur lesquelles le bandeau de sélection est affiché. TexteVersHTML Convertit une chaîne texte en chaîne HTML TexteVersXML Convertit une chaîne de caractères au format ANSI en une chaîne de caractères au format XML. VérifieExpressionRégulière Vérifie si une chaîne de caractères correspond à un format spécifique, et récupère les différentes sous-chaînes constituant le format. XMLAjouteAttribut Ajoute un attribut dans un document XML. Cet attribut est ajouté à la fin de la liste des attributs de la position courante. XMLAjouteFils Ajoute une balise fille dans un document XML. Cette balise fille est ajoutée à la fin de la liste des attributs de la position courante. XMLAnnuleRecherche Annule la recherche effectuée par la fonction XMLRecherche. XMLConstruitChaîne Récupère et met en forme le contenu d'un document XML (créé avec la fonction XMLDocument et modifié grâce aux fonctions XML). XMLDernier Positionne sur le dernier élément (balise ou attribut) du niveau en cours de l'arborescence. XMLDocument Crée un nouveau document XML. XMLDonnée Renvoie la valeur de l'élément en cours (balise ou attribut XML) ou d'un de ses attributs. XMLEnDehors Permet de savoir si l'élément (balise ou attribut) sur lequel on veut se positionner est en dehors du document XML. XMLExtraitChaîne Extrait le contenu d'une balise dans un document XML. Dans le cas d'une recherche plus complexe, utilisez les fonctions XMLDocument et XMLRecherche. XMLExtraitDocument Crée un nouveau document XML à partir d'une partie d'un document XML existant. XMLFils Positionne sur le premier élément fils de l'élément en cours. Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, ...) XMLFilsExiste Indique si la balise courante a des fils correspondant au type recherché (balise, attribut, ...). XMLInsèreDocument Insère un document XML dans un autre document XML XMLInsèreElément Insère un élément (balise ou attribut) XML dans un document XML. La position d'insertion est relative à la position courante. XMLModifie Modifie le contenu de l'élément courant dans un document XML. XMLNamespace Renvoie le préfixe de l'espace de nommage de la balise courante dans un document XML. XMLNamespaceURI Renvoie l'URI de définition de l'espace de nommage de la balise courante dans un document XML. XMLNomElément Renvoie le nom de l'élément en cours (balise ou attribut). Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). XMLNomParent Renvoie le nom de la balise parente de l'élément (balise ou attribut) en cours. Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). XMLParent Positionne sur l'élément parent de l'élément en cours (balise ou attribut). Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). XMLPosition Renvoie la position en cours dans le document sous la forme XPATH. XMLPrécédent Positionne sur l'élément (balise ou attribut) précédent. XMLPremier Positionne sur le premier élément (balise ou attribut) du niveau en cours de l'arborescence. XMLRacine Positionne sur la balise racine d'un document XML. XMLRecherche Lance une recherche dans un document XML. Cette recherche peut être annulée par la fonction TableauInfo XMLRenomme XMLRetourPosition XMLSauvePosition XMLSuivant XMLSupprime XMLTermine XMLTrouve XMLTypeElement XMLVersTexte XMLAnnuleRecherche. Modifie le nom de l'élément courant (balise ou attribut) dans un document XML. Restaure le contexte précédemment sauvegardé d'un document XML (fonction XMLSauvePosition). Le filtre en cours lors de la sauvegarde de la position peut être restauré (le filtre est mis en place avec la fonction XMLRecherche) Mémorise la position en cours dans le document XML. Il est ainsi possible de suspendre momentanément le traitement en cours, d'utiliser le document XML par ailleurs (pour effectuer des vérifications par exemple). Le contexte sauvegardé pourra être restitué. Positionne sur l'élément suivant (balise ou attribut). Supprime l'élément courant d'un document XML, ainsi que toute la branche qui en découle. Ferme un document XML créé avec XMLDocument. Toutes les ressources allouées lors de la création et de la manipulation du document XML sont libérées. Vérifie si l'élément en cours correspond au parcours ou à la recherche en cours. Renvoie le type de l'élément en cours (balise ou attribut). Pour sélectionner un élément, utilisez les fonctions de recherche et de parcours XML (XMLPremier, XMLDernier, XMLFils, ...). Convertit une chaîne de caractères au format XML en une chaîne de caractères standard. WLANGAGE Nouveauté 113 WD WB WM Fonctions optimisées La vitesse de la fonction FichierAffiche sur des fichiers de taille importante est sensiblement optimisée. Les fonctions de «liaison série RS 232» ont été implémentées dans WEBDEV 11, pour une utilisation en Intranet. Nouveauté 114 WD WB WM Les nouvelles fonctions disponibles sous WEBDEV 11 De nouvelles fonctions font leur apparition en version 11: CDEjecte CDListe ConstruitEntier ContactAjoute ContactCherche ContactDernier ContactModifie ContactPrécédent ContactPremier ContactRAZ ContactSuivant ContactSupprime 45 Ouvre ou ferme le tiroir du lecteur de CD/DVD sélectionné Liste les lecteurs de CD/DVD installés sur le poste en cours Construit un entier à partir de 2 entiers sur 2 de poids faible et fort Ajoute un contact dans le carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Recherche un contact dans un carnet d'adresses situé sur une base locale ou distante Lotus Notes ou Domino Renvoie le dernier contact présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Modifie un contact présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Renvoie le contact précédent présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Renvoie le premier contact présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Réinitialise la structure "mContact" Renvoie le contact suivant présent dans un carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook Supprime un contact présent dans un carnet d'adresse Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 d'une messagerie Lotus Notes, Domino ou Outlook Enlève le caractère "/"' ou "\"' à la fin d'une chaîne si ce caractère est présent EmailChercheNotes Recherche un ou plusieurs emails selon des critères spécifiés, dans une base Lotus Notes ou Domino EmailOuvreSessionNotes Ouvre une connexion avec une base locale ou distante Lotus Notes ou Domino EnModeTestAutomatique Permet de savoir si un test automatique est en cours ou non ExécuteActionPrédéfinie Exécute une des actions prédéfinies de WinDev / WebDev / WinDev Mobile FermeSession Fermer une connexion avec une messagerie Lotus Notes, Domino ou Outlook GroupeAjoute Ajoute un groupe de contacts dans le carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook. GroupeDernier Renvoie le dernier groupe de contacts d'une messagerie Lotus Notes, Domino ou Outlook GroupeModifie Modifie un groupe de contacts du carnet d'adresses d'une messagerie LotusNote, Domino ou Outlook GroupePrécédent Renvoie le groupe de contacts précédent d'une messagerie Lotus Notes, Domino ou Outlook GroupePremier Renvoie le premier groupe de contacts d'une messagerie Lotus Notes, Domino ou Outlook GroupeRAZ Réinitialise la structure "mGroupe" GroupeSuivant Renvoie le groupe de contacts suivant d'une messagerie Lotus Notes, Domino ou Outlook GroupeSupprime Supprime un groupe de contacts dans le carnet d'adresses d'une messagerie Lotus Notes, Domino ou Outlook HashChaîne Calcule le Hash d'une chaîne HashFichier Calculer le Hash d'un fichier HashVérifieChaîne Vérifie le Hash d'une chaîne HashVérifieFichier Vérifier le Hash d'un fichier HGèreServeur Permet de connaître et de modifier certains paramétrages du serveur HInfoLog Renvoie des informations sur les logs du serveur HRécupèreLog Renvoie les logs du serveur réalisés entre deux dates données JSInfoEvénement Permet de manipuler les propriétés de l'événement navigateur qui a déclenché l'éxécution du code LDAPMode Modifie le fonctionnement d'une session LDAP NotesCherche Recherche un ou plusieurs documents selon des critères spécifiés NotesDernier Renvoie le dernier document ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes NotesDimensionPropriété Renvoie la dimension d'un champ du document Lotus Notes en cours NotesDonnePropriété Renvoie la valeur d'un champ du document Lotus Notes en cours NotesEnDehors Permet de savoir s'il y a un document Lotus en cours NotesEnregistre Enregistre le document en cours dans une base locale ou distante Lotus Notes ou Domino NotesFerme Ferme le document ouvert par la fonction NotesOuvre NotesListePropriété Renvoie la liste des propriétés du document Lotus Notes en cours NotesModifiePropriété Permet de modifier la valeur d'un champ du document Lotus Notes en cours NotesOuvre Ouvre le document spécifié par la dernière fonction ayant accédé à une note Lotus NotesPrécédent Renvoie le document précédent ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes NotesPremier Renvoie le premier document ouvert par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes NotesRAZ Crée un nouveau document Lotus Notes vide NotesSuivant Renvoie le document suivant obtenu par les fonctions OuvreSessionNotes ou EmailOuvreSessionNotes NotesSupprimePropriété Supprime une propriété du document Lotus Notes en cours MessFramework Récupère un message du framework dans la langue en cours OuvreSessionNotes Ouvre une connexion avec une base locale ou distante Lotus Notes ou Domino OuvreSessionMAPI Ouvre une connexion avec une base Outlook RendezVousAjoute Ajoute un rendez-vous dans une messagerie Lotus Notes, Domino ou Outlook RendezVousDernier Renvoie le dernier rendez-vous stocké dans une messagerie ouverte par la fonction OuvreSessionNotes, EmailOuvreSessionNotes, EmailOuvreSession (syntaxe outlook) ou OuvreSessionMAPI RendezVousModifie Modifie un rendez-vous dans une messagerie Lotus Notes, Domino ou Outlook RendezVousPrécédent Renvoie le rendez-vous précédent RendezVousPremier DécomplèteRep Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 RendezVousRAZ RendezVousSuivant RendezVousSupprime TâcheAjoute TâcheDernier TâcheModifie TâchePrécédent TâchePremier TâcheRAZ TâcheSuivant TâcheSupprime TailleCommune xlsFeuilleEnCours xlsNbFeuille Domo Renvoie le premier rendez-vous stocké dans une messagerie ouverte par la fonction OuvreSessionNotes, EmailOuvreSessionNotes, EmailOuvreSession (syntaxe outlook) ou OuvreSessionMAPI Réinitialise la structure "mRendezVous" Renvoie le rendez-vous suivant Supprime un rendez-vous dans une messagerie Lotus Notes, Domino ou Outlook Ajoute une tâche dans messagerie Lotus Notes, Domino ou Outlook Renvoie la dernière tâche stockée dans une messagerie Lotus Notes, Domino ou Outlook Modifie une tâche dans une messagerie Lotus Notes, Domino ou Outlook Renvoie la tâche précédente Renvoie la première tâche stockée dans une messagerie Lotus Notes, Domino ou Outlook Réinitialise la structure "mTâche" Renvoie la tâche suivante Supprime une tâche dans une base locale ou distante Lotus Notes ou Domino Renvoie la longueur de la partie commune entre deux chaînes de caractères, en début ou en fin des chaînes Permet de connaître ou modifier la feuille courante dans le document Excel Renvoie le nombre de feuilles présentes dans un document Excel Les fonctions de la famille «Domo» sont disponibles en WebDev (voir la liste dans la partie WinDev svp) DIVERS Nouveauté 115 WD WB WM Gestion automatique des blocages fichier (Hyper File) Lorsqu’un internaute essaye d’accéder à un enregistrement bloqué, le serveur d’application WEBDEV le prévient automatiquement que l’enregistrement est bloqué. Ainsi, les conflits d’accès simultanés non autorisés sont gérés automatiquement, sans qu’il soit nécessaire de coder. Cette fonctionnalité est surtout utile en Intranet, et fonctionne également pour Internet. 46 ... Le message automatique (personnalisable). Nouveauté 116 WD WB WM La gestion des événements du navigateur La nouvelle fonction jsInfoEvénement permet de récupérer le détail des événements qui se sont produits sous le Navigateur: position de clic, un glisser, ... Cela permet de coder des traitements très réactifs. Nouveauté En entrant dans le champ, le masque apparaît: ici, taper le «/» est facultatif 117 WD WB WM Nouveauté Styles de bordures Masques de saisie Afin de mieux présenter les champs, une dizaine de nouveaux styles de bordure apparaît. Les masques de saisie existants sont améliorés. Les formats sont matérialisés en entrée de champ, et non plus seulement vérifiés en sortie. Les champs numérique, monétaire, date et heure sont améliorés. Parmi les nouveaux masques de saisie fournis: durée, première lettre en majuscule, numéro de téléphone français, nom et chemin de fichier, adresse eMail,... Nouveauté 118 WD WB WM 119 WD WB WM Groupware utilisateur Le «groupware utilisateur», bien connu des développeurs WINDEV, fait son apparition sous WEBDEV 11. Vous pourrez ainsi limiter l’accès à certaines pages ou certains traitements de manière automatique, en fonction d’un login de connexion ou de toute action de votre choix, en désactivant les boutons et liens qui y menaient. Le «groupware utilisateur» pilote les liens, les boutons, les images et les menus. Le serveur d’application WEBDEV effectue une double vérification lors de chaque clic sur un bouton, un lien,... pour vérifier que les droits sont réellement actifs, et éviter un détournement du paramétrage par une modification frauduleuse du code navigateur. Une page de base La base des utilisateurs du groupware peut être partagée avec WINDEV. Ainsi la protection d’une application de back office et du front office utilise des données communes: simplication appréciable. ... et la même page accédée par un autre utilisateur qui dispose de plus de privilèges. La définition des droits. 47 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Nouveauté «Centre de Contrôle Hébergement». Le centre gère bien sûr les comptes WEBDEV mais également, et c’est ce qui est nouveau, le compte au niveau du «serveur WEB IIS» (versions 5.xx et 6.xx) et des droits au niveau du système d’exploitation Windows. Un choix par défaut est proposé, qui permet d’installer un serveur par simple clic sans compétences particulières ! La création de comptes client peut être automatisée. Les éléments suivants sont centralisés: compte Windows, groupe des utilisateurs FTP, groupe de clients WebDev, Home directory, alias ftp, compte WebDev, répertoire des données, site web virtuel, activation de WebDev... 120 WD WB WM Styles adaptatifs (pseudo style) Afin d’améliorer encore l’interface proposée aux utilisateurs, chaque état d’un champ (au repos, survolé, actif, lien non visité, lien visité, premier fils, première lettre, première ligne) peut bénéficier d’un style spécifique. La définition des styles adaptatifs Le champ au repos Le champ en survol Le champ une fois cliqué (en saisie) Nouveauté Ecran de paramétrage 121 WD WB WM Nouveauté Editeur : nouvelles AAD De nouvelles AAD font leur apparition, pour assister encore plus le développeur et lui proposer d’appliquer des fonctionnalités utiles dans son contexte: • Proposition de conversion des images de taille trop importante. • Proposition de gestion automatique des vignettes images si un champ image est liée à une rubrique mémo. • Signalement d’une image définie dans un champ image et qui n’est plus présente sur le disque: évite les images absentes chez l’internaute. • Signalement d’un groupe de champs vide... Nouveauté 122 WD WB WM Exploitation: Centre de Contrôle Hébergement (IIS), pour automatiser les installations Destiné principalement aux hébergeurs et aux webmasters, pour aider à héberger plus facilement les sites, WEBDEV 11 intègre un 123 WD WB WM Protection des images Cette fonctionnalité s’applique sous WEBDEV. Dans le navigateur, les images sont protégées de la copie par le clic droit. Il s’agit d’une protection de premier niveau. Nouveauté 124 WD WB WM Choix du navigateur lors du GO Lors d’un GO de page, le choix du navigateur de test est maintenant possible depuis la barre d’outils. Nouveauté 125 WD WB WM Support du JPEG Progressif Le JPEG Progressif est un format d’affichage qui affiche une image progressivement, pendant que le navigateur charge l’image. Quand une image est insérée dans un site, WEBDEV 11 permet Tout achat de WINDEV 10 ou WEBDEV 10 ou WINDEV Mobile 10 à compter du 01/10/06 donne droit à la mise à jour gratuite (package avec manuels et DVD) vers la version 11 correspondante, dès sa disponibilité. Les versions 11 sont annoncées et ne sont pas disponibles à la date d’impression de ce document. Les nouvelles versions sont annoncées dès à présent pour vous permettre d’adapter vos développements, et ne pas perdre de temps à développer vous-même une fonctionnalité qui deviendra standard. Certaines fonctions peuvent ne pas être disponibles immédiatement lors de la commercialisation de la version, mais livrées ultérieurement sous forme de téléchargement. Notez également que d’autres évolutions et nouveautés que celles qui sont présentées dans ce document seront présentes dans la version. WINDEV, WEBDEV et WINDEV Mobile sont des logiciels professionnels. Malgré le soin apporté à sa rédaction, ce document n’est pas contractuel. Les copies d’écran et les listes sont indicatives. N’hésitez jamais à nous contacter. Toutes les marques utilisées sont des marques déposées de leurs propriétaires respectifs. Windows VISTA n’est pas disponible à la date de réalisation de cette brochure. Les tests ont été réalisés avec une version bêta de Windows VISTA. Microsoft est seul responsable et décideur des fonctionnalités qui seront livrées dans la version finale de Windows VISTA. Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 48 de transformer cette image au format JPEG Progressif. WINDEV 11 et WEBDEV 11 permettent de sauver par programmation une image au format JPEG Progressif. Nouveauté 127 WD WB WM Un exemple complet en AWP Un exemple très complet de site «catalogue» en mode AWP est livré. L’assistant JPEG progressif Nouveauté 126 WD WB WM Normalisation W3C Etc... Et d’autres nouveautés que vous découvrirez dans votre version 11 ! Les sites réalisés avec WEBDEV respectent sur demande la norme W3C (HTML 4.01) transitionnel. Windows, .Net, Internet, Intranet, Mobile RÉUSSISSEZ TOUS VOS PROJETS Vous le savez, les environnements WINDEV, WEBDEV et WINDEV Mobile sont compatibles et partagent les éléments de vos projets. Vous réussissez tous vos projets rapidement avec la nouvelle version 11. 49 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 Suivez les standards Gérez le changement Armez vos équipes Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11 50 S uivez les standards, pas les modes ! WINDEV innove tout en respectant les standards du marché. Vous assurez ainsi la pérennité de vos développements. L e monde économique et les entreprises bougent de plus en plus vite. Les mutations s’opèrent dans tous les domaines. Vous êtes réactif face à ces changements grâce aux versions 11. En 11 vous êtes plus fort. L es besoins de développement augmentent, et les budgets informatiques ne suivent pas forcément. Vous conciliez ces deux impératifs avec les versions 11. Vous aussi, passez en version 11. + 111 Nouveautés LE FUTUR N’ATTEND PAS : COMMANDEZ VOTRE VERSION 11 DÈS UN CODE UNIQUE : Windows, .Net, Java, PHP, J2EE, XML, Internet, Intranet, Pocket PC, SmartPhone, Client riche ... AUJOURD’HUI Fournisseur Officiel de la Préparation Olympique Siège Montpellier : 3 Rue de Puech Villa BP 444 08 34197 MONTPELLIER Tél: 04.67.032.032 Fax: 04.67.03.07.87 Agence Paris : 34 Boulevard Haussmann 75009 PARIS Tél: 01.48.01.48.88 www.pcsoft.fr PC SOFT Informatique - SAS au capital de 1 728 992 Euros - RCS 330 318 270 - SIRET 330 318 270 00064 - Code APE 722A - Numéro de TVA Européen: FR09 330 318 270 ®