Vous êtes sur la page 1sur 52

WEBDEV ®

WINDEV
11
®

MOBILE
PLATEFORMES Nouveaux
INTÉGRÉES Concepts
DE DÉVELOPPEMENT +
+111
Nouveautés

+111+
Nouvelles
Fonctions
WLangage

+111+
Nouvelles
Fonctions PHP

+111+
Nouvelles
Fonctions Java

DÉVELOPPEZ 10 FOIS PLUS VITE


®
Les
nouveautés
FACILITEZ
VOTRE RÉUSSITE Un nouveau look
L’interface des applications évolue encore et toujours facile-
ment grâce à WINDEV 11.

V
ous le savez mieux que personne: la théorie est une
chose, et la pratique une autre. Les environnements Vous bénéficiez de nouveaux types de champs natifs, que
PC SOFT proposent les fonctionnalités issues des besoins vous définissez facilement en quelques clics grâce au
réels, faciles à mettre en oeuvre. Les gains sont immédiats, sans concept des «7 onglets». Ici un menu carrousel.
avoir à bouleverser vos habitudes. Le retour sur investissement Distinguez vos applications en offrant un look moderne.
(ROI) se chiffre en jours ou en semaines, avec un taux de réus-
site hors du commun.
Evoluer avec WINDEV 11, WEBDEV 11 et WINDEV Mobile 11
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 auto-
matiquement la qualité et la vitesse 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, plus rapides et
plus belles que celles de vos concurrents, pour le plus grand
bénéfice des utilisateurs. Ici, sous Windows XP

1 1
NOUVEAUX CONCEPTS
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 !
(sondage septembre 2006)

11 nouveaux concepts utiles • Le suivi précis du temps Les versions 11 innovent dans le respect des standards du
apparaissent afin de simplifier • Projet commun: définissez
marché, et vous permettent d’améliorer encore ce taux de
encore le développement, le toutes les cibles dans un
seul projet réussite exceptionnel.
suivi et la mise au point des
projets. • IHM client: des interfaces de
Vous retrouverez ces concepts nouvelle génération (Vista)
sans programmation
dans la liste des nouveautés.
• Rétro analyse de projet et LEGENDE Indique dans quel logiciel la
nouveauté est disponible
• Héritage d’interface: la ges-
de code: la reprise facile WD = WINDEV 11
tion facile des IHM des WB = WEBDEV 11
d’existant Numéro de
grands projets la nouveauté WM = WINDEV Mobile 11
• Programmation par action
• Règles métier: les définir faci-
prédéfinie, sans code
lement, les obtenir facilement
• Web 2.0 & Ajax
• Tableau de Bord du projet:
suivez l’état d’avancement
• 64 bits par simple recompila-
tion.
Nouveauté
001 WD WB WM
des projets
• Tests automatiques et Vous aussi profitez de ces
nouveautés. ttention. Ce document s’adresse aux lecteurs qui connaissent déjà les versions 10
qualimétrie
A de WINDEV, WEBDEV et WINDEV Mobile. Si vous ne les connaissez pas, n’hési-
tez pas à demander les documentations complètes (en français) sur ces logiciels .

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


WINDEV
ET NOUVEAUTÉS COMMUNES À
WEBDEV ET WINDEV MOBILE
Cette partie présente les nouveautés communes aux 3 environne-
ments (selon la légende du titre).

Dans le compteur
Indicateur de qualité globale du projet.
Jauge de sauvegarde du projet, Jauge de nettoyage,
Nouveau concept 4 voyants d’avertissement: composant(s) pas à jour, erreur(s)
de compilation, Warning(s), Info(s)
TABLEAU DE BORD Sous le compteur
Voyant des bogues: nouveaux et total,
DU PROJET Voyant des Tests automatiques: en erreur, total.

Le responsable fonctionnel cherche à savoir quelles sont les évo-


Nouveauté
001 WD WB WM lutions demandées par les utilisateurs.
Le nouveau concept de «Tableau de bord» apporte automatique-
Le Tableau de Bord du projet ment 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
«Beau et indispensable». maintenance applicative et corrective. Les différents voyants pas-
Tout responsable de projet cherche à avoir une vision globale et sent du vert au rouge à chaque fois qu’une partie du projet
synthétique de l’état d’avancement des projets qu’il dirige. nécessite une intervention: correction de bogue, optimisation, ...
Tout responsable Qualité veut connaître le nombre et l’impor- Le tableau de bord séduira également le développeur au quoti-
tance des bogues des projets, et en suivre l’évolution. dien, car il permet de lancer directement les éléments affichés, et

Le compteur indi- Compteurs de nouvelles Information et


que au centre la tâches à réaliser, deman- accès aux modules
qualité du projet des utilisateurs, ... d’optimisation

Etat des tests La configura-


automatiques, tion active
et accès rapide
aux tests et
aux bugs
Les compo-
sants inclus
dans la
configuration
active
Accès rapide
aux workflows,
à l’analyse et
aux spécifica-
tions du projet Favoris et
derniers
éléments
accédés
Eléments
extraits

Impression
du tableau
Informations de bord,
sur le GDS et du dossier

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égu-
liè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

1
demandes dans le CC Suivi
Messagerie: nombre de mes-
sages non lus
Q ui n’a jamais vécu cette situation? Sur une application
existante, vous demandez une modification sur un traite-
ment que vous aviez défini: par exemple un calcul de statisti-
Nombre de règles métier du ques qui ne donne plus le résultat attendu. Vous vous retrou-
2 projet vez face au développeur qui a codé (il y a des mois) ce traite-
2- Boutons d’optimisation du ment. Vous ne vous souvenez plus précisément de ce que
projet vous lui avez demandé (les formules exactes à appliquer), et
lui ne se souvient plus exactement de ce qu’il a codé...
3- Configuration active du
projet (si pas de configura-
Vous devez ré-analyser le problème et le résoudre une
3 tion, intégralité du projet) deuxième fois. Vous perdez du temps, et le développeur aussi.
Date et numéro de version de Ceci ne serait pas arrivé si vous aviez décrit une règle métier...
dernière génération
Liste de composants inclus
dans cette configuration
4- Trois moyens d’accéder
Nouveauté
002 WD WB WM
4 aux éléments du projet : Les règles métier
Sélection rapide est équiva-
lent à Ctrl+E
Quel développeur n’a jamais eu à re coder plusieurs fois le même
Favoris est la liste des favoris traitement parce qu’il était mal défini ? Parce que les besoins
que vous avez définis exprimés par les utilisateurs n’étaient pas clairs ? Parce que le
Derniers éléments accédés cahier des charges n’était pas assez précis, élisant au rang d’évi-
dence ce qui demandait en réalité à être défini précisément ?
Détail de la partie gauche du Tableau de Bord Que de temps perdu, que d’utilisateurs et de clients frustrés.
Et ensuite, après le déploiement de l’application, une fois celle-ci
1 2 en exploitation, vient le temps des évolutions. La loi évolue, la
concurrence également, les utilisateurs expriment de nouveaux
besoins.
Pour que ces définitions et ces évolutions se passent de manière
3 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
4 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 cal-
cul d’un taux de TVA avec ses particularités, les règles de change-
1- Détail de l’onglet Projet 3- En cliquant sur un icone ment de statut d’un client, la formule de calcul d’un montant de
d’élément, la fenêtre indique frais de port, une commission commerciale, un taux de remise,
2- Par type d’élément du pro- le détail des extractions, ainsi
jet (fenêtre, état,...) nombre un coefficient de vétusté, une autorisation de livraison,...
que la liste des personnes les
d’éléments dans le projet, ayant effectuées.
nombre d’éléments extraits
par moi-même, nombre d’élé- 4- Informations sur le GDS
ments extraits par les autres
développeurs.

A l’usage, le Tableau de Bord devient vite indispensable ! Il per-


met 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. Chaque utilisateur peut suivre les demandes
Règles architecte, règles développeur, règles utilisateur sont main- qu’il a effectuées: bogue, demande d’évolution,
tenant prises en compte par l’environnement avec une grande spécification de règle métier...
(cette fonctionnalité est désactivable)
facilité. L’information est captée, circule, et est proposée par cha-
que éditeur à chaque fois qu’elle est nécessaire.
Le développeur n’est plus seul face à son code.
Cela facilite et sécurise la maintenance applicative, et permet de COMPATIBILITÉ TOTALE AVEC
réduire d’une part les durées de développement en évitant les LES VERSIONS PRÉCÉDENTES
allers-retours inutiles, et d’autre part le délai de mise à disposi-
tion. Aucune phase de migration n’est nécessaire
La saisie et la remontée des règles décrites par les utilisateurs sont entre WinDev 7.5, 8, 9 ou 10 et WinDev 11: il
automatisées par l’application. Il suffit d’inclure un composant suffit de recompiler l’application pour qu’elle fonc-
(«feedback», que vous connaissez déjà) dans l’application pour tionne en version 11.
que les utilisateurs puissent définir, illustrer et envoyer des règles Il en va de même pour le passage de WebDev 7, 9 ou 10 à
métier. WebDev 11, ainsi que pour WinDev Mobile. Il suffit de recom-
piler.
L’éditeur de règles métier vous permet de conserver la méthodo- Les composants existants (version 8 ou 9 ou 10) fonctionnent
logie qui vous est naturelle, s’y adapte, ce qui induit la réussite directement (sans avoir à être recompilés) avec les applications
plus rapide des projets. 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 environ-
nements 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 mobi-
les pour la gestion des stocks, et qu’un site Intranet et un site
Internet seront mis en place.
Regardez le graphe du projet et le treeview: fenêtres, pages,
Avant les versions 11, cela obligeait à gérer 3 projets différents, fenêtres mobiles...
un projet par cible.
Technologiquement, cela nécessitait des manipulations qui bien
qu’étant simples n’en étaient pas moins fastidieuses: association
Nouveauté
004 WD WB WM
d’analyse, partage des composants, des classes, des états, assem- La description de projet :
blage du dossier papier... plus d’informations
Grâce à ce nouveau concept des versions 11, il est maintenant La définition d’un projet prend en compte de nombreux nou-
facile de décrire un projet global. veaux paramètres, pour mieux définir et assister la «vie» de l’ap-
Par exemple, depuis WINDEV, on peut indiquer les aspects plication: sa conception, son développement, sa maintenance,
Internet, Intranet et Mobile. Le dossier sera exhaustif dès sa son exploitation.
conception. Parmi les informations qui sont maintenant gérées, vous trouvez:
Dans les phases d’utilisation de l’environnement, il est mainte- Description des équipes; Echéances; Cibles, plateformes; Niveau
nant possible de visualiser depuis chaque environnement les élé- de sécurité attendu; Volumétrie; Méthode de travail en équipe :
ments de chaque cible. Un projet sous WINDEV affiche les vignet- partage du code, de fenêtres, de classes, de procédures, d’analy-
tes des pages WEBDEV et des fenêtres WINDEV Mobile par ses...; Paramétrage de la gestion des sources...
exemple. Cliquer sur une page WEBDEV depuis l’éditeur de pro- L’intégration des documents de tout format (d’une spécification
jet de WINDEV ouvre la page WEBDEV (WEBDEV doit être installé UML à un coin de nappe en papier arraché dans un restaurant,
sur le poste). voir la nouveauté numéro 5) améliore également la documenta-
Sont également partagés: les documents, les descriptions de tion utile du projet.
workflow, les composants... Et bien entendu les paramètres que vous connaissez déjà sont
La vision globale des projets est ainsi facilitée. toujours gérés: charte de programmation, charte graphique,
accès aux données, ...

Nouveauté
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 restau-
rant, un bout de schéma conceptuel, une règle métier, un algo-
rithme ou simplement quelques idées griffonnées sur un bout de
nappe en papier, que l’on arrache à la fin du repas. Mais la plu-
part 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 descrip-
tion 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’en-
vironnement: liste des tâches terminées déduite du Centre de
Contrôle de Suivi de projet, liste des bogues corrigés et des évo-
lutions 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 évolu-
tions, et peut ainsi mieux exploiter l’application.
Ces informations sont affichées lors de l’installation et ensuite
Nouvel assistant de création de projet. accessibles depuis le menu standard «?» de l’application.
Notez le plan sur la gauche

L’affichage automatique chez l’utilisateur lors de l’installa-


tion; 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 repren-
nent 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
Une application évolue, c’est un lieu commun. ORGANISATION
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. L’organisation des tâches de conception et de développement est
Mais l’utilisateur doit savoir ce qui a été modifié entre 2 versions, primordiale, vous le savez bien. En équipe bien sûr, mais aussi lors
afin qu’il puisse bénéficier des nouveautés. L’utilisateur doit être d’un développement effectué seul.
informé des évolutions et des nouveaux modes opératoires pour Précurseur dans ce domaine, WINDEV propose de nouvelles fonc-
les utiliser. tionnalités utiles en version 11.
C’est maintenant un traitement «standard» des versions 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éhen-
dé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é
010 WD WB WM
Nouveauté
009 WD WB WM Gestion des absences des
membres de l’équipe de
Réalisme des plannings développement
Nous le savons tous, les plannings prévisionnels sont souvent
La gestion des absences (déplacement, congés,...) est améliorée.
optimistes. En général ils ne tiennent pas compte d’un ensemble
Cette gestion permet d’affiner les plannings prévisionnels.
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.
Ce coefficient, spécifiable par développeur, permet de tenir
compte des tâches chronophages, des oublis, du débogage sup-
plémentaire, de la capacité intrinsèque de chaque développeur.
Par exemple, un développeur débutant se verra affecter un coef-
ficient 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’ef-
fectuer 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 astrein-
dre 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
Un projet, avec les durées théoriques ... plus de naturel et moins de contraintes. La tâche en cours est par

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


