Si vous choisissez cette option, WINDEV propose maintenant de s installer dans le répertoire «Program». Les projets sont situés dans «Mes documents». Les fichiers partagés par l environnement (brique de code, gabarit,...) se trouvent dans le répertoire «Application Data», etc... Lors de l installation de la version 14, une question est posée pour savoir quelle norme utiliser: Windows ou PC SOFT! Point important: les projets existants ne sont pas déplacés. Vous pouvez bien sûr décider de sauver les éléments où vous le désirez! Il ne s agit que de choix proposés. Note: les installations créées par WINDEV respectent cette norme si vous le désirez. Respect facile (mais facultatif) des préconisations de Windows, qui sont souvent suivies par les grandes sociétés. Fenêtre popup de calendrier dans un champ date CHAMPS 042 Nouveau champ calendrier Un nouveau type de champ très utilisé fait son apparition: le champ «calendrier». Ce type de champ permet à l utilisateur de saisir une date ou un intervalle de dates de manière intuitive. Le champ peut servir à la manière d un champ classique constamment visible dans une fenêtre ou une page, ou être affiché en cliquant sur un bouton ou en cliquant dans un champ. Le contenu du calendrier est finement paramétrable: les dates peuvent être de couleur définie, barrées, entourées, en gras ou en surbrillance. Il est par exemple possible de barrer les dates passées, et d afficher en fond rouge les dates non disponibles. L affichage du jour de la semaine est également paramétrable: jour de début de semaine, 1 lettre ou plusieurs lettres,... Une combo peut être présente dans le calendrier pour proposer des dates et fourchettes de dates prédéfinies: aujourd hui, hier, la semaine dernière, le mois dernier, l année en cours, l année dernière... La saisie peut être multi-sélections: il est possible de choisir plusieurs dates dans un même calendrier. Pour la saisie des fourchettes de dates (vol aérien, statistiques,...), 2 calendriers peuvent être ouverts simultanément. Il est possible de définir les jours fériés par programmation. Une nouvelle fonction permet d ouvrir une fenêtre de choix de date (un peu comme une fenêtre OuiNon). Ce nouveau type de champ calendrier est vraiment très pratique dans de nombreuses applications! Champ calendrier, avec dates prédéfinies Un champ calendrier dans une fenêtre Inutile de programmer les traitements de calendriers, il suffit de cliquer pour créer ce champ. L ergonomie des applications est améliorée. 18
043 Combos: nouveaux pcodes Deux nouveaux traitements («pcode») sont disponibles (leur affichage est optionnel): le pcode d'ouverture et le pcode de fermeture sur les combos. Ils permettent de définir un traitement spécifique lorsque l utilisateur final ouvre ou ferme une combo. Il devient par exemple possible de remplir une combo à la volée lors de son ouverture, ou de positionner le curseur dans un autre champ lors de la validation de la combo. Cette fonctionnalité sera appréciée en particulier des développeurs qui créent des barres d outils. Simplification du code. 044 Liste et combo Une nouvelle propriété..contenu fait son apparition, pour accéder directement au contenu d une combo. Il est ainsi possible de dupliquer facilement le contenu d une liste ou d une combo. Simplification du code. 045 Nouveaux masques Voici les nouveaux masques disponibles: Adresse IP v4 et IP v6 (adresse Internet), Numéro de sécurité sociale pour les pays suivants: UK, US, Canada, Australie, Belgique, Allemagne, Espagne, Grèce, Italie, Pays Bas, Singapour, Brésil... (en plus de la France déjà disponible) Adresse MAC (Media Access Control, identifiant physique de périphérique réseau) email Nombre romain Code postal pour les pays suivants: Allemagne, Autriche, Australie, Belgique, Canada, Pays Bas, Italie, Espagne, Royaume Uni, Etats Unis, Brésil, Grèce, Portugal, Singapour, Suisse,... (en plus de la France déjà disponible) Fichier sans chemin SIREN SIRET ISBN Numéro IBAN Numéro de carte de crédit : Visa, Mastercard, American Express... Programmation facilitée, car le WLangage fait les vérifications à la place du développeur! 046 Aspect adapté au nouveau look L aspect du Tableau de Bord s adapte au nouveau look général des éditeurs. Un nouveau mode «simplifié» fait son apparition, et limite les informations affichées. Un nouveau look est proposé Un superbe Tableau de Bord! 047 TABLEAU DE BORD GÉNÉRATEUR D ÉTATS Prévisualisation d'état La prévisualisation d états (créés avec «Etats & Requêtes» ou par programmation) s enrichit de nouveaux modes opératoires encore plus simples pour l utilisateur final. Le champ de recherche dans le texte de la pré-visualisation est maintenant systématiquement affiché dans la barre. Ainsi les utilisateurs penseront plus souvent à l utiliser (certains même découvriront la fonctionnalité), ce qui les rendra plus efficaces. Des choix sont maintenant proposés pour afficher les états de manière plus intuitive; par exemple un bouton propose une présentation par page isolée, un autre par couple de pages, etc Dans le cas de la visualisation par couple de pages, un 19
détail intéressant, il est possible d indiquer que l état commence par une «couverture»: la première page sera visualisée seule, et le reste du document par paire, en «réel» face à face. Evolutions d aperçu: mode plein écran, redimensionnement possible des vignettes. 049 Modèles et héritages dans les états Le concept de modèles et d héritage, déjà disponible dans les fenêtres et les pages, fait son apparition dans les états. Cela ouvre des possibilités de paramétrage lors de la création d états. Le champ «rechercher» est présent en permanence pour l utilisateur final Meilleur confort et efficacité pour l utilisateur final, automatiquement. 048 Annotation d états En version 14, l utilisateur final a la possibilité de rajouter des annotations depuis l'aperçu: dessin à main levée (une flèche, entourer une zone), texte formaté, trait, forme,... Les annotations seront imprimées avec l état (voir FAA, nouveauté n 142). Modèle d état: ici un papier à en-tête Utilisation du modèle dans un des états de l application Extrait de la vue d un état dans lequel l utilisateur peut saisir directement. Les annotations sont bien entendu reprises lors d un export au format PDF (impression, sauvegarde). Permet à l utilisateur final de personnaliser un état, et de porter l attention sur un ou des éléments précis. Factorisation des développements. 050 Modifieur Le modifieur est maintenant disponible dans l éditeur d états. Meilleure unité d utilisation entre les éditeurs. 20
051 Edition des noms des champs L édition des noms de champ devient possible dans la barre d état, ce qui simplifie ce type d édition. Cohérence accrue de l environnement, normalisation des comportements, facilité de modification. 052 Verrouillage des champs Les champs de l éditeur d états peuvent être verrouillés en position fixe. La modification de position devient impossible, et le champ n est pas sélectionné lors d une sélection au lasso: vraiment pratique pour les champs de décor! Permet de fixer un décor. EDITEUR DE REQUÊTES 055 Améliorations diverses du GDS Le GDS (gestionnaire collaboratif de sources, outil de versionning) évolue en version 14. De nombreux nouveaux contrôles sont opérés lors de chaque manipulation, ce qui élimine quasiment tout risque de fausse manipulation. De nombreux traitements ont été optimisés, et de nouvelles fonctionnalités apparaissent, en particulier: Départager un fichier. Récupérer une ancienne version même si le document est ouvert. Historique du projet depuis l environnement. Liste des projets auxquels on participe, avec possibilité de se désabonner. Améliorations du fonctionnement des extractions automatiques du projet: le nombre d extractions est réduit. Meilleure sécurité d utilisation, vitesse améliorée. ACCÈS NATIF AUX BASES TIERCES: POSTGRESQL 053 Nouveaux ordres SQL Les nouveaux ordres SQL apparus en version 14 sont disponibles dans l interface visuelle de l éditeur de requêtes, tels que les paramètres dans les «order by» par exemple (voir nouveauté N 127). Inutile de saisir soi-même les requêtes. 054 Editeur de requêtes En version 14, il devient possible d utiliser des paramètres dans les rubriques calculées. Meilleure paramétrage des requêtes. GDS (GESTIONNAIRE DE SOURCES) 056 Accès Natif PostgreSQL Vous le savez, les accès natifs suivants sont déjà disponibles: HyperFileSQL, Oracle, SQL Server, MySQL, Excel, AS/400, Progress, DB2, Informix, Sybase, Un nouvel accès natif fait son apparition: l accès natif à la base de données PostgreSQL. Cet accès natif permet de bénéficier de la puissance de l assistance permanente de l environnement de WINDEV et WEBDEV (en particulier de l analyse), et donc d être plus efficace, et de créer des applications plus sécurisées. L accès natif à PostgreSQL est fourni gratuitement avec la version 14. Meilleures performances pour les utilisateurs de PostgreSQL, possibilité de bénéficier de l industrialisation et la sécurité apportée par le lien avec l Analyse. 21
ARCHITECTURE LOGICIELLE La notion de composants dans WINDEV permet aux équipes de créer facilement leur propre framework de développement, adapté à leurs contraintes et exigences. Voici un rappel des principaux concepts disponibles dans WINDEV pour un développement de «brique logicielle»: Notion d héritage, héritage multiple d IHM en POO Modèle de champs Composant Composant Interne Fenêtre interne et page interne Web Service Fenêtres et Pages Brique de code, etc La version 14 apporte de nouvelles possibilités. 057 Composants «Internes» : analyse incluse Un composant est une partie de programme (ou un programme entier) destiné à être ré-utilisé. Un composant sera utilisé comme une «boîte noire» par d autres applications. Les composants internes en version 14 permettent d intégrer une analyse différente de l analyse du projet hôte. Il devient donc possible d accéder à 2 analyses différentes «automatiquement» (sans utiliser de fonction houvreanalyse). Tous les éléments de l analyse du composant sont disponibles dans l environnement (saisie assistée, liaison fichier, RAD fenêtre,...). Permet la création encore plus facile de briques de haut niveau. 059 DATABINDING: LES LIAISONS EN 1 LIGNE Liaisons fatales Vous connaissez bien entendu les célèbres fonctions EcranVersFichier et FichierVersEcran. Inventées par PC SOFT il y a maintenant 20 ans, ces fonctions ont permis à des centaines de milliers de développeurs d éviter des milliards de lignes de code! En version 14 apparaissent des fonctions SourceVersEcran et EcranVersSource. Ces 2 nouvelles fonctions sont promises également à un grand avenir. Grâce à elles, il est possible de lier des variables en mémoire à des champs (de fenêtre ou de page). Ces variables en mémoire peuvent être, à votre choix: des variables simples, une classe, un élément structuré du langage (Agenda Google, feuille XLS, flux RSS,...) Le contenu d une table peut être automatiquement rempli par un tableau de ces éléments. En une ligne (SourceVersEcran), tous les champs sont remplis avec les membres de la classe ou les propriétés du type du langage. Gain apporté par cette nouveauté version 14: Suppression de grande quantité de code lors des affectations d ensemble de données 060 Exemples simples de Databinding Imaginez une classe «personne» composée des membres «nom», «prénom», «date de naissance», «adresse». Le simple fait de glisser (drag & drop) une instance de la classe dans une fenêtre (ou une page) crée les champs correspondants (du type correspondant), et la liaison automatique (bi-directionnelle) entre les champs et les membres correspondants. Une ligne de code suffit! Glisser une classe crée les champs (ou un tableau si nécessaire), et la ligne de code SourceVersEcran en assure la liaison. 22
3-TIER 058 Couche «présentation» Lorsque vous aurez lu les paragraphes consacrés au Databinding ci-dessous), vous aurez compris que le «3-Tier» est énormément simplifié en version 14. En effet, la gestion du «tier» présentation est maintenant effectuée automatiquement, sans qu il soit nécessaire de programmer les affectations une à une. Suppression de nombreuses lignes de code d affectation. Plus de risques d oubli. Mobile Windows Navigateur Couche Présentation Composants Web Services Serveur d'application WebDev Couche Application HyperFileSQL Classic, Client/Serveur Couche Données Bases tierces Oracle, AS/400, SQL Server... Autre exemple: imaginez que votre application manipule une variable de type «tableau» de personnes. Il suffit de glisser (drag & drop) la variable dans une fenêtre pour créer automatiquement le champ table correspondant, et le remplissage automatique du champ table avec les données de la variable tableau. Supposons maintenant que votre application doive utiliser un Web Service qui renvoie un tableau d éléments structurés. Il suffit d importer le Web Service dans l environnement, ce qui va générer automatiquement les déclarations des tableaux et les classes nécessaires à la manipulation des données renvoyées par le Web Service. Il suffit de glisser ces tableaux et ces classes dans les fenêtres (ou les pages) concernées. Un simple Drag & Drop suffit en version 14. Simplification drastique du code, aucun risque d erreur lors des affectations. Liaisons automatiques entre les champs et leurs données, quelle que soit leur provenance. 23
L éditeur de code évolue vers encore plus d efficacité. 061 EDITEUR DE CODE Numérotation des lignes En version 14, l éditeur de code peut numéroter les lignes de code. Vous savez immédiatement combien un traitement comporte de lignes! Le correcteur d orthographe détecte les fautes dans les commentaires et les chaînes utilisées dans le code. Cette petite nouveauté est sympathique pour les collègues ou les clients qui hériteront des programmes source, et pour les utilisateurs finaux qui éviteront des fautes dans les messages et textes affichés. Les numéros de ligne de code. Comptage facile, statistiques immédiates. Meilleure lisibilité des textes par tous. Positionnement plus simple. 062 Enroulage de bloc de texte multilignes Une syntaxe utile mais peu connue pour les chaines multilignes est l utilisation des crochets. On peut par exemple écrire : Toto est une chaîne = [ ceci est un message de plusieurs lignes ] Ce texte est maintenant enroulable. Meilleures lisibilité. 063 Orthographe vérifiée dans les commentaires et les chaînes Ici 2 erreurs signalées: dans un commentaire, mais surtout dans une chaîne affichée à l écran, ce qui serait dommage! Cette fonctionnalité est bien sûr débranchable, au niveau général ou par erreur détectée. Les ordres WLangage sont reconnus comme orthographiquement corrects. Respect de la langue française! 064 POO: saisie assistée dans les appels imbriqués La saisie assistée est disponible pour les appels imbriqués. Saisie assistée d objets agrégés Inutile de rechercher les informations de syntaxe des membres. 24
065 Evolutions en POO Pour les développeurs qui ont opté pour la POO, la version 14 apporte les nouveautés suivantes: Le. (point) peut être utilisé à la place de : ou :: Les opérateurs : ou :: sont facultatifs devant les noms de membre, si l option de compilation adéquate a été sélectionnée Les opérateurs <= (opérateur de copie) et <- (prise de référence) sont disponibles, ce qui permet d éviter l utilisation du mot clé «dynamique» Les méthodes virtuelles en héritage multiple sont disponibles. Encore plus de souplesse en POO. Utilisation plus naturelle. 066 Références croisées L interface de recherche des références croisées (Shift F2), fonctionne maintenant sur les ordres WLangage. Il est donc facile de retrouver les codes appelant une fonction donnée, et de naviguer parmi les appelants et les appelés. Meilleure navigation dans le code. 067 NOUVELLES SYNTAXES DU WLANGAGE Pour Tout : 5 évolutions utiles La fonction «Pour Tout» est vraiment utile, tellement elle limite le nombre de lignes d un code. En version 14, cette fonction évolue, et devient encore plus puissante et efficace. Le mot-clé ELEMENT est désormais facultatif pour les parcours de tableaux et les parcours de sous-éléments POUR TOUT x DE MonTableau... FIN La variable de parcours n'a plus besoin d'être déclarée: le WLangage détermine automatiquement le type de la variable de parcours en fonction de l'élément parcouru Une nouvelle syntaxe étendue pour les «conteneurs» de sousélément (tableaux, nouveaux types,...) fait son apparition: POUR TOUT <élément>, <clé>,<compteur> DE...... FIN <élément> est la variable de parcours <clé> est la clé de l'élément parcouru <compteur> est le compteur de parcours, c'est un compteur qui commence à 1 et qui compte le nombre d'itérations Une nouvelle syntaxe étendue apparait pour les champs POUR TOUTE LIGNE <indice> [,<compteur>] DE <champ>... FIN Une nouvelle syntaxe étendue apparait pour les extractions de chaînes POUR TOUTE CHAINE [<sous-chaîne>], [<Position dans la chaîne d origine>] [,<compteur>] DE <chaîne>... FIN Programmation encore plus simple. 068 Tableaux Il n est plus nécessaire de préciser le «zéro» dans la déclaration des tableaux. Exemple : TabChaines est un tableau de chaînes LesAgendas est un tableau de gglagendas Il est possible de typer en tableau un paramètre passé à une procédure. Exemple : PROCEDURE MaProcédure(TabChaines est un tableau de chaînes) Simplification des déclarations. Typage des paramètres plus avancé. Très utile quand on fait du binding car très fréquemment utilisé. 069 Opérateurs arithmétiques 4 nouveaux opérateurs sont disponibles:,, & et ~ pour simplifier les lignes de code comportant «EtBinaire», «OuBinaire», «OuExclusifBinaire» et «NonBinaire». Les opérateurs «crochets» [ ] font également leur apparition pour accéder à un bit donné d un octet, ou à une série de bits d un entier. «BitDécaleGauche» (et droite) permettent les décalages de bits. ^ est l opérateur de puissance. Exemples: m, n sont des entiers // 2ème bit de poids faible à 1 : n[2]=1 // masquage du 3ème bit : m=n&3 // Décalage à droite m=bitdécalegauche(m,2) Compacité du code. 25
070 POO: Getter/Setter automatique Lors d un accès en lecture à un membre d une classe, l appel de la méthode «Get» correspondante sera automatiquement déclenché. Lors d un accès en écriture, la méthode «Set» sera appelée. En combinant cette nouveauté avec la nouveauté «Data binding», il devient possible de lier directement une colonne à un membre qui en fait appellera une méthode. Accès à des données automatiquement agrégées. 071 NOUVEAUX TYPES DU WLANGAGE 3 nouveaux types: file, pile, liste En version 14, trois nouveaux types de variables font leur apparition: les types «file», «pile» et «liste». Ces types permettent de créer et manipuler des files, des piles et des listes (du type désiré: entiers, objets, structures). Il est donc facile d empiler, dépiler, insérer... des données sur des ensembles de données sans se soucier des décalages de fin de structure à effectuer. Ces nouveaux types proposent un mode producteur/ consommateur qui permet de gérer automatiquement les attentes pour remplissage adéquat. Ces types gèrent automatiquement les accès en multithread. Gestion plus facile des données en mémoire. Réduction du code pour gérer ces données. Algorithmes optimisés. 072 à 095 Nouveaux types et propriétés en version 14 De nouveaux types font leur apparition en version 14. Ils permettent une programmation simplifiée et sophistiquée à la fois. Pour accéder à une donnée, il suffit d indiquer : Type..Propriété La liste ci-après indique en titre le nouveau type (et sa description résumée), et en texte les nouvelles propriétés qui s y rapportent. Auteur : Auteur d'un agenda Google, d'un document,.....nom..email Cadre : Cadre d'une cellule, d'un champ d'un état..couleur..epaisseur..trait..bords..arrondi ggladresse : Adresse..AdresseLigne1..AdresseLigne2..Ville..Entreprise..CodePays..Email..Fax..Nom..Téléphone..CodePostal..Etat gglagenda : Permet de gérer un agenda Google..Titre..DatePublication..DateMiseAJour..Auteur gglalbum : Permet de gérer un album photo Picasa..DateMiseAjour..Auteur..Titre..Description..Image..Miniature gglannoncetexte : Annonce..IdentifiantGroupe..Type..Description1..Description2..UrlDestination..Refusée..UrlAffichée..DemandeExemption..Titre..Identifiant..Etat gglannoncevideo:..identifiantgroupe..type..urldestination..refusée..urlaffichée..demandeexemption..identifiant..image..titre..etat..video gglcampagne : permet de gérer une campagne..nom..montantbudget..périodebudget..datedébut..datefin..ciblagegéo..ciblagelangue..ciblageréseau..ciblagecontenu..etat..planning..optimiseurconversion..optimiseurbudget..ciblagecontenu gglchemin : Permet de gérer un tracé sur une carte..couleur..opacité..epaisseur gglconnexion : Permet de gérer une connexion à un serveur Google..Login..MotDePasse..NomApplication gglcontact : Permet de gérer le carnet d'adresses Google..Nom..Email..Notes..MessagerieInstantanée..Téléphone..Adresse ggldocument : Permet de gérer les documents présents sur un serveur Google..Auteur..Suivi..Titre..DateMiseAJour gglevénement : Permet de gérer les événement dans l'agenda Google..Titre..DateDébut..DateFin..Contenu..DatePublication..DateMiseAJour..Auteur gglinfocompte : gère un compte Adwords..Nom..MontantBudget..PériodeBudget..DateDébut..DateFin..CiblageGéo..CiblageLangue..CiblageRéseau..CiblageContenu..Etat..Planning..OptimiseurConversion..OptimiseurBudget ggllieu : Permet de gérer les lieux (lieux des événements par exemple)..libellé..description gglmarqueur : Permet de gérer un marqueur de position sur une carte..latitude..longitude..taille..couleur..lettre gglpersonne : Permet de gérer les participants d'un événement..email..libellé gglphoto : Permet de gérer une photo d'un album..datemiseajour..datepublication..nom..description..image..hauteur..largeur 26
gglpréférencesnotificationemail : Email..PerformanceDuCompte..AnnoncesRefusées..RecherchesMarketing..NewsLetterGoogle..PromotionsGoogle hindexfulltext : Décrit un index full-text dans un fichier créé par programmation..nom..rubriques..sensiblecasse..sensibleaccentuation..longueurminimal hsauvegarde : Permet de décrire les options de sauvegarde d'un serveur HyperFileSQL..Source..Destination..AvecIndex..Description..Jauge..ProcédureAvant..ProcédureAprès htâcheplanifiée : Permet de gérer les tâches planifiées sur un serveur HyperFileSQL..Description..Heure..JourDeLaSemaine..JourDuMois..JourDuMoisOuDeLaSemaine..Minute..Mois..NombreExécution..Procédure..Paramètres..Actif rsscanal : Permet de gérer un canal RSS..Occurrence..Description..Lien..Titre rssentrée : Permet de gérer une entrée d'un flux RSS..Categorie..Description..Lien..Source..Titre rssflux : Permet de gérer un flux RSS..Occurrence..Version xlscellule : Permet de manipuler une cellule d'une feuille XLS..Valeur..Type..Police..CouleurFond..AlignementV..AlignementH..Multiligne..Cadre xlscolonne : Permet de manipuler une colonne d'une feuille XLS..Largeur..CelluleDéfaut xlsdocument : Permet de manipuler un document XLS..Fichier..Feuille..NombreFeuille..Version..NombreColonne..NombreLigne..NomFeuille..Modifié xlslignes : Permet de manipuler une ligne d'une feuille XLS..Hauteur..CelluleDéfaut (Retrouvez la liste détaillée des nouvelles fonctions WLangage par logiciel en nouveauté N 218 à 337 pour WINDEV, N 347 pour WINDEV Mobile et N 366 pour WEBDEV). 096 NOUVELLES FONCTIONS WLANGAGE Tableau associatif En version 14, il devient possible de sérialiser (et désérialiser) un tableau associatif automatiquement avec les ordres Sérialise et Désérialise. Le 3-tier est facilité. Le stockage des données devient également facile. 097 Support du format de compression «rar» Le format de compression «zip» est déjà disponible. Le format de compression «rar» est supporté en version 14: il est possible de décompresser des archives créées au format rar. Une norme de décompression supplémentaire disponible en standard. 098 PdfVersTexte La nouvelle fonction PdfVersTexte permet d extraire le texte d un document PDF. Ce texte pourra alors être analysé, parsé... dans une application ou un site Possibilité simple d analyser le contenu d un document PDF quelconque. 099 Fonctions XLS pour Excel et OpenOfficeCalc Les fonctions de la famille «xls», qui permettent de gérer les fichiers Excel (et OpenOfficeCalc en mode «xls») évoluent sensiblement en version 14. Il devient possible d écrire dans une feuille de manière native; voici un exemple de code: MonDocXLS[ligne][colonne]=MontantFacture Les «classeurs» des feuilles XLS sont gérés. La vitesse des fonctions XLS a été sensiblement optimisée, en particulier celle de la fonction xlsdonnées. De nouveaux types apparaissent: 27
XlsDocument, XlsColonne, XlsLigne, XlsCellule Pour ces types, de nouvelles propriétés sont utilisables:..fichier,..feuille,..nombrefeuille,..version,..nombrecolonne,..nombreligne,..nomfeuille,..modifié,..doc[1],..doc[a,1],..doc[1,1],..doc.a..largeur,..celluledefaut,..col[1]..hauteur,..celluledefaut,..ligne[1],..ligne[a]..valeur,..type,..police,..couleurfond,..alignementv,..alignementh,..multiligne,..cadre Meilleur support de OpenOfficeCalc et de Excel. Vitesse améliorée. 100 Fonctions natives Excel 2007 Les fichiers de format Word 2007 sont déjà gérés en version 12. Les fonctions XLS fonctionnent à la fois sur les fichiers au format XLS et au format XLSX (Excel 2007). Le code est identique. Gérez les fichiers Excel de toutes versions. Meilleur interfaçage avec les dernières versions de MS Office. 101 Formulaire Http Il existait déjà une fonction HHTPRequête. En version 14, une famille complète de fonctions «http» fait son apparition. Les nouvelles fonctions de la famille permettent de construire un formulaire, et de spécifier les paramètres.. Programmation simplifiée. 102 Famille «Appli»: paramétrer le live update La nouvelle famille de fonction «Appli» permet de paramétrer les mises à jour automatiques d application (live update). Programmation simplifiée. 103 Animation des champs Les animations automatiques de champs font leur apparition en version 14 (voir nouveauté N 138). Il est également possible d exécuter ces animations par programmation à l aide de la famille de fonctions «Animation». Programmation simplifiée. 104 Création dynamique de menus La création, la modification et la suppression de menus et choix de menus s effectue facilement en WYSIWYG. Il est maintenant possible de créer dynamiquement des menus par programmation, à l aide des nouvelles fonctions de la famille «menu». Meilleure personnalisation. 105 Nouvelles fonctions WLangage diverses Parmi les nouvelles fonctions que vous découvrirez en détail dans la partie consacrée à chaque logiciel en voici quelques unes: Pour usage en multi-écran, la nouvelle fonction FenRectangleEcran permet d obtenir les coordonnées de l écran où est située la fenêtre. La nouvelle propriété..textesélectionné permet de récupérer et modifier un texte sélectionné dans un champ de saisie, sans avoir besoin d utiliser..curseur et..fincurseur Options de création des signaux et des sémaphores: il est possible de créer des sémaphores locaux à l application, à la session ou à la machine SNMP : une fonction pour récupérer les valeurs d'oid structurées en tableau fait son apparition; cela évite de se plonger dans la structure des OID et de coder les appels à chaque ligne et colonne du tableau, typiquement, la liste des disques, leur type, leur taille... Un timeout est paramétrable sur les fonctions SNMP Les fonctions PressePapier acceptent maintenant le RTF. Les fonctions Position, PositionOccurence, ChaineOccurence et ExtraitChaine acceptent maintenant un tableau de chaînes en paramètre. Il est possible de changer la couleur d'un onglet par programmation. La nouvelle fonction SysChangeEnvironnement permet de lire et modifier une variable d'environnement du système (pour le process, pour la session ou pour la machine). 28
106 LIEN NATIF AVEC LES APPLICATIONS GOOGLE Lien natif d applications Google en WLangage En version 14, interagir avec les applications proposées par Google devient plus facile. Google propose de nombreuses applications, en général accessibles via Internet. En vue de simplifier notablement l interopérabilité avec ces applications Google, la version 14 de WINDEV et WEBDEV permet de nombreuses interactions natives avec ces applications. Voici un exemple d application réalisable: Un expert judiciaire prend des photos avec un téléphone sur des chantiers différents. Le téléphone utilisé comporte une fonction GPS intégrée, qui stocke automatiquement les coordonnées du lieu de la photo. Les images sont enregistrées avec leur position. Une application (réalisée en WINDEV 14 ou en WEBDEV 14) récupère les photos, les charge sur Picasa, affiche et imprime une carte avec l emplacement précis de la photo, le tout en 1 clic... De quoi optimiser la génération d un dossier d expertise par exemple! Ou illustrer une proposition commerciale pour la rendre plus attractive! De nouveaux types du WLangage font leur apparition, ce qui permet une programmation puissante et intuitive. Voici un exemple de code qui récupère une liste de contacts et l affiche dans une table WINDEV: Connexion est une gglconnexion Connexion.Email= WinDev14@gmail.com Connexion.MotDePasse= motdepasse GglConnecte(Connexion) Contacts est un tableau de gglcontact Contacts=GglListeContact(Connexion) TableAffiche(TABLE_Contacts) Les structures de données manipulées sont gérées automatiquement, et les affectations de valeurs peuvent s effectuer en une seule ligne de code (voir la nouvelle famille de fonctions WLangage SourceVersFichier ou FichierVersSource). Les paragraphes suivants détaillent les possibilités. Interaction facile avec les applications Google. 107 Lien avec Google Maps Le service de cartographie Google Maps est un logiciel de cartographie Internet proposé par Google. Il permet d afficher un plan ou un itinéraire, en offrant de nombreuses possibilités de visualisation. Exemples de traitements réalisables nativement en WLangage: Il est possible de récupérer une carte et de l afficher dans un champ de fenêtre ou dans un état, de l envoyer par mail. La longitude et la latitude, le taux de zoom permettent de définir la zone de la carte et la taille de l image à récupérer. On peut spécifier le format : jpg, gif ou png et le niveau de compression. Il est possible de demander le dessin d un itinéraire sur la carte. Couleur, opacité et épaisseur de cet itinéraire sont paramétrables. Un chemin peut par exemple être récupéré lors d un parcours avec un GPS qui enregistre le «chemin» (ou avec un téléphone équipé de ce dispositif). On peut demander aussi le dessin de «marqueurs», à une position donnée, avec une taille et une couleur précise. Et une lettre optionnelle si on le souhaite (pour les numéroter par exemple) Ces fonctions permettent de profiter du service de cartographie de Google pour intégrer des fonctionnalités dans sen applications WINDEV 14 ou WEBDEV 14. Une application WINDEV qui utilise Google Maps Liste des types disponibles (liste non exhaustive) GglMarqueur GglChemin Chaque type dispose de nombreuses propriétés:..latitude,..longitude,..taille,..couleur,..lettre..couleur,..opacité,..epaisseur Liste de fonctions WLangage: GglRecupèreCarte 29
Ici utilisation de Google Maps sous WEBDEV: visualisation de niveau de chiffre d affaires par localisation. Il devient facile d inclure des cartes annotées dans les applications et les sites. 108 Lien avec Google Agenda Le service Agenda Google Calendar est une application Internet fournie par Google qui permet de gérer un agenda sur Internet. Les nouvelles fonctions natives de la version 14 permettent par exemple de réaliser une application de synchronisation de planning avec un applicatif déjà en place: utilisation d une salle, d un véhicule... Ces fonctions permettent également de réaliser des interfaces spécifiques (adaptées au métier, plus conviviales...) et de rajouter des traitements spécifiques (impressions,...). Edition du rendez-vous dans une application WINDEV 14 Exemples de traitements réalisables nativement en WLangage: récupérer la liste de ses agendas et leur détail: agenda professionnel, agenda personnel, agenda de collègues sur lesquels on a les droits d accès, date de mise à jour, auteur... récupérer la liste de tous ses rendez-vous de chacun de ses agendas, des rendez-vous entre 2 dates. spécifier des mots clés pour rechercher les rendez-vous contenant ces mots dans leur titre ou contenu. modifier/ajouter/supprimer des rendez-vous.tous les détails des rendez-vous sont disponibles : titre, date, date de publication, date de mise à jour, auteur, liste des noms des participants et de leur adresse email etc Liste des types disponibles (liste non exhaustive) gglagenda gglevenement Chaque type dispose de nombreuses propriétés:..titre,..datepublication,..datemiseajour,..auteur,..evénement..titre,..datedébut,..datefin,..contenu,..datepublication,..datemiseajour,..auteur Liste de fonctions WLangage: GglRécupèreAgenda GglRécupèreEvènement (un Rendez-vous) GglRequêteEvènement Exemple de code qui affecte les éléments dans la table après: Agenda est un gglagenda Agenda=GglRecupèreAgenda(Connexion, Professionnel ) GglRemplitAgenda(Connexion,Agenda) NouveauRendezVous est un gglevénement NouveauRendezVous.Auteur.Email= fred@masociete.com NouveauRendezVous.Auteur.Nom= Fred NouveauRendezVous.Titre= Rendez-vous avec M. Dupont NouveauRendezVous.DateDébut= 200810141414 Ajoute(Agenda.Evenement,NouveauRendezVous) TableAffiche(TABLE_RendezVous) Un agenda affiché, un rendez-vous... 30
110 Lien avec Google Adwords Table remplie par le code ci-dessus Gestion de planning centralisée, partage des informations entre plusieurs applications. 109 Lien avec Google Contacts Google Contacts permet de gérer des contacts sur Internet. Les nouvelles fonctions WLangage permettent par exemple de réaliser une application qui synchronise les contacts d un téléphone portable ou d un applicatif existant avec ceux de GoogleContact, que ce soit avec WINDEV ou avec WEBDEV. Exemples de traitements réalisables nativement en WLangage: Récupérer la liste de ses contacts, des groupes de contacts, ainsi que tous les détails de chaque contact: nom, notes, adresse de messagerie instantanée, téléphones, adresse, email Modifier/ajouter/supprimer des contacts. Gérez vos campagnes de publicité Adwords automatiquement, analysez les retours avec finesse et confidentialité Le service de publicité Adwords est l application qui permet de gérer les campagnes publicitaires réalisées sur Google. Le lien avec Adwords permet de réaliser des applications WINDEV telles que la gestion automatique des enchères, la définition des mots-clés sur un ensemble d annonces, ou encore d analyser les sites sur lesquels les annonces sont cliquées (annonces de contenu). En combinant ces données avec celles des fichiers de visites sur les sites, il est également possible de réaliser des traitements de listage des adresses IP des internautes ayant cliqué sur les annonces, afficher des statistiques horaires, etc... Un autre exemple de traitement d application WINDEV, en mixant les données avec celles des fichiers de log, est de calculer la rentabilité d une campagne, sans que Google n ait connaissance du taux de conversion des annonces. Il est également facile de réaliser un programme d exclusion automatique des sites de contenu qui génèrent uniquement des clics avec rebond (le visiteur quitte immédiatement la page de la publicité), afin d éliminer les sites indélicats et les sites sans lien avec le texte de la publicité. Données provenant de Google Contact dans une application WINDEV Liste des types disponibles (liste non exhaustive) gglcontact Chaque type dispose de nombreuses propriétés:.nom,..email,..notes,..messagerieinstantanée,..téléphone,..adresse Liste de fonctions WLangage: GglRécupèreContact GglRequêteContact Gestion déportée d une liste de contacts, synchronistation, sauvegarde. Liste de sites qui affichent la publicité et génèrent des clics sans aucun intérêt, donc à éliminer du réseau d affichage pour réduire les budgets 31
Le lien direct de WINDEV avec Adwords ouvre des possibilités quasi infinies de traitements automatiques. Liste des fonctions WLangage disponibles (liste non exhaustive) GglAdWAjouteCampagne GglAdWRécupèreListeCampagne GglAdWRécupèreCampagne GglAdWRécupèreStatistiquesCampagne GglAdWEstEligiblePourOptimiseurDeConversion GglAdWEstDiffusionOptimisée GglAdWModifieDiffusionOptimisée GglAdWModifieCampagne Liste des types disponibles (liste non exhaustive) gglcampagne, gglinfocompte, gglpréférencesnotificationemail, ggladresse, gglannoncetexte, gglannoncevideo Liste des propriétés disponibles (liste non exhaustive)..nom,..montantbudget,..périodebudget,..datedébut,..datefin,..ciblagegéo,..ciblagelangue,..ciblageréseau,..ciblagecontenu,..etat,..planning,..optimiseurconversion,..optimiseurbudget..adressefacturation,..devise,..identifiant,..réseauciblédéfaut,..description,..préférencesnotificationemail,..préférencelangue,..adresseprincipale,..catégorieprincipale,..dateréglagefuseauhoraire,..identifiantfuseauhoraire..performanceducompte,..annoncesrefusées,..recherchesmarketing,..newslettergoogle,..promotionsgoogle..adresseligne1,..adresseligne2,..ville,..entreprise,..codepays,..email,..fax,..nom,..téléphone,..codepostal,..etat..identifiantgroupe,..type,..description1,..description2,..urldestination,..refusée,..urlaffichée,..demandeexemption,..titre,..identifiant,..etat..identifiantgroupe,..type,..urldestination,..refusée,..urlaffichée,..demandeexemption,..identifiant,..image,..titre,..etat,..video Possibilité de réaliser les traitements de son choix sur Google Adwords. 111 Lien avec Google Docs et Google Spreadsheets Google Docs et Google Spreadsheets sont le traitement de texte et le tableur en ligne proposés par Google. Les fonctions disponibles en version 14 permettent de manipuler les documents eux-mêmes. Exemple de traitements réalisables nativement en WLangage: Récupérer la liste des documents et leurs détails. Faire des recherches parmi les documents. Upload de documents. Liste des types disponibles (liste non exhaustive) ggldocument Liste des propriétés disponibles (liste non exhaustive)..auteur,..suivi,..titre,..datemiseajour Liste de fonctions WLangage: GglRécupèreDocument Ggl EnvoiDocument Gestion de documents via les applications Google. 112 Lien avec Picasa Picasa est une application de gestion d images et photos en ligne proposée par Google. Les fonctionnalités offertes par la version 14 permettent de réaliser des clients riches, d automatiser des actions,... L interopérabilité entre des applications WINDEV et WEBDEV est facile. Affichage de photos sous Picasa Ici dans une application WINDEV, des fonctions complémentaires et la possibilité d alimenter automatiquement le site Picasa Exemples de traitements réalisables nativement en WLangage: Récupérer la liste des albums et tous leurs détails. Récupérer la liste des photos d un album, les tags d une photo. Envoyer des photos, récupérer des photos, taguer des photos. Récupérer et intégrer des photos de comptes picasa. 32
Liste des types disponibles gglalbum gglphoto Liste de quelques propriétés disponibles (liste non exhaustive)..datemiseajour,..auteur,..titre,..description,..image,..miniature..datemiseajour,..datepublication,..nom,..description,..image,..hauteur,..largeur Liste de fonctions WLangage: <Tableau> = GglRécupèreAlbums(<Connexion>) GglRécupèrePhoto(<Connexion>, <Album>[, <Recherche>[, < IndexDébut >[, < NbMaximum>]]]) GglEnvoiPhoto GglRécupèreTags Possibilité d ajouter ses propres traitements. 113 Lien avec Google Earth 114 LIEN NATIF AVEC SALESFORCE Lien avec SalesForce Dans une application WINDEV, utilisation d une carte GoogleEarth Le service de cartographie Google Earth est un logiciel et un service de cartographie satellite proposé par Google. Un usage de GoogleEarth (à part voir sa maison du ciel!) peut être par exemple pour un livreur, un commercial, un agent immobilier... de visualiser précisément un lieu avant de s y rendre. Exemple de traitements réalisables nativement en WLangage: positionner des marqueurs, du texte, déplacer la caméra, définir un chemin. l utilisateur peut se déplacer, zoomer à la souris. Le lien avec GoogleEarth se base sur une technologie différente des autres fonctions natives: il s agit ici d intégrer un ActiveX dans son application, ou un Plug In dans le site. Intégration et action sur des vues satellite. SalesForce est un logiciel de CRM très populaire à travers le monde. Il est commercialisé sous forme de Saas (Software as a Service), c'est-à-dire que l application et les données sont hébergées sur des fermes de serveurs par SalesForce. Mais il arrive souvent que des besoins très particuliers naissent autour de logiciels de ce type. Le développement de modules complémentaires est un atout fort dans l utilisation et la personnalisation avancée de ce type de logiciel. Grâce aux fonctions natives de la famille «SF» de la version 14, vos applications peuvent maintenant s interfacer de manière native avec SalesForce Personnalisation de SalesForce 115 Liste des fonctions SalesForce Voici la liste des fonctions disponibles, en anglais. Notez que cette liste est fournie en langue anglaise, et ce afin de faciliter leur lecture dans la documentation technique de SalesForce: 33
SFConvertLead Convertit une piste en compte, contact ou opportunité SFCreate Ajoute un ou plusieurs objets aux données SFDelete Supprime un ou plusieurs objets des données SFDescribeGlobal Récupère la liste des objets disponibles dans les données SFDescribeLayout Récupère les métadonnées de mise en page pour le type d objet spécifié SFDescribeSObject Décrit les métadonnées de l objet spécifié SFDescribeSObjects Décrit les métadonnées du tableau d objets spécifié SFDescribeSoftphoneLayout Récupère les informations de mise en page d un Salesforce Call Center SoftPhone SFDescribeTabs Récupère les informations des applications disponibles pour l utilisateur courant SFEmptyRecycleBin Vide les enregistrements contenus dans la corbeille SFGetDeleted Récupère la liste des objets supprimés dans une période donnée SFGetServerTimestamp Récupère le time stamp du serveur (UTC) SFGetUpdated Récupère la liste des objets mis à jour dans une période donnée SFGetUserInfo Récupère les données personnelles de l utilisateur courant SFInvalidateSessions Ferme une ou plusieurs sessions SFLogin Ouvre une session SFLogout Ferme la session de l utilisateur courant SFMerge Combine jusqu'à 3 enregistrements en un seul SFProcess Exécute un ensemble de procédures d approbation SFQuery Exécute une requête sur l objet spécifié et retourne les données correspondantes aux critères donnés SFQueryAll Exécute une requête sur les objets spécifiés, qu ils aient été supprimés ou non SFQueryMore Récupère l ensemble suivant de résultat d une requête SFResetPassword Change le mot de passe d un utilisateur pour un mot de passe temporaire généré par le système SFRetrieve Récupère un ou plusieurs objets en se basant sur leurs identifiants SFSearch Effectue une recherche de texte dans les données SFSendEmail Envoie un email SFSetPassword Modifie le mot de passe de l utilisateur SFUndelete Restaure des objets de la corbeille SFUpdate Modifie un ou plusieurs objets des données SFUpsert Crée de nouveaux objets et modifie des objets existants Personnalisation sans limite. 116 Accès aux structures personnelles («sous applications») Salesforce permet de créer ses propres structures de données («sous application»). La version 14 permet d accéder à ces structures personnelles, via la technologie des Web Services. Le niveau de personnalisation peut être très pointu. 117 Evolutions diverses La nouveauté «Databinding» (voir nouveauté N 059) a un effet très bénéfique sur l ensemble des fonctions SAP. En effet, les fonctions SAP manipulent souvent des structures de données. En version 14, les affectations de données sont effectuées en 1 seule ligne de programmation. Le code est plus simple et plus lisible. Transfert de données via SAP drastiquement simplifié. Notez que les nouveautés décrites ci-après s appliquent à WINDEV 14, WEBDEV 14 et WINDEV Mobile 14. Ces nouveautés s appliquent au «RAD Application» et au «RAD Fenêtre». 118 ACCÈS NATIF À SAP RAD Evolutions du RAD Il est possible de créer des Patterns destinés uniquement au RAD Fenêtre Lors de la génération, il est possible de spécifier si les tables doivent être en saisie ou en affichage Les composants internes peuvent être utilisés dans le RAD Les différents patterns sont également proposés dans le RID (Rapid Interface Design, la création de fenêtres sans code) 34 Meilleures possibilités de paramétrage.