Vous êtes sur la page 1sur 120

- TDF TECH 2007 - www.pcsoft.fr


Sommaire
Le document que vous avez entre les
mains n’a pas la finalité de rempla-
cer les documentations techniques ou
commerciales livrées avec WinDev,
WebDev, WinDev Mobile.

Ce document n’est pas un cours


d’auto-formation, mais uniquement
un support “papier” à la présentation
technique que vous avez suivie.

Ce document a été réalisé par l’équipe


de la LST.
8

2 0
TDF TECH 2007
Tour de France Technique

TDF TECH 2007 - www.pcsoft.fr - 


Sommaire
Sommaire de ce support de
cours “TDF Tech 2007”

9 Présentation
10 WinDev
Rapide présentation de WinDev et de ses fonctionnalités

12 WinDev Mobile
Rapide présentation de WinDev Mobile et de ses fonctionnalités

14 WebDev
Rapide présentation de WebDev et de ses fonctionnalités

16 PC SOFT à votre service

17 Thème 1 : Gains développeurs


18 Code Mort ou orphelin
Diminuez la taille de vos applications existantes en 60 secondes

20 Champ Carrousel
Le champ carrousel sans .Net

21 Manipulation d’éditeurs
7 manipulations étonnantes pour vous faire gagner encore plus de temps

22 Timers Automatiques
Gestion des timers automatiques dans WinDev

24 Gestion des erreurs


Gestion automatique des erreurs

26 PersoMenu
Définissez et paramétrez un menu personnalisé directement dans WinDev

27 Aide en ligne
Utilisation avancée de l’aide en ligne

28 Clé USB
Une application complète sur clé USB

29 Bande magnétique
Lecture d’une bande magnétique de carte

31 Thème 2 : Tableau de bord du projet


32 Tableau de bord du projet
Suivre les projets avec le tableau de bord

37 Thème 3 : Développement collaboratif : le GDS


38 Utilisation du GDS
Fonctionnement pas à pas du GDS et utilisation d’un projet intégré au GDS

 - TDF TECH 2007 - www.pcsoft.fr


Sommaire
40 Gestion des branches
La gestion des branches dans un projet

41 Composants
Publication et utilisation des composants via le GDS

43 Thème 4 : Programmation avancée


44 Programmation
Quand et comment utiliser le mot-clé “POUR TOUT”

45 WLangage
Quelques syntaxes méconnues et l’utilisation des infos de compilation

46 Sécurité
Principe et utilisation des clés de hashage

47 64 Bits
Comment générer une application 64 bits ?

49 Thème 5 : Editeur de tests unitaires


50 Test de fenêtres
Comment créer un test efficace sur une fenêtre ?

51 Test de procédures
Comment créer un test efficace sur une procédure ou sur une méthode de classe ?

52 Utilisation des tests


La stratégie de tests

53 AutoMate de tests
Utiliser l’automate de tests pour valider une application (.exe)

55 Thème 6 : Modèles et héritage d’IHM


56 Modèles de Fenêtres
Utilisation des modèles de fenêtres

57 Surcharge d’IHM
Utilisation de la surcharge d’IHM

58 Modèles de Champs
Principe et fonctionnement des modèles de champs

61 Thème 8 : Gains Utilisateurs


62 Orthographe
Une vérification orthographique à la volée dans vos applications

63 Splash screen
Choisir et paramétrer un splash screen

TDF TECH 2007 - www.pcsoft.fr - 


Sommaire (SUITE)

64 Champ Table
Quelques astuces pour l’IHM de vos tables

66 FAA
Création de minuteries par l’utilisateur

67 Champ tirroir
Utilisation du champ “Tirroir”

68 Champ Table hiérarchique


Comment utiliser les tables hiérarchiques ?

69 Nouveautés et mise à jour


Afficher les nouveautés et avertir de la disponibilité d’une mise à jour

70 Etats et Requêtes
Utilisation, intégration et déploiement d’une application exploitant “Etats et Requêtes”

73 Thème 9 : WinDev et Windows Vista


74 WinDev et Windows vista
Les contraintes de Windows Vista (UAC...)

77 Thème 10 : Base de données


78 Les procédures stockées
Principe et utilisation des procédures stockées sur Hyper File Client/Serveur

80 Requêtes WLangage
Des requêtes utilisant le WLangage

81 Requêtes Multi-bases
Une requête sur Hyper File et Oracle

82 Hyper File Client/Serveur


Statistiques d’activités d’un serveur Hyper File

85 Thème 11 : Le Web 2.0 avec WebDev


86 Zone répétée Ajax
Remplir une zone répétée Ajax

87 Boîtes de dialogue
Réaliser des boîtes de dialogues et de saisie dans un navigateur

88 GFI
Un GFI en WebDev

89 Ergonomie
Améliorer l’ergonomie des sites grâce à Ajax

 - TDF TECH 2007 - www.pcsoft.fr


Sommaire
91 Thème 12 : Les règles métiers
92 Règles métiers
Comment utiliser les règles métiers

95 Thème 13 : Organisation des développements


96 Gestion du temps
La gestion du temps dans vos développements

97 Centres de contrôles
Accès distants aux centres de contrôles

99 Thème 14 : Ouverture aux autres technologies


100 Java
Utilisation des fonctions Hxx en Java

101 Lotus Notes


Vos applications interagissent avec Lotus Notes

102 Outlook
Vos applications interagissent avec Outlook

103 Thème 15 : Internet/Intranet avec WebDev


104 Référencement
Comment référencer efficacement votre site WebDev ?

105 Ancrages 
Les ancrages dans vos sites WebDev

106 Vignettes Ajax


Réalisation de vignettes AJAX

107 Honolulu
Nouvelle version du portail Intranet / Extranet : Honolulu

109 Thème 16 : La mobilité avec WinDev Mobile


110 .NET sur Mobile
Utilisation d’un assemblage .NET sur un Pocket PC

111 Débogage
Le débogage d’une application sur le mobile

TDF TECH 2007 - www.pcsoft.fr - 


113 Thème 17 : La téléphonie avec WinDev
114 Téléphonie
Utilisation des fonctions de téléphonie sur un IPBX

I Sommaire
II Annexe A
Quelques commandes du W-Langage

IV Annexe B
Les principales touches de raccourci

 - TDF TECH 2007 - www.pcsoft.fr


Présentation

Présentation

TDF TECH 2007 - www.pcsoft.fr - 


WinDev
Rapide présentation de WinDev
et de ses fonctionnalités

Les outils
Des outils facilitant le développement sont
également fournis (WDMAP, WDOUTIL,
WDVERSION, ...) ainsi que de nombreux
exemples et assistants réutilisables.
Des centres de contrôle permettent la
gestion du cycle de vie de vos applica-
tions ainsi que leur administration.
Une aide en ligne vous guide tout au long
du développement de votre application.
Cette aide inclut également une aide à la
correction d’erreurs.
Les différents éditeurs seront utilisés,
depuis la définition d’une analyse jusqu’à
l’installation, en passant par toutes les
phases du développement (création des
fenêtres, des états, des traitements...),
sans oublier les sauvegardes.

Les bases de
données
Le moteur Hyper File sera utilisé pour les
WinDev est un AGL (Atelier de Génie · Un éditeur d’analyses permettant l’ac- fichiers de données des applications. La
Logiciel). cès à tout type de base de données (Hyper base de données Hyper File est disponible
File, Hyper File Client/Serveur, xBase, en mode Classic ou Client/Serveur et est
L’éditeur d’IHM de AS/400*, Oracle*, SQL Server*, Access**, librement diffusable avec les applications
WinDev ODBC, OLE DB, ... ) WinDev.
· Un éditeur UML permettant une modé-
WinDev permet de développer simple- lisation objet de vos données et traite- L’utilisation d’autres moteurs de base de
ment tout type d’applications Windows ments. données est également possible sur le
dans les domaines de la gestion, de l’in- · Un éditeur d’IHM avec correcteur d’in- même principe.
dustrie, du médical, etc. terface en temps réel.
Les applications développées peuvent · Un éditeur de code évolué (avec assis-
inclure l’accès à des bases de données. tants, vérification du code saisi, colo-
WinDev propose un puissant moteur de ration syntaxique, aide contextuelle …)
base de données : Hyper File. incluant un puissant débogueur.
Il est conseillé d’utiliser Hyper File · Un éditeur de requêtes pour les sélec-
pour vos applications afin d’obtenir les tions d’enregistrements dans les fichiers.
meilleures performances dans vos traite- · Un éditeur d’états.
ments de fichiers. Une version Hyper File · Un éditeur d’aide permettant de géné-
Client/Serveur est aussi disponible. rer des fichiers d’aide au format CHM.
· Un éditeur d’installation.
L’environnement de développement inté-
· Un éditeur de dossier technique repre-
gré de WinDev se compose de différents
nant intégralement toutes les informa-
éditeurs :
tions techniques de votre projet.
· Un éditeur de projet permettant de
* accès natif optionnel, ** accès natif inclus.
visualiser et d’agir sur le graphe du pro-
jet.

10 - TDF TECH 2007 - www.pcsoft.fr


Présentation

TDF TECH 2007 - www.pcsoft.fr - 11


WinDev Mobile
Rapide présentation de
WinDev Mobile et de ses
fonctionnalités

Il est conseillé d’utiliser Hyper File Une aide en ligne vous guide tout au long
pour vos applications afin d’obtenir les du développement de votre application.
meilleures performances dans vos traite- Cette aide inclut également une aide à la
ments de fichiers. Une version Hyper File correction d’erreurs.
Client/Serveur est aussi disponible.
WinDev Mobile permet également d’accé- Le moteur Hyper File Mobile sera utilisé
der aux bases de données CEDB, bases de pour les fichiers de données de l’appli-
données standard des Pockets PC. cation.

L’utilisation d’autres moteurs de base de


Environnement données est également possible sur le
même principe.
L’environnement de développement inté-
gré de WinDev Mobile se compose de dif-
férents éditeurs :
• Un éditeur de projets permettant de
visualiser et d’agir sur le graphe du pro-
jet.
• Un éditeur d’analyses permettant
l’accès à tout type de base de données
(Hyper File, Hyper File Client/Serveur,
Oracle Lite * ).
• Un éditeur UML permettant une modé-
lisation objet de vos données et traite-
ments.
• Un éditeur d’IHM avec correcteur d’in-
terface en temps réel
• Un éditeur de code évolué (avec assis-
tants, vérification du code saisi, colo-
ration syntaxique, aide contextuelle)
incluant un puissant débogueur
• Un éditeur de requêtes pour les
sélections d’enregistrements dans les
fichiers.
• Un éditeur d’états.
• Un éditeur d’installation.
• Un éditeur de dossier technique repre-
nant intégralement toutes les informa-
WinDev Mobile permet de développer tions techniques de votre projet.
simplement tout type d’applications des- * accès natif optionnel
tinées à être utilisées sur un Pocket PC,
un SmartPhone, et la plupart des termi- Des outils facilitant le développement
naux mobiles (Symbol, Psion, ...). sont également fournis (WDREGISTRE,
WDCAPTURE, WDVERSION, ...) ainsi que
de nombreux exemples et assistants
Présentation réutilisables.

Les applications développées peuvent


Des centres de contrôle permettent la
inclure l’accès à des bases de données.
gestion du cycle de vie de vos applica-
WinDev Mobile inclut un puissant moteur
tions ainsi que leur administration.
de base de données : Hyper File Mobile.

12 - TDF TECH 2007 - www.pcsoft.fr


Présentation

TDF TECH 2007 - www.pcsoft.fr - 13


WebDev
Rapide présentation de WebDev
et de ses fonctionnalités

oublier les sauvegardes.

Les Concepts
Internet
Les différents services de l’In-
ternet
Internet est un réseau mondial d’ordina-
teurs pouvant dialoguer entre eux. Ces
ordinateurs peuvent être de types diffé-
rents (micros, minis, …) et fonctionner
sur des systèmes d’exploitation différents
(Windows, Linux, MacOS, Unix, …).
Tous ces ordinateurs sont reliés par le
biais du protocole TCP/IP.
WWW (World Wide Web) ou “toile d’arai-
gnée mondiale” a été créé en 1990. Il
peut véhiculer des pages pouvant conte-
nir du texte, des images, du son, de la
vidéo. Un regroupement de pages consti-
tue un site.
Le terme Internet regroupe plusieurs ser-
vices d’utilisation différente :
WebDev est un AGL (Atelier de ration syntaxique, aide contextuelle …) • FTP (File Transfer Protocol) est un ser-
Génie Logiciel) orienté développe- incluant un puissant débogueur. vice permettant de transférer des fichiers
ment de sites Intranet et Internet. • Un éditeur de styles incluant police, d’un ordinateur vers un autre à travers
couleur, position, etc. Internet.
WebDev permet de développer
• Un éditeur de requêtes pour les sélec- • SMTP (Simple Mail Transfer Protocol)
tout type de sites dynamiques
tions d’enregistrements dans les fichiers. permet d’envoyer des messages ou mails
incluant l’accès à des bases de • Un éditeur d’états. à un utilisateur défini. Chaque utilisateur
données. Il permet aussi de déve- • Un éditeur de dossier technique repre- doit disposer d’une adresse Email qui lui
lopper des sites semi-dynamiques nant intégralement toutes les informa- sert de boîte aux lettres.
et statiques. tions techniques de votre projet. • HTTP (Hypertext Transfer Protocol).
• Un éditeur d’installation. HTTP est un protocole de niveau appli-
Présentation de * accès natif optionnel, ** accès natif inclus cation qui est utilisé pour le transfert de
WebDev L’éditeur d’installation assure la mise en pages sur Internet.