8
exemple rappelée à intervalle régulier; ainsi le développeur n’ou-
blie 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 diagram-
mes dans différents domaines.
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 Par exemple, il sera utilisé par l’éditeur de rétro analyse de code
pour vous demander confirmation de votre tâche en cours (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 docu-
ments dans l’entreprise, ou les circuits de décision...
MODÉLISATION
SOUPLE
GDS (GESTIONNAIRE
Nouveauté
012 WD WB WM DE SOURCES)
Editeur de modélisation souple
L’éditeur de «Modélisation souple» permet de définir des work-
flow, des algorithmes, des modèles objets, des topographies, des Le GDS, le Gestionnaire de Sources collaboratif, est un élément
études de cas, des règles, des idées... pivot du développement. En version 11 le GDS propose de nou-
Cet éditeur permet de définir sans contrainte les processus de velles fonctionnalités, et optimise ses performances et les mani-
l’entreprise, et les processus du logiciel à développer. pulations nécessaires sur de nombreux traitements.
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 multi-
Nouveauté
013 WD WB WM
ple vers tous les modèles, facilités de présentation (voir égale- Gestion des branches
ment nouveautés numéro 23 et 24).
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 dif-
fuser de nouvelles versions correctives intermédiaires.
Vous pourrez ainsi diffuser des versions correctives de l’applica-
tion 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.
Nouveauté
014 WD WB WM
Un autre cas est celui d’un logiciel standard dérivé en versions Gestion des labels
adaptées à certaines particularités (gestion d’une chaîne de
magasins avec différences locales,...). 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
Le nombre de branches est illimité, et il peut y avoir des «bran- «10.1» ou la version «Bêta1» ou encore... ce que vous désirez.
ches de branche». Les manipulations sont alors plus intuitives.
Une branche peut être créée à posteriori à partir de l’historique.
Un assistant guide chaque étape de la création de branche.

Les versions nommées

Nouveauté
015 WD WB WM
Lancement de l’assistant de report de correction Recherche automatique des élé-
ments partagés entre projets
Lors de l’insertion d’un nouveau projet dans le GDS, l’assistant
d’ajout de projet propose maintenant automatiquement d’effec-
tuer un lien sur les éléments déjà présents dans le GDS: vous évi-
tez 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
Bien entendu, si vos applications utilisent des appels directs aux
Nouveauté
016 WD WB WM API système Windows 32 bits (fonction AppelDLL32, code indé-
Les composants dans le GDS pendant de WINDEV), vous devrez adapter le type des paramè-
tres de ces appels directs.
Le GDS peut être utilisé comme un centre de réutilisabilité des Vous pourrez ainsi tirer le meilleur parti des plateformes 64 bits.
composants. Le menu «Atelier» de la version 11 propose l’option Hyper File (serveur et client) supporte également le mode 64 bits,
«Ajouter un composant dans le projet depuis le GDS» et la mise voir la nouveauté N° 55 dans la section Hyper File.
à jour est automatique avec les autres éléments du GDS.

64 BITS HÉRITAGE ET
SURCHARGE :
IHM, CODE...
La taille de vos projets a augmenté avec le temps et avec
la montée en puissance de WINDEV. Vos projets principaux
comptent maintenant souvent 700 ou 800 fenêtres (selon le der-
nier sondage, le nombre moyen de fenêtres par projet est 278).
Vous souhaitez donc pouvoir effectuer facilement des modifica-
tions «en bloc» sur certaines propriétés et codes de certains
champs dans un ensemble de fenêtres: WINDEV 11 vous comblera.

Héritage, Surcharge
Les modèles de fenêtre et de champ font leur apparition et per-
mettent d’une part de partager un ensemble de champs, d’autre
part de les modifier en bloc, et en plus de les dériver.
Nouveauté
017 WD WB WM Vous bénéficiez facilement des concepts d’héritage et de sur-
charge, au niveau du code, mais également et surtout au niveau
64 bits natif et 32 bits natif : des autres propriétés des champs (position,...).
un code source unique Ces nouvelles notions permettent une architecture des IHM opti-
Les systèmes d’exploitation 64 bits font leur apparition dans les misée et facilement évolutive.
PC de bureau et les serveurs. La nouveauté 018 présente le concept de «Modèle de fenêtre»,
Le framework de WINDEV et le serveur d’application de WEBDEV la nouveauté 019 celui de «Modèle de champ», et la nouveauté
sont également disponibles en version 64 bits. Vos applications 020 explique l’héritage et la surcharge basés sur ces modèles.
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.
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éfinis-
sez. Vous définissez le contenu (le décor, les champs, leur code,
des procédures locales,...) et la position de ces éléments.
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 normalisez ainsi la création des fenêtres. Vous pouvez éga-
lement appliquer un modèle sur une fenêtre existante.
Lorsqu’un modèle est modifié, WINDEV 11 vous propose de
modifier toutes les fenêtres qui utilisent ce modèle.
Si certaines fenêtres ne doivent plus évoluer selon le modèle,
vous pouvez alors les désolisariser du modèle.
Si dans d’autres fenêtres, vous désirez désolidariser uniquement
certains champs provenant du modèle, ou juste certains paramè-
tres de ces champs (par exemple désolidariser la position du
Compilation: choisissez 32 bits ou 64 bits champ), vous pouvez le faire. Voir sur ce sujet la nouveauté
«Héritage de champ» ci-après.
Cette fonctionnalité de «64 bits par simple recompilation» vous
fera gagner du temps lorsque vous désirez passer au 64 bits. Dans un autre domaine, notez qu’un code de «déclaration des
Le partage de bibliothèques ou de composants créés en 32 bits globales» du modèle est géré: il devient possible de définir des
et 64 bits est tout à fait possible. 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)

Le modèle a servi à créer une fenêtre.


Nouveauté
019 WD WB WM Le carré jaune indique les champs provenant du modèle.
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 Un bouton a été supprimé, le bouton «Valider» a été person-
Nouveauté attendue de la version 11 donc, l’héritage de nalisé (taille et position), et hérite des autres propriétés du
«champ» est disponible depuis les modèles de champ et les bouton (code, style,...)
modèles de fenêtre.
Il ne s’agit pas seulement d’un héritage au niveau du code, mais Ces nouvelles fonctionnalités de modèle et d’héritage facilitent
également d’un héritage au niveau de l’IHM. grandement la gestion des grands projets.
Pour chaque fenêtre où le champ est utilisé, vous pouvez alors Le gain de temps est important, et la présentation des IHM facile-
dériver le champ du modèle en désolidarisant un ou plusieurs ment normalisée.
paramètres uniquement (par exemple désolidariser la position du Ce nouveau concept est une nouveauté majeure des versions 11.
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


12
LES ÉDITEURS Nouveauté
023 WD WB WM
Copiez les graphiques, les modèles,
les workflows !
Chaque élément visualisé dans un éditeur peut être copié vers une
image au format EMF (format vectoriel, qui permet donc l’agran-
Vous le savez, les éditeurs reposent sur un référentiel com- dissement sans dégradation ni pixellisation). Cela est utile pour la
mun, bâti automatiquement par l’environnement, en fonction réalisation d’un document, d’une présentation Powerpoint,...
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 édi-
teurs évoluent en version 11

Nouveauté
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 Un Workflow issu de l’Editeur de Modélisation Souple de
du projet, répertoire,... WINDEV, ici sous PowerPoint
Cela permet d’automatiser des opérations. Calculer une enve-
loppe ou un CRC, effectuer une copie sur le réseau, exécuter un
batch... s’effectue maintenant depuis votre éditeur.
Nouveauté
024 WD WB WM
Gestion de l’altitude des objets
graphiques dans les éditeurs
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.
C’est mon choix !

Nouveauté
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 combinai-
son de touche Ctrl+Tab.
L’historique de la navigation est mémorisé, et il est facile de reve-
nir 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’environne-
ment. De nouvelles options de présentation

Nouveauté
025 WD WB WM
Editeur d’Analyse: un clic pour un
fichier
Lors de la description d’une structure de données, l’éditeur de
modélisation (analyse) permet maintenant de créer physiquement
Ctrl+Tab: il est facile de basculer le fichier de données décrit. Il sera ainsi inutile de programmer
entre les éléments ouverts
des «HCréationSiInexistant» dans votre code.

13 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


Nouveauté
026 WD WB WM Nouveauté
028 WD WB WM
Mode plan en fenêtre Dictionnaire OpenOffice.org
Utile pour effectuer des modifications en cascade sur les libellés Le dictionnaire orthographique et grammatical de OpenOffice est
des champs, et également pour accéder aux différents plans maintenant accessible depuis les éditeurs.
d’une fenêtre, le mode «plan» permet d’éditer l’ensemble des Ainsi vous pourrez taper des textes qui respectent orthographe et
libellés des champs d’une fenêtre et de ses plans pour les visuali- grammaire si ces dictionnaires sont installés sur la machine...
ser et éventuellement les modifier en bloc. Cette fonctionnalité est également disponible dans vos applica-
Il n’est donc plus nécessaire de se déplacer dans tous les plans et tions réalisées avec WINDEV 11.
onglets de la fenêtre.

Les erreurs orthographiques se soulignent en rouge. Un clic


droit ouvre les solutions possibles. Ici en saisie de libellé
dans les «7 onglets».

EDITEUR DE CODE
Le mode «plan»

Nouveauté
027 WD WB WM Nouveauté
029 WD WB WM
GO de page et fenêtre Détection de code mort et orphelin
avec paramètres Tous les développeurs le savent: plus une application «vit», plus
elle est utilisée, et plus le code «vieillit».
Certaines fenêtres et pages attendent des paramètres.
Ce n’est toutefois pas une fatalité. Le simple fait d’utiliser le
Le test de ces fenêtres est maintenant automatique, sans avoir à
WLangage permet d’éliminer une grande partie des problèmes
programmer le passage de ces paramètres.
que l’on rencontre avec les langages verbeux plus traditionnels.
Le «GO» de ces fenêtres et pages demande directement les para-
Malgré cela, toute application qui a vécu et donc évolué com-
mètres attendus.
porte 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 La bulle propose ici un assistant,
une brique de code, et 3 exemples
é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. 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 ses-
sion 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é
033 WD WB WM
Tous les appelés par le traitement en cours. Favoris
Le treeview déroule au fur et à mesure
en cliquant sur les «+» Toujours afin d’augmenter encore votre confort de développe-
ment, 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
Nouveauté
031 WD WB WM codes?
Saisie assistée encore plus riche Grâce à cette nouveauté, vous disposez d’un accès immédiat à
ces codes.
Vous connaissez déjà la puissante saisie assistée de l’éditeur de Ces «favoris» sont également proposés dans le «Tableau de
code. Bord».
Première nouveauté, l’affichage de cette assistance peut être Notez que les favoris ne se limitent pas au code de votre applica-
temporairement déconnecté, afin de faciliter la lecture sur des tion. Ils sont également disponibles pour tous les éléments du
écrans de petite taille par exemple. projet: fenêtre, état, requête, modélisation souple...
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.

15 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


Groupes fonctionnels
Nouveauté
034 WD WB WM
La rétro modélisation va automatiquement regrouper les procé-
LA RÉTRO MODÉLISATION dures intermédiaires des traitements analysés en «groupes fonc-
tionnels», ceci afin de présenter une vision synthétique de l’archi-
DE CODE tecture des traitements. Vous pourrez ensuite afficher le détail
Qui n’a jamais eu à reprendre un code ou un projet écrit par des groupes fonctionnels (eux-mêmes découpés en sous-groupes
fonctionnels) : l’exploration d’un code inconnu s’effectue ainsi
un autre développeur? Comment comprendre facilement ce code?
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 Adaptation de la modélisation
que le concept d’environnement intégré gérant le cycle de vie
nous est familier depuis longtemps) de nombreux outils de docu- Les graphes obtenus peuvent être modifiés par l’éditeur de
mentation automatique (tels que le dossier), et un langage dont Modélisation Souple afin de les affiner, d'afficher le détail d'un
la lisibilité est sans équivalent sur le marché. groupe fonctionnel, de supprimer les branches inutiles (comme
une fonction de trace), de rajouter des commentaires, ... et de les
Aujourd’hui la version 11 de WINDEV va plus loin en implémen- sauvegarder.
tant ce concept de «rétro modélisation». Une mise en évidence de l'élément du projet auquel appartient
Depuis un code existant (procédure, méthode, pcode,...) , l’édi- chaque procédure permet par exemple de visualiser facilement
teur de Modélisation Souple effectue à la demande une rétro l'appel d'une procédure globale depuis une procédure de fenêtre.
modélisation. En fonction des modifications à apporter ou du but de l’explora-
Cette fonction est réellement utilisable car, plutôt que de tenter tion des traitements, vous pouvez générer plusieurs modélisations
de rétro-modéliser un projet entier (le résultat serait difficilement d’une même procédure.
lisible), cette nouvelle fonctionnalité permet, en partant d’un
code, soit de décomposer fonctionnellement les traitements Lien direct avec le code
contenus dans ce code, soit de retrouver les parties de code qui
appellent ce code ailleurs dans le projet. Pendant l’exploration de la modélisation, un simple clic sur un
La décomposition fonctionnelle d'une procédure, appelée «rétro bouton permet d’accéder au code correspondant. Le très prati-
modélisation des appelés», affiche toutes les procédures appelées que F2 / Ctrl F2 de l’éditeur de code (descente et remontée dans
depuis la procédure. Elle permet de comprendre l'organisation de le code) est également disponible depuis chaque procédure visua-
la procédure et de trouver où apporter des modifications. lisée dans la rétro modélisation.
La recherche des parties de code qui appellent une procédure don-
née, appelée «rétro modélisation des appelants», affiche récursive-
ment toutes les procédures qui appellent la procédure. Elle permet
d'évaluer l'impact d'une modification dans la procédure.

RÉTRO MODÉLISATION : UN EXEMPLE CONCRET

1 2

2- A partir d'une procédure, la rétro modéli-


1- La fenêtre principale d'une application implémente sation peut générer deux types de Workflows :
souvent plusieurs fonctionnalités découpées en de très • la modélisation des «appelés», c'est-à-dire
nombreuses procédures. La rétro modélisation permet l'organisation interne de la procédure
de décider où effectuer une modification et de déter- • la modélisation des «appelants», c'est-à-dire
miner quelles en seront les conséquences. tous les traitements qui utilisent la procédure.

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


16
Nouveauté
035 WD WB WM
Classement: Ainsi le développeur visualise facilement l’appartenance de ces
procédures dans la liste des procédures locales ou globales.
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 Coloration des procédures; le tri par couleur est proposé
un regroupement.

3 4

...
3- La modélisation des «appelés» génère une vue synthéti- 4- En fonction de la modification à apporter, vous adaptez
que d'une procédure complexe. Les groupes fonctionnels, le graphe à vos besoins en affichant le détail des groupes
détectés automatiquement, permettent d'avoir une vue fonctionnels qui vous intéressent, en supprimant les par-
générale sans entrer directement dans les détails. Il est aisé ties inutiles à votre recherche, en rajoutant des commen-
de retrouver la partie du traitement sur laquelle on veut taires, ... Toute la puissance de l'éditeur de Workflow est
apporter une modification. à votre disposition.

5 6

...
5- La modélisation des «appelants» permet de retouver rapide- 6- Dans ce cas également, l'éditeur de workflow vous
ment tous les codes qui utilisent le traitement. Les groupes permet d'adapter la modélisation à vos besoins en affi-
fonctionnels, détectés automatiquement, permettent de réduire chant le détail des groupes fonctionnels, en supprimant
l'importance de la modélisation et de retrouver plus rapide- les parties inutiles, en rajoutant des commentaires, ...
ment tous les utilisateurs de la procédure. Vous pouvez alors
évaluer l'impact d'une modification dans la procédure.
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 faci-
lité 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 profession- Le nouveau menu contextuel
nelles et non professionnelles, générateur d’IHM permettant de
limiter les erreurs des utilisateurs et les données fausses...
Taux de validation de
La phase de tests automatisés n’est qu’une partie du chemine- l’application
ment qui amène la qualité du logiciel, mais c'est une phase
Le centre de tests permet d’afficher la liste des tests existants, la
importante. WINDEV propose depuis de nombreuses années un
version de l’application sur laquelle chacun de ces tests est passé
«centre de tests automatisés», qui permet de créer et rejouer des
et le résultat de chaque test.
tests de validation et de non régression.
Ces informations sont également affichées en mode résumé dans
La version 11 va encore plus loin, et propose maintenant en plus
le «Tableau de bord» du projet.
des tests de non régression, la réalisation de tests unitaires, de
test d’intégration. Par simple enregistrement de vos manipula-
tions, des scénarios de test sont générés.
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


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
Boutons d'enregistrement du test un nom de base de données externe.
Tous les tests relatifs à une fenêtre sont regroupés dans un même Notez que le «renommage intelligent» est effectif dans les scripts
fichier de script, qui est sauvé avec le projet. de tests; si un nom de champ change dans le projet, le test conti-
nue de fonctionner automatiquement !
Test de procédure et de classe Lors de l’exécution d’un test, si une erreur est détectée dans l’ap-
plication, le clic sur l’erreur d’exécution du script positionne direc-
Pour tester directement une procédure ou une classe, il suffit tement dans le code à l’emplacement de l’erreur !
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


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 identi-
fiants 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é"]= "hervelebeau@wanadoo.fr"
L’éditeur de scripts L'ajout et la recherche dans ce type de tableau s’effectue de
manière plus intuitive.
La vérification des tests lors des Un tableau associatif peut gérer ou non les doublons selon ses
processus courants paramètres de déclaration.
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).
Nouveauté
038 WD WB WM
Chaque élément modifié et non testé, pour lequel il existe un Feuilles Excel
test, sera signalé. S’il n’existe pas de test pour une fenêtre qui a
Les fonctions de gestion Excel évoluent (voir également la nou-
été modifiée, le Centre de Tests indique si cette fenêtre a été exé-
veauté numéro 86).
cutée au moins une fois depuis la compilation.
Chaque feuille de classeur (volet) est gérable.
Un historique des taux de validation est automatiquement
De nombreuses fonctions évoluent: taille du texte exporté, lan-
mémorisé, ce qui permet le suivi de l’évolution de la qualité de
gue du document (alphabet conservé), format des nombres et
l’application.
des dates conservé...
Cette vérification est également effectuée lorsque vous réintégrez
des éléments dans le gestionnaire de sources.
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 Concaténation optionnelle
la fenêtre; la version 11 le signale
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))
...

il suffit de taper: Ici, l’action prédéfinie est «ouvrir une fenêtre»: la prévisua-
POUR TOUT Contact AVEC TypeDepartement = ["prospect",69] lisation des fenêtres du projet s’affiche
...
FIN

La syntaxe peut également être utilisée avec l'opérateur «com-


mence 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 !


• POUR TOUT i=1 à 10 ne nécessite plus de déclarer «i»
• L’opérateur [= (commence par) est disponible sur les chaînes
UNICODE
• La fonction Erreur() sans paramètre est équivalent à
Erreur(ErreurInfo()) Ici, une autre action prédéfinie: initialisation d’un compo-
• Les fonctions fListeFichier et fListeRépertoire peuvent fonction- sant; les paramètres sont indiqués dans l’interface
ner 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.
Nouveauté
042 WD WB WM
• HDeclare permet de rechercher l'analyse dans les WDL de l'ap- MD5: l’intégrité de données
plication. stockées (hachage cryptographi-
• La nouvelle constante indParamètreRequête, pour les indirec- que)
tions sur les paramètres de requêtes, optimise les indirections
de ce type. Cet algorithme effectue un test d’intégrité sur un fichier , quel
• La fonction fSupprime supporte la constante frVersCorbeille que soit son type: données, exécutable, image, install...
• Les fonctions «Zip» permettent de paramétrer le niveau de Cette fonctionnalité est par exemple utile pour s’assurer qu’un
compression, et gèrent le format 64bits qui permet la gestion fichier hébergé sur un site miroir n’a pas été altéré ou infesté.
de fichier de taille supérieure à 4 Giga octets. 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
Nouveauté
041 WD WB WM Famille MD5 : 128
Famille SHA : 160, 256, 384, 512
Programmation par Famille RIPEMD : 128, 160
action prédéfinie Famille TIGER : 128, 160, 192
La programmation par action prédéfinie, déjà disponible dans Famille WHIRLPOOL.
WEBDEV, fait son apparition dans WINDEV 11. Il devient possible Les algorithmes de CheckSum représentent le niveau de vérifica-
de définir un traitement d’un clic, sans coder, en le sélectionnant tion minimum, les algorithmes MD5, SHA et RIPEMD sont des
simplement dans une liste. fonctions de hachage cryptographiques classiques, et les algorith-
Les composants et les collections de procédures du projet sont mes TIGER et WHIRLPOOL ont de très bonnes propriétés crypto-
proposées comme actions prédéfinies. Leurs paramètres sont graphiques qui sont optimisées pour le 64 bit, mais peuvent être
également proposés à la saisie par l’assistant. utilisées en 32 bits.

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


20
Pilotez vos matériels électriques depuis des applications !
DOMOTIQUE 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.
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 acces-
sibles à 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 élec-
triques 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
Depuis son Pocket PC, cette jeune femme allume le chauffage directionnelle de type CM11).
de son jaccuzzi, relève les volets électriques, et règle la tem- Le pilotage depuis un terminal mobile doit s’effectuer en établis-
pérature de la climatisation dans toute la maison... sant une connexion (WiFi, Internet, ...) avec un PC.

La domotique par courant porteur (X10) est aujourd’hui Clin d’oeil:


une réalité. Gérer les équipements électriques d’un bâtiment à et maintenant il fait le café
travers le cablage électrique existant ouvre la voie à un contrôle à
distance facile par programmation. Depuis des années, lors des présentations de WINDEV, qui vous le
savez gère l’intégralité du cycle de
Saviez-vous qu’il est possible d’utiliser une installation électrique
développement en standard, devant
classique, et de la transformer à bas coût en installation domoti-
l’exhaustivité des possibilités et leur
que ?
facilité de mise en oeuvre, les spec-
Sans câblage supplémentaire, sans onde radio, vous pilotez des
tateurs posaient souvent la ques-
équipements électriques grâce à des applications créées en ver-
tion: «Oui, mais fait-il le café?».
sion 11. Il suffit soit d’utiliser une prise ou des interrupteurs adap-
Maintenant nous pouvons répondre
tés (la norme X10 est utilisée), soit d’utiliser une multiprise adap-
«Oui».
tée (que l’on trouve facilement dans le commerce).
WINDEV 11 sait maintenant «faire
Allumer une lampe, fermer des volets, éteindre un matériel ou
le café» grâce aux nouvelles fonctions de la famille «Domo».
connaître son état (éteint, allumé)... s’effectue facilement depuis
une application WINDEV 11.

A1

Réseau électrique
RS 232 Réseau X10
ou USB par courant porteur

Interface CM11 A2

A3

21 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


HYPER FILE Nouveauté
049 WD WB WM
TOUTES VERSIONS Ecriture dans une base depuis une
application tierce
Le pilote ODBC sur Hyper File est maintenant effectif en lecture
et écriture. Cela permet à une application écrite dans un langage
Les moteurs de base de Données Hyper File évoluent eux aussi en tiers de lire et d’écrire dans des fichiers Hyper File.
version 11.
Découvrez les principales nouveautés dans les pages qui suivent.
Nouveauté
050 WD WB WM
Nouveauté
044 WD WB WM Compatibilité syntaxe spécifique
Jointures multiples SQL Server, Access et MySQL
Le langage SQL Hyper File accepte certaines syntaxes de jointure
Dans une même requête, il est possible de définir (en utilisant le
spécifiques à SQL Server, Access, et MySQL: une requête telle que
code SQL) 2 liaisons différentes entre 2 fichiers, et par extension
celle qui suit est maintenant acceptée par Hyper File :
jusqu’à n liaisons entre 2 fichiers.
SELECT Client.Nom, Produit.Nom
FROM Client LEFT OUTER JOIN Commande ON
Nouveauté
045 WD WB WM Client.IDClient=Commande.IDClient
JOIN LigneCommande ON Commande.IDCommande =
Requête multi bases LigneCommande.IDCommande
JOIN Produit ON LigneCommande.IDProduit =
Une requête (tapée en code SQL) peut fonctionner sur des bases Produit.IDProduit
différentes: Hyper File, Oracle, SQL Server... La portabilité du code est ainsi améliorée.
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’autres nouveautés font également leur apparition pour toutes
d’un autre type. les versions de Hyper File:
Les données peuvent donc se trouver dans des bases différentes. - Utilisation de code WLangage directement dans une requête
Vous pouvez ainsi extraire et agréger facilement des données SQL
provenant de n’importe quelle source. - Fonction hNbEnr non bloquante sur vue et requête
Cela est utile pour gérer les SI existants. - Nouvelle propriété ..ExécutionTerminée sur vue et requête

Nouveauté
046 WD WB WM HYPER FILE
Export vers un fichier Hyper File CLIENT/SERVEUR
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é
051 WD WB WM
Nouveauté
047 WD WB WM Procédures stockées
SQL: nouvelles fonctions Les procédures stockées font leur apparition en Hyper File
supportées Client/Serveur.
Les procédures stockées permettent de faciliter l'évolution et la
Les fonctions suivantes sont maintenant supportés par Hyper File:
maintenance de vos applications en factorisant le code.
TRIM, REPLACE, TRANSLATE, CEILING, FLOOR, ROUND, TRUNC,
En effet, lorsque la façon de calculer un résultat ou une règle
CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH, LPAD,
métier contenue dans une procédure stockée évolue, il vous suf-
RPAD, CONCAT, POSITION, ASCII, BIN, HEX, OCT, ...
fira de modifier seulement la procédure stockée sur le serveur,
sans effectuer la moindre modification dans les applications
Nouveauté
048 WD WB WM déployées.
Les procédures sont écrites en WLangage, et doivent être décla-
Imbrication de fonctions SQL rées dans l’analyse.
Une procédure stockée permet de limiter le nombre d’allers et
LEFT, RIGHT, MID, SUBSTR, SUBSTRING, LTRIM, RTRIM, INSTR,
retours entre le poste client et le serveur, et donc améliore égale-
PATINDEX,... acceptent des expressions au lieu d’une valeur de
ment la vitesse des traitements.
type chaîne ou numérique dans les différents paramètres.
Une même procédure stockée peut être partagée entre plusieurs
Pratique ! Par exemple:
SUBSTRING(email,INSTR(email,’@’)+1) applications.
est maintenant reconnu par Hyper File. Notez que dans un premier temps, seule une sélection de fonc-
tions du WLangage est supportée dans les procédures stockées.

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


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 engen-
drée par un utilisateur sur le serveur
hecActif Activation/désactivation globale de l'équilibrage de
charge
hecEnvoyé Coef. global pour nombre d'octets envoyés sur le réseau
hecReçu Coef. global pour nombre d'octets reçus sur le réseau
Editeur d’analyse: les procédures stockées hecDisque Coef. global pour nombre d'octets lus ou écrits sur disque
hecAccèsDisque Coef. global pour nombre d'accès au disque
Nouveauté
052 WD WB WM hecAppelsClient
hecAttenteMax
Coef. global pour nombre d'appels du client
Temps d'attente global max (ms) pour une tâche effectué
Paramétrage du serveur : par l’équilibrage de charge sur le serveur

par le Centre de Contrôle et


par programme Nouveauté
054 WD WB WM
Un jeu de constantes fait son apparition pour la nouvelle fonction Statistiques d’activité et suivi des
HGèreServeur qui permet de connaître et modifier certains para-
métrages du serveur Hyper File: niveau de log du serveur, taille
requêtes exécutées
d’un fichier de log, taille du cache fichier... Pour mieux suivre vos applications, améliorer les performances
Ces paramètres sont également directement modifiables via le d’accès aux données, les statistiques d’accès aux données sont
Centre de Contrôle Hyper File. importantes.
Pour le service d’exploitation, ces statistiques permettent de
Liste non exhaustive des constantes de paramétrage: mieux suivre les utilisateurs, leurs dérives éventuelles, ou de faire
hCheminBaseDeDonnées chemin vers le répertoire de sauvegarde des bases
remonter au service développement des suggestions de modifica-
hCheminJNL chemin vers les journaux ( pour les mettre sur un autre
disque ) tion applicatives pour optimiser l’accès aux ressources matérielles.
hCheminJNLBackup chemin vers le répertoire de sauvegarde des journeaux ( Le trafic (réseau et/ou disque, reçu et/ou envoyé) par utilisateur et
rappel: HHistoriqueModification tient compte de ces sau-
vegarde ) par connexion est analysé et mémorisé.
hPortServeur port TCP du serveur
hMode2Go les tables systèmes peuvent contenir plus de 2 GO de
Les compteurs disponibles sont :
données • nombre d'octets envoyés sur le réseau
hTailleCacheNdx taille du cache des index ( à chaud ) • nombre d'octets reçus sur le réseau
hNiveauLog activation et niveau de détail des logs ( audit, trace...) ( à • nombre d'octets lus ou écrits sur disque
chaud )
hCheminLog chemin des log ( à chaud ) • nombre d'accès au disque
hTailleMaxLog combien garder de log ( à chaud ) • nombre d'appels du client
hPériodeStatistiquesActivité période d'échantillonnage ( à chaud ) • Nombre d’octets lus dans le cache.
hTailleMaxStatistiquesActivité taille maximale ( à chaud ) La période d’échantillonnage est paramétrable.
hCheminStatistiquesActivité chemin de sauvegarde