WebDev est composé de différents édi- place des sites créés, ainsi que leur main- Chacun de ces services nécessite un ges-
teurs : tenance. Cet outil permet de réaliser une tionnaire de services installé sur un ser-
• Un éditeur de projet permettant de installation sur le serveur via FTP ou par veur :
visualiser et d’agir sur le graphe du pro- média physique (CD, Zip, etc.). • Le gestionnaire de services FTP gère
jet. Des outils facilitant le développement sont l’hébergement des fichiers, les droits
• Un éditeur de pages. également fournis (WDMAP, WDOUTIL, d’utilisation des fichiers et la réponse
• Un éditeur d’analyses permettant l’ac- WDSQL, etc.) ainsi que de nombreux aux demandes en provenance des autres
cès à tout type de base de données (Hyper exemples et assistants réutilisables. postes.
File, Hyper File Client/Serveur, xBase, Les principaux éditeurs sont utilisés, • Le gestionnaire de services SMTP prend
AS/400*, Oracle*, SQL Server*, Access**, depuis la définition d’une analyse jus- en charge les demandes d’envoi de mes-
OLE DB, etc.). qu’à l’installation, en passant par toutes sages et le routage vers les serveurs POP
• Un éditeur de code évolué (avec assis- les phases du développement (création (réception des messages) concernés.
tants, vérification du code saisi, colo- de pages, traitements, états, etc.), sans • Le gestionnaire Web (www) permet

14 - TDF TECH 2007 - www.pcsoft.fr


Présentation
l’hébergement des pages et répond aux exécutés par le navigateur (contrôles, l’application. Ils concernent la gestion
demandes de consultation de la part des traitements répétitifs, etc.). de la base de données (Hyper File et
postes client. WebDev permet aussi de développer des Hyper File Client/Serveur, xBase, AS/400,
sites statiques et semi-dynamiques. Oracle, SQL Server, Access, OLE DB, etc.),
Le Web en détail les traitements de calcul.
Les pages Web sont visualisées sur un Fonctionnement Ces traitements sont écrits en
poste par l’intermédiaire d’un navigateur
Web (Internet Explorer, FireFox, Opera, d’une application WLangage.
2. Les traitements sur le poste client
etc.). WebDev Les traitements exécutés sur le poste
Le navigateur interprète le contenu des Une application WebDev hébergée sur un client sont les traitements de contrôle de
fichiers au format HTML décrivant les serveur peut être exécutée en appelant saisie, de vérification qui ne nécessitent
pages. On parle de pages HTML. une URL particulière depuis un naviga- pas d’accéder au serveur. Ces traitements
WebDev génère automatiquement le code teur. Par exemple : http://www.mon- utilisent uniquement les informations
HTML et Javascript. serveur.com/wd110awp/wd110awp.exe/ contenues dans la page. Ces traitements
Il est possible d’afficher directement une CONNECT/monappli peuvent être écrits en Javascript ou
page dans un navigateur en tapant son Le lanceur de WebDev ‘wd110awp.exe’ WLangage. Dans ce dernier cas, WebDev
URL dans la zone adresse du navigateur. permet d’exécuter l’application sur le se charge de convertir automatiquement
serveur grâce au serveur d’application le code WLangage en Javascript pour qu’il
L’URL (Uniform Resource Locator) corres-
wd110session.exe. puisse être exécuté par le navigateur.
pond au chemin d’accès de la page sur le
serveur qui l’héberge, par exemple : Le serveur d’application construit 3. Administrateur WebDev
http://www.monserveur.com/page3.htm dynamiquement la première page de L’administrateur WebDev est un exécuta-
l’application et l’envoie au navigateur ble installé sur le serveur.
Si l’URL ne correspond pas à une adresse
par l’intermédiaire du serveur Web. L’administrateur permet de configurer
valide, une erreur de connexion est
le nombre de connexions autorisées en
retournée dans l’écran du navigateur. Principe de programmation
même temps pour le serveur, par site,
Si l’URL est valide, la page demandée WebDev par utilisateur. Il permet aussi de fixer
s’affiche dans le navigateur. L’utilisateur Le débit entre le serveur Internet et le le temps maximum d’exécution d’une
peut alors déclencher une action en cli- poste client est plus lent qu’avec un requête et le temps limite pour la décon-
quant sur un lien ou un bouton. La requête réseau local classique. Les échanges de nexion des utilisateurs inactifs.
correspondante est alors envoyée au ser- données entre le poste client et le ser- L’administrateur peut à tout moment
veur qui l’analyse. veur doivent donc être réduits pour afficher la liste des utilisateurs connec-
que l’application puisse s’exécuter sans tés au site.
Le lien permet de lancer le chargement
ralentissement. WebDev permet de dif-
d’une autre page ou bien de lancer une
férencier les traitements exécutés sur le
application Web.
serveur et les traitements exécutés sur le
Site statique, poste client.
1. Les traitements sur le serveur
semi-dynamique ou Les traitements exécutés sur le ser-
dynamique ? veur sont les traitements principaux de

· Le site statique est composé de pages


conçues à l’avance de manière définitive.
Dans ce cas, le contenu des pages n’évo-
luera pas dynamiquement en fonction
d’un choix de l’utilisateur.
• Un site semi-dynamique est un site
statique composé de pages conçues à
l’avance mais enrichies par une base de
données. Dans ce cas, le contenu des
pages n’évoluera pas dynamiquement en
fonction d’un choix de l’utilisateur. L’un
des meilleurs exemples est un catalogue
de pièces détachées.
• Un site dynamique est constitué de
pages enrichies de données provenant
d’une base de données. Il est nécessaire
d’exécuter des traitements d’accès aux
données sur le serveur permettant de
constituer la page.
WebDev permet de développer des sites
dynamiques composés de pages, de trai-
tements serveur (accès aux bases de
données, calculs, etc.) et de traitements

TDF TECH 2007 - www.pcsoft.fr - 15


PC SOFT à votre service
• Séminaires de formation,
• Consulting,
• Assistance Directe,...

N’hésitez pas à nous Consulting Assistance Directe


contacter: un assistanat
est toujours rentable pour Profitez de l’expérien- Un complément efficace du 
vos développements. ce d’un ingénieur de Support Technique Gratuit
PC SOFT sur votre site Tout projet important ou stratégique doit
Un consulting PC SOFT peut bénéficier d’une “Assistance Directe” !
être délégué chez vous,
L’Assistance Directe permet d’une part
pour une durée de 1 à 5
de bénéficier d’un contact téléphonique
jours, un ingénieur PC SOFT
immédiat avec un ingénieur spécialisé, et
connaissant à la fois votre
d’autre part de choisir les sujets à traiter,
domaine et les outils que
et ce pour une durée que vous définissez
vous utilisez.
vous-même. Cela vous permet de résou-
L’ingénieur PC SOFT répond
dre immédiatement les sujets qui vous
directement à vos ques-
posent problème.
tions, travaille sur votre
projet réel et votre confi- Le contact téléphonique est garanti sous
guration réelle. Vous obte- 8 heures ouvrables, ce qui vous permet
nez les réponses précises une meilleure efficacité.
qui vous font gagner un Ce service est disponible sur abonne-
Formation temps précieux, et vous assurent des ment.
bonnes orientations technologiques et Contactez le service commercial pour
Séminaires de formation pour méthodologiques. plus d’informations (Fabrice CHAMBON
WinDev et WebDev Notre conseil ? Commandez 1 jour de au 04-67-032-032).
PC SOFT organise à Paris, chaque semaine, consulting pour 100 jours de développe-
des séminaires de formation à WinDev ment. Support Technique
et WebDev, de différents niveaux : Prise Et, chaque année, prenez l’habitude de Gratuit
en main, Perfectionnement, Expert, faire venir (juste 2 jours) chez vous un Le site du support technique gratuit
Client / Serveur, ... ingénieur PC SOFT, pour profiter d’une (www.pcsoft.fr/st) met gratuitement à
Ces séminaires, animés par des ingé- expertise de toutes les nouveautés. votre disposition un ensemble d’infor-
nieurs PC SOFT expérimentés, permet- Sur votre projet, dans vos locaux, en mations destinées à vous aider à mieux
tent de découvrir et de maîtriser WinDev votre présence, l’ingénieur PC SOFT développer :
et WebDev selon un plan efficace. valide l’analyse, vous montre des nou- • les FAQ
Consultez le calendrier des séminaires veautés utiles dans votre cas de figure, • les téléchargements
joint à cette LST (le détail des stages et vous propose des optimisations de votre • les forums développeurs professionnels
les contenus pédagogiques sont disponi- code, valide vos modes d’utilisation, ... (News Group)
bles sur notre site Web : www.pcsoft.fr), Vous serez ravi de l’efficacité de son Vous avez une question ? Contactez le
vous trouverez LA formation adaptée à intervention ! Budgétez d’ores et déjà la Support Technique Gratuit PC SOFT !
votre expérience et à votre besoin. prochaine intervention ! • Avec l’utilitaire RequêteAuST (média
Suivre une formation organisée par Un assistanat vous fait gagner des conseillé). Votre requête sera générale-
PC SOFT est toujours rentable : c’est se journées de développement! ment traitée sous 48 heures.
donner les moyens de maîtriser WinDev Quelques exemples de sujets traités : • Par téléphone au 04.67.03.17.17 (pré-
et WebDev dans les meilleurs délais, ou • Simplification du code et mise en place parez votre N° de série et votre question
d’en découvrir la face cachée, encore de nouvelles techniques : Hyper File svp).
plus puissante ! Client / Serveur, Socket, Web Services, • Par courrier.
Inscrivez-vous vite! Composants, Patchs, Configurations, … Envoi par e-mail : merci de ne pas atta-
Ces séminaires peuvent également être • Transformation de modules développés cher de fichier de taille supérieure à
organisés dans vos locaux, en France et avec WinDev en Services Web. 10 Mo sans l’accord préalable de votre
à l’étranger. • Optimisation de traitements avant la destinataire. Sinon votre fichier sera
Le montant de ces formations est déduc- recette de l’application, validation d’ana- refusé par le système.
tible du “1,5 % Formation”. lyse avant de débuter une application.

16 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
Thème 1 : 
Gains développeurs

TDF TECH 2007 - www.pcsoft.fr - 17


Code Mort ou orphelin
LES POINTS FORTS

• Optimisation du code

Diminuez la taille de vos


applications existantes en Projet Associé
gains developpeurs

60 secondes
Disponible sur le DVD

elle, utilisée en compilation dynamique :


il ne s’agit donc pas de code mort :
• Cliquez sur le bouton “Marquer comme
utilisé”.
• Cochez la case “utilisée en compilation
dynamique”.

Dans ce sujet, vous allez voir com- Détection du code


ment éliminer le code mort pré-
sent dans vos applications grâce
mort
à une nouvelle fonctionnalité de Pour détecter le code mort de ce projet,
la version 11. utilisez le menu “Projet .. Performances De cette façon, WinDev ne vous propo-
Vos projets évoluent : vous ajoutez et Améliorations .. Code mort, orphelin sera plus cette procédure comme code
du code, vous en modifiez, vous et liens brisés”. mort. Vous pourrez toujours la visualiser
et modifier son état en accédant à la liste
en supprimez. Ces évolutions font
WinDev 11 a détecté les procédures affi- des “procédures marquées comme utili-
que certaines procédures peuvent
chées comme n’étant pas appelées direc- sées”.
ne plus être utilisées : il s’agit de tement dans le code : il peut donc s’agir
code mort. De même, certaines de code mort. Pour chaque procédure
fenêtres, requêtes ou états peu- affichée, il faut vérifier qu’elle n’est
vent ne plus être appelés : il s’agit réellement plus utilisée, et au besoin la
d’éléments orphelins. supprimer.
Il est alors nécessaire de suppri-
mer ce code et ces éléments, pour Pour cela, double cliquez sur la procé-
les raisons suivantes : dure “CalculTotalEtMoyenne” qui est
• alléger vos projets marquée comme code mort. Cette procé-
dure permet de calculer les totaux dans
• optimiser la vitesse de compila-
les tables, traitement qui est maintenant
tion de vos projets
automatique avec WinDev. Vous pouvez
• réduire la taille de vos donc supprimer cette procédure.
exécutables
Sélectionnez maintenant la procédure “C
alculChargesSalariales”, également notée
comme code mort. Cette procédure est,

18 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
Détection des Nos conseils
éléments orphelins Avant de supprimer une procédure ou un
élément, assurez-vous que celui-ci n’est
Pour afficher les fenêtres, requêtes et
pas utilisé par l’intermédiaire d’une
états qui ne sont pas appelés dans le
chaîne ou d’une variable.
projet, positionnez vous maintenant sur
Pour cela, Faites un “Ctrl + F” du nom de
l’onglet “éléments orphelins”.
la procédure dans le code.
Les deux premières fenêtres affichées
sont des fenêtres de tests, qui ne sont
Cette vérification doit être faite princi-
plus utilisées :
palement dans les deux cas suivants :
• Sélectionnez ces fenêtres.
• votre application a été migrée depuis
• Cliquez sur le bouton “Supprimer” pour
la 5.5.
les enlever de votre projet.
• vous utilisez la compilation dynamique.
Note : lors de la suppression d’un élément
du projet, l’élément n’est pas supprimé
physiquement. Il est possible de détecter
et de sauvegarder les éléments présents
dans le répertoire du projet mais non uti- 8

lisé par le projet grâce à l’outil intégré de 6

nettoyage du projet. Cet outil est acces- 4

sible depuis le menu “Outils .. Nettoyer 2 0

le répertoire du projet”.
TDF TECH 2007
Tour de France Technique

TDF TECH 2007 - www.pcsoft.fr - 19


Champ Carrousel
LES POINTS FORTS

• Manipulation d’éditeur
• Gain de temps

Le champ carrousel sans .Net


Projet Associé
WD Carrousel
(exemple standard)

Et sous Windows 98 ?
Si l’utilisateur de votre application utilise
Windows 98, une liste image s’affichera
automatiquement au lieu du carrousel.

Le champ carrousel est un nou- Transformation d’un


veau champ de la version 11. Il
se manipule exactement comme
carrousel existant
une liste image. Jusqu’ à mainte- Pour ceux qui ont déjà un carrousel dans
nant, ce champ nécessitait la pré- leur application, pour trans-
sence du framework DotNet 3.0 et former votre carrousel basé
d’une plateforme Vista ou XP pour sur DotNet en carrousel natif
WinDev :
fonctionner.
• Ouvrez la fenêtre de des-
Aujourd’hui, le carrousel fonc- cription du champ carrousel
tionne sans le framework DotNet, à modifier.
en natif WinDev. Cela permet de • Dans l’onglet “Détails”,
faire gagner une centaine de cochez simplement “le
Mega octets à vos applications et champ est basé sur le
simplifie la gestion du parc maté- framework WinDev”.
riel (plus de framework DotNet 3.0
à installer) !
Il est bien sûr toujours disponi-
ble sous Windows XP, Vista, mais
aussi sous Windows NT4 et sous
Windows 2000.

20 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
Manipulation d’éditeurs
LES POINTS FORTS

• Manipulation d’éditeur
• Gain de temps

7 manipulations étonnantes
pour vous faire gagner encore Projet Associé

plus de temps
Disponible sur le DVD

l’interface ouverts.
• Une configuration pour le débogage.

Pour créer une configuration :


• Faites un clic droit dans WinDev –
Configuration d’environnement
• Vous pouvez également attribuer un
raccourci clavier à chaque configuration.
Ainsi, vous optimisez et vous personnali-
sez votre espace de travail.

Quelques raccourcis
utiles
• Ctrl+Shift+W : fermer tous les éléments
ouverts
• F9 : tester l’élément en cours (équiva-
lent au Go de fenêtre).
• Ctrl+F9 : tester le projet (équivalent au
Go du projet).

Quelques raccourcis spécifiques à l’édi-


teur de code :
• F4 : créer une procédure locale
Pour vous faire gagner encore plus ver ou de désactiver un volet d’un simple
clic. Pour l’afficher, faites un clic droit • Shitf+F4 : créer une procédure globale
de temps, voici quelques astuces
dans la barre d’outils puis sélectionnez • Alt+F2 sur un élément : sélectionner
pour vous permettre d’utiliser les l’élément dans l’IHM
“Contrôle des volets”.
éditeurs de WinDev, WebDev et • Ctrl+F7 : marquer une ligne de code
WinDev Mobile de façon opti- • F7 : parcourir les lignes marquées.
male. Déplacer les volets Note : Vous pouvez avoir autant de lignes
de code marquées que vous voulez
Tous les volets de l’éditeur peuvent être • Ctrl+Espace : pour réafficher la com-
La combinaison de déplacés, vous pouvez donc les organiser plétion du code
touches Ctrl+Tab. comme vous le souhaitez. Lorsque vous
déplacez un volet, des flèches apparais- Vous retrouvez aussi ces raccourcis cla-
Lorsque vous avez beaucoup d’éléments sent. Si vous survolez les flèches, l’édi- vier dans les menus ainsi qu’en annexes
d’ouverts dans l’éditeur, teur vous indique où le volet va se posi- de ce support de cours.
le “Ctrl+Tab” vous permet de passer rapi- tionner.
dement d’un élément à un autre.
Sous WinDev 11, le “Ctrl+Tab” est plus
clair puisqu’il affiche maintenant le nom
Créer des
de l’élément et le charge en arrière- configurations
plan.
d’environnement
Pour sauvegarder plusieurs agencements
Contrôle des volets de votre éditeur, vous pouvez créer des
configurations d’environnement. Par
Les versions 11 disposent d’une nouvelle
exemple :
barre d’outils de contrôle des volets :
• Une configuration pour la création de
cette barre d’outils vous permet d’acti-
l’interface avec uniquement les volets de

La Lettre du Support Technique PC SOFT - 21


Timers Automatiques
LES POINTS FORTS

• Automatisation
• Gain de code

Gestion des timers


automatiques dans WinDev Projet Associé
Gains Développeur

Disponible sur le DVD

La gestion automatique des Présentation de la timer, en thread, avec ou sans utilisation


timers, des threads, et des procé- d’un contexte indépendant...) directe-
dures différées est une nouvelle
fonctionnalité ment dans le bandeau de la procédure.
fonctionnalité qui permet, par La programmation des timers, des
exemple, sans aucune ligne de threads, des procédures différées est
désormais automatique, gérée par l’en-
Illustration de la
code de :
• Lancer une procédure toutes les vironnement. fonctionnalité
Au lieu de programmer les traitements et
10 secondes sans utiliser les fonc- Pour illustrer le fonctionnement des
de les synchroniser par le code WLangage,
tions Timer et TimerSys. timers automatiques, nous allons ouvrir
il suffit de configurer les options d’auto-
• Lancer une procédure en dif- matisme de la procédure.
la fenêtre “FEN_Main” du projet “Gains
féré toujours sans programmer de C’est la fin de l’utilisation des fonctions
Développeurs”.
Timers. TimerSys, Timer, ThreadExécute, …
• Exécuter une procédure en Ce que nous voulons faire
pour les cas “classiques”. Ces fonctions
Prenons un exemple très simple.
tâche de fond sans programmer sont bien entendu toujours présentes
Dans cette fenêtre, nous voulons que les
de threads. pour compatibilité et pour gérer des cas
utilisateurs soient avertis en permanence
spécifiques.
du nombre de messages en attente dans
Pour accéder à cette fonctionnalité, il
leur messagerie interne.
suffit d’indiquer dans la procédure cor-
respondante le mode d’exécution (en

22 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
Comment le faire ?
Alors ? Comment faire ?
Utiliser un thread, un timer ?
Quand lancer le thread ? Comment le sus-
pendre et comment reprendre son traite-
ment ? Quand arrêter le thread ?
Où mettre le code ? Au niveau du projet ?
de la fenêtre ?

Toutes ces questions sont inutiles avec les


versions 11 : il suffit d’ouvrir la procédure
en question (ici “Notification_messa-
ges”), puis de cliquer sur l’icone en haut
à droite dans le bandeau (voir illustration
de la page précédente).
Une fenêtre s’ouvre pour gérer l’automa-
tisme de la procédure.
Tout est expliqué en langage naturel, il
suffit de cliquer sur les options corres-
pondant le mieux à votre besoin.
Ici, nous retenons donc les options sui-
vantes :
• “Exécution automatique après le code
d’initialisation de la fenêtre”.
• “Infini” pour indiquer que la procédure
s’exécute jusqu’à la fermeture de l’ap-
plication.
• “5 minutes entre chaque appel” .
• “Immédiatement” pour indiquer que la
procédure se déclenche immédiatement
après l’ouverture de la fenêtre.
• “Exécution en tâche de fond” pour une
exécution en thread.

En haut de la fenêtre, la description


s’est mise à jour au fur et à mesure de
vos choix. Vous avez ainsi le résumé en
Pour cela, nous avons créé une procédure Il y a plusieurs contraintes :
français des différents choix effectués.
locale “Notification_Messages” dans la • D’abord, cette procédure ne doit pas
Vous êtes ainsi concentré à 100% sur la
fenêtre “FEN_Main”. bloquer l’utilisateur et son application :
fonctionnalité à implémenter et non pas
Cette procédure vérifie simplement s’il y elle doit s’exécuter en tâche de fond.
sur la difficulté technique.
a de nouveaux messages en attente dans • Nous voulons également que la procé-
la boîte mail de l’utilisateur, puis affiche dure ne démarre pas immédiatement à
Validez... c’est terminé !
ce nombre de messages dans la fenêtre. l’ouverture de la fenêtre, pour ne pas
Le code de vérification du nombre de retarder l’affichage initial de la fenêtre.
messages est simple. • Et puis, nous souhaitons rafraîchir régu-
Mais comment lancer l’exécution de cette lièrement le nombre de messages, toutes
procédure ? les 10 secondes par exemple. Donc il faut
que la procédure s’exécute régulière-
ment.

TDF TECH 2007 - www.pcsoft.fr - 23


Gestion des erreurs
LES POINTS FORTS

• Centralisation des
erreurs

Gestion automatique des • Gain de code

erreurs Projet Associé


Gains Développeur

Disponible sur le DVD

WinDev, WebDev et WinDev Mobile


proposent une gestion automa-
tique des erreurs et des excep-
tions.
Ce mécanisme permet à la fois
de réduire sensiblement le code
d’un projet tout en uniformisant
et en centralisant la gestion des
erreurs.

Illustration de la
fonctionnalité
Dans ce chapitre, nous allons voir com-
ment mettre en place une gestion auto-
matique des erreurs sur un exemple sim-
ple : la fenêtre “Fen_Sauvegarde”.
Cette fenêtre permet de faire une sauve- d’écri- Pour cela, il suffit d’indiquer à la
garde de l’application et de ses données ture, la sauvegarde ne peut pas être réa- procédure SauvegardeApplication, que si
vers un fichier ZIP. lisée. Actuellement, un message avertit elle rencontre une erreur, elle doit “remon-
l’utilisateur et l’application “sort” du ter” cette erreur, c’est-à-dire transmet-
La partie du code qui nous intéresse traitement. tre cette erreur au traitement appelant.
pour cet exemple est le code du bouton
“Sauvegarder”. Analysons donc plus pré- • Avec la gestion automatique des Il est donc possible de :
cisément ce traitement. erreurs, nous allons donc choisir l’option • Supprimer le code de gestion des
1. Dans ce code, les erreurs sont traitées “Afficher l’erreur et retourner en saisie erreurs
“à la main” (par programmation). dans la fenêtre courante”.
Nous retrouvons le test manuel du compte
// Sauvegarde de la base de données
“Afficher l’erreur”, signifie que WinDev
rendu de l’ouverture du fichier Zip et
SauvegardeBaseDeDonnées()
va automatiquement afficher un message
l’affichage d’un message en cas d’erreur. clair sur l’erreur survenue. Par exemple // Sauvegarde des plugins de
Nous allons alléger et simplifier le code, “Vous n’avez pas les droits d’écriture”, // l’application
en utilisant la nouvelle gestion automati- etc. SauvegardePlugins()
que des erreurs de WinDev. • Maintenant que la gestion automatique
Cette gestion des erreurs est centralisée est mise en place, vous pouvez supprimer // Sauvegarde de la configuration de
dans le bandeau, en haut. Actuellement, le code de gestion manuelle des erreurs. // l’application
s’il y a une erreur, elle est traitée par SauvegardeConfiguration()
programmation.
Extensions aux procédures
RENVOYER Vrai
WLangage
2. Un clic sur le bandeau permet de sélec-
Le mécanisme de gestion des erreurs
tionner une action à réaliser en cas d’er- • Modifier la procédure SauvegardeApp
fonctionne également sur les fonctions et
reur. Les actions prédéfinies permettent lication pour qu’elle génère une erreur
les procédures WLangage.
de gérer la plupart des cas d’erreurs. exploitable par le mécanisme de gestion
Par exemple, dans le traitement du bou-
automatique.
ton “Sauvegarder”, au lieu de traiter sa
Mise en oeuvre valeur de retour et de retourner en sai-
Analysons le code existant pour trouver sie, il faudrait exploiter la gestion des
l’action correspondante : erreurs.
• Si la fonction ZipOuvre échoue, par
exemple si l’application n’a pas les droits

24 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
LST 64

Retrouvez un exemple complet ainsi que les


explications techniques correspondantes dans
la LST 64.

Dans cette procédure, le traitement d’er- Il suffit de faire de même avec les autres
reur est toujours le même et il est dupli- procédures.
qué trois fois. Nous allons l’automatiser
comme précédemment grâce à la gestion Remarque : Il est préférable d’afficher
des erreurs. les messages d’erreurs au niveau le plus
Pour cela, cliquez dans le bandeau, mais haut possible, c’est-à-dire dans le code
cette fois, choisissez d’exécuter le mode des champs par exemple.
“CAS ERREUR”. Cela permet d’avoir un message générique
et clair pour l’utilisateur. L’utilisateur ne
WinDev ajoute alors une étiquette CAS veut pas savoir que le fichier de configu-
ERREUR à la fin de la procédure. ration n’a pas pu être ajouté à l’archive
ZIP parce qu’il n’a pas pu créer le réper-
Il suffit alors de déplacer le code à exécu- toire relatif dans l’archive.
ter en cas d’erreur dans ce traitement :
CAS ERREUR:

// Fermeture de l’archive
zipFerme(“MonArchive”)

RENVOYER Faux

Ce code sera automatiquement exécuté


dès qu’une erreur surviendra dans la pro-
cédure. Vous pouvez alors supprimer tout
le code qui gérait manuellement les cas
d’erreurs.
Maintenant, comment faire “remonter”
l’erreur au code du bouton. Car pour
l’instant, la procédure renvoie Faux au
bouton, mais n’indique pas qu’il y a eu
une erreur à la procédure appelante!
Pour faire “remonter” cette erreur, il suf-
fit d’utiliser la fonction ErreurPropage
dans le code du “CAS ERREUR”.

La fonction ErreurPropage va propager


l’erreur qui sera traitée au niveau du
bouton appelant. Le message n’est pas
affiché au niveau de la procédure.
Dans cet exemple, nous allons faire un
ErreurPropage avec le texte de l’erreur,
par exemple “Impossible de sauvegarder
l’application”. C’est ce texte qui sera
affiché au niveau du bouton par la gestion
automatique des erreurs.
// Déclenchement de l’erreur
ErreurPropage(”Impossible de
sauvegarder l’application”)

TDF TECH 2007 - www.pcsoft.fr - 25


PersoMenu
LES POINTS FORTS

• Gain de temps
• Utilisation de macros

Définissez et paramétrez un
menu personnalisé directement Projet Associé

dans WinDev

Le PersoMenu est un menu Utilisation avancée


personnalisable dans WinDev. Il
Pour notre exemple, nous souhaitons sau-
vous permet de lancer directe-
vegarder le projet en cours : pour cela, il
ment, depuis WinDev, des appli-
faut utiliser le système de Macro.
cations que vous utilisez réguliè- • Cliquez sur le bouton “Macro”.
rement. • Dans la liste affichée, cliquez sur
Par exemple : vous sauvegardez “{$RepProjet}” qui correspond au réper-
habituellement vos projets sur un toire du projet en cours.
serveur FTP par une application Vous pouvez également ouvrir un sélec-
personnelle. Vous pouvez mainte- teur de fichier, de répertoire, etc..
nant le faire directement depuis • Validez.
l’éditeur WinDev sur le projet en
cours. Vous retrouvez maintenant votre menu
personnel “Applications internes” avec
votre option de menu “Sauvegarde FTP”.
Principe
Pour créer le PersoMenu, cliquez sur l’op-
tion “PersoMenu .. Personnaliser”
Vous pouvez modifier le nom du menu :
“Applications internes»” par exemple.
Ajoutez ensuite une option : “Sauvegarde
FTP” dans le cas de notre exemple.
Sélectionnez ensuite votre application en
cliquant sur le bouton “Parcourir”, puis
renseignez les paramètres nécessaires au
bon fonctionnement de l’application.

Notre conseil
Vous pouvez, plus simplement, faire un
glisser-déplacer (DragNDrop) de votre
exécutable dans la fenêtre de configura-
tion du PersoMenu: tous les paramètres
sont alors automatiquement remplit.

26 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
Aide en ligne
LES POINTS FORTS

• Filtrage de l’aide
• Gestion de plateforme

Utilisation avancée de l’aide en


ligne Projet Associé

dures stockées, cochez les filtres corres-


pondant :

Vous pouvez ensuite décocher ce qui ne


concerne pas votre application.

Maintenant, l’aide n’affiche que les pages


qui sont pertinentes dans votre cas. Pour
tester les filtres en place, saisissez par
exemple “AJAXExécute” : la fonction ne
correspond pas à votre configuration, et
l’aide vous l’indique.

L’aide contient toutes les fonc- Windows et Linux, assurez-vous que les
tionnalités de WinDev, WebDev et filtres correspondant soient activés.
WinDev Mobile. Elle est commune Pour la base de données
aux 3 produits. Si votre application fonctionne en Hyper
Vous pouvez cependant n’afficher File Client/serveur et utilise les procé-
que l’aide qui vous intéresse à
un instant donné. Par exemple,
Aujourd’hui, vous travaillez sur une
application WinDev, et vous sou-
haitez donc n’afficher que l’aide
des fonctionnalités de WinDev.

Filtres prédéfinis
Vous disposez tout d’abord de filtres pré-
définis par produit. Vous travaillez sous
WinDev, vous pouvez donc sélectionner
“WinDev” dans la combo.

Filtres personnalisés
Vous pouvez ensuite affiner les filtres de
l’aide pour :
• La plateforme et des langages
• La base de données.

Pour la plateforme
Si votre application va fonctionner sous

La Lettre du Support Technique PC SOFT - 27


Clé USB
LES POINTS FORTS

• Application autonome
• Gestion déconnexion

Une application complète sur • Intégrité des données

clé USB Projet Associé


Gains Développeur

Disponible sur le DVD

Et lors de la création du point exe, il suf- Seconde précaution


fit de choisir “intégrer les dlls dans l’exé- Pour assurer l’intégrité de votre base
cutable”. de données sur la clé USB, nous vous
conseillons d’utiliser la fonction WLangage
Ensuite, il ne reste qu’à copier l’exécuta- hSécurité avec “2” en paramètre.
ble et les données sur la clé USB. Et c’est L’utilisation de cette fonction force
tout. l’écriture physique sur la clé immédiate-
ment sans passer par la mémoire cache
de Windows.
Précautions
Par contre, compte tenu du fait que la clé // on passe donc en mode
//sécuritaire pour les
USB peut être retirée à tout moment,
//écritures dans les fichiers
il est nécessaire de prendre quelques pré- // de données
cautions dans votre application. HSécurité(2)
Première précaution
Informer l’utilisateur s’il retire la clé
alors que l’application est encore en Nos conseils
fonctionnement, pour éviter toute perte • Si vous devez sauvegarder des paramè-
de données. tres, n’utilisez pas la base de registres.
Il y a une fonction WLangage qui permet Ils seraient perdus lorsque vous changez
d’être prévenu lorsque la clé est bran- de machine.
chée ou débranchée : c’est la fonction Utilisez plutôt un .ini ou un fichier XML.
fDétecteStockageAmovible. Pour cela, il suffit d’utiliser les fonc-
La fonction fDétecteStockageAmovible tions WLangage InitParamètre,
prend en paramètre une procédure. C’est SauveParamètres, et
cette procédure qui sera appelée lors ChargeParamètre.
d’événements sur la clé USB.
• Utilisez des chemins relatifs dans votre
Par exemple, dans cette procédure, je
application. En effet, la clé USB n’aura
Pour toutes les personnes qui se vérifie le type d’action sur la clé USB.
pas toujours la même lettre de lecteur.
déplacent, il peut être intéressant Si la clé été retirée, le code affiche un
d’avoir son application et ses don- message en demandant de la réinsérer ou
alors l’application est fermée.
nées sur une clé USB. Cela évite de
transporter un ordinateur portable
et cela permet de lancer l’appli-
cation depuis n’importe quel PC.
Avec WinDev, il est extrêmement
facile, de déployer une applica- LST 63
tion et ses données sur une clé
Retrouvez un exemple complet sur l’utilisation des
USB, c’est-à-dire de réaliser une fonctions USBxx ainsi que les explications techniques
application s’exécutant directe- correspondantes dans la LST 63.
ment sur la clé USB.

Principe
Création de l’exécutable
En fait, c’est simple. Il suffit de compiler
l’application comme d’habitude.

28 - TDF TECH 2007 - www.pcsoft.fr


Gains développeurs
Bande magnétique
LES POINTS FORTS

• Lecture de Port Série

Lecture d’une bande


magnétique de carte Projet Associé
Gains Développeur

Disponible sur le DVD

Vous avez tous dans votre porte- fait le reste. Vous pouvez ensuite bien sûr découper la
feuille des cartes avec une piste • Validez l’assistant : WinDev a généré chaîne obtenue pour récupérer les infor-
magnétique, que ce soit des car- tout le code nécessaire pour piloter le mations que vous voulez. Cet exemple
lecteur. vous a permis de piloter un lecteur de
tes de fidélité, des cartes bancai-
• Lancez votre application par un GO. carte. Le principe reste le même pour
res, une carte du club de gym,
• Passez une carte disposant d’une piste piloter :
etc... magnétique dans le lecteur : vous obte- • une caisse enregistreuse
Avec WinDev, il est possible de lire nez le contenu «brut» lu sur la piste • une badgeuse
le contenu de ces pistes magnéti- magnétique. • une pointeuse
ques. Pour cela, vous devez dispo- Dans ce contenu, vous pouvez retrouver • un contrôle d’accès
ser d’un lecteur de carte, qui lit numéro de client, points de fidélité, par- • une machine-outil.
les pistes magnétiques et qui doit fois le nom, etc...
être relié à votre PC par le port
COM.

Créez une nouvelle fenêtre : utilisez le


menu “Fichier .. Nouveau .. Fenêtre”
• Positionnez-vous dans le code
d’initialisation de la fenêtre : faites un
clic-droit sur la fenêtre, puis cliquez sur
“Code”. Pour le code, vous allez deman-
der à WinDev de vous aider : pour cela,
appelez la soucoupe, située en bas à
droite de votre éditeur, par un simple
clic.
• Saisissez “carte bancaire” pour obtenir
des informations sur la lecture de carte.
La soucoupe vous propose 3 assistants.
Choisissez celui qui permet d’acquérir
des informations du port COM. Il vous
suffit ensuite simplement de donner les
caractéristiques du lecteur dans l’assi-
tant. Ces informations vous sont fournies
par le constructeur du matériel, WinDev

La Lettre du Support Technique PC SOFT - 29


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

30 - TDF TECH 2007 - www.pcsoft.fr


Tableau de bord du projet
Thème 2 : 
Tableau de bord du projet

TDF TECH 2007 - www.pcsoft.fr - 31


Tableau de bord du projet
LES POINTS FORTS

• Vision globale du projet


• Accès rapide aux para-

Suivre les projets avec le mètres et aux éléments

tableau de bord Projet Associé

Voyant des bugs


Ce voyant est rouge. Cela signifie que
mon projet compte un nombre de bugs
supérieur à celui défini pour passer au
rouge. Ici, 3 bugs ont été détectés.

Notre astuce
Si vous êtes en mode “chef de projet”,
le nombre de bugs affiché correspond au
nombre de bugs pour toute l’équipe.
Si vous êtes en mode «développeur», le
nombre de bugs affiché correspond aux
bugs qui vous sont affectés, à vous.

Voyant des tests


Ce voyant est rouge. Cela signifie que des
tests autos n’ont pas été validés. Ici, seu-
lement xx tests sur xx ont été validés.

Le tableau de bord du projet est Présentation


un véritable outil de gestion et
Pour afficher le tableau de bord en
d’administration de votre projet.
entier, utilisez la combinaison de touches
Il donne une vision globale de
“Ctrl+Q”.
l’état du projet, que vous soyez Vous êtes en mode chef de projet.
développeur au sein d’une équipe, Le tableau de bord affiche différents
chef de projet, ou que vous tra- voyants, verts ou rouges :
vailliez seul. Voyants “Warning”
• s’ils sont verts, c’est bon signe.
Le voyant est allumé : cela signifie que
Deux modes différents sont dispo- • s’ils sont rouges, c’est plutôt mauvais
dans le projet, des warnings sont pré-
nibles pour le tableau de bord : signe.
sents.
• le mode «chef de projet» A contrario, les voyants “erreurs de com-
• le mode «développeur». Le tableau de bord dispose également
pilations” et “informations” ne sont pas
d’un compteur :
Il existe des différences entre les • s’il va vers le vert, c’est bon signe.
allumés : le projet ne comporte ni erreur,
2 modes qui seront détaillés plus ni information de compilation.
• s’il va vers le rouge, c’est plutôt mau-
loin dans ce document. Mais quel vais signe.
que soit le mode, le principe reste
le même.


32 - TDF TECH 2007 - www.pcsoft.fr


Tableau de bord du projet
Compteur de qualité globale

Ce compteur permet d’avoir une vision


globale de la qualité du projet. Ici,
l’aiguille est dans le vert : globalement la
qualité du projet est plutôt bonne.
Evidemment, tous les critères sont para- Ce voyant est rouge : des éléments orphe-
métrables. Vous pouvez activer ou désac- lins sont présents dans le projet.
Paramétrage du tiver des critères, modifier le nombre Pour voir comment les éliminer, reportez-
de points pour chaque critère, etc... vous au sujet “Gains développeur”.
tableau de bord Certains critères sont plutôt conseillés en
En fait, WinDev affecte à votre projet un mode chef de projet, d’autres en mode
développeur.
Code mort
nombre de points “qualité” en fonction
de différents critères comme le nombre
d’éléments du projet, la présence de
document, de modélisation, etc..
Pour ouvrir le paramétrage du tableau de
Optimisations
bord, faites un clic-droit sur le tableau
de bord, puis sélectionnez “Options du
tableau de bord...” Ce voyant est rouge : du code mort est
présent dans le projet.
Pour voir comment le supprimer, repor-
tez-vous au sujet “Gains développeur”.
Pour le projet Jet’Tames, 59 points qua- Sur la partie droite du tableau de bord,
lité sont définis. Si ces 59 points qualité 4 voyants indiquent ce qui doit être opti-
misé dans l’application. Si le voyant est Profiler
sont conservés, le projet sera parfait.
Certains critères font diminuer ce capital rouge, il est conseillé d’effectuer l’opti-
point. misation demandée.
WinDev dispose, en standard, des outils
Par exemple, si aucune charte de pro- pour optimiser vos projets. Grâce au
grammation n’est définie pour le projet, tableau de bord, si ces outils n’ont pas
celui-ci perdra 10 points. été lancés, vous le savez.
Les tests autos non validés, les bugs, les
warnings, les erreurs, etc... sont égale- Le profiler sert à mesurer le temps d’un
Éléments orphelins
ment pris en compte dans la comptabili- traitement. Ce voyant est vert : cela
sation des points qualité. signifie que le profiler a été passé récem-
ment sur le projet.

TDF TECH 2007 - www.pcsoft.fr - 33


Tableau de bord du projet
Suite

Optimisation des requêtes WinDev intègre une messagerie interne Vous pouvez voir si votre projet est dans
qui vous permet d’avoir les messages spé- un GDS, ainsi que les développeurs qui
cifiques à vos développements. Cet indi- travaillent dessus. Mais vous pouvez éga-
cateur affiche le nombre de messages. lement voir les éléments qui sont actulle-
ment extraits du GDS. Dans ce projet, 5
fichiers sont extraits.
Les règles

L’optimiseur des requêtes est le traite-


ment qui vérifie que votre base de don-
nées dispose des bonnes clés. Il permet
donc d’améliorer les temps de réponse Si vous cliquez sur la flèche, vous pour-
de vos requêtes. Ce voyant est vert : Cet indicateur affiche le nombre de règles
rez voir quel développeur a extrait quel
cela signifie que l’optimiseur a été passé métiers définies dans votre projet.
fichier et quand.
récemment.
Actions
Tâches, règles... Tous ces points permettent d’avoir une
Autre point important du tableau de vision globale du projet. Mais le tableau
bord, les 4 indicateurs présents dans la de bord ne se résume pas à une série de
zone bleue. voyants.
Par exemple, si vous cliquez sur le voyant
Les tâches “bugs”, WinDev ouvre le “Centre de suivi
de qualité et des évolutions”. Vous dispo- Vous pouvez également voir si votre pro-
sez alors de la liste des bugs, et pouvez jet dispose ou non d’une charte de pro-
les gérer directement. Et ce même prin- grammation et d’une charte graphique
cipe s’applique à tous les voyants. (gabarit).

Cet indicateur affiche le nombre de


tâches en attente. L’outil de gestion des
tâches sera détaillé dans un autre sujet.

Les demandes Il est possible d’activer et de désactiver


certaines options depuis le tableau de
bord. Par exemple, ici, vous pouvez déci-
Informations der d’activer «Etats et Requêtes» dans le
projet.
techniques
Cet indicateur affiche le nombre de nou- Dans la partie basse du tableau de bord,
velles demandes utilisateurs. vous disposez d’informations plus techni-
ques.

Les messages

34 - TDF TECH 2007 - www.pcsoft.fr


Tableau de bord du projet
Accès aux éléments
Depuis le tableau de bord, vous avez
accès, d’un simple clic, à tous les élé-
ments du projet. Vous avez accès :
• aux documents
• aux workflows
• à l’analyse
• aux diagrammes UML
• Vous pouvez également faire une
recherche rapide sur tous les éléments
du projet.
• etc.

Vous pouvez enfin avoir accès aux favo-


ris de code et aux derniers éléments
ouverts…

Notre astuce
Le paramétrage du tableau de bord est
stocké dans le fichier “ParamTBP.dat”
dans le répertoire de votre projet
Vous pouvez partager ce fichier de
paramétrage entre développeurs, et aussi
pour plusieurs de vos projets.

Bonus
Vous pouvez même paramétrer l’appa-
rence du tableau de bord :
Faites un clic droit sur le Tableau de bord,
choisissez l’option “Apparence” et vous
changez l’apparence de votre tableau de
bord.

TDF TECH 2007 - www.pcsoft.fr - 35


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

36 - TDF TECH 2007 - www.pcsoft.fr


Développement collaboratif : le GDS
Thème 3 : 
Développement collaboratif : le
GDS

TDF TECH 2007 - www.pcsoft.fr - 37


Utilisation du GDS
LES POINTS FORTS

• Utilisation du GDS
• Extraction / Réinté-

Fonctionnement pas à pas du gration

GDS et utilisation d’un projet Projet Associé

intégré au GDS
Le GDS (Gestionnaire de Sources) est disponible • Le treeview.
depuis les versions 10. Avant de détailler certaines • Ou depuis l’administrateur du GDS
fonctionnalités spécifiques dans les prochains sujets, Le GDS ouvre alors la fenêtre d’extraction, et propose de sélec-
voici un rappel rapide (issu du TDF Tech 2006) du tionner parmi trois modes d’extractions.
fonctionnement du GDS et de ces principales fonc- • L’extraction “Exclusive” : Personne ne pourra extraire cet élé-
tionnalités. ment tant qu’il n’aura pas été réintégré dans la base de sources
• L’extraction “pour test” : Vous pourrez modifier cet élément,
l’IHM, le code …, mais ces modifications ne pourront pas être
Modification d’une fenêtre réintégrées dans la base de sources. Cette extraction est utile,
Pour illustrer la modification d’une fenêtre, vous pouver utili- par exemple, pour une modification ponctuelle et spécifique
ser la fenêtre principale d’un projet exemple : ici “PC Liste des pour tester une nouvelle fonctionnalité.
tâches”. • L’extraction “multiple” : Il sera possible pour d’autres
développeurs d’extraire cet élément et de le modifier en paral-
Ouvrez la fenêtre principale de notre exemple d’application : la lèle. A la réintégration dans le GDS, il sera alors nécessaire de
fenêtre n’est pas extraite du GDS, comme le montre le libellé fusionner les modifications des différents développeurs. Ce type
rouge en haut. d’extraction ne doit être utilisé que dans des cas très particu-
liers.

Dans cet exemple, nous allons extraire en mode exclusif, pour


que les modifications soient ensuite récupérées par tout le
monde.
Vous pouvez saisir un commentaire, pour dire ce que vous allez
faire comme modification sur cette fenêtre.
Saisissez par exemple “Ajout d’une fonction de recherche”.
Ainsi les autres développeurs auront connaissance des traite-
Cela veut dire que vous ne pouvez pas modifier cette fenêtre : ments que vous êtes en train de coder sur la fenêtre.
vous pouvez la visualiser, voir le code, l’exécuter, mais PAS la
Une fois la fenêtre extraite, vous allez pouvoir créer votre trai-
modifier.
tement, comme vous le faites habituellement.
Pour la modifier, il faut “l’extraire” du GDS. Nous allons donc
l’extraire du GDS pour ajouter, par exemple, un traitement de
recherche.
Modification de la fenêtre
Il est possible d’extraire un élément du GDS par :
Le codage (champ, code...) s’effectue comme sur un projet non
• Le menu “GDS .. Extraire l’élément”.
dépendant du GDS.
• La barre d’outils.
• En cliquant sur le bouton dans le libellé rouge. Cependant, il faut avoir à l’esprit que toutes les modifications
que vous faites sur la fenêtre ne sont pas visibles par les autres
développeurs.
Ces modifications ne sont réalisées qu’en local : elles ne sont pas
encore dans la base de sources du GDS.
Si un autre développeur exécute cette fenêtre-là, il ne verra pas
les champs ni le code que vous avez ajouté.
Il utilisera la fenêtre qui est actuellement dans la base de sour-
ces.
Cela permet de faire évoluer une application en gardant une
version stable dans la base de sources.
Une fois les modifications terminées et testées, si vous voulez
maintenant qu’elles soient accessibles aux autres développeurs,
il suffit de réintégrer la fenêtre dans la base de sources.

38 - TDF TECH 2007 - www.pcsoft.fr


Développement collaboratif : le GDS
Réintégration de la fenêtre Synchronisation de projets
Pour réintégrer un élément, le plus rapide est de cliquer sur le Par défaut, à l’ouverture d’un projet géré par le GDS, le GDS
bouton “Réintégrer” de la barre d’outils. avertit des modifications qui ont été réalisées sur le projet par
les autres développeurs et propose de récupérer ces modifica-
tions localement.
Ce fonctionnement (et d’autres options) est personnalisable
par le responsable du projet (celui qui dispose du projet en
mode “Maître”) dans la fenêtre de description du projet (onglet
“Groupe”).

Fusion de code (Merge)


Lorsque vous affichez l’historique d’un élément, vous pouvez
comparer cet élément à une version précédente pour connaître
les modifications.
Il est alors possible de réaliser une fusion de code pour récu-
pérer un code “perdu” ou supprimé par erreur par un autre
développeur par exemple.
Il suffit pour cela de :
• Afficher l’historique de l’élément.
Vous pouvez alors ajouter un commentaire sur ce que vous avez
• Sélectionner la version de l’élément à comparer.
fait sur l’élément. Par défaut, WinDev propose le commentaire
• Cliquer sur le bouton “Comparer” pour avoir une visualisation
saisi lors de l’extraction, vous pouvez alors le modifier ou le
des modifications.
compléter.
• Utiliser les flèches pour reprendre ou reporter du code d’une
Dans la base de sources, tous les commentaires que vous avez version vers l’autre.
saisis sont ajoutés dans l’historique de l’élément. Il est ensuite
possible de voir exactement ce qui a été fait sur un élément,
par qui et quand. Bien entendu à tout moment il est également
possible de récupérer une version antérieure de l’élément.
Ces informations sont accessibles :
• soit directement par la barre d’outils
• soit par l’administrateur du GDS.

Accès par un nouveau développeur


Lorsqu’un nouveau développeur souhaite travailler sur un projet
intégré au GDS, il lui suffit d’utiliser l’option “Ouvrir un projet
depuis le GDS” du menu “Fichier” de WinDev.
Il faut alors sélectionner :
• La base de sources,
• Le projet concerné,
• Un répertoire local sur son ordinateur.

Tous les éléments du projet sont automatiquement copiés en


local. Le nouveau développeur est automatiquement en mode
“invité” sur ce projet. Il peut travailler normalement sur ce pro-
jet.

TDF TECH 2007 - www.pcsoft.fr - 39


Gestion des branches
LES POINTS FORTS

• Maintenance évolutive
et corrective.

La gestion des branches dans • Gestion de versions

un projet Projet Associé


WD Messagerie.wdp

Disponible sur le DVD

En version 11, vous pouvez main- Report de en cours de développement.


tenant gérer automatiquement • Sélectionner seulement les éléments
plusieurs «branches» sur vos appli-
corrections que vous souhaitez récupérer.
cations. Cela vous permet de faire Votre branche est maintenant créée. Seul le code de fermeture du bouton doit
évoluer plusieurs versions de votre Nous allons maintenant détailler ce qui se être récupéré : cliquez sur “une partie”.
application, en parallèle, par passe quand une correction doit être faite WinDev vous affiche alors les différences.
exemple : sur la version cliente : comment reporter En cliquant sur “l’œil”, vous pourrez voir
cette correction sur la version en cours le détail :
une version diffusée en clientèle,
de développement ? • Dans la partie gauche: le code du bou-
sur laquelle vous feriez des évo-
Un client vous signale que le bouton ton de la branche “Version Cliente”.
lutions mineures. Cette version • Dans la partie droite : le code de la ver-
serait une branche de la version “Annuler” de sa fenêtre d’envoi de mes-
sage ne fait rien. sion en cours de développement.
en cours de développement.
Récupérez simplement le code grâce aux
une version en cours de dévelop-
flèches centrales
pement qui continue d’évoluer, Réalisation de la correction
dans laquelle vous ajoutez de Ouvrez le projet qui correspond à la ver-
nouvelles fonctionnalités. sion en clientèle, ici la branche “Version
Cliente” précédemment créée.
Notre astuce
En version 11, l’administrateur du GDS a
Préalable Faites une extraction de la fenêtre évolué pour vous permettre de déplacer
“Fen_EnvoiMessage”, et affichez le code plus facilement vos projets. Pour cela,
Ouvrez le projet “WD Messagerie” et
du bouton “Annuler” : aucun code n’est faites un clic droit sur le projet à dépla-
ajouter ce projet dans un GDS (local,
défini. Saisissez le code Ferme() pour cer, cliquez sur “Déplacer”, puis choisis-
réseau ou distant).
corriger l’erreur (le bouton Annuler doit sez le nouveau répertoire parent dans la
Création de la fermer la fenêtre), puis réintégrez la base de source.
fenêtre dans le GDS.
branche
Notre astuce
Pour créer une branche, utilisez le menu Vous pouvez, d’un simple clic, sauve-
Report de la correction
“GDS .. Branches .. Créer une branche”. garder la base de sources du GDS. Pour
Il faut maintenant récupérer la correc-
Un assistant s’ouvre pour vous permet- cela, connectez-vous en administra-
tion qui vient d’être faite dans la version
tre de créer facilement une branche. teur, puis choisissez l’option “Outils ..
en cours de développement.
Saisissez alors le nom que vous souhai- Administration .. Sauvegarde complète
tez donner à la branche : par exemple Ouvrez le projet correspondant à la ver- de la base”.
“Version Cliente”. sion en cours de développement.
Laissez les autres options par défaut, et Pour récupérer la correction, utilisez le
valider l’assistant. menu “GDS .. Branches .. Récupérer des
modifications depuis une branche”.
Notre astuce
Vous pouvez créer une branche, a poste- Choisissez la branche dans laquelle la
riori, à partir de l’historique du projet. correction a été effectuée : “Version
Cette création se fait depuis l’adminis- Cliente”, et cliquez sur suivant.
trateur du GDS. WinDev vous signale tous les éléments
Vous pouvez avoir autant de branches que qui ont été modifiés entre les 2 versions.
vous le souhaitez sur un projet. Ici, la fenêtre d’envoi de message “Fen_
EnvoiMessage”.

Vous pouvez alors soit :


• Récupérer la fenêtre entière. Le risque
est alors d’écraser les nouvelles fonction-
nalités qui ont été faites dans la version

40 - TDF TECH 2007 - www.pcsoft.fr


Développement collaboratif : le GDS
Composants
LES POINTS FORTS

• Partage de composants
• Versions de composants

Publication et utilisation des


composants via le GDS Projet Associé
WD Annotation Source

Disponible sur le DVD

bilité”.
• Cochez “Publier le composant dans le
répertoire suivant du GDS”.
• Cliquez sur le bouton de sélection “...”
pour indiquer l’emplacement du compo-
sant dans votre GDS. Sélectionnez par
exemple “projets WinDev”.
• Cliquez sur “nouveau répertoire”.
• Saisissez le nom du répertoire qui
contiendra vos composants, par exemple
«Composants».

Importation de
composant
Pour importer un composant, qui est dans
le GDS, dans un projet :
• Utilisez le menu “Atelier .. Composant
.. Importer un composant dans le projet
.. À partir du GDS”.
• Cliquez sur “rechercher” : WinDev 11
liste tous les composants présents dans
le GDS.
• Sélectionnez alors le composant que
vous souhaitez importer.

Une nouvelle fonctionnalité du Publication de


GDS est apparue en version 11 :
la publication de composants via
composant
le GDS. Pour publier un com-
Vous pouvez maintenant mettre posant dans un GDS,
vos composants dans le GDS. les étapes sont les
Cette publication peut être défi- suivantes :
• Cliquez sur l’option
nie dans l’assistant de génération
de menu “Atelier ..
du composant. Si le composant
Composant .. Générer
existe, il vous suffit simplement de un composant”.
relancer l’assistant pour sélection- • Passez les différents
ner l’option correspondante. plans de configura-
tion en cliquant sur
le bouton “Suivant”,
Préalable et arrêtez-vous sur
Ouvrez le projet “WD Annotation Source” le plan qui nous
et ajouter ce projet dans un GDS (local, intéresse, à savoir
réseau ou distant). “Centre de réutilisa-

La Lettre du Support Technique PC SOFT - 41


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

42 - TDF TECH 2007 - www.pcsoft.fr


Programmation avancée
Thème 4 : 
Programmation avancée

TDF TECH 2007 - www.pcsoft.fr - 43


Programmation
LES POINTS FORTS

• Réduction du code et
du risque d’erreur

Quand et comment utiliser le • Lisibilité du code

mot-clé “POUR TOUT” Projet Associé


WLangage

Disponible sur le DVD

La syntaxe d’itération POUR TOUT, Il suffit de mettre les valeurs qui compo- les requêtes, les vues et les sources de
apparue en version 10, offrent de sent cette clé entre crochets. données. Ces syntaxes améliorent signi-
nombreuses possibilités. Plusieurs // Parcours de tous les ficativement la lisibilité de votre code
// enregistrements du fichier par rapport à l’utilisation des fonctions
groupes de POUR TOUT peuvent
// client sur une clé composée: HLitPremier, HLitSuivant.
être différenciés.
// AuteurModifDateModifNumClient
// Parcours tous les clients

“POUR TOUT” sur un


//modifiés par MARC aujourd’hui POUR TOUT sur les
POUR TOUT CLIENT AVEC
Fichier AuteurModifDateModif = ... champs
[“MARC”,DateDuJour()]
Allez dans le code du bouton “POUR TOUT
Le “POUR TOUT Fichier” vous permet  // Votre Traitement ici
FIN Champ”.
de parcourir un fichier de votre base de
données. Plusieurs syntaxes sont à votre • Une autre syntaxe: POUR TOUT avec La syntaxe POUR TOUT fonctionne sur les
disposition : un filtre. Par exemple : POUR TOUT tables, les listes, les combo, les zones
> Allez dans le code du bouton “POUR Client AVEC “Prenom = ‘MARC’ OU répétées… Elle permet de parcourir tou-
TOUT Fichier” de la fenêtre “FEN_ Prenom=’JEAN’”. Le filtre défini ici per- tes les lignes du champs.
WLANGAGE”. met de ne sélectionner que les clients Par exemple : POUR TOUTE LIGNE DE
dont le prénom est égal à MARC ou JEAN. Table_Client parcourera chaque ligne de
• Première Syntaxe : POUR TOUT sur un
la table “Table_Client”.
fichier (POUR TOUT <nomfichier>), par // Parcours de tous les
exemple : “POUR TOUT Client”. Cette // enregistrements du fichier
// client avec un filtre
syntaxe va parcourir tous les enregis-
trements du fichier Client sur le numéro // Parcours tous les clients “POUR TOUT” sur
d’enregistrement. // modifiés par MARC ou les chaînes de
// par JEAN
// Parcours de tous les POUR TOUT CLIENT AVEC caractères
// enregistrements du fichier “PrénomClient=’MARC’ OU
// client La syntaxe POUR TOUT fonctionnent aussi
PrénomClient=’JEAN’ “
POUR TOUT CLIENT   // Votre Traitement ici sur les chaînes de caractères. Elle permet
  // Votre Traitement ici FIN alors de parcourir les sous-chaînes d’une
FIN chaîne de caractères donnée.
• Dernière syntaxe présentée ici : POUR
• Deuxième syntaxe: POUR TOUT sur une Par exemple : POUR TOUTE CHAINE
TOUT avec une clé comprise dans un
clé (POUR TOUT <nomfichier> SUR <nom- MaSousChaine DE MaChaine SEPAREE PAR
intervalle. Par exemple : POUR TOUT
clé>), par exemple POUR TOUT Client SUR RC parcourera toutes les sous-chaînes
Client AVEC DateModif = dDateDébut A
AdresseEmail. Le fichier Client sera par- de “MaChaine” qui sont séparés par des
DateDuJour(). Cette syntaxe va parcourir
couru sur la clé “AdresseEmail”. retours chariots (RC)
les clients qui ont été modifiés entre la
// Parcours de tous les date de début et aujourd’hui.
// enregistrements du fichier
// Parcours de tous les
// client sur une clé :
// enregistrements du fichier
// AdresseEmail
// client avec une clé comprise
// C’est-à-dire qu’on va
// dans un intervalle
// parcourir les clients
// Parcours tous les clients
// par AdresseEmail croissante
// modifiés dans l’année
POUR TOUT CLIENT SUR
// flottante
AdresseEmail
dDateDébut est une Date
 // Votre Traitement ici
dDateDébut..Année --
FIN
POUR TOUT CLIENT AVEC DateModif
• Nouvelle syntaxe apparue en version 11 = dDateDébut A DateDuJour()
: POUR TOUT sur une clé composée (POUR  // Votre Traitement ici
TOUT <nomfichier> AVEC <clecomposée>) FIN
Exemple : POUR TOUT Client AVEC Les syntaxes POUR TOUT sur des Fichiers
[cle1,cle2] fonctionnent bien sûr également avec

44 - TDF TECH 2007 - www.pcsoft.fr


WLangage
LES POINTS FORTS

• Amélioration de code
• Astuces

Quelques syntaxes méconnues


et l’utilisation des infos de Projet Associé
WLangage

compilation
Disponible sur le DVD

Dans le WLangage, certaines syn- Les mots clés “FIN :” sion. Ce recalcul du nombre d’occurence
taxes, parfois méconnues permet- prend du temps et n’a ici aucune utilité.
tent de simplifier votre code.
et “RETOUR”
Le mot-clé “Fin :” permet d’exécuter du Dans le deuxième exemple, la boucle
code à la sortie d’une procédure, et ce suit le même principe avec la propriété
L’échange de quel que soit la ligne de code où la sortie Occurrence. C’est ce code que WinDev
suggère d’optimiser et pour lequel il
variables est effectuée.
donne un conseil d’optimisation des per-
FIN:
Pour échanger les valeurs de deux varia- formances.
// on revient à la position
bles, il suffit d’utiliser l’opérateur // précédente
“<=>”. HRetourPosition(nPosition) Pour optimiser cette boucle, il vous suf-
fit de déclarer un entier, et de l’affecter
i est un entier = 5
j est un entier = 10 Une autre syntaxe permet d’avoir un avant la boucle. Ainsi le calcul n’est fait
comportement similaire : l’affectation qu’une seule fois.
// Echange des valeurs du mot-clé RETOUR permet de définir la
i <=> j valeur qui va être renvoyée par la procé-
Dans cet exemple, la variable i vaut dure. Cette syntaxe peut être très utile, Notre astuce
maintenant 10 et la variable j vaut 5. puisque le code situé après le «RETOUR» Une autre solution, plus simple, consiste
Cela évite donc de passer par une varia- sera toujours exécuté. à utiliser la syntaxe POUR TOUT présen-
ble intermédiaire. // On va retourner le nom tée dans un précédent sujet.
// du client
RETOUR = CLIENT.NomClient
Les intervalles
// on revient à la position
Les intervalles peuvent être utilisés dans // précédente
la syntaxe SELON : HRetourPosition(nPosition)
SELON i
 // La valeur i est comprise
// entre 0 et 5 Les informations de
 CAS 0 A 5
// Traitement
compilation
FIN En version 11, le compilateur de projet
Autre syntaxe de l’intervalle : il est pos- a évolué pour vous aider à optimiser au
sible de personnaliser l’inclusion et l’ex- mieux votre code.
clusion. • Ouvrez la fenêtre “FEN_Information”,
SELON i Ici, dans le volet “Code” (du kouglof),
 // Syntaxe personnalisée une information de compilation est affi-
// (pour personnaliser chée pour mon projet : “Pour optimiser
// l’inclusion et l’exclusion votre boucle POUR, utilisez plutôt comme
// des bornes) borne maximale une variable locale de
 CAS 0 <= * < 5
type entier ou réel.”
// Traitement
FIN • Cliquez sur l’information de compila-
tion : vous accédez directement à la sec-
Cette ligne traite donc le cas où i est tion de code correspondante.
supérieur ou égal à 0, et strictement
inférieur à 5. Dans ce code, la boucle permet de par-
Les intervalles peuvent être également courir toutes les lignes de la table.
utilisés dans la syntaxe SI ALORS SINON. A chaque itération de la boucle, le nom-
bre d’occurrence de la table est recal-
Si i est compris entre 0 et 5 alors mon culé, alors qu’aucune modification n’a
traitement sera exécuté. été faite sur la table : ni ajout ni suppres-

La Lettre du Support Technique PC SOFT - 45


Sécurité
LES POINTS FORTS

• Cryptage
• Sécurité

Principe et utilisation des clés


de hashage Projet Associé
WLangage

Disponible sur le DVD

Les fonctions WLangage de has- La fonction HashVerifieFichier vous per-


hage sont une nouveauté des ver- met de vérifier l’intégrité d’un fichier
sions 11. par rapport à une clé de hashage fournie.
Cette fonction renvoie Vrai si le fichier
est intègre.
Exemple d’utilisation WinDev gère différents algorithmes de
des clés de hashage haschage : MD5, SHA, RIPEMD, TIGER, et
WHIRLPOOL.
Vous souhaitez envoyer un fichier à quel-
qu’un. Pour être certain que le fichier
reçu est bien le même que celui que vous Notre astuce
avez envoyé, une solution est d’envoyer Vous pouvez utiliser ces fonctions de
le fichier avec sa clé de hashage. En fait, hashage pour trouver des doublons de
la clé de hashage est l’empreinte digitale fichiers, puisque 2 fichiers au contenu
du fichier. identique auront forcément la même clé
de hashage…
Le destinataire récupère le fichier et sa
clé. Il calcule la clé de hashage du fichier
reçu. Si la clé calculée sur le fichier reçu Utilisation sur une chaîne
et la même que la clé initiale, le fichier // Sur une chaîne
est intègre. // Calcule la signature
Cela peut vous servir aussi bien, sur un // électronique d’une chaîne
fichier téléchargé, que sur un fichier reçu sResultat = HashChaîne(...
HA_MD5_128,...
par FTP, et d’une manière générale pour
”abcdefghijklmnopqrstuvwxyz”)
vérifier l’intégrité de toute chaîne ou
fichier transféré. // Vérifie l’intégrité d’une
// chaîne
SI HashVérifieChaîne(...
Mise en oeuvre HA_MD5_128,...
Dans WinDev 11, vous disposez de fonc- ”abcdefghijklmnopqrstuvwxyz”,...
tions WLangage pour calculer et vérifier sResultat) ALORS
la clé de hashage sur un fichier, ou sur Info(“Chaîne intègre”)
une chaîne : FIN
• Ouvrez la fenêtre “FEN_Nouveautés”
• Affichez le code du bouton “HASH” :
sélectionnez le bouton, faites un clic
droit, puis sélectionnez “Code”.
// Calcule la signature
// électronique du fichier
sResultat est une chaîne =...
HashFichier(HA_RIPEMD_160,...
sCheminFichier)

// Vérifie l’intégrité d’un


// fichier
SI HashVérifieFichier(...
HA_RIPEMD_160,... LST 68
sCheminFichier,sResultat) ALORS
Retrouvezun exemple complet ainsi que les
Info(“Fichier intègre”)
explications correspondantes dans la LST 68.
FIN
La fonction HashFichier calcule la clé de
hashage sur un fichier.

46 - TDF TECH 2007 - www.pcsoft.fr


64 Bits
LES POINTS FORTS

• Un code unique pour


des applications en 32bits

Comment générer une ou en 64 bits

application 64 bits ? Projet Associé

Code Avec erreur 64 bits


Si votre application manipule PROCEDURE LitVariables-
des objets système, comme Environnement()
des handle ou des pointeurs
par exemple, pensez à utili- nAdresse est un entier
ser des “entiers système” à la sVariables est une chaîne
place des “entiers” pour les
nAdresse = API(“kernel32”,...
manipuler. “GetEnvironmentStrings”)

Pour prendre en compte le 64 sVariables = ChaîneRécupère(nAd


bits dans vos applications, acti- resse,crAdresseASCIIZ)
vez la coche “64 bits”. Pour
cela, accédez à la description Code “corrigé”
du projet par le menu “Projet
.. Description du projet”, et PROCEDURE LitVariables-
positionnez-vous dans l’onglet Environnement()
“Option”. Il vous suffit alors de
nAdresse est un entier système
cocher “activer les erreurs de
sVariables est une chaîne
compilation 64 bits”.
nAdresse = API(“kernel32”,...
A l’activation des erreurs 64 bits “GetEnvironmentStrings”)
dans cet exemple, des erreurs
de compilation sont apparues. sVariables = ChaîneRécupère(nAd
Pour les corriger, il vous suf- resse,crAdresseASCIIZ)
fit de remplacer “entier” par
“entier système”. Votre appli-
cation fonctionne maintenant
Aujourd’hui les systèmes d’exploi- en 32 bits ET en 64 bits.
tation existent en 32 bits et en 64
Si vous appelez des API dans votre appli-
bits. En WinDev, le 64 bits,
cation, assurez-vous qu’elles existent en
c’est une simple recompilation de
64 bits.
votre application !

Lorsque vous générez un exécuta- Composants :


ble, vous choisissez de le générer Pour qu’un composant puisse être utilisé
en 32 ou en 64 bits. Aucun autre dans une application 64 bits, par sécurité,
traitement n’est nécessaire. Votre il faut qu’il ait été compilé en 64 bits.
Pensez donc à cocher «compatibilité 64
exécutable est généré en 64 bits.
bits» dans les sources de vos composants.
Cela vous permettra de les utiliser dans
Notre Astuce des applications 32 bits et aussi 64 bits.
Attention : la gestion de la mémoire est
différente entre le 32 et le 64 bits.

La Lettre du Support Technique PC SOFT - 47


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

48 - TDF TECH 2007 - www.pcsoft.fr


Editeur de tests unitaires
Thème 5 : 
Editeur de tests unitaires

TDF TECH 2007 - www.pcsoft.fr - 49


Test de fenêtres
LES POINTS FORTS

• Test d’interface
• Test de surface

Comment créer un test efficace


sur une fenêtre ? Projet Associé
test unitaire

Disponible sur le DVD

Exécution du test
Vous pouvez rejouer ce test avec un sim-
ple GO : WinDev rejoue automatiquement
le scénario.
Une fois le test terminé, un compte rendu
s’affiche sous l’éditeur. Dans la fenêtre
des résultats, vous pouvez voir que ce
test est passé avec succès.
Ce test vous a permis de contrôler l’IHM
de la fenêtre. Mais vous pouvez égale-
ment vérifier si les traitements se sont
bien déroulés.

Test de fonctionnalité
Ouvrez la fenêtre “FEN_Fiche_client”
Sur cette fenêtre, il peut être utile de
vérifier que le traitement d’ajout d’un
client dans la base de données s’effectue
correctement. Un test d’ajout de client
dans la base est déjà préparé.
Pour vérifier que l’ajout s’est bien passé,
Les tests unitaires vous permettent Faites un test simple :
• Sélectionnez un client. affichez le code du test et ajoutez un trai-
d’enregistrer et de rejouer des
• Affichez le détail de ses informations. tement après l’exécution du scénario.
tests sur vos éléments du projet : Par exemple, saisissez “HLitRecherche”
• Fermez le détail puis fermez la fenê-
vos fenêtres, vos procédures, vos dans le code “après test”.
tre.
classes. Et ce, en cours de déve- Il est également possible de mettre du
loppement. De retour sous l’éditeur, WinDev vous code “avant le test”.
L’avantage méthodologique est propose de saisir une description pour ce Cela peut être utile, par exemple, pour :
test.
l’intégration au plus tôt de tests définir une base de données de test ou
> Saisissez : «Ce test teste l’IHM de ma
dans le cycle de vie de l’applica- remettre des paramètres à leur valeur
fenêtre». par défaut.
tion. WinDev a généré le scénario de test direc-
tement en code WLangage.
Ce scénario utilise des nou-
Test de surface velles fonctions WLangage
Ouvrez la fenêtre “Fen_AjoutClient”. de la version 11 :
• PiloteSouris pour piloter
Cette fenêtre permet de lister des clients.
la souris
Pour tester son IHM, vous pouvez créer un
• PiloteDialogue pour pilo-
test unitaire.
ter une fenêtre de dialo-
Enregistrement du test gue.
Pour cela, utilisez le menu “Tests Point important pour la
Automatiques .. Enregistrer un nouveau personnalisation des tests,
test”. vous pouvez, si vous le sou-
La fenêtre se lance automatiquement. À haitez, modifier ce code, et
partir de maintenant, toutes les actions même rajouter votre pro-
que vous allez effectuer seront enregis- pre code WLangage dans ce
trées dans le scénario de test. scénario.

50 - TDF TECH 2007 - www.pcsoft.fr


Editeur de tests unitaires
Test de procédures
LES POINTS FORTS

• Test et validation de
traitements

Comment créer un test efficace


sur une procédure ou sur une Projet Associé
test unitaire

méthode de classe ?
Disponible sur le DVD

mettre de vérifier le bon fonctionnement


de la procédure. Ce fichier contient :
• le paramètre passé à la procédure
• le résultat correct que doit renvoyer la
procédure.
Dans ce code, vous pouvez retrouver l’ap-
pel à la procédure “RemplaceJoker” qui
doit être testée.
Pour chaque enregistrement du fichier
étalon, la procédure est exécutée avec le
paramètre lu.
Le résultat renvoyé par la procédure est
ensuite comparé avec le résultat correct
attendu, présent dans le fichier étalon.
Enfin, la fonction WLangage
TestEcritResultat est utilisée pour indi-
quer à l’éditeur de test si le test a réussi
ou pas.

L’éditeur de tests unitaires permet


// On déclare le fichier etalon
Exécution du test
de tester des fenêtres et leurs trai- HDéclareExterne(fRepExe() +... > Lancez le test en cliquant sur GO.
tements, mais également de tester [“\”] + “Etalon.fic”,... > Cliquez sur le compte rendu du test.
vos procédures et vos classes. sdETALON)
Les tests ont réussi : la procédure fonc-
// Parcours du fichier Etalon
tionne bien. Cette méthode présente
POUR CHAQUE sdETALON
Réalisation du test  // On remplace la chaîne
deux avantages :
 //d’origine avec la balise • Si vous modifiez quelque chose dans la
Affichez le code de la procédure  sRésultatProcédure =... procédure, vous pouvez repasser votre
“RemplaceJoker”  R e m p l a c e J o k e r ( s d E T A L O N . test et vous savez tout de suite si votre
ChaîneOrigine,sdETALON. modification est correcte ou non.
Dans cet exemple, la fonction ChaîneRemplacement,sdETALON. • Si un client vous signale un bug sur une
“RemplaceJoker” réalise un traitement ChaîneRemplacée) valeur, vous pouvez facilement intégrer
“lambda”. Elle attend un paramètre et ce cas à votre test, simplement en l’ajou-
fournit un résultat. SI sRésultatProcédure = ...
tant dans le fichier étalon.
sdETALON.ChaîneRésultat ALORS
Pour enregistrer un test sur cette procé-
  TestEcritRésultat(...
dure, faites un clic droit (volet “code”) terInfo,”Le test <”+...
sur la procédure puis cliquez sur “Créer sdETALON.TitreTest +... Notre astuce
un test unitaire”. ”> a réussi”)
Une utilisation détournée des tests uni-
 SINON
  TestEcritRésultat(... taires sur les procédures est de faire un
Le code du scénario de test s’affiche.
terErreur,”Le test <”+... Go de procédure.
WinDev a déjà positionné l’appel à la pro-
cédure “RemplaceJoker”. Il ne vous reste sdETALON.TitreTest +...
”> a échoué”) Plutôt que de lancer l’application et
plus qu’à saisir le code du test.
 FIN d’utiliser son IHM, faites un test unitaire
FIN sur la procédure, mettez un point d’arrêt
Un test contenant le code est disponible,
// Annulation de la déclaration sur la procédure, faites un Go. Vous arri-
affichez le code de ce test :
// de la source de données vez directement dans le code de la procé-
sRésultatProcédure est une HAnnuleDéclaration(sdETALON) dure, et vous pouvez la déboguer.
chaîne
sdETALON est une Source de
Un fichier “Etalon”, déjà créé, va per-
Données

La Lettre du Support Technique PC SOFT - 51


Utilisation des tests
LES POINTS FORTS

• Couverture de tests

La stratégie de tests
Projet Associé
test unitaire

Disponible sur le DVD

Pour lancer tous les tests définis bale de vos tests.


Notre conseil
pour votre projet, utilisez le menu Différentes informations sont affichées :
• Le nombre de tests validés sur le nom- Pour utiliser au mieux les tests, adoptez
“Tests automatiques .. Lancer tous
bre de tests total est indiqué : «xx tests au plus tôt une bonne stratégie de tests :
les tests du projet”.
validés sur xx» 1. Testez les éléments sensibles du pro-
jet.
Une fois tous les tests passés, vous • Le nombre d’éléments testés dans le 2. Définissez des tests dits «de surface»
voudrez bien sûr en voir les résul- projet est également disponible : «xx sur tous les éléments du projet.
tats. Ils sont accessibles depuis le éléments sur xx» 3. Définissez un test de cheminement,
tableau de bord du projet. d’enchaînement de l’application.
Vous trouverez également le détail des 4. Soyez sûr que tous les tests sont passés
résultats des tests classés par élément. quand il le faut :
Vue globale des Un test peut avoir 4 états : • à chaque modification de l’élément
résultats • Validé • avant sa réintégration dans le GDS
• En erreur • avant la création de l’exécutable
Ouvrez le tableau de bord du projet • Non passé
(accessible par le menu “Projet .. Tableau • En construction
de bord du projet”) puis cliquez sur le
voyant des tests.

Vous disposez alors d’une synthèse glo-

52 - TDF TECH 2007 - www.pcsoft.fr


Editeur de tests unitaires
AutoMate de tests
LES POINTS FORTS

• Validation d’une appli-


cation.

Utiliser l’automate de tests


pour valider une application Projet Associé
test unitaire

(.exe)
Disponible sur le DVD

À la fin de l’exécution, vous disposez d’un


résultat détaillé de ces tests :
• En vert les tests qui ont été validés,
• En rouge les tests qui n’ont pas été vali-
dés,
• En noir les tests qui ne sont pas passés.

Notre astuce
Vous pouvez lancer l’automate de tests
depuis WinDev : cliquez sur le menu
“Tests automatiques .. Lancer l’automate
de tests”.

L’automate de tests vous permet autre machine, indépendamment de


de lancer, en batch, tous les tests WinDev, il vous suffit de copier :
de votre application, et ce sans • la bibliothèque de tests,
• l’exécutable de votre application,
que WinDev ne soit installé sur la
• WDAutomate.exe qui se situe dans le
machine.
répertoire de WinDev.
Cet automate attend plusieurs paramè-
Mise en œuvre tres :
• Le chemin de l’exécutable à tester
Pour utiliser l’automate de tests en batch,
• La bibliothèque qui contient les tests à
deux étapes suffisent.
lancer
Première étape • Éventuellement la ligne de commande
Vous devez générer une bibliothèque qui à utiliser pour le lancement de l’exécu-
va contenir tous les tests de votre pro- table.
jet. Pour cela, cliquez sur le menu “Tests Tous les tests de la bibliothèque sont lis-
Automatiques .. Générer la bibliothèque tés dans la table. Vous pouvez dès lors
de tests”. décocher les tests que vous ne souhaitez
Vous pouvez ensuite fermer WinDev. pas passer.

Vous pouvez maintenant lancer les tests :


Deuxième étape
ils s’exécutent automatiquement.
Vous devez lancer l’automate de tests.
Pour utiliser l’automate de test sur une

La Lettre du Support Technique PC SOFT - 53


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

54 - TDF TECH 2007 - www.pcsoft.fr


Modèles et héritage d'IHM
Thème 6 : 
Modèles et héritage d’IHM

TDF TECH 2007 - www.pcsoft.fr - 55


Modèles de Fenêtres
LES POINTS FORTS

• Partage d’IHM
• Partage de traitements

Utilisation des modèles de


fenêtres Projet Associé
Jet’Tames – TDB

Disponible sur le DVD

Puis à partir d’un modèle, vous pouvez


bien sûr créer des fenêtres.
Pour cela, utilisez le menu “Fichier ..
Nouveau .. Fenêtre”. Un nouvel onglet
est présent dans l’assistant de créa-
tion de fenêtre : l’onglet “basée sur un
modèle”. Choisissez le modèle sur lequel
vous souhaitez baser votre fenêtre : pour
notre exemple “FENMOD_PRINCIPAL”.
La fenêtre est créée en utilisant le modèle
de fenêtre : vous y retrouvez la barre de
boutons, le calendrier, etc...
La fenêtre hérite du modèle : de son
IHM, et aussi de ses traitements.
Les carrés jaunes sur les champs indi-
quent que les champs sont hérités d’un
modèle.
Bien entendu, vous pouvez ajouter des
champs, des traitements, etc... spécifi-
ques à votre fenêtre. Ajoutez par exem-
ple un champ table pour lister les clients,
puis sauvez et testez votre fenêtre par un
GO.

Notre astuce
Une fenêtre peut hériter de plusieurs
modèles.

L’héritage repose sur le concept code respectif. Evolutions


des modèles. Un modèle est une C’est cette architecture qui doit
Si, dans toutes vos fenêtres, il vous faut
fenêtre “générique”, dans laquelle se retrouver dans toutes les fenê-
ajouter un nouveau bouton entre “organi-
vous pouvez déterminer une archi- tres de l’application. grammes” et “aide”. Là où il vous aurait
tecture qui sera commune à plu- fallu modifier les fenêtres une par une,
sieurs, voire à toutes les fenêtres grâce à l’utilisation des modèles, vous
de votre application. Réalisation avez juste à modifier le modèle :
Dans l’application Jet’Tames, il Chargez le modèle “FENMOD_PRINCIPAL”. • Ouvrez le modèle depuis la fenêtre :
Les modèles sont schématisés par un faites un clic droit puis choisissez «Ouvrir
serait judicieux que toutes les
cadre vert et le titre “modèle de fenê- le modèle».
fenêtres aient la même architec-
tres”. Vous pouvez évidemment tester le • Ajoutez un bouton «sites» entre «orga-
ture : nigrammes» et «aide».
modèle par un simple GO.
• en haut une barre de boutons • Enregistrez votre modification : WinDev
avec les traitements correspon- Un modèle est similaire à une fenêtre : il
vous propose automatiquement de met-
peut contenir de l’IHM, des traitements,
dants tre à jour toutes les fenêtres qui utilisent
des images, etc… Tout ce que vous pouvez
• sur la droite un calendrier ce modèle.
mettre dans une fenêtre, vous pouvez le
• en bas à droite le logo de la mettre dans un modèle.
• Mettez à jour vos fenêtres.
société.. Vous pouvez enregistrer un modèle à par-
• Revenez dans la fenêtre : le nouveau
• en bas, un bouton “Valider” et bouton a bien été ajouté entre “organi-
tir d’une fenêtre existante, ou créer un
un bouton “Annuler” avec leur grammes” et “aide”.
modèle de toutes pièces.

56 - TDF TECH 2007 - www.pcsoft.fr


Modèles et héritage d'IHM
Surcharge d’IHM
LES POINTS FORTS

• Personnalisation sans
suppression du lien de
Utilisation de la surcharge mise à jour

d’IHM Projet Associé


Jet’Tames – TDB

Disponible sur le DVD

Affichez le code du bouton : faites un


clic droit sur le bouton, puis sélection-
nez “Code”. Vous retrouvez les codes
pour votre bouton : code d’initialisation
et code de clic. Dans le code du bouton,
WinDev a automatiquement mis l’appel à
la fonction WLangage : ExécuteAncètre.
Cette commande permet d’exécuter le
traitement défini dans le modèle pour le
bouton. Ce code est affiché juste au-des-
sus, en grisé, pour information.
Le clic sur le bouton “Annuler” exécutera
le code suivant :
MaFenêtre..ValeurRenvoyée = faux
Ferme()
Pour afficher une demande de confirma-
tion, ajoutez le code suivant :
SI OuiNon(“Fermer ?”) = Oui ALORS
  ExécuteAncètre()
FIN
Faites un GO de votre fenêtre et testez
la confirmation en cliquant sur le bouton
“Fermer”.

Notre astuce
La surcharge permet de person- Dans cette fenêtre, le bouton “Annuler” Dans le code du bouton, vous faites ce
naliser les propriétés d’un champ sert simplement à “Fermer” la fenêtre. que vous voulez. Vous pouvez mettre
et même son code, et ce tout en Il faut donc modifier son libellé. du code avant et/ou après la fonction
•Surchargez le bouton «Annuler» comme ExécuteAncêtre.
restant lié au modèle.
décrit précédemment. Vous pouvez aussi complètement la sup-
• Modifiez son libellé en “Fermer” dans primer, pour dissocier totalement le code
Surcharge d’IHM l’onglet “Général” de la fenêtre de des- du champ du code du modèle.
cription du bouton.
La fenêtre qui a été précédemment créée
est une fenêtre de consultation avec une
• Faites un GO pour visualiser le résul- Autre astuce
tat.
liste de clients : le bouton “Valider” est Vous pouvez voir la liste des propriétés
Maintenant, le libellé du bouton, et sa
donc ici inutile. surchargées pour les champs. Faites un
position (X et Y) ne sont plus reliés au
clic droit sur le champs puis sélection-
Pour surcharger le bouton “Valider”, fai- modèle, mais les autres propriétés et le
nez “Propriétés surchargées”. Vous pou-
tes un clic droit sur le bouton, puis sélec- code du bouton restent reliés au modèle.
vez également annuler les propriétés
tionnez “Surcharger le champ”.
surchargées : IHM et code. Sélectionnez
Le petit carré en haut à gauche du bouton
les propriétés et cliquez sur le bouton
est passé de jaune à bleu : la couleur bleu
signifie que le bouton est surchargé. Surcharge de code “Supprimer”.

Pour que le bouton “Valider” ne soit pas A la fermeture de la fenêtre, il peut être
visible, ouvrez sa fenêtre de description utile de demander à l’utilisateur une
et décocher la propriété “Visible” dans confirmation de fermeture.
l’onglet IHM.

La Lettre du Support Technique PC SOFT - 57


Modèles de ChAMPS
LES POINTS FORTS

• Forme évolué du super-


champ

Principe et fonctionnement des • Partage entre projets

modèles de champs Projet Associé


Gestion Commerciale
(exemple standard)

valle, il faudrait l’utiliser dans toutes les


fenêtres qui ont besoin de l’intervalle de
dates.
Vous pouvez commencer par remet-
tre l’intervalle de date dans la fenêtre
“Fen_liste Commande” d’où vous l’avez
extrait. Il vous suffit pour cela de faire
un “glisser-déplacer” (“DragnDrop”) du
modèle de champs vers la fenêtre, depuis
le volet WinDev.
Sur le même principe que les modèles de
fenêtres, vous pouvez ensuite surcharger
le champ,
et le modifier : il reste relié au modèle.
Par exemple, vous pouvez modifier l’ali-
gnement des champs.
• Faites un clic droit et cliquez sur
“Surcharger”.
• Positionnez les champs en ligne et non
en colonne.

En version 11, vous disposez des Plutôt que de recréer, pour chacune des Notre astuce
modèles de champs. fenêtres, ce groupe de champs avec le
code, et plutôt que d’utiliser le super- Vous pouvez utiliser plusieurs fois un
Un modèle de champs est un même modèle de champs dans une même
champ livré avec WinDev, vous allez créer
ensemble de champs avec leurs fenêtre.
et utiliser un modèle de champs :
codes, réutilisable dans plusieurs
• Ajoutez le SuperChamps “Saisie d’une
fenêtres. période” depuis le volet “SuperChamps”.
• Sélectionnez le SuperChamps et sélec-
Notre conseil
Il peut être apparenté au super- tionner l’option “Champs .. Refactoring .. Quelques conseils pour choisir la meilleure
champ, mais il est beaucoup plus Défaire le SuperChamps”. technologie : à la place des superchamps,
évolué, avec notamment : • Sélectionnez le groupe de champs utilisez des modèles de champs.
• La surcharge nécessaires à la définition d’un inter- Si vous prévoyez d’utiliser une fenêtre
• L’héritage valle, puis coupez-le. interne plus de 3 fois, utilisez les modè-
• Un partage facilité : puisque le • Créez ensuite un modèle de champs : les de champs.
modèle de champs est un fichier utilisez le menu “Fichier .. Nouveau ..
Modèle de champ”.
physique, vous pouvez le mettre à
• Collez les champs, puis adaptez la
disposition de vos développeurs
taille du modèle : faites un clic droit sur
comme n’importe quel autre le modèle, et cliquez sur “Adaptez la
fichier. taille”.

Dans l’application exemple, un intervalle Votre modèle de champs est créé : don-
de dates doit être saisi dans plusieurs nez-lui un nom.
fenêtres.
Notez que vous pouvez utiliser des modè-
> Ouvrez la fenêtre “Fen_liste Commande” les de champs dans un autre modèle de
du projet “Gestion Commerciale”. champs.
Maintenant que vous disposez d’un
modèle de champs pour définir un inter-

58 - TDF TECH 2007 - www.pcsoft.fr


Modèles et héritage d'IHM

La Lettre du Support Technique PC SOFT - 59


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

60 - TDF TECH 2007 - www.pcsoft.fr


Gains Utilisateurs
Thème 8 : 
Gains Utilisateurs

TDF TECH 2007 - www.pcsoft.fr - 61


Orthographe
LES POINTS FORTS

• Corrections orthogra-
phiques

Une vérification orthographique


à la volée dans vos applications Projet Associé
Gain Utilisateur

Disponible sur le DVD

recteur en temps réel, il vous suffit de


cocher une case.
• Ouvrez la fenêtre de description du
champ “SAI_MESSAGE”, et positionnez
vous dans l’onglet “Détails”.
• Cochez simplement “Vérifier l’ortho-
graphe”.

Notre Astuce
Pour vos applications mutlilingues, vous
pouvez, bien sûr, activer le dictionnaire à
utiliser, en fonction de la langue de votre
application. Pour cela, utilisez la fonction
WLangage ParamètreOrthographe, avec
la constante orthographeNation et la
langue à utiliser.

Activation pour vous,


développeurs
Cette fonctionnalité de correcteur ortho-
graphique est également disponible dans
WinDev.
• Ouvrez la fenêtre “FEN_Tableau_
Bord”.
• Ouvrez la fenêtre de description du
champ “SEL_TYPE_STATS”.
• Ajoutez une option “Satifaction des
clients” à ce sélecteur. WinDev souligne
la faute d’orthographe : “Satifaction” au
Nouveauté des versions 11, la Activation pour les lieu de “Satisfaction”.
vérification orthographique est
disponible :
utilisateurs • Faites un clic droit : vous obtenez immé-
diatement la suggestion de correction.
• dans WinDev pour vous, • Ouvrez la fenêtre “Fen_EnvoiEmail”
• dans vos applications pour vos • Faites un GO de cette fenêtre.
utilisateurs. Dans cette fenêtre d’envoi d’email, l’uti-
Cette vérification orthographi- lisateur rédige son email, et peut faire
des fautes.
que fonctionne avec les diction-
• Saisissez le texte «Vive la vérifiation
naires gratuits d’Open Office. Il
d’orthographe !.
suffit donc que les dictionnaires • Les fautes sont soulignées, en temps
d’Open Office soient installés sur réel.
la machine. • Faites un clic droit : vous obtenez immé-
Note : L’utilisation de cette fonctionna- diatement la suggestion de correction.
lité suppose que le logiciel OpenOffice En un clic avec WinDev, vos utilisateurs
est installé sur le poste de l’utilisateur disposent d’une fonctionnalité qu’ils vont
et que le correcteur orthographique est apprécier.
activé (installation décrite dans la LST
Pour activer, dans un champ, le cor-
68).

62 - TDF TECH 2007 - www.pcsoft.fr


Splash screen
LES POINTS FORTS

• Splash screen person-


nalisé

Choisir et paramétrer un
splash screen Projet Associé
Gain Utilisateur

Disponible sur le DVD

paramètre la chaîne à afficher dans le


splash screen.
• Validez la création de votre exécutable
et lancez-le pour apprécier le résultat.

Deuxième type de
splash screen : le
splash screen animé
Vous pouvez lui aussi le paramétrer :
• Choisissez le texte qui s’animera dans
votre splash screen.
• Cliquez sur le bouton «options» pour
afficher les options avancées
• Choisissez le type d’animation : Etoile
• Choisissez la couleur “Argent”
• Choisissez si le splash screen doit être
affiché en plein écran ou pas
• Choisissez si le splash screen ne doit
s’afficher qu’une fois par jour.
• Cliquez sur «voir l’animation» et admi-
rez le splash screen animé que vous avez
créé.
Vous savez sûrement que la pre- • Choisissez un splash screen dans le
mière impression que l’on donne catalogue.
Notre conseil
est importante. Il en va de même Lequel utiliser, dans quel cas ?
pour vos applications : le splash
Notre conseil
Si vous avez un traitement d’initialisation
Pensez à prendre une image de poids rai-
screen donne cette première de votre application, qui prend un peu de
sonnable : inutile de prendre une image
impression. temps, utilisez le splash screen classique.
de 5Mo !
Dans WinDev 11, il existe 2 types Il vous permet d’afficher des messages
de splash screen automatiques Autre Conseil pendant l’initialisation du projet.
que nous allons détailler dans ce Pour une question d’ergonomie, il est
sujet. conseillé d’avoir un splash screen de
taille inférieure à la taille de la première
fenêtre de l’application.
Premier type de
splash screen : • Cliquez sur le bouton “Avancé” afin
de paramétrer votre splash screen. Vous
le splash screen pouvez afficher dans le splash screen :
classique • le nom de votre application,
• son numéro de version,
Pour définir votre splash screen, lancez
• et surtout des messages qui s’affiche-
l’assistant de création de l’exécutable.
ront au cours de l’initialisation de l’ap-
La sélection du splash screen se fait sur
plication.
le deuxième plan de cet assistant
• Cochez “splash classique” : vous pouvez Pour afficher ces messages d’initilisa-
choisir votre splash screen dans le catalo- tion, il vous suffit d’utiliser, dans le code
gue fourni par WinDev, ou même choisir d’initialisation du projet, la fonction
votre propre image. WLangage Message et de lui passer en

La Lettre du Support Technique PC SOFT - 63


Champ TaBle
LES POINTS FORTS

• Amélioration graphique
• Opacité

Quelques astuces pour l’IHM de


vos tables Projet Associé
Gain Utilisateur

Disponible sur le DVD

Voici quelques astuces pour per- • Le clic droit avec la sélection des colon-
Image en transparence
sonnaliser et améliorer l’IHM de nes
Une autre astuce pour agrémenter vos
vos tables. • L’export automatique vers Word, Excel,
tables, consiste à mettre une image sous
XML.
Créez une nouvelle fenêtre : cliquez sur la table et utiliser la propriété d’opacité
• ...
le menu “Fichier .. Nouveau .. Fenêtre”. de la table.

Personnaliser les Pour rester dans l’esprit de notre table,


Utiliser les gabarits
bandeaux utilisez la photo de girafe fournie.
Le gabarit est la charte graphique de • Faites un DragnDrop de l’image “Girafe”
votre application. Cela vous permet Votre table dispose également des ban- dans la fenêtre.
d’avoir une application qui dispose d’un deaux : • Redimentionnez le champ image ainsi
look homogène et sympa. Vous avez tout • le bandeau de sélection : il met en avant créé à la taille de la table.
un ensemble de gabarits livrés en stan- la ligne sur laquelle vous avez cliqué. • Positionnez le champ image en arrière
dard avec WinDev. De plus, tous les 3 • le bandeau de survol : il met en avant la plan.
mois, vous disposez d’un nouveau gabarit ligne que vous survolez.
Pour voir l’image , vous devez modifier
livré avec la LST. Ces bandeaux peuvent être personna- l’opacité de votre table. Pour modifier
• Choisissez le gabarit “ActivVista”. lisés. En version 11, vous pouvez même l’opacité de la table, deux possibilités
mettre les images que vous voulez pour le s’offrent à vous :
bandeau de sélection et pour le bandeau •  Par programmation, avec la propriété
Notre conseil de survol. “..Opacité” sur le champ table.
Ce gabarit propose un effet de transpa- • Ouvrez la fenêtre de description de la • Sous l’éditeur, depuis la fenêtre des 7
rence. Si, dans votre parc informatique, table, et positionnez vous sur l’onglet onglets de la table.
vous disposez de “vieilles” machines sous “Style”.
98, pensez à débrancher ce paramètre : • Sélectionnez l’élément “ligne sélec- • Ouvrez la fenêtre de description de la
il est accessible dans la description de la tionnée”. table, et positionnez vous dans l’onglet
fenêtre, onglet “Image”. • Cliquez sur la flèche présente à droite “IHM”.
du champ combo “Cadre”. • Positionnez l’opacité à 70%
• Validez la création de votre fenêtre. • Testez votre fenêtre par un GO : l’image
Pour créer une table basée sur le fichier Il vous suffit de choisir l’option “image”, de la girafe est visible sous la table.
“Client”, faites un simple DragnDrop et de mettre l’image que vous souhaitez
depuis le volet “Analyse” de l’éditeur. appliquer pour le bandeau. Vous pouvez
Sélectionnez les rubriques civilité, nom choisir une image du catalogue, ou sélec-
client, société, adresse, code postal, tionner votre propre image.
ville, téléphone, puis validez la créa- Si vous aimez les girafes, par exemple,
tion de votre table. Vous pouvez ensuite et que vous souhaitez avoir un ban-
redimensionner la table pour l’adapter au deau en girafe, sélectionnez l’image
mieux à votre fenêtre. “ImageBandeau”. Pour les spécialistes,
• Pensez à sauvegarder votre fenêtre. vous pouvez même définir le mode “9
• Faites un GO de la fenêtre : en quel- images” du bandeau.
ques clics, vous disposez déjà d’une table
sympa, qui colle au look de votre fenê- Vous pouvez également modifier la police
tre. du texte de la ligne sélectionnée.
Cette table possède bien sûr des ascen- • Mettez la police en gras en cochant la
seurs ainsi que les FAA, les Fonctionnalités case correspondante.
Automatiques de l’Application : • Testez votre fenêtre par un GO : vous
• Les colonnes triables retrouvez bien votre bandeau “girafe”.
• La loupe pour les recherches
• Le “Ctrl+F” qui effectue une recherche
dans toute la table.

64 - TDF TECH 2007 - www.pcsoft.fr


 TABLE_CLIENT[IndiceEnCours()]
Dégradés de couleur ..Couleur = Blanc 8

Autre nouveauté de la version 11 sur les FIN 6

tables : les dégradés de couleur. 4

Le crochet égal permet de tester si la 2

Avant pour mettre en évidence une ligne


0

TDF TECH 2007


chaîne Client.CodePostal “commence

Tour de France Technique


ou une cellule de la table, vous ne pou-
par” 59. Si tel est le cas :
viez mettre que des couleurs. Maintenant
• La couleur de la ligne est changée avec
vous pouvez mettre des dégradés de cou-
la propriété “..CouleurFond”.
leur.
• La couleur de la police est changée
Dans votre table, vous allez mettre un avec la propriété “..Couleur”.
fond bleu sur tous les clients du 59. • Le style tube est appliqué avec la pro-
• Editez le code de la table : sélection- priété “..StyleFond”.
nez-la et faites F2
• Positionnez vous dans le code d’affi- Testez votre fenêtre par un GO : les clients
chage d’une ligne. du 59 sont mis en évidence en bleu.
• Saisissez le code suivant :
SI CLIENT.CodePostal [= “59” Cette fonctionnalité et disponible aussi
ALORS bien pour les lignes de la table que pour
 TABLE_CLIENT[IndiceEnCours()] les cellules.
  ..CouleurFond = BleuPastel
 TABLE_CLIENT[IndiceEnCours()]
..StyleFond = styleTube

La Lettre du Support Technique PC SOFT - 65


FAA
LES POINTS FORTS

• FAA
• Automatisation

Création de minuteries par


l’utilisateur Projet Associé
Gain Utilisateur

Disponible sur le DVD

secondes, le bouton “Oui” sera automati-


quement validé. Le calcul de stats com-
mencera. Et l’utilisateur aura le résultat
de ses stats au retour de son déjeuner.

Notre astuce
Pour bénéficier de cette fonctionna-
lité sur les fenêtres systèmes : OuiNon,
Confirmer, etc... pensez à cocher “appli-
quer le gabarit sur les fenêtres systèmes”
Avec WinDev 11, l’utilisateur peut lui- dans la fenêtre de description du projet,
Vous connaissez sûrement déjà le
même rajouter une minuterie au bouton. onglet “Style”.
“bouton minuterie” : il s’agit d’un • Faites un clic droit sur le bouton Autrement, ces fenêtres systèmes seront
bouton qui va se “valider” tout “Oui”. des boîtes purement Windows et le bou-
seul après un certain nombre de • Sélectionnez “Validation automati- ton minuterie ne pourra pas s’appliquer.
secondes. que”.
• Indiquez le temps en secondes qui
Avant la version 11, le développeur s’écoulera avant l’exécution du traite-
pouvait déjà mettre facilement ment du bouton.
une minuterie sur un bouton. Par exemple : “Valider automatiquement
Avec la version 11, l’utilisateur le bouton après 10 secondes”.
Votre bouton est devenu un bouton minu-
final peut maintenant le faire lui-
terie.
même !
Si l’utilisateur ne fait rien au bout de 10

Mise en oeuvre
La fenêtre “FEN_TABLEAUBORD” lance un
très long calcul de stats sur plusieurs mil-
liards d’enregistrements, qui dure plus de
30 minutes. Le traitement est long, donc
l’application prévient l’utilisateur que
sa machine sera bloquée et lui demande
confirmation.

> Ouvrez cette fenêtre, et testez la avec


un GO.

Mettez vous maintenant à la place de


votre utilisateur : il clique sur le bou-
ton “lancer les stats”, et part déjeuner
sans regarder l’écran. Il ne voit pas cette
fenêtre de confirmation. Quand il revient
de déjeuner, il y a toujours la fenêtre
de demande de confirmation, au lieu du
résultat. Il va perdre du temps à relan-
cer les statistiques qui vont lui bloquez
sa machine.

66 - TDF TECH 2007 - www.pcsoft.fr


Champ tirroir
LES POINTS FORTS

Premier point
Second Point

Utilisation du champ “Tirroir”


Projet Associé
Gain Utilisateur

Disponible sur le DVD

Le champ tirroir est un des nou- enrouler/dérouler le tiroir. L’enroulé/déroulé est géré automatique-
veaux champs de la version 11. Il • Donnez un libellé à votre tiroir : par ment par WinDev. Et lors de l’enroulé,
est utilisé pour gagner de la place exemple “détail de la recherche”. l’espace libéré par le champ tiroir est
automatiquement réutilisé par les autres
et pour une meilleure lisibilité.
Ensuite, de façon tout à fait classique, champs du dessous.
vous pouvez placer dans le tiroir tous les
Création d’un champs que vous désirez :
• champs de saisie
champ tirroir • champs option, sélecteur, etc..
Testez la fenêtre “Fen_Tiroir” par un GO
de fenêtre. Dans la partie gauche de la
fenêtre, des tiroirs ont été utilisés : un Création d’un
par groupe d’options. second champ tirroir
Créez maintenant un deuxième champ
Dans ce sujet, vous allez constater que
tiroir en dessous du premier.
créer et gérer un champ tiroir avec
• Ajoutez des champs à ce nouveau
WinDev est très simple :
tiroir.
• Créez une nouvelle fenête.
• Faites un GO de fenêtre, et testez l’en-
• Cliquez sur le bouton “Champ Tiroir”
roulé/déroulé des champs tiroir.
de la barre d’outils “Champ” : WinDev a
généré automatiquement le bouton pour

La Lettre du Support Technique PC SOFT - 67


Champ Table hiérarchique
LES POINTS FORTS

• Hiérarchisation

Comment utiliser les tables


hiérarchiques ? Projet Associé
Gain Utilisateur

Disponible sur le DVD

racine de la table hiérarchique.


nIndiceParent =...
TableAjouteLigne(...
TABLEH_TableVisites,...
”Maintenance Globale 5”,...
ChaîneVersDate(...
“08/10/2006”),”SALFISI”,...
”Gérard”)
Pour ajouter un fils à une ligne, il suffit
d’utiliser la fonction TableAjouteFils,
et de lui passer en paramètre l’indice du
parent.
Cet indice est simplement renvoyé
par les fonctions TableAjouteLigne et
TableAjouteFils, et vous pouvez ajouter
autant de niveaux d’arborescence que
vous voulez.
TableAjouteFils(...
TABLEH_TableVisites,...
nIndiceParent ,...
”Travail du bois”,...
ChaîneVersDate(...
“08/10/2006”),”HAIMER”,...
”Sophian”))

Notre Astuce
Pour récupérer la ligne en cours, vous
pouvez utiliser :
• Soit directement le nom du champ,
Le champ table hiérarchique est Gestion de la hierarchie • Soit la fonction TableSelect.
une nouveauté de la version 11, Ouvrez la fenêtre de description de la
mais qu’est ce qu’une table hié- table hiérarchique (faites un clic droit Style
rarchique ? En fait, une table hié- sur le champ puis “Description”) : dans
Pour indiquer les différents pictos utilisés
rarchique est un mélange de table la description de la table hiérarchique,
suivant les lignes, utilisez les propriétés
vous pour définir et modifier les colonnes
et de treeview. Cela vous permet ImageEnroulée et ImageDéroulée :
exactement comme dans les tables.
d’organiser les données de la • “ImageEnroulée” permet de définir le
table de manière arborescente. La colonne qui servira pour la hiérarchie picto lorsque la ligne est enroulée.
L’utilisateur peut ainsi : des données peut être définie dans le • “ImageDéroulée” permet de définir le
champ “N° de la colonne hiérachique”. picto lorsque la ligne est déroulée.
• Regrouper les données,
Dans cet exemple, la colonne hiérarchi- TABLEH_TableVisites..ImageDéroulée =...
• Ne voir que la partie qui l’inté-
que est la 1ère colonne. “MaintenanceGlobale.png”
resse,
• Enrouler dérouler les lignes... Remplir une table hiérarchique Ces pictos sont définis pour toutes les
prochaines lignes ajoutées à la table, tant
Ouvrez la procédure “InitVisites” : cette
que vous ne les modifiez pas à nouveau.
procédure permet de remplir la table
Comment gérer une hiérarchique. Pour remplir une table Notre Astuce
table hiérarchique ? hiérarchique, vous utilisez les fonctions Pensez à ajouter ces images à la liste des
TableXXX du WLangage : TableAjoute, éléments du projet. Cela peut être fait
Ouvrez la fenêtre “FEN_
TableAjouteLigne, … par le menu : “Projet .. Liste des élé-
TablesHiérarchiques”.
Ces fonctions vont ajouter une ligne à la ments du projet.”

68 - TDF TECH 2007 - www.pcsoft.fr


Nouveautés et mise à JOUR
LES POINTS FORTS

• Aide des nouveautés


• Automatisation

Afficher les nouveautés et


avertir de la disponibilité d’une Projet Associé
Gain Utilisateur

mise à jour
Disponible sur le DVD

• Si l’application est lancée régulière-


ment, pas de problème : à l’ouverture de
l’application, une vérification est faite
automatiquement pour savoir si une mise
à jour est disponible ou non.
• Par contre, si une application tourne
24h/24h, elle n’est donc jamais ou rare-
ment fermée : comment l’utilisateur sait
qu’il y a une mise à jour de disponible ?
Il suffit, par exemple, dans la fenêtre
principale de l’application, d’insérer le
menu “?” :
• Ouvrez la fenêtre “Fen_Principale”.
• Cliquez sur le menu “Fenêtre .. Menu
principal .. Ajouter le menu ?”.
Un assistant s’ouvre pour vous proposer
Ce sujet traite de deux solutions mentation des nouveautés”. plusieurs options à ajouter.
• Cliquez sur le bouton “Suivant”. • Cliquez sur le bouton “Suivant”.
offertes par WinDev pour aider
l’utilisateur d’une application : • Choisissez les différents paramètres qui Dans ce menu point d’interrogation, vous
apparaîtront dans cette page d’aide : le pouvez choisir d’avoir entre autre :
• Comment lui indiquer les rai-
titre de la page, la version de l’exécuta- • L’aide des FAA
sons d’une mise à jour (nouvelle
ble, la liste des incidents corrigés,... • Lancer l’outil “Etats et requêtes”
fonctionnalité, correction...). • Cliquez sur le bouton “Suivant”. • Voir les nouveautés de l’application :
• Comment l’avertir de la disponi- À partir de la liste des tâches terminées cochez donc “mise à jour de l’applica-
bilité d’une mise à jour. et des incidents corrigés des centres de tion”.
contrôles, WinDev a généré automatique-
Liste des nouveautés ment le squelette de la documentation
Cliquez sur le bouton “Terminer” puis
faites un GO de votre projet. Ouvrez le
L’affichage de la liste des nouveautés de des nouveautés. Vous pouvez alors com-
menu point d’interrogation : vous retrou-
l’application, lors d’une mise à jour, est pléter cette documentation.
vez l’option de mise à jour de votre appli-
une nouveauté des versions 11. Vos utili- Ensuite, vous poursuivez la création de cation. Cette option vérifie si une mise
sateurs vont enfin savoir pourquoi ils se l’installation, en cliquant sur le bouton, à jour est disponible pour l’application,
mettent à jour : en haut à droite : “Poursuivre la création et met à jour si besoin. Vos utilisateurs
• Quelles sont les nouvelles fonctionna- de la procédure d’installation”. peuvent aller voir quand ils veulent si une
lités, mise à jour est disponible.
• Les corrections de bugs, Notre Astuce
• Les suggestions prises en compte Une fois votre documentation créée, vous Automatisation
• ... avez une nouvelle page, qui s’appelle Pour prévenir l’utilisateur automatique-
La documentation des nouveautés est «nouveautés à venir». ment qu’une mise à jour est disponible,
spécifiée dans l’assistant de création de Au fur et à mesure que vous codez, sai- il suffit de réaliser ce traitement dans
l’installation : sissez les nouvelles fonctionnalités pour une procédure. La mise à jour est faite
• Cliquez sur le menu “Atelier .. Créer la votre application : simplement par l’appel à la fonction
procédure d’installation”. cela sera bien sûr repris automatique- “LiveUpdate” du composant CCMenu,
• Cliquez sur “Aide des nouveautés” pour ment à la prochaine création de l’install. livré en standard avec WinDev.
accéder directement au plan concerné. CCMenu.LiveUpdate()
Sur ce plan, vous pouvez indiquer que
vous voulez documenter les nouveautés Avertir qu’une mise à Vous pouvez appliquer un timer automati-
que dessus, tous les jours par exemple   :
de votre application. jour est disponible vos utilisateurs sont ainsi automatique-
• Cliquez sur “Compléter une documen-
Comment vos utilisateurs peuvent-ils ment prévenus des mises à jour.
tation existante” ou “Créer une docu-
savoir qu’une mise à jour est disponible ?

La Lettre du Support Technique PC SOFT - 69


Etats et Requêtes
LES POINTS FORTS

• Etats et Requêtes
• Personnalisation par

Utilisation, intégration et l’utilisateur final

déploiement d’une application Projet Associé


Gains Utilisateurs

exploitant “Etats et Requêtes” état : Commande

Disponible sur le DVD

Le logiciel “Etats et Requêtes” se lance


automatiquement et charge l’état à
modifier. L’utilisateur se trouve alors dans
le logiciel “Etats et Requêtes” (livré en
standard avec WinDev et dont la diffusion
est libre avec les applications WinDev).
L’utilisateur peut alors ajouter des champs
ou réaliser les modifications qu’il sou-
haite comme l’aurait fait le développeur
de l’application depuis l’éditeur d’états
WinDev. Une fois la ou les modifications
effectué(s), l’utilisateur peut tester ces
modifications par un “Go” de l’état.
Lorsque l’état est modifié, le clic sur le
bouton “Imprimer” de notre application
exemple exécute désormais l’état modi-
fié depuis “Etats et Requêtes”.
Dans “Etats et requêtes”, l’utilisateur
peut également :
• Créer des états de toutes pièces,
• Modifier une requête créée par le
développeur,
• Créer une requête de toutes pièces.
Remarque : il est possible d’exécuter
“Etats et requêtes” depuis une applica-
Vous le savez, en version 11, le logi- Utilisation de “Etats tion WinDev par le menu “?”.
ciel “Etats et Requêtes” est gratuit.
Cet outil correspond au “WDEtat
et Requêtes”
Utilisateur” des anciennes ver- Pour illustrer cet exemple, nous allons Intégration dans une
sions et qui est maintenant dispo- utiliser le projet “Gains Utilisateurs”. application
nible pour chacun des utilisateurs Supposons dans cet exemple que l’utilisa- Regardons maintenant comment est
de vos applications. Il s’appelle teur de l’application souhaite afficher, en configuré le projet “Gains Utilisateurs”
simplement Etats et Requêtes et il plus des informations présentes dans cet pour permettre cette fonctionnalité.
est diffusable gratuitement avec état, le numéro de portable du client et En effet, pour que les états et requêtes
vos applications WinDev ! son adresse email. soient accessibles en création et modifi-
Pour simuler ce besoin, faîtes un “Go” de cation depuis l’application, il est néces-
Dans “Etats et Requêtes”, vous l’état “Commande”. saire que le développeur le paramètre
disposez de toutes les fonction- dans le projet.
Le logiciel “Etats et Requêtes” permet à
nalités en standard : les images, chaque utilisateur de modifier lui-même Paramétrage du projet
les codes-barres, les traitements, l’état et de l’adapter à ses propres besoins Tout d’abord, il faut que le projet auto-
… : c’est le même éditeur d’états sans disposer de WinDev sur sa machine. rise l’utilisation du logiciel “Etats et
que dans WinDev, sauf que, bien Le développeur n’a pas à prévoir d’états Requêtes”. Cette autorisation est tout
entendu, la modification des don- différents pour tous les cas de figure des simplement définie dans la fenêtre de
nées est interdite, pour préserver besoins utilisateurs. description du projet, dans l’onglet
Pour modifier l’état, il suffit à l’utilisa- “Charte”.
leur intégrité.
teur de cliquer sur le bouton “Modifier
l’état” dans la fenêtre d’aperçu avant
impression.

70 - TDF TECH 2007 - www.pcsoft.fr


Gains Utilisateurs
Il suffit en effet que l’option “Autoriser Automatisation Cette fonctionnalité est utile pour les
le lancement de “Etats et Requêtes” soit Si le projet contient 200 états et 300 états créés par l’utilisateur. L’utilisateur
cochée. Si vous ne souhaitez pas que vos requêtes, vous n’allez pas refaire cette peut ainsi lancer en exécution ses états
utilisateurs aient accès à “Etats et requê- opération pour chaque état et chaque directement depuis son application.
tes” sur ce projet, il suffit de décocher requête.
cette option. Il suffit de lancer l’assistant d’améliora-
tions du projet qui se trouve dans le menu Déploiement d’une
Paramétrage de l’analyse “Projet .. Performance et Améliorations .. application avec
Par défaut, tous les fichiers et toutes Assistant d’améliorations de projet”.
leurs rubriques de l’analyse sont visibles “Etats et Requêtes”
Dans cet assistant, vous pouvez cocher
sous le logiciel  “Etats et Requêtes”. La génération d’une installation d’une
les états et les requêtes à mettre à dis-
L’utilisateur final peut donc utiliser ces application proposant “Etats et Requêtes”
position de vos utilisateurs. Vous pouvez
données dans ses états et ses requêtes est similaire à une installation classique.
également spécifier ici si l’état peut être
personnalisées. Seul le plan “Etats et Requêtes” de l’assis-
modifié au niveau interface et/ou code.
Si votre application contient des don- tant de génération de procédure d’instal-
nées sensibles, ou si des rubriques sont Exploitation depuis l’applica- lation est spécifique. C’est dans ce plan
destinées à des fins uniquement de pro- tion que vous pouvez inclure le logiciel Etats
grammation (par exemple un flag de La fonction du WLangage fRepEtatsEtRe- et Requêtes dans l’installation de l’appli-
programmation), il peut être nécessaire quêtes retourne le chemin du répertoire cation, en cochant l’option “Inclure Etats
de rendre ces fichiers et/ou ces rubri- où sont stockés les états et les requêtes et Requêtes à l’installation”.
ques “invisibles” sous le logiciel “Etats et créés ou modifiés par le logiciel Etats et L’installation de l’application proposera
Requêtes”. Requêtes. automatiquement à l’utilisateur d’instal-
Par exemple, dans le projet exemple, Par exemple dans notre application de ler “Etats et Requêtes” sur son poste s’il
nous voulons rendre le fichier “A” invi- test cette fonction permet de lister les n’est pas déjà installé.
sible aux utilisateurs, il suffit pour cela états créés et modifiés avec le logiciel Voilà toute la puissance de “Etats et
de : “Etats et Requêtes” depuis la fenêtre Requêtes” : donner aux utilisateurs un
• Ouvrir l’analyse du projet, “PopUp_ListeEtat” : un clic sur l’état per- outil d’interrogation de leurs données
• Ouvrir la fenêtre de description du met de lancer l’aperçu avant impression pour pouvoir créer, modifier eux-mêmes
fichier (accessible par le menu contextuel de l’état. des états et des requêtes.
ou depuis le menu “Structure de fichier .. Avec les applications WinDev, c’est inté-
Description), gré en standard et c’est totalement gra-
• Sélectionner l’onglet “Info” de cette tuit.
fenêtre de description,
• Décocher l’option “Visible par l’utilisa-
teur final (logiciel Etats et Requêtes)”.
Ainsi, le fichier “A” et toutes ses rubri-
ques sont maintenant invisibles sous
“Etats et Requêtes”. Sur ce principe,
vous pouvez rendre invisible une ou plu-
sieurs rubriques d’un fichier, sans rendre
le fichier lui même invisible.

Paramétrage des états et des


requêtes
Pour des raisons évidentes de sécurité,
par défaut, un état n’est pas modifiable
sous le logiciel “Etats et Requêtes”.
Pour permettre à l’utilisateur de modifier
cet état, il faut explicitement l’indiquer
dans la fenêtre de description de l’état
(onglet “Détail”).
Il est alors possible de choisir si seule l’in-
terface est modifiable ou si l’interface et
le code sont modifiables.
Pour les requêtes, c’est le même prin-
cipe. Il faut indiquer explicitement que
la requête est modifiable dans la fenê-
tre de description de la requête (Bouton
Avancé, onglet “Etats et Requêtes”).

TDF TECH 2007 - www.pcsoft.fr - 71


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

72 - TDF TECH 2007 - www.pcsoft.fr


WinDev et Windows Vista
Thème 9 : 
WinDev et Windows Vista

TDF TECH 2007 - www.pcsoft.fr - 73


WinDev et Windows vista
LES POINTS FORTS

• Windows Vista
• Manifest

Les contraintes de Windows


Vista (UAC...) Projet Associé

systèmes de Windows Vista


2. Ne pas écrire n’importe où dans la
base de registres

Localisation des fichiers


Une des contraintes de Windows Vista
est de réserver exclusivement le réper-
toire « Program Files » à l’installation des
applications.

La conséquence est que les fichiers de


données et les fichiers de paramétrages
des applications ne doivent plus être dans
le même répertoire ou sous-répertoire de
l’application.

Sous Windows Vista, un nouveau réper-


toire a fait son apparition : c’est le réper-
toire “Utilisateur”, équivalant à l’ancien
répertoire “Documents and Settings” des
précédentes versions de Windows.

Par défaut, c’est le seul répertoire dans


lequel Windows Vista garantit que vos
applications ont le droit d’écriture. Et ce,
quel que soit l’utilisateur connecté.

Sous Windows Vista, le mécanisme • A la racine du disque d’installation de Il est donc nécessaire d’apporter une
de l’UAC (User Account Control) a Windows attention particulière à la localisation
fait son apparition. • Dans le répertoire de Windows de vos fichiers par programmation avec
• Dans le répertoire « Program Files » les fonctions fRepExe, fRepEnCours,
• Dans tous les répertoires systèmes HSubstRep, HChangeRep notamment.
Une nouvelle gestion des droits
• Et dans certaines parties de la base de
utilisateurs a également fait son registres.
apparition. Exemple
En fait, cette gestion des droits Si vos applications écrivent dans l’un de Si vos utilisateurs installent votre appli-
existe depuis Windows 2000 mais ces répertoires, Windows Vista va auto- cation dans “Program Files”, la fonction
les applications ne l’utilisaient matiquement rediriger votre écriture fRepExe renvoit alors le répertoire d’ins-
pas. dans un autre répertoire sans vous pré- tallation de votre application. Par défaut,
venir. C’est ce qu’on appelle la « virtua- votre application n’y possède pas les
lisation ». droits d’écriture.
Windows Vista force à respecter
cette gestion des droits de l’utili- Utilisez les fonctions WLangage fRepDon-
sateur. Comment faire pour que vos néesCommun et fRepDonnéesUtilisa-
applications WinDev fonc- teurs pour connaître le répertoire à utili-
tionnent correctement sous ser pour vos données.
Principe Windows Vista ? sRépertoire est une chaîne
Suivant le profil de l’utilisateur qui est sRépertoire =
connecté, il y a des parties du disque Il y a en fait deux grandes règles à res- fRepDonnéesUtilisateur() +
où vos applications n’ont pas le droit pecter : [“\”] + “MonApplication”
d’écrire librement : 1. Ne jamais écrire dans les répertoires

74 - TDF TECH 2007 - www.pcsoft.fr


WinDev et Windows Vista
LST 68

Retrouvez un article complet consacré à


Windows Vista ainsi que les explications tech-
niques correspondantes dans la LST 68.

fRepCrée(sRépertoire) Suivant. site les privilèges administrateur ».


Sélectionnez l’option “Mon application ne Utilisez cette option uniquement si vous
HChangeRep(“*”, sRépertoire) nécessite pas de privilèges particuliers”. en avez réellement le besoin. En effet,
à chaque lancement de l’application,
Ecriture dans la base de  Remarques : Si votre application a besoin Windows Vista déclenchera l’UAC en
de privilèges administrateur (par exem- demandant à l’utilisateur :
registres
ple, vous avez besoin de paramétrer • le mot de passe administrateur, s’il est
N’écrivez pas n’importe où dans la base
le système, d’écrire dans le répertoire un utilisateur standard
de registres. En effet, sous Windows
Windows, ...), il suffit de sélection- • une confirmation, s’il est administra-
Vista, l’accès à certaines clés de la base
ner l’option « Mon application néces- teur.
de registres est soumis à la même règle
que l’écriture dans les répertoires proté-
gés du système.
tions.
Privilégiez l’écriture dans la clé HKEY_ Et vous obtien-
CURRENT_USER. drez automa-
Remarque : Si vous avez besoin de par- tiquement le
tager des paramètres entre plusieurs uti- look&feel de
lisateurs, utilisez plutôt un fichier XML Vista dans votre
ou .INI dans le répertoire commun des application !
données (fonction fRepDonnéesCom-
mun). Pour cela, utilisez les fonctions Même sous
InitParamètre, ChargeParamètre et Windows 2000,
SauveParamètre du WLangage. XP, 2003...
• Vos boutons
sytèmes ont le
Dernier conseil de look Vista,
• Les effets de
sécurité transparence sur
Si vous utilisez encore la fonction fRep- les champs sont
Exe pour localiser l’écriture de vos disponibles,
fichiers, votre application “écrira” dans • La barre de
“Program Files”. titre translucide
au look Vista
Le mécanisme de virtualisation de
•...
Windows Vista se déclenchera alors.
WinDev 11 propose des gabarits qui
Vos données ne seront pas écrites dans
apportent le look&feel Vista. Pas seu- Qu’ils soient sous Windows Vista ou
“Program Files” mais dans un autre réper-
lement sous Windows Vista, mais éga- non ,vos utilisateurs bénéficient du
toire “virtualisé”.
lement sous Windows 2000, XP, 2003, look&feel Vista.
Pour éviter ce risque, intégrez un mani- etc. Et pour vous, il s’agit simplement d’un
feste utilisateur à votre application. gabarit à appliquer à votre projet !
Ainsi, le mécanisme de virtualisation de Windows Vista apporte un look plus
Windows Vista sera débranché pour votre moderne et vos utilisateurs ont envie
application. d’avoir ce look dans leurs applications.
Avec WinDev 11, pour intégrer un mani- Cependant, les sociétés ne changent
feste utilisateur à votre application, cli- pas tout un parc informatique et leurs
quez sur l’étape « Windows Vista » dans systèmes d’exploitations, simplement
l’assistant de création de l’exécutable de pour changer de look !
votre application.
Avec WinDev 11, il suffit d’appliquer le
Cochez l’option “Intégrer un manifeste gabarit « ActivVista Lite » à vos applica-
pour Windows Vista”, puis cliquez sur

TDF TECH 2007 - www.pcsoft.fr - 75


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

76 - TDF TECH 2007 - www.pcsoft.fr


Base de données
Thème 10 : 
Base de données

TDF TECH 2007 - www.pcsoft.fr - 77


Les procédures stockées
LES POINTS FORTS

• Centralisation du code
• Optimisation

Principe et utilisation des


procédures stockées sur Projet Associé

Hyper File Client/Serveur
Une procédure stockée est un trai- ple “MaProcédureStockée”.
tement, une procédure exécutée • Ecrivez le code de votre procédure. Exemple :
sur le poste serveur de la base • Sauvegardez votre analyse et lancez la nNbProduit est un entier
génération de votre analyse. nNbProduit = ...
de données (sur le serveur Hyper
• Suivez ensuite l’assistant de modifica- HExécuteProcédure(...
File).
tion automatique des fichiers de données. MaConnexion, ...
Cet assistant vous permettra de mettre “MaProcédureStockée”)

Avantages d’une à jour votre collection de procédures


stockées sur le serveur. (Note : la fonc-
procédure stockée tion WLangage HMiseAJourCollection() Remarques
• Pour les traitements complexes avec permet de forcer par programmation la
mise à jour des collections de procédures Lors de la modification d’une procé-
beaucoup d’accès fichier : il n’y aura
stockées de votre analyse) dure stockée, si le prototype de la pro-
qu’un seul aller-retour entre le poste
cédure n’a pas été modifié, il suffit
client et le serveur. Les performances
simplement de faire appel à la fonc-
sont alors accrues.
• Risques liés au réseau (déconnexion,
Comment utiliser une tion HMiseAJourCollection. Il n’est pas
nécessaire de régénérer l’analyse.
...) limités : le traitement s’effectue du procédure stockée ? Les procédures stockées peuvent être
début à la fin sur le serveur. Un traite-
Pour appeler une procédure stoc- appelées depuis des requêtes.
ment ne pourra donc pas être interrompu
kée, il suffit d’utiliser la fonction
par une déconnexion du réseau.
HExécuteProcédure. Si vous devez passer en paramètre à une
• Les procédures stockées s’écrivent en
Cette fonction WLangage attend en para- procédure stockée un tableau, une struc-
WLangage.
mètres : ture ou un objet, utilisez les fonctions
• le nom de la connexion au serveur WLangage Sérialise et Désérialise pour
Comment créer une Hyper File,
• le nom de la procédure stockée,
transformer l’objet, la structure ou le
tableau en un type simple : le buffer.
procédure stockée ? • les paramètres éventuels attendus par
Les procédures stockées sont des procé- la procédure stockée. Comment déboguer
dures WLangage standards. Elles peuvent
attendre des paramètres et renvoyer des
valeurs.
Les procédures stockées possèdent leurs
propres variables, elles ont leur propre
contexte.
Certaines fonctions WLangage ne sont
pas pertinentes en procédure stockée.
Les fonctions de dialogue, d’ouverture
de fenêtre ou d’impressions... sont par
exemple interdites en procédure stoc-
kée.

Pour créer une procédure stockée :


• Ouvrez l’analyse de votre projet
• Dans le treeview de l’analyse, effectuez
un clic droit puis sélectionnez « Nouvelle
collection de procédures »
• Effectuez de nouveau un clic droit et
sélectionnez « Nouvelle procédure glo-
bale ».
• Renommez votre procédure, par exem-

78 - TDF TECH 2007 - www.pcsoft.fr


Base de données
LST 68

Retrouvez un exemple complet ainsi que les


explications techniques correspondantes dans
la LST 68.

une procédure
stockée ?
Nous venons de voir comment déporter
sur un serveur, un traitement existant
déjà codé, déjà testé, par l’intermédiaire
d’une procédure stockée.

Il est important de comprendre que :


• Tout ce qui est dans le volet de l’ana-
lyse est sur le serveur.
• Tout ce qui est en bas, dans le kouglof
est en local, sur le poste de développe-
ment.
Pour déboguer facilement, il est donc
conseillé de partager la procédure stoc-
kée entre l’analyse et le kouglof. Autre conseil
Quand vous avez terminé le débogage de
Pour cela, ouvrez l’onglet “procédures votre procédure stockée, il est conseillé
globales” du kouglof, faites un clic droit, de la supprimer du kouglof.
puis importer une collection de procédu-
res et sélectionnez la collection de pro- De cette façon, si vous avez oublié un
cédures stockées. Elles se situent dans le HExécuteProcédure, une erreur de com-
répertoire «code» de l’analyse. pilation sera affichée.

Vous devez ensuite cocher “utiliser le Pensez aussi à bien regénérer l’analyse
fichier à l’emplacement sélectionné” : de quand vous avez fini, pour remettre à jour
cette façon, la procédure sera toujours la procédure stockée sur le serveur .
à jour

Pour déboguer, vous n’avez plus besoin


d’appeler la procédure stockée par
HExécuteProcédure. Vous l’utilisez
comme n’importe quelle autre procé-
dure.

Notre conseil
Dans certains cas particuliers, vous pour-
riez avoir besoin de déboguer sur le ser- 8

veur, par exemple, si vous devez tester


6

avec des données spécifiques. 4

2 0
TDF TECH 2007
Tour de France Technique

Dans ce cas, vous pouvez utiliser les tra-


ces, qui s’afficheront, bien sûr, sur votre
poste, en local.

TDF TECH 2007 - www.pcsoft.fr - 79


Requêtes WLangage
LES POINTS FORTS

• Lisibilité
• Souplesse

Des requêtes utilisant le • Fonctionnalité

WLangage Projet Associé

Vous pouvez remarquer l’utilisation de la


fonction DateDifférence du WLangage.
Cette fonction nous permet de calcu-
ler l’âge de la personne. Incluse dans la
clause WHERE de la requête, cela nous
permet de renvoyer la liste des clients
qui ont moins de 30 ans.

En version 11, vous pouvez direc- Comment le faire ?


tement utiliser du WLangage dans Il suffit de créer une requête de sélection,
vos requêtes. et de choisir les rubriques énoncées.
Cela vous permet d’avoir des Il suffit ensuite de créer une condition sur
requêtes encore plus élaborées. la rubrique “Civilité” dont la valeur doit
être “Mr”.
À partir de cet instant, la requête ren-
Utilisation verra la liste des “clients”.

Voici un exemple d’utilisation : Il suffit ensuite d’éditer le code SQL de


• Nous possédons un fichier de clients la requête pour ajouter la condition sur
• Nous souhaitons récupèrer la liste des l’âge des clientes. On ajoute alors :
clients qui ont moins de 30 ans.
AND WL.DateDifférence(
• Dans notre fichier de clients, nous avons Client.DateNaissance,
le nom, la civilité et la date de naissance WL.DateDuJour()) / 365 <= 30
des clients.

80 - TDF TECH 2007 - www.pcsoft.fr


Requêtes Multi-bases
LES POINTS FORTS

• Traitement multi-bases

Une requête sur Hyper File et


Oracle Projet Associé

tiquement les jointures nécessaires.

Notez qu’il est tout à faire possible d’uti-


liser plusieurs bases de données, et ce,
quelles que soient les bases de données.

En version 11, vous pouvez mainte-


nant effectuer des jointures entre
requêtes de base de données dif-
férentes.

Utilisation
Par exemple, nous possédons un fichier
CLIENT en Hyper File Client / Serveur et
un fichier COMMANDE en Oracle.
Nous souhaitons récupérer les comman-
des des clients du département 34.

Pour effectuer une requête multi-bases,


le principe est simple.
Nous avons besoin de deux requêtes :
1. Une requête sur le fichier “CLIENT” en
Hyper File. La seconde requête sélectionne les com-
2. Une requête sur le fichier “COMMANDE” mandes dont les numéros de clients cor-
en Oracle avec une jointure sur la pre- respondent à la liste des clients renvoyée
mière requête. par la première requête.

La première requête sélectionne les


La sélection des rubriques permettra à
clients dont le département est “34”.
l’éditeur de requête d’effectuer automa-

La Lettre du Support Technique PC SOFT - 81


Hyper File Client/Serveur
LES POINTS FORTS

• Optimisation
• Dimensionnement

Statistiques d’activités d’un matériel

serveur Hyper File Projet Associé

• Dans l’onglet “Configuration”, sélec-


tionnez “Logs”
• Cochez les informations à enre-
gistrer : Appels au serveur,
Paramètres des appels, Connexions, ...
Pour visualiser les logs enregistrés, sélec-
tionnez l’onglet “Logs” dans le Centre de
Contrôle Hyper File.

Vous obtiendrez une liste des logs dis-


ponibles pour votre serveur. Cliquez sur
Récupérer, puis sur Voir pour consulter un
log.

L’administration des bases de


données Hyper File se fait directe-
ment depuis le Centre de Contrôle
Hyper File.

En version 11, vous pouvez main-


tenant enregistrer et consulter les
statistiques d’activités de vos ser-
veurs Hyper File.

Statistiques
Pour activer la gestion des statistiques
sur votre serveur
• Lancez le Centre de Contrôle Hyper File Logs des requêtes Vous aurez ainsi la liste des opérations qui
et choisissez votre serveur. ont été effectuées sur votre base de don-
En version 11, le Centre de Contrôle
• Sélectionnez l’onglet “Configuration”, nées (Qui ?, quand ?, combien de fois  ?,
Hyper File permet aussi d’analyser a pos-
puis sélectionnez “Statistiques d’acti- Combien de temps ? ...)
teriori les requêtes exécutées. Cela vous
vité”. permet, par exemple, de savoir quelles Vous avez ainsi une trace de tous les évé-
• Cochez l’option “Activer les statistiques requêtes sont souvent exécutées dans vos nements sur vos bases Hyper File Client/
d’activités du serveur”. applications, et ainsi connaître les requê- Serveur.
Pour visualiser les statistiques enregis- tes à surveiller de près. Remarques : L’activation des logs sur
trées, sélectionnez l’onglet “Statistiques” votre Serveur Hyper File ne ralentit en
dans le Centre de Contrôle Hyper File. Pour cela, il suffit d’activer les “logs” sur rien ses performances.
votre serveur.

82 - TDF TECH 2007 - www.pcsoft.fr


Base de données

TDF TECH 2007 - www.pcsoft.fr - 83


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

84 - TDF TECH 2007 - www.pcsoft.fr


Le Web 2.0 avec WebDev
Thème 11 : 
Le Web 2.0 avec WebDev

TDF TECH 2007 - www.pcsoft.fr - 85


Zone répétée Ajax
LES POINTS FORTS

• Vitesse
• Ergonomie

Remplir une zone répétée Ajax


Projet Associé
WebDev_Ajax

Disponible sur le DVD

été effectué en mode AJAX.


Revenez sous l’éditeur. Pour passer ce
traitement en mode AJAX, il suffit d’acti-
ver le mode AJAX dans le code du bouton
“Rechercher”  (clic droit sur le bouton
“Rechercher”, option “Code”, puis clic
sur le bandeau “AJAX”).
Lancez de nouveau le test de la page.
Effectuez une nouvelle recherche dans le
champ prévu à cet effet (par exemple “A”)
et cliquez sur le bouton “Rechercher”.
Depuis la version 10, WebDev vous Tous les pays commençant par la lettre
Dans le projet WebDev_AJAX, la page
permet de réaliser des traitements “A” sont affichés dans la zone répétée,
PAGE_ZR_AJAX contient une zone répé-
AJAX en un clic. tée.
mais seulement les données de la zone
Rappelons le principe de AJAX. répétée ont été actualisées.
Pour se déplacer dans les résultats de la
En Web traditionnel, dès qu’il y a zone répétée, une réglette est accessible Le volume des données transférées est
une intéraction entre le navigateur en dessous de la zone. donc limité. Vous pouvez alors améliorer
et le serveur, c’est toute la page Lancez le test de la page. A chaque clic
l’ergonomie de cette page : par exemple,
qui est renvoyée et rafraîchie. effectuer la recherche dès qu’un carac-
sur la réglette, on constate le rafraîchis-
Avec AJAX, n’est renvoyé et tère a été saisi dans le champ de recher-
sement complet de la page.
che, sans avoir à cliquer sur le bouton
rafraîchi que ce qui a été modifié.
Revenez sous l’éditeur. Pour passer la “Rechercher”.
La mise à jour de la page est donc zone répétée en AJAX, il suffit simple-
ciblée. Revenez sous l’éditeur.
ment de cocher l’option “Mode AJAX”
Grâce à AJAX, le serveur est dans l’onglet général de la fenêtre de Pour effectuer cette opération, nous
moins sollicité et peut donc sup- propriétés de la zone répétée (clic droit, allons rajouter un traitement « Touche
porter un plus grand nombre de “Description .. Onglet Général”). enfoncée » dans le code du champ de
connexions. Moins de données saisie.
Lancez de nouveau le test de la page.
circulent, la vitesse est donc aug- La réglette n’est plus accessible, mais Dans le code de ce traitement, écrivez le
mentée significativement. De plus, un ascenseur vous permet de naviguer code suivant :
grâce à AJAX, vos sites sont plus aisément dans les résultats de la zone
agréables à utiliser et cela vous répétée. // Lance la recherche
ExecuteTraitement(...
permet d’ajouter de nouvelles WebDev va automatiquement chercher BTN_Recherche, trtClic)
fonctionnalités et d’améliorer l’er- les enregistrements correspondant sur le
Remarque : Le traitement “A chaque
gonomie. serveur, en mode AJAX.
modification” ne permet pas d’effectuer
Les applications Web commen-
la recherche à chaque caractère saisi. En
cent à ressembler à des applica-
tions Windows ! Exécuter un effet, ce traitement est exécuté unique-
ment en sortie d’un champ de saisie et
traitement en mode uniquement si le contenu de ce champ a
AJAX été modifié.

Activer le mode Dans la page, en haut, un champ de


Lancez de nouveau le test de la page.
Commencez à taper une lettre dans le
AJAX sur un champ recherche pour filtrer les pays a été prévu.
champ de recherche et vous consta-
Effectuez une recherche en tapant “al”
Avec WebDev, AJAX est automatique pour tez que la zone répétée se remplit
et cliquez sur le bouton “Rechercher”.
les listes, les combos, les boutons, les dynamiquement, sans rafraichissement
Les résultats sont affichés dans la zone complet de la page. C’est immédiat !
sélecteurs, les interrupteurs, les procé-
répétée, mais la page complète a été
dures... et aussi les tables et les zones
réaffichée. Ce traitement n’a donc pas
répétées.

86 - TDF TECH 2007 - www.pcsoft.fr


Boîtes de dialogue
LES POINTS FORTS

• Fonctionnalités
• Ergonomie

Réaliser des boîtes de dialogues


et de saisie dans un navigateur Projet Associé
WebDev_Ajax

Disponible sur le DVD

Dans le code navigateur de ce lien, vous


remarquez l’appel à une procédure
“WDialogue”. C’est cette procédure qui
va afficher la boîte de dialogue.

Cette procédure attend 4 paramètres :


1. Le texte de la boîte de dialogue
2. Les libellés des boutons avec leur
valeur de retour (paramètre de la forme
: <Libellé 1> TAB <Valeur de retour 1> RC
... <Libellé N> TAB <Valeur de retour N>)
3. Le nom de procédure navigateur exé-
cutée lors du clic sur un bouton
4. Le titre de la boîte de dialogue

La procédure navigateur permet de trai-


ter la valeur de retour en fonction du
bouton qui aura été cliqué.

Dans le Kouglof, sélectionnez dans la


liste “Procédures locales navigateur”,
puis double cliquez sur la procédure
“RetourDialogue”. Dans notre exemple,
c’est cette procédure qui est exécutée
lors du clic d’un bouton de la boîte de
dialogue.

Cette procédure attend en paramètre la


valeur de retour du bouton cliqué.
Le Web 2.0 génère de nouveaux Comment gérer les boîtes de
// Demande la confirmation de
besoins chez les utilisateurs. Vos dialogue dans vos sites ? // suppression
sites Internet doivent se rappro- WDialogue(“Êtes-vous sûr de
cher le plus possible des applica- Retournez sous l’éditeur de pages. vouloir supprimer ce client ?”,
tions Windows. Notamment, pour En bas de la page se trouve la boîte de “Supprimer” + TAB + 1 + RC +
dialogue. Il s’agit en fait d’une cellule “Ne pas supprimer” + TAB + 0,
toute la partie“interactions” avec “RetourDialogue”,”Supprimer un
contenant les champs de la boîte de dia-
l’utilisateur. client” + RC + “”)
logue.
Un exemple d’interaction, ce sont
les “boîtes de dialogue”. Cette cellule est par défaut définie en
invisible.

Exemple Depuis la version 11, les champs cellules


Ouvrez la page PAGE_Dialogue sous l’édi- peuvent être déplacés par programma-
teur de page de WebDev, puis lancez le tion, grâce aux propriétés « ..X » et « ..
test de cette page. Y » du WLangage. Dans notre exemple,
cela permet de placer la boîte de dialo-
Cliquez sur le lien “Exemple de boîte de
gue au centre de l’écran.
dialogue”. Une boîte de dialogue s’affi-
che.
Affichez le code du lien « Exemple
de boîte de dialogue » (clic droit,
option « Code »).

La Lettre du Support Technique PC SOFT - 87


GFI
LES POINTS FORTS

• Ergonomie

Un GFI en WebDev
Projet Associé
WebDev_Ajax

Disponible sur le DVD

LST 68

Retrouvez un exemple complet ainsi que les


explications techniques correspondantes dans
la LST 68.

Le GFI (Grisage de Fenêtres Pour activer le GFI, la cellule est alors


Inacessibles) existe déjà sous agrandie pour occuper tout le naviga-
WinDev. teur et est placée au-dessus de tous les
champs de la page, hormis la cellule per-
Ce « GFI » est possible avec
mettant d’afficher la boîte de dialogue.
WebDev 11, par programmation.
Ce GFI permet de rendre inac- Pour désactiver le GFI, la cellule est
cessible une partie de la page simplement rendue invisible (propriété
lorsqu’une boîte de dialogue (par “..Visible”).
exemple) est affichée.
Plus de 40 exemples unitaires WW_FenetreErreur
ont été extraits des sources WW_FenetreInfo
Exemple WW_FenetreOuiNon
de Honolulu 11 :
Un autre exemple d’interactivité avec WW_FenetreSaisie
l’utilisateur, ce sont les boîtes de saisie. WW_GestionGFI
WW_AfficherDetails
Les boîtes de saisie permettent à l’utili- WW_GestionSons
WW_AfficherZone
sateur de saisir des données. WW_GestionZoom
WW_Bandeau
Pour empêcher la saisie de données WW_JaugePatience
WW_BandeauArbre
ailleurs que dans la boîte prévue à cet WW_ListeDeSelection
WW_BornesAffichageZR
effet, un GFI est mis en place sur la WW_MenuContextuel
WW_BullePerso
page. WW_ModifieImage
WW_CadreSurvolImage
WW_NombreLigne
WW_CodeNavigateurLIBHTM
Ouvrez la page PAGE_Dialogue sous l’édi- WW_NoteEtoile
WW_CodeNavigateurLIBHTM_Genere
teur. En bas de la page, une cellule grise WW_PageApercu
WW_ComboRemplitListe
est affichée. C’est cette cellule qui est WW_RechercheTempsReel
WW_ComptageClic
utilisée pour imiter le GFI de WinDev. WW_RechercheTempsReel_Ancrage
WW_DegrisageBouton
WW_ReglettePerso
WW_DeplacementCellule
Les procédures “ ActiveGFI” et WW_Reindexation
WW_EntetePied_Page
“DesactiveGFI” permettent de manipu- WW_SiteMapPath
WW_EnvoiMessageInstantane
ler cette cellule. Ces procédures sont WW_TelechargementZIP
WW_FenetreAvertissement
accessibles depuis le Kouglof, dans les WW_TriZR
WW_FenetreConfirmer
“Procédures locales navigateur”. WW_ZoneDeSaisie
WW_FenetreDialogue
WW_ZoneRuptureAvecPuce

88 - TDF TECH 2007 - www.pcsoft.fr


Ergonomie
LES POINTS FORTS

• Ergonomie

Améliorer l’ergonomie des sites


grâce à Ajax Projet Associé
WebDev_Ajax

Disponible sur le DVD

Avant, lorsque l’internaute cliquait sur


le bouton “Sauvegarder la base”, le navi-
gateur envoyait l’information au serveur.
Et le serveur effectuait la sauvegarde de
toute la base de données. Pendant ce
temps, le navigateur était complètement
figé.
Maintenant, grâce aux procédures AJAX
Asynchrones, il est possible de ne pas
figer le navigateur de l’internaute pen-
dant un traitement.

Réalisation
Pour chaque fichier à sauvegarder, la fonc-
tion WLangage “AJAXExécuteAsynchrone”
est appelée avec 3 paramètres :
1. Le nom de la procédure serveur per-
mettant d’effectuer la sauvegarde
2. Le nom de la procédure navigateur qui
sera exécutée à la fin du traitement ser-
veur
3. Le nom du fichier à sauvegarder
La sauvegarde du fichier est exécutée sur
Lorsqu’un internaute effectue une Les procédures AJAX “Synchrones” atten- le serveur. Puisque l’exécution est effec-
recherche sur un site, la recher- dent la fin de l’exécution de la procédure tuée en mode « Asynchrone », le poste du
che peut prendre plus ou moins pour redonner la main au navigateur. navigateur n’est pas bloqué.
de temps. Les procédures AJAX “Asynchrones” n’at- Dans notre exemple, on peut alors affi-
Pendant ce temps, aucune jauge tendent pas la fin de l’exécution de la cher une jauge et le nom du fichier en
de progression n’est affichée. procédure et redonnent immédiatement cours de sauvegarde.
L’internaute ne sait donc pas : la main au navigateur. Cependant, une
procédure navigateur peut être exécutée Lorsque la sauvegarde du fichier est ter-
• si la recherche est en cours.
lorsque le traitement AJAX est terminé. minée, la procédure navigateur est auto-
• si le navigateur est bloqué. matiquement appelée.
• si la recherche est “plantée”.
Exemple Cette procédure navigateur passe au
Rien de plus énervant que de ne fichier suivant et relance le traitement
Ouvrez la page PAGE_Ajax. Lancez le test
pas savoir ! de sauvegarde, jusqu’à ce qu’il n’y ait
de cette page.
Voyons comment remédier à cette plus de fichier à sauvegarder.
Le lien “Sauvegarder la base” permet
problématique grâce à WebDev d’effectuer une sauvegarde des fichiers
11 et aux procédures AJAX de données de la base : cliquez sur le lien
Asynchrones. “Sauvegarder la base”. Une jauge de pro-
gression est affichée et le nom de chaque
fichier sauvegardé est affiché.
Les procédures AJAX
Vous pourrez également constater que
Asynchrones votre navigateur n’est pas figé et que
Les procédures AJAX sont des procédures vous pouvez même déplacer la fenêtre
“serveur” exécutées dans un code naviga- de progression.
teur. Grâce à AJAX, la page n’a pas besoin
d’être réaffichée. Explication

La Lettre du Support Technique PC SOFT - 89


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

90 - TDF TECH 2007 - www.pcsoft.fr


Les règles métiers
Thème 12 : 
Les règles métiers

TDF TECH 2007 - www.pcsoft.fr - 91


Règles métiers
LES POINTS FORTS

• Régles métiers
• Liens automatiques

Comment utiliser les règles


métiers Projet Associé

• Cliquez sur l’onglet “Liens automati-


ques” : cet onglet vous permet de défi-
nir les éléments sur lesquels la règle doit
s’appliquer de façon automatique.
• Cliquez sur le bouton “Créer une nou-
velle condition”.
• Paramétrez maintenant le type d’élé-
ment concerné par cette règle : cette
règle s’applique aux éléments “champs
de fenêtre” de “type saisie”.
• Saisissez les critères restrictifs de cette
règle : “dont le libellé” “est égal à” soit
“email”, soit “destinataire”, soit “expé-
diteur”, soit “dest”, soit “courriel”.
• Fermez le volet des règles métiers.

Lien automatique
Pour tester votre nouvelle règle, il vous
suffit de créer un élément qui correspond
aux critères de celle-ci.
• Créez une nouvelle fenêtre : utilisez le
menu “Fichier .. Nouveau .. Fenêtre”
Une règle métier définit par exem- Définition d’une • Créez un champ de saisie dont le libellé
ple comment est réalisé un traite-
ment, un calcul de stats, une IHM
règle est “email” (ou tout autre libellé définit
précédemment dans les critères de la
et surtout pourquoi ce traitement Par exemple, dans votre application, il règle) : WinDev vous indique automati-
est réalisé de cette façon et non existe une procédure qui contrôle la vali- quement par une popup qu’une règle
d’une autre. dité d’une adresse email. Cette procé- s’applique à ce champ.
dure doit donc être appelée partout où
Maintenant, dès que vous créerez un
une adresse email doit être saisie.
Cela vous est déjà certainement champ de saisie, avec un libellé “email”,
arrivé de reprendre un traitement Vous allez donc définir une règle métier. dans 1 semaine, dans 1 mois, dans 6 mois,
écrit il y a plusieurs mois, Le but est que chaque développeur qui WinDev vous indiquera qu’une règle est
et de vous demander pourquoi travaille sur le projet applique cette définie pour ce champ.
règle, et que personne ne l’oublie.
tel traitement était codé ainsi, • Cliquez sur le bouton «Règles métiers»
pourquoi tel calcul s’effectuait de pour ouvrir le volet correspondant.
• Ouvrez le volet des règles métiers : uti-
cette façon,etc ... lisez le menu “Affichage .. Barre d’outils
• Double-cliquez sur la règle que vous
avez précédemment définie.
.. Règles métier”.
Il vous faut alors rechercher à nou- Vous voyez, de suite, quelle norme vous
• Cliquez sur le bouton “Nouvelle règle”.
devez respecter pour coder ce champ,
veau, refaire le travail de réflexion, • Saisissez le texte de la règle. Par exem-
avant même de commencer le codage.
pour comprendre ce qui a amené ple : “Tout champ de saisie portant sur
à cette méthode de calcul. une adresse email doit être validé, en
• Vérifiez que la règle doit effectivement
appelant la procédure de validation de
s’appliquer sur votre champ. Si tel est le
Avec les règles métiers, vous sai- l’email sur le champ.”
cas, dans votre code, faites appel à la
sissez ces informations, ces règles, procédure de validation d’email de votre
Votre règle possède maintenant sa des-
dès la phase de conception, ou à projet.
cription. L’intérêt de la règle est de savoir
tout moment pendant le dévelop- • Indiquez ensuite que, pour ce champ, la
sur quel(s) élément(s) elle s’applique.
pement, directement dans WinDev règle est réalisée. Pour cela, positionnez-
11. vous sur l’onglet «liens automatiques».

92 - TDF TECH 2007 - www.pcsoft.fr


Les règles métiers
Dans la liste des “éléments correspon- autres utilisateurs que vous êtes en train
dants”, sélectionnez la ligne correspon- d’appliquer cette règle à l’élément.
dant au champ que vous venez de placer.
• Changez l’état du lien en «Réalisée»,
puis validez votre règle.
Si votre règle n’a pas à s’appliquer sur
le champ, par exemple, il s’agit d’un
champ en affichage seulement, vous
pouvez positionner l’état du lien en “non
concerné”.

Vous pouvez également positionner l’état


de la règle à “En cours” pour informer les

TDF TECH 2007 - www.pcsoft.fr - 93


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

94 - TDF TECH 2007 - www.pcsoft.fr


Organisation des développements
Thème 13 : 
Organisation des développements

TDF TECH 2007 - www.pcsoft.fr - 95


Gestion du temps
LES POINTS FORTS

• Prise en compte des


micros tâches

La gestion du temps dans vos • Vision globale

développements Projet Associé

Donc, pour ceux Roue des tâches


qui veulent gérer Vous savez que lorsque vous êtes sur une
leur temps, le tâche, vous n’êtes jamais réellement à
volet «suivi de 100% dessus. Il existe toujours des micro-
projets» est dis- tâches qui viennent s’insérer : un télé-
ponible dans phone qui sonne, une réunion de dernière
WinDev. Vous minute, etc...
indiquez direc- Et ces microtâches ne sont jamais prises
tement, dans en compte dans le planning.
WinDev, sur Il ne faut pas que ces microtâches soient
quelle tâche vous comptabilisées dans le temps passé sur
travaillez : pour votre tâche en cours.
cela, sélection-
La version 11 résout ce problème avec la
nez une tâche
roue des tâches d’interruption.
et cliquez sur le
bouton «Indiquez
la tâche comme Exemple d’utilisation:
en cours». Vous êtes en train de travailler sur une
tâche, par exemple «ajout d’un histori-
Cependant, il se que».
peut que vous ne Un collègue vous appelle pour l’aider
pensiez pas forcé- à brancher son imprimante. Vous allez
WinDev vous permet de gérer
ment à changer votre tâche en cours. l’aider, vous lui réinstallez son driver,
et d’organiser votre temps. Pour En version 11, WinDev vous demande, à etc... : vous y passez 15 minutes.
cela, WinDev dispose, depuis la des moments clés, la tâche sur laquelle Lorsque vous revenez sur votre poste,
version 9, du Centre de Suivi de vous travaillez actuellement. la roue des tâches est affichée et vous
projets. indique une période d’inactivité sur votre
Ce centre a énormément d’inté- Un exemple : machine de 15 minutes, et vous propose
rêt que vous développiez seul, plusieurs taches d’interruption: réunion,
Vous changez de projet. Généralement,
que vous soyez chef de projet, ou téléphone, repas, …
lorsque vous changez de projet, vous
membre d’une équipe. changez de tâche.
Vous sélectionnez alors la tâche corres-
Par exemple, si vous êtes chef Une fenêtre spécifique apparaît alors : il
pondante, «Support interne» par exem-
de projet, il vous permet d’avoir s’agit de la petite fenêtre bleue en bas à
ple.
une vision précise et globale des droite de votre écran.
Grâce à cette roue, le temps consacré à
développements en cours. WinDev vous propose automatiquement aider votre collègue avec son imprimante
la liste des tâches de votre planning, et ne sera pas comptabilisé dans la durée de
Si vous développez seul, vous avez
vous demande sur quelle tâche vous allez la tâche en cours.
votre liste des tâches, et votre
travailler.
planning.
Il vous suffit alors de cliquer sur votre Avec ce système, vous pourrez vous ren-
nouvelle tâche, et le suivi de tâches est dre compte que vous passez 1h30 par jour
Fonctionnalités automatiquement renseigné. à faire du support utilisateur, par exem-
ple.
Le Centre de Suivi de projets permet éga- Bien sûr, vous pouvez paramétrer cette
aide à la gestion du temps pour qu’elle Avec WinDev 11, vous savez où passe
lement de définir des rendez-vous, des
s’adapte à votre rythme de travail. Vous votre temps.
réunions, et des tâches périodiques pour
pouvez aussi la désactiver si vous le sou- Pour les prestataires de service, cela est
chaque développeur.
haitez. très utile, si vous facturez la prestation
Mais pendant le développement, le au temps passé.
développeur ne passe pas son temps dans
le Centre de Suivi de projets.

96 - TDF TECH 2007 - www.pcsoft.fr


Centres de contrôles
LES POINTS FORTS

• Partage distant

Accès distants aux centres de


contrôles Projet Associé

Notre Astuce
Quand vous utiliser le CC Feedback, vous
devez définir le chemin d’accès aux don-
nées des centres de contrôle.
Ce chemin a changé, vous devez donc le
modifier dans la fonction «configure».

// Configuration des Centres de


contrôle en Client/Serveur
Configure(fbCheminDonn
eesCC,”hfcs//MARC:mdp@
ServeurNewYork:4900/Siège”)

Autre astuce
Par précaution, mettez votre ancien
répertoire de données des Centre de
Contrôle en lecture seule.

En version 11, les données de vos distant, vous pouvez bien sûr l’utiliser.
centres de contrôle sont mainte- • Cliquez sur le bouton “assistant d’im-
nant accessibles à distance. portation”.
• Indiquez la machine serveur sur laquelle
Vous pouvez ainsi gérer à dis- se trouve votre serveur Hyper File.
tance et partager à distance : • Donnez un nom à la base de données.
votre planning, les messages, les • Saisissez le nom et le mot de passe de
fiches de bugs, … l’administrateur de la base.
• Cliquez sur le bouton «Importer».
Comment faire pour passer vos
données actuelles des Centres WinDev importe les données actuelles des
de contrôle en mode distant ? Centres de Contrôle et les met sur votre
serveur. Il crée une base partagée acces-
Pour passer vos Centres de contrôles en sible à distance. Ensuite, dans WinDev,
mode distant : rien ne change ! Vous travaillez avec vos
• Utilisez le menu “Outils .. Options de centres de contrôle comme vous l’avez
WinDev”. toujours fait.
• Cliquez sur “Paramètres des centres de
contrôle” 8

Actuellement, vos données sont en Hyper


4

File Classic, stockées dans un répertoire 2 0

spécifique.
TDF TECH 2007
Tour de France Technique

Pour les passer en mode distant, vous


devez utiliser le mode Client/Serveur.
Pour cela, il vous suffit juste de mettre
en place un serveur Hyper File Client/
Serveur accessible via Internet. Si vous
avez déjà un serveur accessible en mode

La Lettre du Support Technique PC SOFT - 97


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

98 - TDF TECH 2007 - www.pcsoft.fr


Ouverture aux autres technologies
Thème 14 : 
Ouverture aux autres technolo-
gies

TDF TECH 2007 - www.pcsoft.fr - 99


Java
LES POINTS FORTS

• Accès simple à une base


de données

Utilisation des fonctions Hxx en • Partage de code

Java Projet Associé

liser. Attention, ce nom est sensible à la


casse.
// Création de la connexion
HDécritConnexion(“MaConnexion
MySQL”, “user”, “mdp”, “jdbc:
mysql://tdfprincipal/Base_
CRMJava”, “Base_CRMJava”,hAccè
sJDBCMySQL,0,”com.mysql.jdbc.
Driver”)
Ensuite, vous ouvrez la connexion avec la
fonction HOuvreConnexion et le nom de
la connexion.
Puis vous appliquez le changement de
connexion avec HChangeConnexion.
// Ouverture de la connexion
HOuvreConnexion(...
“MaConnexionMySQL”)

HChangeConnexion(“*”,...
“MaConnexionMySQL”)
Pour le reste, vous développez comme
d’habitude, en WLangage, sans rien
connaître de Java,…ni de MySQL
d’ailleurs!
// Rechercher l’identifiant
// du client dans le cas d’une
// requête
Avec WinDev, vous pouvez déve- d’un pilote d’accès. Ce pilote d’accès est
HLitRecherchePremier(...
lopper une application Java, sans livré avec la base elle-même ou est dispo-
Client, NumClient, ...
connaître Java. Vous programmez nible sur le site de l’éditeur.
ColIdentifiant)
en WLangage et WinDev génère Exemple sur MySQL // Initialiser les différents
pour vous du Java. Voyons comment faire pour utiliser une // champs avec la valeur
base MySQL avec les ordres Hxx. // de l’enregistrement en cours
Une nouveauté en version 11, les D’abord, vous devez décrire explicite- FichierVersEcran()
ordres Hxx sont maintenant dis- ment la connexion par programmation. Maintenant que votre application est
ponibles en Java sur Hyper File, Par exemple dans le code d’initialisation développée, vous devez générer l’exécu-
MySQL, et SQL Server. du projet. table Java.
• Cliquez sur le menu “Atelier .. Java ..
Affichez le code du projet (menu “Projet Générer l’archive Java”.
Sur Hyper File .. Code du projet”). • Avancez jusqu’au plan du driver (cli-
quez sur le bouton Suivant deux fois pour
Sur Hyper File, vous faites vos La connexion est décrite avec la fonction y parvenir).
HLitRecherche, HLitSuivant : vous déve- “HDécritConnexion”.
loppez comme à votre habitude. Plusieurs paramètres lui sont passés : Dans cet exemple, vous accédez à MySQL
• le nom de la connexion, par JDBC: il vous faut donc inclure le dri-
Sur MySQL et • le nom de l’utilisateur, ver JDBC dans l’archive java à générer.
SQLServer • le mot de passe,
• l’Url de connexion à la base de don-
• Ajoutez le driver MySQL.
• Cliquez sur le bouton “Terminer”.
Sur MySQL et SQLServer, il existe quelques nées, WinDev génère l’archive Java, le .JAR de
particularités. Pour ces bases, il faut uti- • le type d’accès : ici JDBC pour MySQL votre application.
liser un driver JDBC : il s’agit simplement • le nom complet du driver JDBC à uti-

100 - TDF TECH 2007 - www.pcsoft.fr


Lotus Notes
LES POINTS FORTS

• Interaction avec un
existant

Vos applications interagissent


avec Lotus Notes Projet Associé
WD Ouverture

Disponible sur le DVD

Affichez le code de la combo de sélection


des vues.

Vous devez ensuite activer la vue que


vous souhaitez afficher avec la fonction
NotesActiveVue.
//Sélection de ‘<aucune>’ :
//désactive la vue en cours
SI COMBO_VUE=1 ALORS
 NotesDésactiveVue(nIDBase,””)
SINON
 //Sélection de la vue en cours
 NotesActiveVue(nIDBase,...
COMBO_VUE[COMBO_VUE])
FIN
Le premier document doit ensuite être lu
avec la fonction NotesDocumentPremier.
Enfin, vous parcourez tous les champs du
document, et vous affichez leur valeur et
éventuellement leurs pièces jointes.
NotesDocumentPremier(nIDBase)

Notre Astuce : Gestion des


champs RTF
//Gestion des champs rich text
Si vous disposez dans votre entre- Affichez le code de la fenêtre «Fen_
SI nType = notesTypeTexteRiche
prise d’un existant de type Lotus ListeMatériel» ALORS
Notes Domino, WinDev 11 vous //S’il possède un fichier
Pour commencer, vous devez vous connec- // attaché, on l’affiche
offre des fonctions WLangage
ter au serveur Domino avec la fonction  SI NotesNbFichierAttaché(...
pour interagir, en natif, avec eux. nIDBase,sChamp)>0 ALORS
NotesOuvreConnexion.
sImage est chaîne = ...
nIDConnexion est un entier = No
Avant, pour manipuler une base fRepEnCours()+[“\”]+...
tesOuvreConnexion(“pcspcs”,””,
Lotus Notes, vous deviez utiliser “PJ\image.jpg”
fRepExe() + “\pol.id”)
//Extrait l’image
OLE Automation, OLEDB ou ODBC.
Pour l’exemple, si vous êtes en local, le NotesExtraitFichierAttaché(...
Depuis la version 11, vous disposez nIDBase,sChamp,1,sImage)
nom du serveur doit être une chaîne vide
de nouvelles fonctions WLangage («»). //Affiche l’image
pour accéder nativement à vos IMG_ORDI=sImage
bases Notes. Vous pouvez accé-  FIN
Ensuite, vous ouvrez votre base avec la
FIN
der aux contacts, aux emails, aux fonction NotesOuvreBase.
tâches, aux rendez-vous et aux nIDBase est un entier = NotesOu
documents, en lecture, comme en vreBase(nIDConnexion,fRepExe()
écriture. + “\StockMat.nsf”)
Vous récupérez toutes les vues de cette
Cette fenêtre est une fenêtre WinDev de base avec la fonction NotesListeVue.
gestion de parc informatique qui utilise
// Ajoute la liste des vues
une base Lotus Notes. Par exemple, vous
ListeAjoute(COMBO_VUE,..
souhaitez voir les PC triés par système “< Aucune >”)
d’exploitation : il vous suffit de sélec-
ListeAjoute(COMBO_VUE,...
tionner la vue qui correspond, puis de
NotesListeVue(nIDBase)
parcourir les différents PCs trouvés.

La Lettre du Support Technique PC SOFT - 101


Outlook
LES POINTS FORTS

• Interaction avec un
existant

Vos applications interagissent


avec Outlook Projet Associé
WD Ouverture

Disponible sur le DVD

mContact.Nom + [“ “] + ...
mContact.Prénom, ...
mContact.Email)
 // Passe au contact suivant
 ContactSuivant(...
gnIDSessionOutlook)

 SI ZR_CONTACTS..Occurrence >
1000 ALORS SORTIR
FIN
Vous passez au contact suivant avec la
fonction ContactSuivant.
Enfin, vous fermez la session avec la
fonction EmailFermeSession.
// Fermeture de la session
EmailFermeSession(...
gnIDSessionOutlook)

Pour parcourir les emails, tâches et ren-


dez-vous de Outlook, le même principe
est applicable :
• Les emails : utilisez les fonc-
tions WLangage EmailLitPremier,
Depuis la version 11, vous dispo- Cette fonction EmailOuvreSession- EmailLitSuivant, etc...
sez des fonctions WLangage pour Outlook vous renvoie un identifiant de • Les tâches : utilisez les fonc-
session. Cet identifiant sert pour tou- tions TachePremier, TacheSuivant,
accéder, en lecture et en écriture,
tes les manipulations sur Outlook ou TacheAjoute, etc..
aux contacts, aux tâches, aux
Exchange pendant la session. • Les rendez-vous : utilisez les
rendez-vous … de Outlook. fonctions RendezVousPremier,
Vous pouvez lire le premier contact avec RendezVousSuivant, RendezVous-
Dans la fenêtre “FEN_Outlook”, la la fonction WLangage ContactPremier. Ajoute, etc..
zone répétée est remplie avec les En paramètre, vous lui donnez l’identi- Ces fonctions sont utilisables pour Lotus
informations des contacts qui sont fiant de la session. Notes et Exchange : seule la connexion
stockées dans Outlook. // Lecture du premier contact change.
ContactPremier(...
Ouvrez la fenêtre “FEN_Outlook” et affi- gnIDSessionOutlook)
chez son code d’initialisation (faites un
La fonction ContactPremier remplit une
clic droit sur la fenêtre puis cliquez sur
structure avec l’ensemble des informa-
“Code”).
tions du contact.
8

Vous devez commencer par ouvrir une


Et, tant que vous trouvez des contacts, 6

session sur Outlook : pour cela, utilisez


vous les ajoutez dans la zone répétée avec
la fonction EmailOuvreSessionOutlook.
4

la fonction ZoneRépétéeAjouteLigne.
Vous pouvez préciser le nom du profil à
2 0
TDF TECH 2007
Tour de France Technique

utiliser.
// Tant qu’on est pas endehors
gnIDSessionOutlook est un TANTQUE PAS mContact.EnDehors
entier  // On ajoute le contact et son
// Ouverture de la session  // adresse mail dans la zone
// outlook // répétée
gnIDSessionOutlook = ...  ZoneRépétéeAjouteLigne(...
EmailOuvreSessionOutlook(“”) ZR_CONTACTS,...

102 - TDF TECH 2007 - www.pcsoft.fr


Internet/Intranet avec WebDev
Thème 15 : 
Internet/Intranet avec WebDev

TDF TECH 2007 - www.pcsoft.fr - 103


Référencement
LES POINTS FORTS

• AWP
• Référencement

Comment référencer
efficacement votre site Projet Associé

WebDev ?
Solution 1 :
Si la page à afficher n’attend pas de para-
mètres, utilisez les actions prédéfinies
de WebDev. Pour cela, ouvrez la fenêtre
de propriétés du champ lien (clic droit,
“Description”) et sélectionnez l’option
“Afficher la page XXXX” (où XXXX est le
nom de la page à afficher) dans la combo
“Actions” de l’onglet “Général”.

Solution 2 :
Si la page à afficher attend des paramè-
tres, utilisez la propriété WLangage ..URL
dans le code d’initialisation du champ ou
de la page.
Exemple :
MONLIEN..Url = ...
“page.awp?param=valeur”

Quatrième conseil :
ajoutez un texte
alternatif sur les
images
Tous les textes de la page sont référencés
Premier conseil : En effet, les noms de pages intervien-
par les moteurs de recherche :
nent dans le référencement. Les noms de
utiliser le mode AWP pages sont utilisés comme mots-clés par
• Contenu texte de votre page
• Nom de la page
de WebDev les moteurs de recherche
• Titre de la page
L’intérêt majeur du mode AWP est qu’il Troisième conseil : • Bulles d’aide
• Textes alternatifs sur les images
n’y a pas de contexte. Chaque page est
adressable directement. L’URL de la page
évitez d’écrire Le texte alternatif des images est le texte
reste la même, elle est donc facilement du code dans qui est affiché si l’image n’est pas acces-
référençable par les moteurs de recher-
che.
l’événement “clic sible par le navigateur. Mais ce texte est
également référencé par les moteurs
Pour indiquer qu’une page est en serveur” des liens de recherche. Pensez donc à remplir le
mode AWP, il suffit de cocher l’option champ “Texte alternatif” de vos champs
Pour les liens qui affichent d’autres pages
“Génération en mode AWP” dans la fenê- images (onglet “Détails” de la fenêtre de
de votre site, n’utilisez pas la fonction
tre de description de la page. propriétés des champs image).
WLangage “PageAffiche”.
Retrouvez toutes les informations sur
le mode AWP de WebDev dans l’aide en
En effet, si vous écrivez du code serveur Remarques
ou navigateur sur champ de type « Lien »,
ligne, au mot-clé “AWP (Active WebDev Les balises “META” qui permettent d’ajou-
une procédure JavaScript permettant
Page), Présentation”. ter des mots-clés à vos pages ne sont plus
d’exécuter ce code sera associée au lien.
Son URL n’est alors pas référençable par uniquement nécessaires. Aujourd’hui tous
Deuxième conseil : les moteurs de recherche. les moteurs de recherche se basent sur
utilisez des noms de le contenu réel de vos pages, et non plus
seulement sur les balises “META”.
page “intelligibles”

104 - TDF TECH 2007 - www.pcsoft.fr


Internet/Intranet avec WebDev
Ancrages
LES POINTS FORTS

• Ancrage en hauteur
• Ancrage en largeur

Les ancrages dans vos sites • Centrage

WebDev Projet Associé


WebDev_Ajax

Disponible sur le DVD

au milieu.
• La zone fixe ne “bougera” pas.
• La zone ancrée s’agrandira à 100% en
hauteur.
Les différentes zones de la page sont
donc maintenant définies.

Centrage du titre
Le bandeau vert du haut de page s’agran-
dit à 100% en largeur et reste fixe en
hauteur. Dans ce bandeau vert, un champ
libellé est placé en son centre.
Cliquez sur le bandeau vert (champ
“CELL_Cellule1”).
Vous remarquez alors une règle en bas de
ce champ. Cette règle permet de définir
les ancrages à l’intérieur de cette cel-
lule.
Cette cellule est découpée en trois
zones :
• Une partie à gauche du champ
• Le champ
• Une partie à droite du champ

Les ancrages sont disponibles L’ancrage à 100% de la cellule doit être


Pour définir les ancrages, passons en réparti entre ces trois zones.
dans WebDev. Ils permettent de
mode “Visualisation des zones extensi- Pour que le titre reste toujours au centre
définir le comportement de votre bles”. Ce mode est accessible grâce l’op- de la cellule, il suffit d’indiquer que :
interface lors de l’agrandisse- tion de menu “Affichage .. Affichage des • la partie à gauche du champ occupera
ment du navigateur, pour éviter zones extensibles” ou grâce au raccourci 50% de la largeur de la cellule
les ascenseurs par exemple, mais CTRL + I. • la partie à droite du champ occupera
surtout pour occuper tout l’espace En bas et à droite de la page sont appa- 50% de la largeur de la cellule
disponible, et ce, quelle que soit rues des règles. Ces règles permettent de • la zone du champ reste fixe
la résolution de l’internaute. définir les zones de la page à ancrer.

Ancrage en largeur Remarques


Exemple Les ancrages ne doivent jamais dépas-
En largeur, deux zones sont disponibles.
Ouvrez la page PAGE_Ancrages dans Une zone fixe (en gris) pour le menu et ser 100%. En effet, si une zone fait plus
WebDev. Lancez le test de cette page et une zone ancrée (en vert) pour la zone de de 100% (en hauteur ou en largeur), elle
redimensionnez votre navigateur. Cette champs au milieu : dépassera les limites du navigateur et des
page s’agrandit ou se réduit avec le navi- • La zone fixe ne “bougera” pas. ascenseurs seront alors affichés en exé-
gateur et le titre reste centré. • La zone ancrée s’agrandira à 100% en cution.
Retournez sous WebDev. largeur. En règle générale, pensez à définir les
ancrages sur tous les niveaux.
Ancrage des zones Ancrage en hauteur Dans notre exemple, les ancrages ont été
Dans cette page, nous avons : En hauteur, deux zones sont également définis sur les pages (le plus haut niveau),
• Un bandeau en haut disponibles. Une zone fixe (en gris) qui et une cellule (le bandeau vert, le niveau
• Un menu à gauche contient le bandeau vert, et une zone le plus bas).
• Une zone de champs au milieu ancrée (en vert) pour la zone de champs

La Lettre du Support Technique PC SOFT - 105


Vignettes Ajax
LES POINTS FORTS

• Vignettes
• Ajax

Réalisation de vignettes AJAX


Projet Associé
WW_PCSAlbum

Disponible sur le DVD

Dans la zone répétée, le champ vignette


a été remplacé par un champ “image cli-
cable” pour personnaliser le clic.
Affichez le code de l’image (clic droit,
option “Code”).
Dans le code de clic de l’image :
• La cellule est centrée dans le naviga-
teur
• On effectue une recherche sur la photo
cliquée
• On affecte la photo au champ vignette
• On rend la cellule visible

Le champ “Vignette” de WebDev vignette “plus grande” dans la même


permet d’afficher une miniature page que la vignette elle-même, plutôt
d’une image. que de l’ouvrir dans un nouveau naviga-
teur.
Lorsque l’internaute clique sur
cette miniature, l’image apparaît • Retournez sous WebDev.
en plus grand, dans un nouveau • Ouvrez la page “PageMesPhotos”.
navigateur. • Lancez le test de cette page et cliquez
sur une vignette : l’image est affichée
dans la même page.
Exemple • Retournez sous WebDev.

Ouvrez la page “PAGEMesPhotos_


Vignettes” du projet WW_PCSAlbum. Méthode utilisée
Lancez le test de cette page et cliquez En bas de la page, une cellule CELL_ZOOM
sur une vignette. contient un champ vignette. Cette cellule
est invisible (option “Visible” de l’onglet
Aller plus loin... “Détail” de la fenêtre de description du
Pour rendre le site plus interactif, il peut champ cellule).
être intéressant d’afficher d’abord une

106 - TDF TECH 2007 - www.pcsoft.fr


Internet/Intranet avec WebDev
Honolulu
Nouvelle version du portail
Intranet / Extranet : Honolulu

Honolulu utilise une


base de données
Hyper File Client/
Serveur.

Les sources de
Honolulu seront dis-
ponibles prochaine-
ment sur notre site
Internet. Vous pour-
rez ainsi modifier et
personnaliser ce por-
tail selon vos propres
besoins.

WebDev est réputé pour le déve-


loppement facile et rapide de
sites Internet et Intranet.

Honolulu est un portail Internet/Intranet


complet gratuit.
Honolulu a été réécrit avec WebDev 11,
afin de profiter au maximum de toutes les
nouvelles fonctionnalités de la version 11
et notamment du Web 2.0 et d’AJAX.

La Lettre du Support Technique PC SOFT - 107


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

108 - TDF TECH 2007 - www.pcsoft.fr


La mobilité avec WinDev Mobile
Thème 16 : 
La mobilité avec WinDev Mobile

TDF TECH 2007 - www.pcsoft.fr - 109


.NET SUR MOBiLE
LES POINTS FORTS

• Utilisation d’un assem-


blage .NET du compact

Utilisation d’un assemblage Framework

.NET sur un Pocket PC Projet Associé


Composant Pidion

Disponible sur le DVD

// Contrôle que l’ouverture ne


// soit pas déjà effective
SI gclPrinter:IsOpened() = Vrai
ALORS
 // Message pour l’utilisateur
 Info(“Déjà ouvert”)
 RETOUR
FIN
gclPrinter:Open(0)
...
Par exemple, ce code permet de sortir
une impression sur le terminal.
• Faites un GO de l’application sur le ter-
minal.
• Cliquez sur le bouton «imprimer» : l’im-
pression sort.
Donc si vous êtes obligés de faire du .NET
en mobile, avec WinDev Mobile  11, vous
pouvez le faire.

Notre astuce
Le framework .NET pour PC et le
framework .NET pour mobile sont diffé-
rents. Donc, si vous devez développer en
.NET pour mobile, attention d’installer
Les fonctionnalités spécifiques .NET est orienté objet. Vous retrouvez le bon framework .NET sur votre PC : il
du terminal “Pidion” sont gérées donc la liste des classes, des membres et s’agit du “Compact Framewok”.
par un composant WinDev Mobile des méthodes importés par l’assemblage
dans le volet WinDev.
livré sur le DVD.
Autre astuce
Le pilotage de ses fonctionnali- Et ensuite, vous pouvez utiliser ces clas-
Pensez aussi à vérifier que le framework
tés est également possible avec ses, ces méthodes… comme toute autre
.NET est installé sur le Pocket PC.
un assemblage .NET, fourni par le classe de votre projet.
La fonction WLangage .NETVersion per-
fabriquant de ce matériel. met de le faire.

Pour illustrer notre sujet, vous allez uti-


liser cet assemblage, et notamment les
fonctions d’impression.

Pour importer un assemblage .NET dans un


projet mobile, utilisez le menu “Atelier ..
.NET .. Utiliser un assemblage .NET”.

WinDev Mobile vous liste toutes les


assembly disponibles sur le poste. Et vous
LST 68
choisissez l’assemblage que vous voulez
importer. Retrouvez le détail du composant “PIDION BIP
5000” ainsi que les explications correspondan-
tes dans la LST 68.

110 - TDF TECH 2007 - www.pcsoft.fr


Débogage
LES POINTS FORTS

• Tests de fonctionnalités
spécifiques

Le débogage d’une application


sur le mobile Projet Associé

mobile.
Vous retrouvez votre application sur le
terminal.
• Cliquez sur le bouton où le point d’arrêt
a été ajouté.
• Le débogueur s’arrête sur le point d’ar-
rêt que vous avez indiqué.

Astuce
Pensez à bien placer vos points d’arrêt,
pour arriver rapidement dans le code
que vous voulez tracer. L’exécution et le
débogage sont en effet effectués sur le
terminal mobile, et sont donc forcément
un peu plus lents.

Vous pouvez :
• Exécuter en pas à pas : utilisez la tou-
che F7.
• Afficher le contenu des variables : sur-
volez-les avec votre curseur
• Placer un autre point d’arrêt et exécu-
ter jusqu’à ce point,
• Évaluer des expressions, ….
• Définir l’instruction suivante à exécu-
ter….
Avec WinDev Mobile, vous pouvez • Vous accédez aux applica-
tester directement l’application tions standard embarquées sur le En fait, vous avez accès à l’ensemble des
mobile sur le PC, grâce au simula- Pocket PC : par exemple Outlook. fonctionnalités du débogueur tel que vous
teur livré en standard. l’utilisez dans WinDev, et ça directement
sur le terminal mobile.
L’avantage est que vous n’avez Comment déboguer
pas besoin du terminal mobile :
cela vous permet de tester vos sur le terminal
interfaces, vos traitements classi- • Ouvrez une fenêtre d’un projet
ques facilement. WinDev Mobile.
• Affichez, par exemple, le code d’un
Mais dans certains cas, vous
bouton (faites un clic droit sur la bouton,
avez besoin de tester et débo- puis cliquez sur “Code”) et positionnez-
guer directement sur le terminal vous sur le code de clic de ce bouton.
mobile, parce que vous utilisez un • Mettez un point d’arrêt au début du
périphérique ou une particularité code du clic.
du matériel qui n’existe pas dans Un nouveau mode de test (GO) est dispo-
le simulateur. Par exemple : nible en version 11 : “déboguer le projet
• Vous utilisez le lecteur RFID d’un sur le terminal”.
matériel industriel, • Lancez votre application par ce nou-
• Vous utilisez les fonctions veau mode.
Téléphonie sur des Pocket
Phone… WinDev Mobile copie les éléments
nécessaires au débogage sur le terminal

La Lettre du Support Technique PC SOFT - 111


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

112 - TDF TECH 2007 - www.pcsoft.fr


La téléphonie avec WinDev
Thème 17 : 
La téléphonie avec WinDev

TDF TECH 2007 - www.pcsoft.fr - 113


Téléphonie
LES POINTS FORTS

• Téléphonie

Utilisation des fonctions de


téléphonie sur un IPBX Projet Associé
WD IPBX

Disponible sur le DVD

Un PABX sert à relier les postes Comment ça Comment ça marche


téléphoniques d’une entreprise au
réseau téléphonique public.
marche ? avec WinDev ?
Tous les téléphones de l’entreprise sont Grâce aux fonctions de téléphonie de
Les PABX ont évolué. Ils permet- reliés au réseau, simplement par des WinDev, vous pouvez faire interagir vos
tent maintenant de gérer la voix cables réseaux RJ-45. Chaque téléphone applications avec un IPBX.
sur IP (VOIP). Cette nouvelle géné- est identifié par une adresse IP. Ouvrez la fenêtre FEN_PRINCIPALE du pro-
ration a donc changé de nom et Tous les appels téléphoniques passent par jet “WD IPBX”. C’est dans cette fenêtre
s’appelle les IPBX. l’IPBX, que ce soit des appels entrants ou que les appels téléphoniques sont détec-
Un IPBX peut gérer des centaines des appels sortant. tés et traités.
voire même des milliers de télé- L’IPBX fait simplement la correspon- // Sélectionne le périphérique
phones. dance entre le numéro de téléphone et // à utiliser
l’adresse IP. // pour toutes les fonctions de
// téléphonie
Un ordinateur peut communiquer avec telPériphérique(“NetxServ”)
l’IPBX grâce à un pilote TAPI et ainsi gérer // Démarrage de la détection
les téléphones. // des appels
telDémarreDétectionAppel(...
“DETECTION_APPELS”,...

114 - TDF TECH 2007 - www.pcsoft.fr


La téléphonie avec WinDev
telOptionTypeVoix + ... telNuméroAppelant(nIDAppel)
telOptionMoniteur,...
Conclusion
_EvenementAppels) // Ouverture de la fiche client Les fonctions de téléphonie de WinDev
  LIB_ETATLIGNE = ... vous permettent d’effectuer de nom-
La fonction WLangage TelPériphérique
“Appel en cours...”
permet de sélectionner le périphérique breux traitements :
  OuvreFille(FEN_CLIENT,...
à utiliser. • Enregistrer une conversation
sNuméroAppelant)
• Créer un serveur vocal
telPériphérique(«NetxServ»)
  CAS telLigneRaccrochée • Effectuer du monitoring sur les appels
Dans notre exemple, le périphérique est // La ligne est raccrochée, je (statistiques sur les horaires d’appel,
le nom du serveur IPBX (ici “Nextserv”). // ferme la fenêtre durées d’appels)
  SI FenEtat(FEN_CLIENT) <> • Connaître à tout moment l’état d’occu-
La détection des appels est ensuite Inexistant ALORS pation des lignes téléphoniques
démarrée grâce à la fonction TelDémar Ferme(FEN_CLIENT) • Etc.
reDétectionAppel. FIN

telDémarreDétectionAppel(«DE // Et je remets l’image en


TECTION_APPELS»,telOptionTyp / attente
eVoix + telOptionMoniteur,_ LIB_ETATLIGNE = “Disponible”
EvenementAppels) IMG_ETAT = IMG_RACCROCHEE
FIN
Cette fonction attend plusieurs paramè-
tres : Cette procédure permet de traiter les
• Un identifiant différents événements détectés.
• Le type des appels à détecter (ici : Dans notre exemple, cette procédure
appels vocaux et fax). Notre application permet de :
doit gérer les appels, l’option telOption- • Détecter un appel entrant
Moniteur permet de le faire. Une image est affichée dans la fenê-
• Une procédure à exécuter lors d’une tre pour indiquer un nouvel appel
détection • Récupérer les informations sur l’appel
Le numéro de l’appelant est récupéré
Dans le code, cliquez sur EvenementAppels grâce à la fonction TelNuméroAppelant
et appuyez sur la touche F2 pour voir le et la fenêtre de détails du client cor-
code de cette procédure. respondant au numéro est affichée.
• Détecter lorsque la ligne est raccrochée
La fenêtre de détails du client est fer-
PROCEDURE _EvenementAppels(... mée.
sIdentifiant, nIDAppel, ...
nTypeEvenement)
sNuméroAppelant est une chaîne
SELON nTypeEvenement
  CAS telNouvelAppel
// Change l’image du téléphone 8

// pour signifier un appel 6

// entrant 4

  LIB_ETATLIGNE = ... 2

“Appel entrant détecté...”


0
TDF TECH 2007
Tour de France Technique

  IMG_ETAT = IMG_APPEL

  CAS telInformationAppel
// Les informations sur l’appel
// sont arrivées,
// On récupère le numéro de
// l’appelant
  sNuméroAppelant = ...

TDF TECH 2007 - www.pcsoft.fr - 115


Abonnez-vous !
L70154
Tarif modifiable sans préavis Vos Nom & Prénom : ...........................................................................
Votre Société : ..................................................................................
Bulletin d’abonnement à retourner Votre Adresse précise : ........................................................................
avec votre règlement à : .....................................................................................................
PC SOFT Code Postal : .............................. Ville : .............................................
Lettre du Support Technique Pays : ........................................ Tel : ...............................................
BP 44 408 Adresse Email : .................................................................................
34197 MONTPELLIER Cedex 05
France Je choisis un abonnement “LST PC SOFT” pour : À partir du numéro : ..............

En cas de paiement par carte bancaire,


FRANCE Métropolitaine □ 1 an - 4 N°+ 4 DVD : 159 euros HT; 190,16 euros TTC
vous pouvez nous faxer votre abonne-
□ 2 ans - 8 N°+ 8 DVD : 279 euros HT ; 333,68 euros TTC
ment au :
+33 (0) 4 67 03 07 87 AUTRE (exp. par avion) □ 1 an - 4 N°+ 4 DVD : 175 euros HT
□ 2 ans - 8 N°+ 8 DVD : 299 euros HT
Note : une facture acquittée est systématique-
 Ci joint mon règlement de : ............. Euros TTC ment adressée.

□ Je règle par chèque.        J’autorise PC SOFT à débiter sur ma carte VISA/MasterCard

□□□
            la somme de : ..................... Euros
□ Je règle par Carte Bancaire.      Cryptogramme :

□□□□□□□□□□□□□□□□ □□ □□□□
Numéro complet de la carte : la carte expire : mois année

Signature obligatoire du détenteur de la carte :


Nom du détenteur de la carte :
..........................................................

116 - TDF TECH 2007 - www.pcsoft.fr


Annexes
Annexes

TDF TECH 2007 - www.pcsoft.fr - 


Annexe A
Quelques commandes du
W-Langage

Attention : Le lexique ci-dessous n’est qu’un extrait des possibilités du langage de WinDev, WebDev et WinDev Mobile. La
lecture des manuels fournis reste incontournable. Ne sont présentées ici que les commandes nécessaires à la bonne compréhension de
cette formation.

Commandes de gestion de fichiers


Commande / Syntaxe But

EcranVersFichier Renseigner le buffer fichier d’après les données saisies


par l’utilisateur dans la fenêtre.

FichierVersEcran Initialiser une fenêtre d’après les dernières valeurs lues


dans le fichier.
HAjoute(NomFichier) Ajouter dans le fichier l’enregistrement préparé en
mémoire.
HCréationSiInexistant(NomFichier) Ouvrir le fichier en le créant à vide auparavant s’il
n’existait pas sur disque.
HErreurDoublon() Tester le compte rendu renvoyé par le moteur de base de
données en cas de tentative de création de doublon.

HErreurIntégrité() Tester le compte rendu renvoyé par le moteur de base de


données en cas de tentative d’écriture d’enregistrement
ne respectant pas les contraintes d’intégrité.

HFiltre(NomFichier,Clé,Valeur) Filtrer les enregistrements du fichier dont la clé indiquée


correspond à la valeur choisie.

HLitDernier(NomFichier, Clé) Se positionner sur le dernier enregistrement du fichier


selon la clé spécifiée et charger l’enregistrement en
mémoire.
HLitPrécédent(NomFichier, Clé) Se positionner sur l’enregistrement précédent du fichier
selon la clé spécifiée et charger l’enregistrement en
mémoire.
HLitPremier(NomFichier,Clé) Se positionner sur le premier enregistrement du fichier
selon la clé spécifiée et charger l’enregistrement en
mémoire.
HLitRecherchePremier(NomFichier,... Rechercher le premier enregistrement du fichier dont la
Clé, Valeur) clé indiquée correspond à la valeur choisie, puis charger
l’enregistrement en mémoire.

II - TDF TECH 2007 - www.pcsoft.fr


Annexes
HLitSuivant(NomFichier,Clé) Se positionner sur l’enregistrement suivant du fichier
selon la clé spécifiée et charger l’enregistrement en
mémoire.
HModifie(NomFichier) Réécrire l’enregistrement courant du fichier avec les
valeurs stockées en mémoire.
HRaz(NomFichier) Remettre à zéro (réinitialiser) l’enregistrement du
fichier.
HSupprime(NomFichier) Supprimer l’enregistrement courant du fichier.

Compte-rendu du moteur de bases Valeur


de données

HEnDehors(NomFichier) Renvoie Vrai si on tente de lire un enregistrement au-


delà du début ou de la fin du fichier.

HTrouve(NomFichier) Renvoie Vrai après une recherche si la recherche a


abouti.

Autres commandes
Commande / Syntaxe But

DateSys() Récupérer la date système au format AAAAMMJJ.


Erreur(“Message”) Afficher un message d’erreur.

ExécuteTraitement(Champ,... Exécuter le traitement d’un champ ou d’une fenêtre.


Traitement)
HeureSys() Récupérer l’heure système au format HHMMSSCC.
Info(“Message”) Afficher un message d’information.
Confirmer(“Question”) Poser une question à l’utilisateur (la réponse est un
booléen) .

RAZ() Remettre à zéro (réinitialiser) tous les champs de


l’écran.
RepriseSaisie(NomChamp) Interrompre le traitement en cours et positionner le curseur
sur le champ spécifié.

TableAffiche(NomTable, Position) Réafficher un champ table fichier (à l’écran) d’après les


données du fichier sur disque.

ListeAjoute(NomListe, chaine) Ajouter une ligne dans un champ liste ou combo.


ListeSupprime(NomListe) Supprimer une ligne de liste ou combo.

Les commandes sont indiquées avec la syntaxe utilisée dans les exemples réalisés.
Certaines fonctions acceptent d’autres paramètres ; se référer à l’aide en ligne pour plus de
d’informations.

TDF TECH 2007 - www.pcsoft.fr - III


Annexe B
Les principales touches de
raccourci

La liste ci-dessous présente les touches de fonction et les combinaisons de touches permettant d’accéder directement à une fonction-
nalité de WinDev. Cette liste n’est pas exhaustive.
Important : Sous WinDev, dans l’éditeur de fenêtres, comme dans l’éditeur de code, il est possible d’accéder simplement aux diffé-
rentes actions disponibles grâce au menu contextuel (Il suffit de faire un clic droit à la position de la souris).

Principales touches de raccourcis de l’éditeur de fenêtres


Touche But

F1 Aide en ligne.
F5 Visualiser l’ordre de saisie (ordre de tabulation).
F6 Visualiser le nom des champs.
CTRL Permet de sélectionner plusieurs champs à la souris.
CTRL+C, CTRL+V, CTRL+X Copier, Coller, Couper un champ, avec ses propriétés et son
code associé.
CTRL+R Affiche ou rend invisible les règles d’alignement.
SHIFT+F9 Tester l’IHM d’une fenêtre sans exécuter les traitements.

Principales touches de raccourcis de l’éditeur de code


Touche But

F1 Aide en ligne.
F2 Accéder au code d’une procédure en étant positionné sur le nom
de la procédure auparavant (CTRL + F2 pour revenir).

F4 Créer une procédure locale (Shift + F4 pour créer une procédure


globale).
F8 Liste des procédures locale (CTRL + F8 pour la liste des
procédures globales).

F11 Liste des fichiers, requêtes et rubriques.


CTRL+C, CTRL+V, CTRL+X Copier, Coller, Couper du code.
CTRL + « / » (pavé numérique) Mettre en commentaire (CTRL + Shift + “ / ” pour enlever les
commentaires).
ALT + T Activer la pipette pour sélectionner le nom d’un champ d’une
fenêtre.

IV - TDF TECH 2007 - www.pcsoft.fr

Vous aimerez peut-être aussi