Nouveauté
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 ser-
veur 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 traite-
ments plus légers. Ainsi un traitement lourd ne pénalisera pas les
autres accès.
Le mode «prioritaire», qui partage les ressources selon une prio-
rité définie. Un traitement avec une priorité maximale utilisera la Lecture du «log» du serveur Hyper File.
quasi totalité des ressources du serveur.

23 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


Le Centre de Contrôle Hyper File permet de visualiser les statisti-
ques du serveur. LOTUS NOTES :
Il est possible de regrouper, trier, filtrer les données selon des cri-
tères variés: fonction Hyper File (hLitPremier,...), nom de requête, SUPPORT NATIF
code SQL de requête, durée d’exécution (pour déterminer les
requêtes gourmandes en consommation), utilisateur, application,
poste client... Nouveauté
057 WD WB WM
Support natif de Lotus Notes
Nouveauté
055 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 fonc-
tions 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 lec-
ture et en écriture par un nouveau jeu de fonctions (famille
«Notes») qui fait son apparition en WLangage (voir liste page
BASES DE DONNÉES 46).

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 dif-


férents au sein de l'entreprise. Les versions 11 permettent de réa-
liser des requêtes qui utilisent simultanément différentes bases de
données. Une même requête peut accéder à la fois à des don-
né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éa-
tion 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,... Accédez (lecture/écriture) à Lotus Notes en natif

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


24
OUTLOOK : Nouveauté
059 WD WB WM
SUPPORT NATIF La souplesse
Voici les possibilités offertes
• Possibilité d'imprimer UPCA, UPCE, EAN13 et EAN8 sans le
texte
Nouveauté
058 WD WB WM • Possibilité d'ignorer les parenthèses d'un code 128 (ou EAN
Support natif de Outlook 128).
• Code 39 : on peut passer les caractères de start/stop (*) dans la
L’accès aux mails de Outlook, en envoi et réception, est mainte- chaîne.
nant également possible. La programmation est également sim-
plissime: 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,


Carrousel: créez un menu de ce type en 1 minute
parce que les utilisateurs sont plus efficaces devant de beaux Ici carrousel vertical (voir également page 2)
écrans, les nouveautés dans le domaine de l’interface (IHM) sont
nombreuses et spectaculaires. Il y a bien entendu le support auto-
matique de Vista, mais également de nombreuses autres fonc-
tionnalités impressionnantes. Nouveauté
063 WD WB WM
La version 11 propose également le concept de «modèles de Le nouveau type de champ cube
fenêtre» en WINDEV et l’héritage d’IHM.
Le champ «cube» est un champ de décor, mobile, qui effectue
automatiquement des rotations sur tous les axes. Ce champ peut
Nouveauté
061 WD WB WM 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,
Support natif des capacités téléchargeable pour Windows XP) pour fonctionner.
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élec-
tionne 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 graphi-
que. 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 Windows
VISTA : sous XP, sous 2000 XP
Vista propose une norme de présentation des fenêtres et des
champs.
WINDEV 11 vous propose d’appliquer ces normes sur vos applica-
tions 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
2000 Vista

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 Les interrupteurs et Halo autour du


cadre de la fenêtre sélecteurs peuvent bouton en cours
(looking glass) être des images de survol

Cadre de Les cadres de


champ avec champ peuvent
effet de survol être eux-mêmes
des images

Image et picto- Les ascenseurs


gramme de titre peuvent être des
personnalisable images, et gèrent
le survol

Animation en Les bandeaux de


n étapes sur les sélection peuvent
transitions en être des images et
effet de bouton 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é;


Exemple d’utilisation du langage descriptif XAML :
remarquez que les éléments qui se trouvent «sous» la barre
ici un pense-bête sur lequel on peut dessiner à la souris...
ouverte ont été automatiquement décalés vers le bas

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 disponi-
bles, 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 infor-
mations contenues dans le champ.
Si la fenêtre hôte est de taille trop petite, celle-ci pourra automa-
tiquement être agrandie par l’action de l’utilisateur.
Ce nouveau type de champ est utilisable sous toutes les versions Une table, avec une colonne treeview
de Windows (98 et supérieure).

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


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 fonc-
IHM tions 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.
Nouveauté
068 WD WB WM
Nouveaux paramètres pour les
combos
Petites nouveautés mais néanmoins utiles, il est maintenant possi-
ble de spécifier pour une combo en saisie un effacement du
contenu, une fin de saisie automatique et la sélection automati-
que 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’in-
diquer 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 !
Un ascenseur apparaît si nécessaire

Nouveauté
072 WD WB WM Nouveauté
073 WD WB WM
Ascenseur dans champ de saisie Souris aimantée
Toujours dans la série des nouveautés mineures intéressantes, les Un champ de saisie ou un bouton peut aimanter la souris: celle-ci
champs de saisie peuvent maintenant proposer automatiquement se placera directement sur le champ défini, soit à l’ouverture de
un ascenseur vertical. la fenêtre, soit après le traitement de votre choix.
Cet ascenseur apparait uniquement lorsque cela devient néces- Vous disposez donc de toute la latitude nécessaire à la mise en
saire, pour mieux en parcourir le contenu. 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’ensem-


Nouveauté
074 WD WB WM ble des champs. Cette propriété permet de règler le niveau de
Opacité sur les champs transparence des champs. Cela permet la création facile d’effets
spectaculaires.

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


30
Un nouveau mode d’affichage apparaît, «homothétique sans
Nouveauté
075 WD WB WM agrandissement», qui élimine ce cas. L’image sera réduite si
Des liens clicables (Internet, lan- nécessaire, mais ne dépassera pas sa taille originelle si le champ
cement de document,...) dans les d’accueil est trop grand.
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

Une bulle lisible


Nouveauté
078 WD WB WM
Fenêtres détourées et menus
Nouveauté
077 WD WB WM Les fenêtres détourées (de forme non rectangulaire) sont faciles à
Des images harmonieuses réaliser avec WINDEV et sont souvent superbes, mais elles ne
pouvaient pas contenir de menu principal.
Les développeurs s’appliquent à la réalisation d’applications fia- Cette lacune est maintenant corrigée en version 11 et vous pou-
bles mais négligent trop souvent les détails de présentation. vez marier fenêtre détourée et menu, en positionnant le menu à
WINDEV leur simplifie déjà énormément la tâche avec les l’emplacement de votre choix (X, Y).
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.

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 !
Nouveauté
081 WD WB WM
Des Splash screen en
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
panavision
champs. Le splash screen (l’écran qui s’affiche au lancement d’une applica-
tion) est la première chose que voit l’utilisateur à chaque lance-
ment. C’est un détail pour certains, mais autant qu’il soit valori-
sant pour votre application. La version 11 propose des fonction-
nalité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 mainte-
nant 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
La fenêtre «A Propos» Gabarit «Active Vista»

Nouveauté
082 WD WB WM FONCTIONNALITÉS
Nouveaux gabarits livrés AUTOMATIQUES DE
Le nouveau moteur graphique intégré à WINDEV 11 permet la L’APPLICATION (FAA)
réalisation de gabarits beaucoup plus riches. De nouveaux gaba-
rits 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éve-
loppez 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 propo-
sent 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 recher-
cher 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.
Gabarit «Media Center»
Inutile de cliquer sur la loupe !

33 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


Nouveauté
084 WD WB WM Nouveauté
086 WD WB WM
Recherche multi champs: dans la L’export vers les tableurs:
fenêtre entière Excel et OpenOffice
Une nouvelle FAA très attendue fait son apparition: la possibilité L’export vers le tableur évolue et permet d’affiner les exports.
de rechercher un terme dans la fenêtre affichée. 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 exis-
tante; 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 cel-
lules, du texte, cadrage, polices, ...
(Voir également la nouveauté N° 38)

ETATS & REQUETES


(GRATUIT)

La fenêtre de recherche dans la fenêtre entière


Nouveauté
087 WD WB WM
Faites télécharger le logiciel
«ETATS & REQUETES»
Nouveauté
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 gratui-


tement 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.
Afin de diminuer la taille de vos procédures d’installation, vous
L’utilisateur peut définir ses propres boutons minuterie pouvez maintenant indiquer que «Etats & Requêtes» sera auto-
matiquement 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 redis-
tribuable. L’éditeur ENI propose cette
A chaque nouvelle utilisation de la fenêtre, documentation sous la forme d’un ouvrage
la minuterie se déclenche sur le bouton ! de la collection «Tech Note»

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 Les tables fichiers, ainsi que les listes et les combos, sont
une installation non autorisée. maintenant gérées automatiquement en Java

Nouveauté
091 WD WB WM
Nouveauté
089 WD WB WM Support des tableaux de classes et
INSTALL : lors des mises à jour, il de structures
affiche les nouveautés depuis la Il est désormais possible de créer des tableaux de classes et de
version précédente structures en Java.

Lors de la mise à jour d’une application (qui s’effectue automati-


quement, vous le savez), la liste des évolutions proposée par cette Nouveauté
092 WD WB WM
version est automatiquement affichée.
L’utilisateur est ainsi automatiquement informé des nouveautés.
JAVA: les nouvelles fonctions
Cette liste sera ensuite facilement accessible depuis l’application Le nombre de fonctions WLangage reconnues en génération Java
par l’intermédiaire du choix «?» (voir nouveauté N° 7) s'accroît de la liste des fonctions ci-dessous (liste non exhaustive)
EcranVersFichier Initialise automatiquement la valeur mémoire des rubri-
ques 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
EstImpair Identifie un nombre impair.
FichierVersEcran 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.
FTPAttribut Identifie les attributs d'un fichier présent sur un serveur
FTP (File Transfer Protocol).
FTPCommande Envoie une commande FTP spécifique à un serveur.
FTPConnecte Connecte le poste en cours à un serveur FTP (File Transfer
Protocol).
La génération automatique du texte des nouveautés FTPDate Renvoie les différentes dates (date de création, de modifi-
cation ou d'accès) d'un fichier présent sur un serveur FTP
(File Transfer Protocol).
FTPDéconnecte Ferme la connexion entre le poste en cours et le serveur
JAVA FTP (File Transfer Protocol). Cette connexion a été établie
avec la fonction FTPConnecte.
FTPEnvoie Transfère un fichier ou un répertoire sur un serveur FTP
(File Transfer Protocol).
FTPHeure Renvoie les différentes heures (heure de création, de
modification ou d'accès) d'un fichier présent sur un ser-
veur FTP (File Transfer Protocol).
Nouveauté
090 WD WB WM FTPListeFichier 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.
JAVA: les fonctions «h» reconnues FTPNom Renvoie le nom du dernier fichier accédé par une fonction
FTP (File Transfer Protocol).
La famille des ordres «h» est reconnue en Java. Il est maintenant FTPRécupère Transfère un fichier ou un répertoire d'un serveur FTP
(File Transfer Protocol) sur le poste en cours.
facile d’accéder aux fichiers de type Hyper File (Classic et
FTPRenommeFichier Renomme ou déplace un fichier présent sur un serveur
Client/Serveur) avec une programmation traditionnelle. FTP (File Transfer Protocol).
Les fonctions «h» s’appliquent également aux fichiers MySQL et FTPRepCrée Crée un répertoire sur un serveur FTP (File Transfer
SQL Server. Protocol).
FTPRepEnCours Identifie ou modifie le répertoire en cours sur un serveur
La syntaxe «POUR TOUT» sur fichiers est reconnue. FTP (File Transfer Protocol).
Les fonctions SQL sont bien entendu également reconnues, FTPRepSupprime Supprime un répertoire et son contenu (fichiers et sous-
comme par le passé. répertoires) d'un serveur FTP (File Transfer Protocol).
FTPSupprimeFichier Supprime un fichier d'un serveur FTP (File Transfer
Les liaisons fichier automatiques sont gérées. Protocol).

35 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


FTPTaille Renvoie la taille (en octets) d'un fichier présent sur un ou d'une vue) reconnu par le moteur Hyper File. Les
serveur FTP (File Transfer Protocol). fichiers définis par les fonctions HDéclare,
gLienActive Autorise ou non la récupération de la valeur définie par la HDéclareExterne et HDécritFichier sont pris en compte.
fonction gLien dans une liste ou dans une combo. HLit Lit un enregistrement dans un fichier en fonction d'un
HActiveFiltre Active le filtre précédemment créé pour le fichier (la vue numéro d'enregistrement donné. Ce mode de lecture est
ou la requête) spécifié. Ce filtre a été créé avec la fonction appelé "Accès direct". L'enregistrement lu est chargé en
HFiltre et désactivé avec la fonction HDésactiveFiltre. Si mémoire. La fonction HEtat permet de connaître l'état de
aucun filtre n'a été déclaré, HActiveFiltre est sans effet. l'enregistrement.
HAjoute Ajoute l'enregistrement présent en mémoire dans le HLitDernier Positionne sur le dernier enregistrement d'un fichier
fichier de données (la requête ou la vue). Les index cor- selon une rubrique de parcours. L'enregistrement est lu,
respondant à toutes les clés utilisées dans le fichier sont et les variables Hyper File sont mises à jour (par exemple
mis à jour automatiquement. Client.Nom, c'est-à-dire la rubrique Nom du fichier Client).
HAnnuleRecherche Annule le critère de recherche en cours. Le parcours du HLitPrécédent Positionne sur l'enregistrement précédent d'un fichier en
fichier peut alors se poursuivre à partir de l'enregistre- fonction d'une rubrique de parcours. L'enregistrement est
ment en cours, sans utiliser de critère de recherche. lu et les variables Hyper File sont mises à jour (par exem-
ple Client.Nom, c'est-à-dire la rubrique Nom du fichier
HAttacheMémo Permet d'associer un fichier (ou une requête) à une rubri- Client).
que de type mémo binaire ou d'annuler l'attachement
existant entre un fichier binaire (ou un requête) et une HLitPremier Positionne sur le premier enregistrement d'un fichier en
rubrique. fonction d'une rubrique de parcours. L'enregistrement est
lu et les variables Hyper File (par exemple Client.Nom,
HAvance Avance de plusieurs enregistrements dans le fichier, à c'est-à-dire la rubrique Nom du fichier Client) sont mises
partir de la position en cours, selon une rubrique spéci- à jour.
fiée.
HLitRecherche Positionne sur le premier enregistrement du fichier dont
HChangeConnexion Change dynamiquement la connexion associée à un la valeur d'une rubrique spécifique est supérieure ou
fichier. La nouvelle connexion doit être connue et définie égale à une valeur recherchée (recherche générique).
lors de ce changement. Cette nouvelle connexion sera uti- L'enregistrement est lu et les variables Hyper File corres-
lisée lors de la prochaine ouverture du fichier. pondantes sont mises à jour.
HConstruitValClé Construit la valeur d'une clé composée pour réaliser un HLitRechercheDernier Positionne sur le dernier enregistrement du fichier dont la
filtre (fonction HFiltre) ou effectuer une recherche (fonc- valeur d'une rubrique spécifique est inférieure ou égale à
tions HLitRecherchePremier, HLitRechercheDernier, ...). une valeur recherchée (recherche à l'identique).
HCréation Crée à vide un fichier de données (fichier d'extension L'enregistrement est lu et les variables Hyper File corres-
".FIC") avec le fichier d'index et le fichier mémo si néces- pondantes sont mises à jour.
saires. Cette fonction permet également de supprimer HLitRecherchePremier Positionne sur le premier enregistrement du fichier dont
tous les enregistrements d'un fichier. la valeur d'une rubrique spécifique est supérieure ou
HCréationSiInexistant Crée à vide un fichier de données (si le fichier n'existe égale à une valeur recherchée (recherche à l'identique).
pas) ou ouvre le fichier (si le fichier existe) L'enregistrement est lu et les variables Hyper File corres-
pondantes sont mises à jour.
HDécritConnexion Décrit une nouvelle connexion à une base de données
externe. Cette connexion est nommée. Des paramètres HLitSuivant Positionne sur l'enregistrement suivant d'un fichier en
spécifiques peuvent être définis tels que le mode de ges- fonction d'une rubrique de parcours. L'enregistrement
tions des curseurs (si la base de données accédée le per- est lu et les variables Hyper File sont mise à jour (par
met). exemple Client.Nom, c'est-à-dire la rubrique Nom du
fichier Client).
HDernier Positionne sur le dernier enregistrement d'un fichier
selon une rubrique de parcours. L'enregistrement n'est HModifie Modifie l'enregistrement spécifié ou l'enregistrement pré-
pas lu. sent en mémoire dans le fichier de données (la requête
ou la vue). Les index correspondant à toutes les clés utili-
HDésactiveFiltre Désactive temporairement un filtre sur un fichier (une vue sées dans le fichier sont mis à jour automatiquement. Les
ou une requête). Ce filtre a été créé avec la fonction mémos sont ajoutés si nécessaire.
HFiltre. Si aucun filtre n'a été déclaré, HDésactiveFiltre
est sans effet. HNbEnr Renvoie le nombre d'enregistrements d'un fichier, d'une
requête ou d'une vue Hyper File : enregistrements actifs,
HEnDehors Permet de savoir si l'enregistrement sur lequel on veut se rayés, supprimés, etc.
positionner est en dehors du fichier, du filtre, de la vue ou
de la requête. HNumEnr Renvoie soit le numéro de l'enregistrement en cours
dans le fichier, soit le numéro de l'enregistrement en
HErreur Renvoie le numéro de la dernière erreur déclenchée par le cours dans la vue Hyper File.
moteur Hyper File.
HOuvre Ouvre un fichier.
HErreurDoublon Permet de tester si une erreur de doublons est survenue.
HOuvreConnexion Ouvre une connexion à une base de données spécifique.
HErreurInfo Renvoie une information détaillée sur la dernière erreur La connexion reste ouverte jusqu'à l'appel de la fonction
déclenchée par le moteur Hyper File. HFermeConnexion.
HErreurIntégrité Permet de tester si une erreur d'intégrité est survenue. HPositionCourante Renvoie la position approximative de l'enregistrement en
HErreurMotDePasse Après l'exécution d'une fonction de lecture ou d'écriture cours dans le fichier. Cette position est donnée par rap-
dans un fichier, permet de savoir si une erreur due à un port à une rubrique spécifique.
mot de passe erroné a été rencontrée sur ce fichier. HPrécédent Positionne sur l'enregistrement précédent du fichier en
HExécuteRequête Déclare une requête créée sous l'éditeur de requêtes au fonction d'une rubrique de parcours. L'enregistrement
moteur Hyper File et exécute cette requête. Le résultat n'est pas lu.
de la requête pourra ensuite être parcouru. Si une HPremier Positionne sur le premier enregistrement d'un fichier en
requête de même nom existe déjà, cette requête est rem- fonction de la rubrique de parcours spécifiée.
placée. Le résultat est re-calculé. L'enregistrement n'est pas lu.
HFerme Ferme soit un fichier, soit tous les fichiers ouverts. Tous HRAZ Initialise une ou toutes les variables des rubriques d'un
les fichiers physiques associés sont fermés. fichier avec leurs valeurs par défaut. Les valeurs par
HFermeConnexion Ferme une connexion à une base de données. Tous les défaut sont définies lors de la description du fichier sous
fichiers utilisant cette connexion sont fermés. l'éditeur d'analyses.
HFiltre Définit et active un filtre sur un fichier, une vue ou une HRecherche Positionne sur le premier enregistrement du fichier dont
requête. la valeur d'une rubrique spécifique est supérieure ou
HFiltreCommencePar Définit et active un filtre de type "Commence par" sur un égale à une valeur recherchée (recherche générique par
fichier, une vue ou une requête. Le filtre de type défaut). L'enregistrement n'est pas lu.
"Commence par" permet de sélectionner tous les enre- HRechercheDernier Positionne sur le dernier enregistrement du fichier dont la
gistrements commenÿant par une suite de caractères valeur d'une rubrique spécifique est inférieure ou égale à
définie. une valeur recherchée. L'enregistrement n'est pas lu.
HFiltreIdentique Définit et active un filtre permettant de rechercher la L'enregistrement n'est pas lu.
valeur exacte d'une rubrique de type chaîne. Ce filtre HRecherchePremier Positionne sur le premier enregistrement du fichier dont
peut être utilisé sur un fichier, une vue ou une requête. la valeur d'une rubrique spécifique est supérieure ou
HLibèrePosition Supprime une position sauvegardée par la fonction égale à une valeur recherchée. L'enregistrement n'est pas
HSauvePosition. Permet de libérer la mémoire allouée à lu.
la gestion des positions. HRecule Recule de plusieurs enregistrements dans le fichier, à par-
HListeConnexion Renvoie la liste des connexions actuellement décrites tir de la position en cours, selon une rubrique spécifiée.
dans l'application. Il est possible de lister les connexions HRécupèreEnregistrement Renvoie le contenu de l'enregistrement en cours (dans un
décrites sous l'éditeur d'analyses ainsi que les fichier, une vue ou une requête,...).
connexions décrites dynamiquement (avec les fonctions HRetourPosition Restaure le contexte précédemment sauvegardé d'un
HDécritConnexion ou HOuvreConnexion). fichier (fonction HSauvePosition) : enregistrement en
HListeRubrique Renvoie la liste des rubriques d'un fichier (d'une requête cours, filtre, pointeurs de lecture.

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


36
HSauvePosition Mémorise le contexte en cours d'un fichier : enregistre- XMLPremier Positionne sur le premier élément (balise ou attribut) du
ment en cours, filtre, pointeurs de lecture. Il est ainsi pos- niveau en cours de l'arborescence.
sible de suspendre momentanément le traitement en XMLRacine Positionne sur la balise racine d'un document XML.
cours, d'utiliser le fichier par ailleurs (pour effectuer des
vérifications par exemple). XMLRenomme Modifie le nom de l'élément courant (balise ou attribut)
dans un document XML.
HSuivant Positionne sur l'enregistrement suivant du fichier en fonc-
tion d'une rubrique de parcours. L'enregistrement n'est XMLRetourPosition Restaure le contexte précédemment sauvegardé d'un
pas lu. document XML (fonction XMLSauvePosition). Le filtre en
cours lors de la sauvegarde de la position peut être res-
HSupprime Supprime un enregistrement d'un fichier (d'une requête tauré (le filtre est mis en place avec la fonction
ou d'une vue). L'enregistrement est supprimé logique- XMLRecherche).
ment et physiquement. Il ne pourra pas être restauré
(contrairement aux enregistrements rayés avec la fonction XMLSauvePosition Mémorise la position en cours dans le document XML. Il
HRaye). est ainsi possible de suspendre momentanément le trai-
tement en cours, d'utiliser le document XML par ailleurs
HTrouve Vérifie si l'enregistrement en cours correspond au filtre (pour effectuer des vérifications par exemple). Le
ou à la recherche en cours. contexte sauvegardé pourra être restitué.
HVersion Permet de savoir si le contenu d'un fichier a été modifié XMLSuivant Positionne sur l'élément suivant (balise ou attribut).
ou si le contenu d'un fichier utilisé par une requête a été
modifié. XMLSupprime Supprime l'élément courant d'un document XML, ainsi
que toute la branche qui en découle.
ListeAffiche Rafraîchit l'affichage d'une liste (y compris liste image)
ou d'une combo fichier. Pour une liste mémoire, le rafraî- XMLTermine Ferme un document XML créé avec XMLDocument. Toutes
chissement est automatique. les ressources allouées lors de la création et de la mani-
pulation du document XML sont libérées.
NetAdresseIP Renvoie l'adresse IP (Internet Protocol) d'un poste.
XMLTrouve Vérifie si l'élément en cours correspond au parcours ou à
TableAffiche Rafraîchit l'affichage d'une table à partir d'une position la recherche en cours.
donnée.
XMLTypeElement Renvoie le type de l'élément en cours (balise ou attribut).
TableEnregistre Modifie ou ajoute l'enregistrement associé à la ligne en Pour sélectionner un élément, utilisez les fonctions de
cours dans la table fichier. L'enregistrement est mis à jour recherche et de parcours XML (XMLPremier, XMLDernier,
dans le fichier lié à la table fichier. XMLFils, ...).
TexteVersXML Convertit une chaîne de caractères au format ANSI en une XMLVersTexte Convertit une chaîne de caractères au format XML en une
chaîne de caractères au format XML. chaîne de caractères standard.
TitreEnCours Modifie le titre de la fenêtre en cours (connu par la fonc- XMLRecherche Lance une recherche dans un document XML. Cette
tion FenEnCours) et la barre de titre. recherche peut être annulée par la fonction
XMLAjouteAttribut Ajoute un attribut dans un document XML. Cet attribut XMLAnnuleRecherche.
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

XMLConstruitChaîne
XMLRecherche.
Récupère et met en forme le contenu d'un document XML WLANGAGE
(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.
Nouveauté
093 WD WB WM
XMLEnDehors Permet de savoir si l'élément (balise ou attribut) sur
lequel on veut se positionner est en dehors du document Les nouvelles fonctions disponibles
XMLExtraitChaîne
XML.
Extrait le contenu d'une balise dans un document XML.
sous WINDEV
Dans le cas d'une recherche plus complexe, utilisez les
fonctions XMLDocument et XMLRecherche. De nouvelles fonctions apparaissent.
XMLExtraitDocument Crée un nouveau document XML à partir d'une partie ArbreCherche Renvoie le chemin d'un élément (feuille ou noeud) dans
d'un document XML existant. un champ arbre
XMLFils Positionne sur le premier élément fils de l'élément en CDEjecte Ouvre ou ferme le tiroir du lecteur de CD/DVD sélectionné
cours. Pour sélectionner un élément, utilisez les fonctions CDListe Liste les lecteurs de CD/DVD installés sur le poste en
de recherche et de parcours XML (XMLPremier, cours
XMLDernier, ...)
ConstruitEntier Construit un entier à partir de 2 entiers sur 2 de poids fai-
XMLFilsExiste Indique si la balise courante a des fils correspondant au ble et fort
type recherché (balise, attribut, ...).
ContactAjoute Ajoute un contact dans le carnet d'adresses d'une messa-
XMLInsèreDocument Insère un document XML dans un autre document XML gerie Lotus Notes, Domino ou Outlook
XMLInsèreElément Insère un élément (balise ou attribut) XML dans un docu- ContactCherche Recherche un contact dans un carnet d'adresses situé sur
ment XML. La position d'insertion est relative à la posi- une base locale ou distante Lotus Notes ou Domino
tion courante.
ContactDernier Renvoie le dernier contact présent dans un carnet
XMLModifie Modifie le contenu de l'élément courant dans un docu- d'adresses d'une messagerie Lotus Notes, Domino ou
ment XML. Outlook
XMLNamespace Renvoie le préfixe de l'espace de nommage de la balise ContactModifie Modifie un contact présent dans un carnet d'adresses
courante dans un document XML. d'une messagerie Lotus Notes, Domino ou Outlook
XMLNamespaceURI Renvoie l'URI de définition de l'espace de nommage de ContactPrécédent Renvoie le contact précédent présent dans un carnet
la balise courante dans un document XML. d'adresses d'une messagerie Lotus Notes, Domino ou
XMLNomElément Renvoie le nom de l'élément en cours (balise ou attribut). Outlook
Pour sélectionner un élément, utilisez les fonctions de ContactPremier Renvoie le premier contact présent dans un carnet
recherche et de parcours XML (XMLPremier, XMLDernier, d'adresses d'une messagerie Lotus Notes, Domino ou
XMLFils, ...). Outlook
XMLNomParent Renvoie le nom de la balise parente de l'élément (balise ContactRAZ Réinitialise la structure "mContact"
ou attribut) en cours. Pour sélectionner un élément, utili-
sez les fonctions de recherche et de parcours XML ContactSuivant Renvoie le contact suivant présent dans un carnet
(XMLPremier, XMLDernier, XMLFils, ...). d'adresses d'une messagerie Lotus Notes, Domino ou
Outlook
XMLParent Positionne sur l'élément parent de l'élément en cours
(balise ou attribut). Pour sélectionner un élément, utilisez ContactSupprime Supprime un contact présent dans un carnet d'adresse
les fonctions de recherche et de parcours XML d'une messagerie Lotus Notes, Domino ou Outlook
(XMLPremier, XMLDernier, XMLFils, ...). DécomplèteRep Enlève le caractère "/"' ou "\"' à la fin d'une chaîne si ce
XMLPosition Renvoie la position en cours dans le document sous la caractère est présent
forme XPATH. EmailChercheNotes Recherche un ou plusieurs emails selon des critères spé-
XMLPrécédent Positionne sur l'élément (balise ou attribut) précédent. cifiés, dans une base Lotus Notes ou Domino

37 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


EmailOuvreSessionNotes Ouvre une connexion avec une base locale ou distante OuvreSessionNotes Ouvre une connexion avec une base locale ou distante
Lotus Notes ou Domino Lotus Notes ou Domino
EnModeTestAutomatique Permet de savoir si un test automatique est en cours ou OuvreSessionMAPI Ouvre une connexion avec une base Outlook
non PiloteAvertissement Pilote le prochain appel de la fonction Avertissement et
ExécuteActionPrédéfinie Exécute une des actions prédéfinies clique automatiquement sur le bouton "OK"
FermeSession Fermer une connexion avec une messagerie Lotus Notes, PiloteConfirmer Pilote le prochain appel de la fonction Confirmer, puis cli-
Domino ou Outlook que automatiquement sur le bouton passé en paramètre
FlècheDébut Indique la position du début de la flèche d'un champ PiloteDialogue Pilote le prochain appel de la fonction dialogue, puis cli-
"Forme" de type flèche que automatiquement sur le bouton passé en paramètre
FlècheFin Indique la position de la fin de la flèche d'un champ PiloteErreur Pilote le prochain appel de la fonction Erreur, puis clique
"Forme" de type flèche automatiquement sur le bouton "OK"
gPoliceGras Indique si la police d'affichage du texte est en gras ou PiloteFenêtre Indique quelle est le test qui sera utilisé lors de la pro-
non chaine ouverture de fenêtre
gPoliceItalique Indique si la police d'affichage du texte est en italique ou PiloteInfo Pilote le prochain appel de la fonction Info, puis clique
non automatiquement sur le bouton "OK"
gPoliceSouligné Indique si la police d'affichage du texte est soulignée ou PiloteMenu Pilote le prochain menu qui sera ouvert, puis exécute
non automatiquement l'option indiqué en paramètre
gPoliceTaille Indique la taille de la police d'affichage dans une chaîne PiloteOKAnnuler Pilote le prochain appel de la fonction OKAnnuler, puis cli-
graphique que automatiquement sur le bouton passé en paramètre
GroupeAjoute Ajoute un groupe de contacts dans le carnet d'adresses PiloteOuiNon Pilote le prochain appel de la fonction OuiNon, puis cli-
d'une messagerie Lotus Notes, Domino ou Outlook que automatiquement sur le bouton indiqué en paramè-
GroupeDernier Renvoie le dernier groupe de contacts d'une messagerie tre
Lotus Notes, Domino ou Outlook PiloteSaisie Fait une saisie dans un champ, en vérifiant que le champ
GroupeModifie Modifie un groupe de contacts du carnet d'adresses est bien actif et que la saisie est possible
d'une messagerie LotusNote, Domino ou Outlook PiloteSouris Simule un événement souris
GroupePrécédent Renvoie le groupe de contacts précédent d'une message- RendezVousAjoute Ajoute un rendez-vous dans une messagerie Lotus Notes,
rie Lotus Notes, Domino ou Outlook Domino ou Outlook
GroupePremier Renvoie le premier groupe de contacts d'une messagerie RendezVousDernier Renvoie le dernier rendez-vous stocké dans une message-
Lotus Notes, Domino ou Outlook rie ouverte par la fonction OuvreSessionNotes,
GroupeRAZ Réinitialise la structure "mGroupe" EmailOuvreSessionNotes, EmailOuvreSession (syntaxe
outlook) ou OuvreSessionMAPI
GroupeSuivant Renvoie le groupe de contacts suivant d'une messagerie
Lotus Notes, Domino ou Outlook RendezVousModifie Modifie un rendez-vous dans une messagerie Lotus
Notes, Domino ou Outlook
GroupeSupprime Supprime un groupe de contacts dans le carnet d'adres-
ses d'une messagerie Lotus Notes, Domino ou Outlook RendezVousPrécédent Renvoie le rendez-vous précédent
HashChaîne Calcule le Hash d'une chaîne RendezVousPremier Renvoie le premier rendez-vous stocké dans une messa-
gerie ouverte par la fonction OuvreSessionNotes,
HashFichier Calculer le Hash d'un fichier EmailOuvreSessionNotes, EmailOuvreSession (syntaxe
HashVérifieChaîne Vérifie le Hash d'une chaîne outlook) ou OuvreSessionMAPI
HashVérifieFichier Vérifier le Hash d'un fichier RendezVousRAZ Réinitialise la structure "mRendezVous"
HGèreServeur Permet de connaître et de modifier certains paramétrages RendezVousSuivant Renvoie le rendez-vous suivant
du serveur RendezVousSupprime Supprime un rendez-vous dans une messagerie Lotus
HInfoLog Renvoie des informations sur les logs du serveur Notes, Domino ou Outlook
HRécupèreLog Renvoie les logs du serveur réalisés entre deux dates StyleDessin Permet de paramétrer certains paramètres du mode d'af-
données fichage des fenêtres
LDAPMode Modifie le fonctionnement d'une session LDAP TâcheAjoute Ajoute une tâche dans messagerie Lotus Notes, Domino
NotesCherche Recherche un ou plusieurs documents selon des critères ou Outlook
spécifiés Ces documents sont situés sur une base locale TâcheDernier Renvoie la dernière tâche stockée dans une messagerie
ou distante Lotus Notes ou Domino Lotus Notes, Domino ou Outlook
NotesDernier Renvoie le dernier document ouvert par les fonctions TâcheModifie Modifie une tâche dans une messagerie Lotus Notes,
OuvreSessionNotes ou EmailOuvreSessionNotes Domino ou Outlook
NotesDimensionPropriété Renvoie la dimension d'un champ du document Lotus TâchePrécédent Renvoie la tâche précédente
Notes en cours TâchePremier Renvoie la première tâche stockée dans une messagerie
NotesDonnePropriété Renvoie la valeur d'un champ du document Lotus Notes Lotus Notes, Domino ou Outlook
en cours TâcheRAZ Réinitialise la structure "mTâche"
NotesEnDehors Permet de savoir s'il y a un document Lotus en cours TâcheSuivant Renvoie la tâche suivante
NotesEnregistre Enregistre le document en cours dans une base locale ou TâcheSupprime Supprime une tâche dans une base locale ou distante
distante Lotus Notes ou Domino Lotus Notes ou Domino
NotesFerme Ferme le document ouvert par la fonction NotesOuvre TailleCommune Renvoie la longueur de la partie commune entre deux
NotesListePropriété Renvoie la liste des propriétés du document Lotus Notes chaînes de caractères
en cours testEcritRésultat Ecrit un résultat dans le journal de passage du test
NotesModifiePropriété Permet de modifier la valeur d'un champ du document THAjouteLigne Ajoute une ligne dans un champ table hiérarchique, à la
Lotus Notes en cours fin d'un niveau de hiérarchie donné
NotesOuvre Ouvre le document spécifié par dernière fonction ayant THInsèreLigne Insère une ligne dans un champ table hiérarchique
accédé à une note Lotus
DomoEcrit Envoie une commande à un ou plusieurs modules compa-
NotesPrécédent Renvoie le document précédent ouvert par les fonctions tibles avec le protocole Domo
OuvreSessionNotes ou EmailOuvreSessionNotes
DomoEtat Permet de connaître l'état (Marche/Arret) d'un module
NotesPremier Renvoie le premier document ouvert par les fonctions contrôlé
OuvreSessionNotes ou EmailOuvreSessionNotes
DomoEvénement Associe une procédure écrite en WLangage à un événe-
NotesRAZ Crée un nouveau document Lotus Notes vide ment initié par un module domotique X10
NotesSuivant Renvoie le document suivant ouvert par les fonctions DomoFerme Ferme la communication ouverte avec la fonction
OuvreSessionNotes ou EmailOuvreSessionNotes DomoOuvre
NotesSupprimePropriété Supprime une propriété du document Lotus Notes en DomoOuvre Envoie des commandes au protocole Domo afin de gérer
cours des dispositifs électriques compatibles avec ce protocole
MenuSupprime Supprime un menu ou une option de menu xlsFeuilleEnCours Permet de connaître ou modifier la feuille courante dans
MessFramework Récupère un message du framework dans la langue en le document Excel
cours xlsNbFeuille Renvoie le nombre de feuilles présentes dans un docu-
ment Excel

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


38
WINDEV
Mobile
Cette partie présente les nouveautés spécifiques à WINDEV
Mobile. Bien entendu, les nouveautés communes (pages 3 à 25)
Nouveauté
095 WD WB WM
s’appliquent également à WINDEV Mobile. Impression de codes barres
Imprimer un code barres depuis un mobile est pratique !
La mobilité est un atout imparable de toute entreprise. La version 11 permet de le faire directement depuis une applica-
Eviter les doubles saisies, partager et modifier l’information en tion sur mobile, via une connexion entre le mobile et l’impri-
temps réel permet une réactivité totale et élimine les sources mante, ou via l’imprimante intégrée au terminal. L’imprimante
d’erreurs et les coûts inutiles. doit simplement être compatible «PCL».
Bénéficier de la portabilité de ses applications «PC» vers les mobi- L’impression est possible à travers les états, et via les fonctions
les est un atout majeur des environnements de PC SOFT, pour le d’impression directe (famille de fonction iImprime).
plus grand bénéfice des sociétés utilisatrices ! 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
Nouveauté
094 WD WB WM
Framework renommé commun à
plusieurs applications
Afin d’optimiser l’encombrement mémoire du PDA, un frame-
work renommé peut maintenant être partagé par plusieurs appli-
cations 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é
096 WD WB WM
termec

Orientation de l’écran:
èque In

... et la même application vertical ou horizontal ?


en mode horizontal:
Phototh

pratique ! 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à disponi-
bles, cela permet un confort d‘utlisa-
tion sans limites.
Un conseil: prévoyez un bouton clica-
ble 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é
098 WD WB WM
Appel d’assemblage .NET Modification automatique des
La plupart des fournisseurs de matériel complémentaire (GPS, fichiers Hyper File sur le terminal
scanner, lecteur de code barres, lecteur RFID,...) fournissent avec Voici une nouveauté que vous nous avez réclamée ! La possibilité
leur matériel des pilotes d’accès. Ces pilotes d’accès sont fournis de faire évoluer la structure de la base installée sur le mobile
sous forme de DLL native ou quelquefois d’assemblage .NET. directement depuis le mobile autonome (non connecté à un PC)
Ce mode de dialogue via un assemblage .NET est maintenant est disponible en version 11.
supporté par WINDEV Mobile 11. Vos utilisateurs itinérants pourront donc se mettre à jour pour des
modifications de structure de base de données, via GPRS par
exemple.

Utilisez tous les logiciels d’interfaçage fournis La modification automatique


par les fabricants de périphériques en action sur un Pocket PC

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 dispo-
nibles sur PC, utilisation des données réelles pré-
sentes dans Outlook (mails, rendez-vous,...)...
Grâce à la version 11, vous pourrez déboguer
facilement sur le matériel réel, avec les données
réelles.
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


40
Nouveauté
100 WD WB WM Nouveauté
104 WD WB WM
Compilation dynamique Les nouvelles fonctions disponibles
La compilation dynamique (création, compilation et exécution de sous WINDEV Mobile
code par une application) est disponible sous WINDEV Mobile 11. De nouvelles fonctions de programmation sont proposées.

Nouveauté
101 WD WB WM 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 fai-
ble et fort
DécomplèteRep Enlève le caractère "/"' ou "\"' à la fin d'une chaîne si ce
Un projet réalisé initialement avec WINDEV Mobile peut être caractère est présent
importé dans WINDEV. Les ancrages définis dans les fenêtres EnModeTestAutomatique Permet de savoir si un test automatique est en cours ou
«mobiles» sont actifs sous WINDEV et la fenêtre importée est non
ainsi directement utilisable. 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
Nouveauté
102 WD WB WM FlècheFin Indique la position de la fin de la flèche d'un champ
"Forme" de type flèche
Nouveau gabarit gPoliceGras Indique si la police d'affichage du texte est en gras ou
non
Ce nouveau gabarit prêt à l’emploi pour mobile est livré.
gPoliceItalique Indique si la police d'affichage du texte est en italique ou
Ce gabarit, qui fonctionne en Windows Pocket PC, Windows non
Mobile 2002, 2003 et Windows Mobile 5.0, reprend de nouvelles gPoliceSouligné Indique si la police d'affichage du texte est soulignée ou
propriétés des champs qui apparaissent en version 11, comme les non
bandeaux dégradés, les animations sur les boutons, ... 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'af-
fichage 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
Le gabarit «Media Center» TailleCommune Renvoie la longueur de la partie commune entre deux
chaînes de caractères, en début ou en fin des chaînes
Nouveauté
103 WD WB WM dRotation
MagnétoAction
Effectue une rotation d'un champ image
Permet de lancer le magnétophone du Pocket PC. Lors de
Des fonctions utiles ce lancement, il est possible de commencer un enregis-
trement ou de jouer un fichier donné
De nouvelles fonctions font leur apparition : MagnétoEvénement Permet d'associer une touche du Pocket PC au lancement
• les fonctions de la famille «Sys» sont utiles sur mobiles. Elles du magnétophone et de spécifier la procédure à exécuter
lors de la fin de l'enregistrement
permettent d’accéder en standard aux spécificités système du
SysArrête Arrête le système du Pocket PC
terminal.
SysMémoireDispo Renvoie la taille de la mémoire disponible (mémoire de
• récupérer le numéro IMEI (identifiant unique) du téléphone stockage et mémoire pour les programmes) sur le Pocket
• récupérer le numéro de série de la machine PC
• pilotage du «dictaphone» (pour les matériels équipés; déclen- SysMiseEnVeille Met en veille le système du Pocket PC
chement et arrêt par programme, lancer un traitement lorsque SysNumSérie Renvoie le numéro de série du Pocket PC
l’utilisateur appuie sur le bouton d’enregistrement,...) SysRedémarre Redémarre le système du Pocket PC
• désactiver (et réactiver) la mise en veille du périphérique (utile SysRepCarteStockage Renvoie le chemin de la carte de stockage
pour économiser les batteries ou ne pas couper une liaison
Domo Les fonctions de la famille «Domo» sont disponibles en
GPRS en cours) WinDev Mobile (voir la liste dans la partie WinDev svp)
• connaître le chemin d’accès (répertoire) de la SD card

41 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


WEBDEV • Un ascenseur vertical apparaît automatiquement si nécessaire.
• Sont lus dans le fichier de données les enregistrements visuali-
sés, ainsi que quelques enregistrements précédents et suivants
(buffer automatique, qui permet le fetch partiel automatique):
Cette partie présente les nouveautés spécifiques à WEBDEV. Bien
entendu, les nouveautés communes (pages 3 à 25) s’appliquent le temps de chargement est réduit au minimum, la fluidité est
également à WEBDEV 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’en-
tête de colonne.
WEB 2.0 ET AJAX • La recherche par la «loupe», comme dans WINDEV, est propo-
sée en standard.
• La saisie est maintenant possible directement dans les cellules
de la table, toujours sans programmation (ni sur le serveur, ni
La technologie Web 2.0 permet aux applications Web en Javascript sur le navigateur).
d’apporter un comportement d’IHM proche d’une interface tradi- Ces nouvelles fonctionnalités permettent un meilleur partage de
tionnelle sous Windows. Un élément déterminant du Web 2.0 est code avec les applications WINDEV qui utilisent des tables.
«AJAX» qui permet au navigateur de dialoguer avec le serveur en Le passage d’une application WINDEV à WEBDEV n’en est que
ne rafraichissant que la partie modifiée de la page. facilité !

Nouveauté
105 WD WB WM Nouveauté
106 WD WB WM
Tables AJAX Zones répétées AJAX
La gestion «AJAX» des tables permet une évolution drastique des Le champ «Zone répétée» devient 100% AJAX à la demande.
fonctionnalités. Les possibilités offertes par les zones répétées Ajax se rappro-
Le champ «table» s’enrichit automatiquement, sans qu’aucune chent des fonctionnalités des tables Ajax.
programmation ne soit nécessaire.

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 Le tri des colon-
via la loupe nes est disponible

Il est possible de Un ascenseur rem-


redimensionner place automatique-
les colonnes ment la règlette

Le fond du ban- Les lignes de la


deau de sélection table sont «multi
peut être une sélection»
image

Ancrage et ascen-
Les cellules de seur automatique
table peuvent être
en «saisie»
Gestion automatique
d’un «cache» (fetch par-
tiel) qui ne charge que les
Si un traitement est données nécessaires à l’af-
long, un sablier s’affi- fichage et au parcours
che automatiquement. fluide à vitesse humaine

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


42
Nouveauté
107 WD WB WM Nouveauté
109 WD WB WM
Champs déplaçables par Jauge automatique AJAX
programmation Une jauge d’attente automatique peut être affichée dans une
Les champs des pages sont déplaçables dynamiquement par pro- page pendant qu’un traitement AJAX s’effectue.
grammation. En effet, les traitements Ajax ne font pas afficher la jauge habi-
Les propriétés X et Y font leur apparition, en lecture et en écri- tuelle de chargement de page du navigateur. Normal: il n’y a plus
ture, en code serveur et en code navigateur. de chargement de page...
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, effec-
tuer 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:
Ici le champ «promotion» (l’ovale) se déplace avec la souris: les fonctions XML sont supportées en WEBDEV et WINDEV,
impossible à rater !
la «compilation dynamique» est supportée.
Nouveauté
108 WD WB WM
Champ déplaçable à la souris Nouveauté
111 WD WB WM
Dans une page créée avec WEBDEV 11, il est maintenant possible Apache Linux: authentification
d’indiquer qu’un champ peut être déplacé à la souris directe-
ment. L’internaute pourra déplacer ce champ sous le navigateur. Il est possible de définir un utilisateur par compte WebDev avec
La nouvelle position sera sauvegardée. 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
Le nombre de fonctions PHP augmente sensiblement.
L’internaute repositionne les éléments Parmi les nouveautés PHP, notez qu’il est possible de préciser les
de sa page d’accueil
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 MemPremier Positionne sur le premier élément d'une zone mémoire et
renvoie la valeur de retour de ce premier élément.
méthode très pratique permet de préciser les différents paramè- MemRecherche Recherche un élément dans une zone mémoire.
tres dans n’importe quel ordre, ce qui est intéressant pour les MemRécupère Récupère la valeur de retour d'un élément présent dans
requêtes qui nécessitent de nombreux paramètres. 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.
ChronoDébut Démarre un chronomètre afin de mesurer la durée d'un MemSupprime Supprime un élément dans une zone mémoire.
traitement (en millisecondes) et permet de remettre à
zéro un chronomètre existant. L'arrêt du chronométrage MemSupprimeTout Vide et supprime une zone mémoire.
est effectué avec la fonction ChronoFin. MemTrie Trie les éléments présents dans une zone mémoire. Ce tri
ChronoFin Arrête un chronomètre et renvoie le temps écoulé (en est effectué sur l'argument de tri spécifié avec les fonc-
millisecondes) depuis le début du chronométrage (appel tions MemAjoute ou MemModifie.
de la fonction ChronoDébut). MemTrouvé Vérifie si l'élément recherché a été trouvé.
ChronoValeur Indique le temps écoulé depuis l'appel à la fonction MemValClé Renvoie la valeur ajoutée ou modifiée (par les fonctions
ChronoDébut. Le chronomètre n'est pas arrêté. MemAjoute ou MemModifie) de l'élément en cours dans
fCompare Compare bit à bit le contenu de deux fichiers. une zone mémoire.
HTTPDonneRésultat Récupère le résultat ou l'en-tête de la dernière requête NavigateurAdresseIP Renvoie l'adresse IP du poste de l'Internaute connecté au
HTTP lancée. Cette requête a été lancée par la fonction site WebDev.
HTTPRequête. NavigateurNom Renvoie le nom du navigateur de l'Internaute. Le nom du
HTTPRequête Lance une requête HTTP sur un serveur. navigateur est renvoyé par le logiciel de navigation de
l'internaute.
HTTPTimeOut Règle le Time Out pour les fonctions WLangage utilisant
le protocole HTTP (fonctions HTTPRequête, SOAPExécute, PageInitialisation Remet à zéro (ou non) les champs de la page en cours et
DotNetExécute, J2EEExécute, ...). lance les traitements d'initialisation des champs et de la
page.
InitFenêtre Initialise les champs à zéro (ou non) et lance les traite-
ments d'initialisation des champs et de la fenêtre. PHPAffiche Appelle un script PHP externe et renvoie la page résultat
dans la fenêtre en cours du navigateur.
ListeSelectOccurrence Renvoie le nombre d'éléments sélectionnés dans une
liste (y compris une liste image) ou une combo. sCalculeCrc32 Calcule le code de redondance cyclique (CRC) d'un tam-
pon.
MatAdditionne Additionne deux matrices de mêmes dimensions (même
nombre de lignes et même nombre de colonnes). SocketAccepte Exécutée sur le poste serveur, cette fonction accepte une
demande de connexion sur une socket existante sur le
MatCopie Crée la copie d'une matrice. La nouvelle matrice a les poste serveur. Cette fonction permet de créer le canal de
mêmes dimensions que la matrice de base. Tous les élé- communication entre la socket serveur et la socket
ments de la matrice d'origine sont copiés dans la nou- cliente.
velle matrice.
SocketAttendConnexion Exécutée sur le poste serveur, cette fonction permet d'at-
MatCrée Crée une matrice de 0 ligne et 0 colonne. tendre une demande de connexion provenant de sockets
MatDéterminant Calcule le déterminant d'une matrice carrée (nombre de clientes.
lignes égal au nombre de colonnes). SocketChangeModeTransmission Change le mode de transmission utilisé sur un socket. Il
MatEcrit Écrit un élément dans une matrice. est ainsi possible de définir le codage du message lors de
MatErreur Identifie le type de la dernière erreur due à une fonction la transmission. Les fonctions SocketLit et SocketEcrit uti-
Matxxx (fonctions de gestion des matrices). lisent le mode de transmission indiqué.
MatExiste Teste l'existence d'une matrice en mémoire. SocketClientInfo Permet au serveur d'obtenir des renseignements sur la
socket cliente en cours. La socket cliente en cours corres-
MatInverse Inverse une matrice carrée. pond à la dernière socket dont le message a été lu avec la
MatLit Lit la valeur d'un élément d'une matrice. fonction SocketLit. Cette fonction peut être utilisée sur un
poste serveur de socket
MatLitColonne Lit la valeur de tous les éléments d'une colonne d'une
matrice. SocketConnecte Connecte un poste client à une socket donnée.
MatLitLigne Lit la valeur de tous les éléments d'une ligne d'une SocketCrée Crée une socket. Une socket est une ressource de com-
matrice. munication utilisée par les applications pour communi-
quer d'une machine à une autre sans se soucier du type
MatMultiplie Multiplie deux matrices. de réseau.
MatNbColonne Renvoie le nombre de colonnes d'une matrice. Le nombre SocketCréeUDP Crée une socket utilisant le protocole UDP.
de colonnes d'une matrice varie dynamiquement. Il cor-
respond au nombre de colonnes initialisées. SocketEcrit Ecrit un message destiné à une autre socket. Cette fonc-
tion peut être utilisée sur un poste client ou un poste ser-
MatNbLigne Renvoie le nombre de lignes d'une matrice. Le nombre de veur.
lignes d'une matrice varie dynamiquement. Il correspond
au nombre de lignes initialisées. SocketExiste Teste l'existence d'une socket.
MatRéelAdditionne Additionne une valeur à chaque élément d'une matrice. SocketFerme Ferme une socket ou une connexion à une socket d'un
Cette addition est réalisée directement dans la matrice serveur.
spécifiée. SocketLit Récupère un message envoyé par une autre socket. Cette
MatRéelMultiplie Multiplie chaque élément d'une matrice par une valeur. fonction peut être utilisée sur un poste client ou un poste
Cette multiplication est réalisée directement dans la serveur.
matrice spécifiée. StatCorrélation Calcule le coefficient de corrélation entre deux séries de
MatRemplit Initialise tous les éléments d'une matrice d'une taille valeurs.
donnée. Si la matrice est plus grande, seuls les éléments StatCovariance Calcule la covariance entre deux séries de valeurs.
spécifiés seront remplis.
StatEcartMoyen Calcule la moyenne des écarts absolus des valeurs par
MatSupprime Supprime une matrice existante. La suppression d'une rapport à leur moyenne arithmétique.
matrice inutilisée (ou nulle) dans une application permet
de libérer la place mémoire utilisée par cette matrice. StatEcartType Calcule l'écart type d'une série de valeurs.
MatTranspose Calcule la transposée d'une matrice. StatEcartTypeP Calcule l'écart type d'une série complète de valeurs.
MemAjoute Ajoute un élément dans une zone mémoire. StatErreur Renvoie le numéro de la dernière erreur due à une fonc-
tion Statxx (fonctions statistiques).
MemCrée Crée une zone mémoire. Cette zone mémoire peut conte-
nir des informations de type texte ou numérique. StatMax Calcule la valeur maximale d'une série de valeurs.
MemDernier Positionne sur le dernier élément d'une zone mémoire et StatMin Calcule la valeur minimale d'une série de valeurs.
renvoie la valeur de retour de ce denier élément. StatMoyenne Calcule la moyenne arithmétique, géométrique ou harmo-
MemEnCours Renvoie l'indice de l'élément en cours. nique d'une série de valeurs.
MemEnDehors Permet de savoir si le parcours effectué sur une zone de StatSomme Calcule le cumul d'une série de valeurs.
mémoire est en dehors de cette zone de mémoire. StatVariance Calcule la variance d'une série de valeurs.
MemExiste Teste l'existence d'une zone de mémoire. StatVarianceP Calcule la variance d'une série complète de valeurs.
MemModifie Modifie un élément dans une zone mémoire. TableauAjoute Ajoute un élément en dernière position d'un tableau à
MemOccurrence Renvoie le nombre d'éléments présents dans une zone de une dimension.
mémoire. TableauCherche Cherche l'indice d'un élément dans un tableau.
MemPositionne Positionne la zone mémoire sur un élément. TableauCopie Copie le contenu d'un tableau dans un autre.
MemPrécédent Positionne sur l'élément précédent l'élément en cours TableauDéplace Permet soit de déplacer un élément dans un tableau à
d'une zone mémoire et renvoie la valeur de retour de cet une dimension, soit d'échanger deux éléments dans un
élément. tableau à une dimension.

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


44
TableauInfo Renvoie les caractéristiques d'un tableau : type des élé- XMLAnnuleRecherche.
ments, nombre de dimensions, dimensions, ... XMLRenomme Modifie le nom de l'élément courant (balise ou attribut)
TableauInsère Insère un élément à une position donnée dans un tableau dans un document XML.
à une dimension. XMLRetourPosition Restaure le contexte précédemment sauvegardé d'un
TableauOccurrence Renvoie soit le nombre d'éléments présents dans un document XML (fonction XMLSauvePosition). Le filtre en
tableau à une dimension, soit le nombre de lignes pré- cours lors de la sauvegarde de la position peut être res-
sentes dans un tableau à deux dimensions, soit le nom- tauré (le filtre est mis en place avec la fonction
bre d'éléments présents dans la première dimension d'un XMLRecherche)
tableau à trois dimensions ou plus. XMLSauvePosition Mémorise la position en cours dans le document XML. Il
TableauSupprime Supprime un élément à une position donnée dans un est ainsi possible de suspendre momentanément le trai-
tableau à une dimension. La taille du tableau est automa- tement en cours, d'utiliser le document XML par ailleurs
tiquement réduite. (pour effectuer des vérifications par exemple). Le
TableauSupprimeTout Supprime tous les éléments d'un tableau à une dimen- contexte sauvegardé pourra être restitué.
sion ou deux dimensions. XMLSuivant Positionne sur l'élément suivant (balise ou attribut).
TableauTrie Trie un tableau. XMLSupprime Supprime l'élément courant d'un document XML, ainsi
TableSelectOccurrence Renvoie le nombre d'éléments sélectionnés dans une que toute la branche qui en découle.
table. Les lignes sélectionnées correspondent aux lignes XMLTermine Ferme un document XML créé avec XMLDocument. Toutes
en cours sur lesquelles le bandeau de sélection est affi- les ressources allouées lors de la création et de la mani-
ché. pulation du document XML sont libérées.
TexteVersHTML Convertit une chaîne texte en chaîne HTML XMLTrouve Vérifie si l'élément en cours correspond au parcours ou à
TexteVersXML Convertit une chaîne de caractères au format ANSI en une la recherche en cours.
chaîne de caractères au format XML. XMLTypeElement Renvoie le type de l'élément en cours (balise ou attribut).
VérifieExpressionRégulière Vérifie si une chaîne de caractères correspond à un for- Pour sélectionner un élément, utilisez les fonctions de
mat spécifique, et récupère les différentes sous-chaînes recherche et de parcours XML (XMLPremier, XMLDernier,
constituant le format. XMLFils, ...).
XMLAjouteAttribut Ajoute un attribut dans un document XML. Cet attribut XMLVersTexte Convertit une chaîne de caractères au format XML en une
est ajouté à la fin de la liste des attributs de la position chaîne de caractères standard.
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
WLANGAGE
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

XMLEnDehors
XML) ou d'un de ses attributs.
Permet de savoir si l'élément (balise ou attribut) sur
Nouveauté
113 WD WB WM
lequel on veut se positionner est en dehors du document
XML.
Fonctions optimisées
XMLExtraitChaîne Extrait le contenu d'une balise dans un document XML. La vitesse de la fonction FichierAffiche sur des fichiers de taille
Dans le cas d'une recherche plus complexe, utilisez les
fonctions XMLDocument et XMLRecherche. importante est sensiblement optimisée.
XMLExtraitDocument Crée un nouveau document XML à partir d'une partie Les fonctions de «liaison série RS 232» ont été implémentées
d'un document XML existant.
XMLFils Positionne sur le premier élément fils de l'élément en
dans WEBDEV 11, pour une utilisation en Intranet.
cours. Pour sélectionner un élément, utilisez les fonctions
de recherche et de parcours XML (XMLPremier,

XMLFilsExiste
XMLDernier, ...)
Indique si la balise courante a des fils correspondant au
Nouveauté
114 WD WB WM
type recherché (balise, attribut, ...).
XMLInsèreDocument Insère un document XML dans un autre document XML
Les nouvelles fonctions disponibles
XMLInsèreElément Insère un élément (balise ou attribut) XML dans un docu-
ment XML. La position d'insertion est relative à la posi-
sous WEBDEV 11
tion courante.
De nouvelles fonctions font leur apparition en version 11:
XMLModifie Modifie le contenu de l'élément courant dans un docu-
ment XML. CDEjecte Ouvre ou ferme le tiroir du lecteur de CD/DVD sélectionné
XMLNamespace Renvoie le préfixe de l'espace de nommage de la balise CDListe Liste les lecteurs de CD/DVD installés sur le poste en
courante dans un document XML. cours
XMLNamespaceURI Renvoie l'URI de définition de l'espace de nommage de ConstruitEntier Construit un entier à partir de 2 entiers sur 2 de poids fai-
la balise courante dans un document XML. ble et fort
XMLNomElément Renvoie le nom de l'élément en cours (balise ou attribut). ContactAjoute Ajoute un contact dans le carnet d'adresses d'une messa-
Pour sélectionner un élément, utilisez les fonctions de gerie Lotus Notes, Domino ou Outlook
recherche et de parcours XML (XMLPremier, XMLDernier, ContactCherche Recherche un contact dans un carnet d'adresses situé sur
XMLFils, ...). une base locale ou distante Lotus Notes ou Domino
XMLNomParent Renvoie le nom de la balise parente de l'élément (balise ContactDernier Renvoie le dernier contact présent dans un carnet
ou attribut) en cours. Pour sélectionner un élément, utili- d'adresses d'une messagerie Lotus Notes, Domino ou
sez les fonctions de recherche et de parcours XML Outlook
(XMLPremier, XMLDernier, XMLFils, ...). ContactModifie Modifie un contact présent dans un carnet d'adresses
XMLParent Positionne sur l'élément parent de l'élément en cours d'une messagerie Lotus Notes, Domino ou Outlook
(balise ou attribut). Pour sélectionner un élément, utilisez ContactPrécédent Renvoie le contact précédent présent dans un carnet
les fonctions de recherche et de parcours XML d'adresses d'une messagerie Lotus Notes, Domino ou
(XMLPremier, XMLDernier, XMLFils, ...). Outlook
XMLPosition Renvoie la position en cours dans le document sous la ContactPremier Renvoie le premier contact présent dans un carnet
forme XPATH. d'adresses d'une messagerie Lotus Notes, Domino ou
XMLPrécédent Positionne sur l'élément (balise ou attribut) précédent. Outlook
XMLPremier Positionne sur le premier élément (balise ou attribut) du ContactRAZ Réinitialise la structure "mContact"
niveau en cours de l'arborescence. ContactSuivant Renvoie le contact suivant présent dans un carnet
XMLRacine Positionne sur la balise racine d'un document XML. d'adresses d'une messagerie Lotus Notes, Domino ou
XMLRecherche Lance une recherche dans un document XML. Cette Outlook
recherche peut être annulée par la fonction ContactSupprime Supprime un contact présent dans un carnet d'adresse

45 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


d'une messagerie Lotus Notes, Domino ou Outlook RendezVousPremier Renvoie le premier rendez-vous stocké dans une messa-
DécomplèteRep Enlève le caractère "/"' ou "\"' à la fin d'une chaîne si ce gerie ouverte par la fonction OuvreSessionNotes,
caractère est présent EmailOuvreSessionNotes, EmailOuvreSession (syntaxe
outlook) ou OuvreSessionMAPI
EmailChercheNotes Recherche un ou plusieurs emails selon des critères spé-
cifiés, dans une base Lotus Notes ou Domino RendezVousRAZ Réinitialise la structure "mRendezVous"
EmailOuvreSessionNotes Ouvre une connexion avec une base locale ou distante RendezVousSuivant Renvoie le rendez-vous suivant
Lotus Notes ou Domino RendezVousSupprime Supprime un rendez-vous dans une messagerie Lotus
EnModeTestAutomatique Permet de savoir si un test automatique est en cours ou Notes, Domino ou Outlook
non TâcheAjoute Ajoute une tâche dans messagerie Lotus Notes, Domino
ExécuteActionPrédéfinie Exécute une des actions prédéfinies de WinDev / WebDev ou Outlook
/ WinDev Mobile TâcheDernier Renvoie la dernière tâche stockée dans une messagerie
FermeSession Fermer une connexion avec une messagerie Lotus Notes, Lotus Notes, Domino ou Outlook
Domino ou Outlook TâcheModifie Modifie une tâche dans une messagerie Lotus Notes,
GroupeAjoute Ajoute un groupe de contacts dans le carnet d'adresses Domino ou Outlook
d'une messagerie Lotus Notes, Domino ou Outlook. TâchePrécédent Renvoie la tâche précédente
GroupeDernier Renvoie le dernier groupe de contacts d'une messagerie TâchePremier Renvoie la première tâche stockée dans une messagerie
Lotus Notes, Domino ou Outlook Lotus Notes, Domino ou Outlook
GroupeModifie Modifie un groupe de contacts du carnet d'adresses TâcheRAZ Réinitialise la structure "mTâche"
d'une messagerie LotusNote, Domino ou Outlook TâcheSuivant Renvoie la tâche suivante
GroupePrécédent Renvoie le groupe de contacts précédent d'une message- TâcheSupprime Supprime une tâche dans une base locale ou distante
rie Lotus Notes, Domino ou Outlook Lotus Notes ou Domino
GroupePremier Renvoie le premier groupe de contacts d'une messagerie TailleCommune Renvoie la longueur de la partie commune entre deux
Lotus Notes, Domino ou Outlook chaînes de caractères, en début ou en fin des chaînes
GroupeRAZ Réinitialise la structure "mGroupe" xlsFeuilleEnCours Permet de connaître ou modifier la feuille courante dans
GroupeSuivant Renvoie le groupe de contacts suivant d'une messagerie le document Excel
Lotus Notes, Domino ou Outlook xlsNbFeuille Renvoie le nombre de feuilles présentes dans un docu-
GroupeSupprime Supprime un groupe de contacts dans le carnet d'adres- ment Excel
ses d'une messagerie Lotus Notes, Domino ou Outlook Domo Les fonctions de la famille «Domo» sont disponibles en
HashChaîne Calcule le Hash d'une chaîne WebDev (voir la liste dans la partie WinDev svp)
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 DIVERS
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 navi-
gateur qui a déclenché l'éxécution du code
LDAPMode Modifie le fonctionnement d'une session LDAP
NotesCherche

NotesDernier
Recherche un ou plusieurs documents selon des critères
spécifiés
Renvoie le dernier document ouvert par les fonctions
Nouveauté
115 WD WB WM
OuvreSessionNotes ou EmailOuvreSessionNotes Gestion automatique des blocages
NotesDimensionPropriété Renvoie la dimension d'un champ du document Lotus
Notes en cours fichier (Hyper File)
NotesDonnePropriété Renvoie la valeur d'un champ du document Lotus Notes
en cours Lorsqu’un internaute essaye d’accéder à un enregistrement blo-
NotesEnDehors Permet de savoir s'il y a un document Lotus en cours qué, le serveur d’application WEBDEV le prévient automatique-
NotesEnregistre Enregistre le document en cours dans une base locale ou ment que l’enregistrement est bloqué.
distante Lotus Notes ou Domino
Ainsi, les conflits d’accès simultanés non autorisés sont gérés
NotesFerme Ferme le document ouvert par la fonction NotesOuvre
NotesListePropriété Renvoie la liste des propriétés du document Lotus Notes
automatiquement, sans qu’il soit nécessaire de coder.
en cours Cette fonctionnalité est surtout utile en Intranet, et fonctionne
NotesModifiePropriété Permet de modifier la valeur d'un champ du document également pour Internet.
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 message-
rie ouverte par la fonction OuvreSessionNotes,
EmailOuvreSessionNotes, EmailOuvreSession (syntaxe
outlook) ou OuvreSessionMAPI
RendezVousModifie Modifie un rendez-vous dans une messagerie Lotus ... Le message automatique (personnalisable).
Notes, Domino ou Outlook
RendezVousPrécédent Renvoie le rendez-vous précédent

Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


46
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, ...
En entrant dans le champ, le masque apparaît:
Cela permet de coder des traitements très réactifs. ici, taper le «/» est facultatif

Nouveauté
117 WD WB WM Nouveauté
118 WD WB WM
Masques de saisie Styles de bordures
Les masques de saisie existants sont améliorés. Les formats sont Afin de mieux présenter les champs, une dizaine de nouveaux
matérialisés en entrée de champ, et non plus seulement vérifiés styles de bordure apparaît.
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 che-
min de fichier, adresse eMail,...

Nouveauté
119 WD WB WM
Groupware utilisateur
Le «groupware utilisateur», bien connu des dévelop-
peurs WINDEV, fait son apparition sous WEBDEV 11.
Vous pourrez ainsi limiter l’accès à certaines pages ou
certains traitements de manière automatique, en fonc-
tion 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 Une page de base
modification frauduleuse du code navigateur.
La base des utilisateurs du groupware peut être parta- ... et la même page
gée avec WINDEV. Ainsi la protection d’une application accédée par un autre
de back office et du front office utilise des données utilisateur qui dispose
de plus de privilèges.
communes: simplication appréciable.

La définition
des droits.

47 Les nouveautés WINDEV 11 WEBDEV 11 WINDEV Mobile 11


«Centre de Contrôle Hébergement».
Nouveauté
120 WD WB WM Le centre gère bien sûr les comptes WEBDEV mais également, et
Styles adaptatifs (pseudo style) 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
Afin d’améliorer encore l’interface proposée aux utilisateurs, cha- d’exploitation Windows.
que état d’un champ (au repos, survolé, actif, lien non visité, lien Un choix par défaut est proposé, qui permet d’installer un serveur
visité, premier fils, première lettre, première ligne) peut bénéficier par simple clic sans compétences particulières !
d’un style spécifique. 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 vir-
tuel, activation de WebDev...

La définition des styles adaptatifs

Le champ au repos

Le champ en survol

Le champ une fois cliqué (en saisie) Ecran de paramétrage

Nouveauté
121 WD WB WM
Editeur : nouvelles AAD
Nouveauté
123 WD WB WM
De nouvelles AAD font leur apparition, pour assister encore plus
Protection des images
le développeur et lui proposer d’appliquer des fonctionnalités uti- Cette fonctionnalité s’applique sous WEBDEV. Dans le navigateur,
les dans son contexte: les images sont protégées de la copie par le clic droit. Il s’agit
• Proposition de conversion des images de taille trop importante. d’une protection de premier niveau.
• 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
Nouveauté
124 WD WB WM
n’est plus présente sur le disque: évite les images absentes chez Choix du navigateur lors du GO
l’internaute.
• Signalement d’un groupe de champs vide... Lors d’un GO de page, le choix du navigateur de test est mainte-
nant possible depuis la barre d’outils.

Nouveauté
122 WD WB WM Nouveauté
125 WD WB WM
Exploitation: Centre de Contrôle Support du JPEG Progressif
Hébergement (IIS), pour
Le JPEG Progressif est un format d’affichage qui affiche une
automatiser les installations image progressivement, pendant que le navigateur charge
Destiné principalement aux hébergeurs et aux webmasters, pour l’image.
aider à héberger plus facilement les sites, WEBDEV 11 intègre un Quand une image est insérée dans un site, WEBDEV 11 permet

WINDEV, WEBDEV et WINDEV Mobile sont des logiciels professionnels. 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 que d’autres évolutions et nouveautés que celles qui sont présentées dans ce document seront présentes dans la version. 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.

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 program-
Nouveauté
127 WD WB WM
mation une image au format JPEG Progressif. 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
Les sites réalisés avec WEBDEV respectent sur demande la norme dans votre version 11 !
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 11 innove
tout en respectant
les standards du
marché.
Vous assurez ainsi
la pérennité de vos
développements.

L e monde économi-
que 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.
Vous aussi,
passez en
L es besoins de
développement
version 11.
augmentent, et les
budgets informati-
ques ne suivent pas
forcément.
Vous conciliez ces
deux impératifs
avec les versions 11.
+
111
Nouveautés

LE FUTUR

N’ATTEND

PAS :

COMMANDEZ

VOTRE

VERSION 11

DÈS

AUJOURD’HUI
UN CODE UNIQUE :
Windows, .Net, Java, PHP, J2EE,
XML, Internet, Intranet,
Pocket PC, SmartPhone, Client riche ...

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