OPPEZ10FOI
SPL
USVI
TE
WINDEV 21 Express
Documentation version 21 (1) - 0716
Version dvaluation
Visitez rgulirement le site www.pcsoft.fr, espace tlchargement, pour vrifier si des mises
jour sont proposes.
Conseil: Pour recevoir directement des mises jour intermdiaires et des conseils dutilisa-
tion, abonnez-vous la LST (revue trimestrielle +DVD), en franais.
Tous les noms de produits ou autres marques cits dans cet ouvrage sont des marques dposes par leurs propritaires respectifs.
PC SOFT 2016 : Aucune reproduction intgrale ou partielle du prsent ouvrage sur quelque support que ce soit ne peut tre
effectue sans lautorisation expresse de PC SOFT.
Sommaire
Licence
Introduction
Prliminaires.......................................................................................................................................................... 19
Prsentation du cours dauto-formation.............................................................................................................. 19
Comment accder laide en ligne ?................................................................................................................... 20
Lgende des symboles........................................................................................................................................... 22
Si vous connaissez WINDEV 20............................................................................................................................. 23
Que fait-on avec WINDEV?.................................................................................................................................... 23
Conclusion
1. Version Express
Ce LOGICIEL est propos ici dans une version de "dmonstration".
Cette version de dmonstration est exclusivement destine au test de ses fonctionnalits, et/ou
une utilisation par des tudiants dun tablissement reconnu par ltat pendant la dure de leurs
tudes, en dehors de toute utilisation commerciale, partielle ou totale.
De nombreuses fonctionnalits sont brides, limites ou diffrentes de la version "commerciale".
Pour crer des applications destines tre utilises, il est ncessaire dacqurir et dutiliser une
version "commerciale" et non cette version de dmonstration et de test.
Il est strictement interdit de crer en totalit ou en partie une ou des applications dans un autre
but que le TEST du LOGICIEL, ou la ralisation de Travaux Pratiques dans le cadre dtudes.
Lutilisation des applications cres dans un but autre que le test de courte dure est interdite.
Toute utilisation autre que lessai du logiciel, et/ou une utilisation pour une dure suprieure
celle autorise, constitue une utilisation illgale qui donnera lieu des poursuites.
Il est interdit de dupliquer et diffuser ce logiciel, mme dans cette version de dmonstration, sans
laccord crit de PC SOFT.
2. Licence
Ce LOGICIEL doit tre utilis sur une et une seule machine par une et une seule personne un
instant donn. Le LOGICIEL est dclar utilis ds quil se trouve en "mmoire centrale" (gale-
ment appele RAM) dun ordinateur.
Ce logiciel ne peut tre utilis que pour la dure autorise.
3. Proprit du LOGICIEL
Ce logiciel est la proprit de PC SOFT. LEVALUATEUR a simplement le droit dutiliser ce LOGICIEL
selon les conditions dfinies.
4. Documentation
La duplication de la documentation, en totalit ou en partie, est strictement interdite.
5. Utilisation
LEVALUATEUR doit utiliser le LOGICIEL pour lusage pour lequel il est diffus. Il est interdit de
modifier ou tenter de modifier ce LOGICIEL, de dsassembler ou tenter de dsassembler ce LOGI-
CIEL. Il est interdit denlever ou de tenter denlever les mentions de copyright pouvant apparatre
et/ou tant contenues dans le LOGICIEL.
6. Absence de responsabilit
Le LOGICIEL et la documentation qui laccompagne sont fournis en ltat, SANS AUCUNE GARAN-
TIE DAUCUNE SORTE. PC SOFT ne saurait tre tenu pour responsable pour tout dommage de
quelque nature que ce soit, et en particulier en cas de perte ou dtrioration des donnes, en
cas de perte financire, en cas de perte dexploitation, en cas de divergence des informations
contenues dans la documentation avec le comportement du LOGICIEL, en cas de comportement
du LOGICIEL diffrent de celui attendu. LEVALUATEUR est seul et unique responsable du fonction-
nement et du support des programmes quil aura ralis avec le LOGICIEL.
7. Cas particuliers
Fonctionnalits lies des services
Avertissement : avant dutiliser une fonctionnalit relie des services ou des applications, et
en particulier Google, nous vous conseillons vivement de vous reporter la licence dutilisation
de ce service ou de cette application. Certaines restrictions peuvent sappliquer. Le contenu des
licences peut varier avec le temps.
PC SOFT dgage toute responsabilit de lusage qui peut tre fait des fonctions daccs natif. Il
vous appartient de vrifier que lusage que vous faites respecte la licence du fournisseur de ser-
vice.
8. Logiciels tiers
Polices installes
La police "Open Sans" installe et utilise par le LOGICIEL est soumise la licence "Apache Li-
cense". Le texte de cette licence est prsent dans le sous-rpertoire "Aide" du LOGICIEL.
PC SOFT,
3, rue de Puech Villa
BP 44 408
34197 Montpellier Cedex 5
France
Prliminaires
Attention: Ce manuel est un cours dauto-formation. Il est conseill de consulter laide en ligne
lorsque vous utilisez WINDEV.
Le manuel du cours dauto-formation a pour objectif de vous faire dcouvrir WINDEV, de vous
familiariser avec les diteurs et de vous apprendre les concepts de WINDEV.
Ce manuel nest PAS exhaustif des possibilits de WINDEV.
Consacrez au moins quelques heures pour suivre ce cours et pour apprendre WINDEV: vous les
rentabiliserez vite!
Si vous essayez de dmarrer le dveloppement dune application sans avoir suivi ce cours, vous
perdrez du temps, beaucoup plus que les quelques heures passes sur ce cours dauto-formation.
Le cours a t conu pour tre suivi de deux faons:
soit vous suivez tous les exercices dtaills dans les leons du cours (mthode conseille).
soit, si vous tes press et disposez dune exprience significative, vous pouvez uniquement
le lire sans excuter les exercices (toutes les manipulations sont illustres). Toutefois, pour
que les concepts soient plus rapidement assimils, il est prfrable deffectuer les manipu-
lations.
WINDEV voluant en permanence, les images des fentres illustrant le cours peuvent tre diff-
rentes des fentres affiches par le produit lors des diffrentes manipulations.
Laide en ligne de WINDEV, WEBDEV et WINDEV Mobile sur Internet est acces-
sible depuis nimporte quel poste disposant dun accs Internet, sans que le pro-
Notes
duit soit forcment install. Cette aide est mise jour rgulirement.
Chaque internaute peut ajouter des commentaires sur les pages de documenta-
tion: explications personnelles, exemples, liens, ...
le contenu de laide: aide commune WINDEV, WEBDEV et WINDEV Mobile ou aide du pro-
duit en cours dutilisation.
A la dcouverte
de WINDEV
26 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 1.1. Dcouvrez WINDEV
Lancement de WINDEV
Dure estime: 5 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 27
Prsentation
WINDEV est un AGL (Atelier de Gnie Logiciel) complet permettant de dvelopper des applications
Windows (et Linux) dans de nombreux domaines: gestion, industrie, mdical, ... Les applications
dveloppes peuvent inclure laccs des informations stockes dans des bases de donnes.
Tout au long de ce cours dauto-formation, vous allez apprendre crer vos applications (avec ou
sans base de donnes) et les enrichir en utilisant les nombreuses fonctionnalits proposes par
WINDEV.
Lancement de WINDEV
28 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Environnement de dveloppement
Lditeur
Lenvironnement de dveloppement de WINDEV est constitu dune interface spcifique et de
plusieurs diteurs permettant de crer les diffrents lments de vos applications.
Ainsi, lditeur de fentres permet de crer des fentres, lditeur dtats permet de crer des
tats, ...
Tous les diteurs utilisent le mme environnement:
1. Menu des diteurs, affich sous forme de ruban (nous allons voir sa manipulation dans le para-
graphe suivant).
2. Editeur en cours (ici, diteur de fentres). Cet espace permet de visualiser de manire WY-
SIWYG (What You See Is What You Get) llment en cours de cration ou de modification.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 29
4. Barre des documents ouverts. Cette barre permet de visualiser rapidement tous les lments
ouverts. Un simple clic sur le bouton correspondant llment laffiche dans son propre diteur.
Les diffrents volets du ruban permettent daccder aux options des diffrents diteurs pour le
projet en cours. Plusieurs types de volets sont disponibles:
le volet en cours: Longlet du volet apparat en blanc et un trait orange ple est affich en haut
de longlet.
les volets contextuels, spcifiques llment en cours: Le nom du volet est affich en bleu.
les volets disponibles: Le nom du volet apparat en noir.
30 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
La zone des options
En fonction du volet slectionn, les options affiches dans le ruban diffrent. Plusieurs types
doptions sont disponibles:
Options cocher
Boutons cliquer
Boutons flche permettant de drouler des options. Deux types de boutons flche sont dis-
ponibles:
les boutons flche permettant uniquement de drouler un menu
les boutons flche permettant soit de drouler un menu (clic sur la flche), soit deffectuer
une action par dfaut (clic sur licne du bouton).
Les options sont rassembles par groupe. Chaque groupe doptions a un nom et peut avoir un
bouton de regroupement . Ce bouton permet deffectuer une action spcifique selon le groupe
en cours: affichage de la description de llment en cours, affichage de laide, ...
Dans ce cours, pour dsigner une option de menu, nous parlerons donc de volets et de groupes.
Par exemple:
Pour afficher laide, sous le volet "Accueil", dans le groupe "Aide en ligne", cliquez sur "Aide".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 31
Leon 1.2. Ma premire fentre
Dure estime: 30 mn
32 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Pour commencer utiliser WINDEV, nous allons simplement crer quelques fentres.
lisateur peut agir directement sur les fentres par lintermdiaire de champs, de
boutons, ...
Ces quelques exemples vous permettront de connatre les bases de la programmation en WINDEV
et vous permettront ensuite daborder des sujets plus complets.
Les leons de cette premire partie vont vous permettre de:
crer des fentres simples,
manipuler des chanes, des numriques, des montaires,
manipuler des dates et des heures.
Ouverture du projet
Dans cette partie, nous nous concentrons sur la cration de fentres simples. Le
projet "WD Mes Premires Fentres" est un projet vide, dj cr. La cration de
projet sera aborde dans une prochaine leon.
Un projet corrig est disponible. Ce projet contient les diffrentes fentres cres
dans cette leon. Pour ouvrir le projet corrig:
Corrig
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 33
Ma premire fentre: saisir et afficher des donnes
Prsentation
Voici la fentre que vous allez crer:
Cette fentre permet lutilisateur de saisir son prnom et dafficher un message de bienvenue
grce au bouton "Afficher".
Vous pouvez tre tent de dire que cest trop simple, trop basique, mais nous vous conseillons
de raliser cette fentre. Vous risquez dtre surpris par la facilit et lintuitivit de lditeur de
WINDEV. De plus, cette fentre vous permettra de dcouvrir des concepts fondamentaux pour la
suite de ce cours.
Cration de la fentre
2.La fentre de cration dun nouvel lment saffiche. Cette fentre permet de crer tous les
lments pouvant tre associs un projet.
3.Cliquez sur "Fentre" puis sur "Fentre". Lassistant de cration de fentres saffiche.
4.Slectionnez "Vierge" dans la liste des fentres "standard" affiche sur la gauche. Dans la
liste des gabarits prsente sur la droite, le gabarit "Elegant" est slectionn par dfaut. Vous
pouvez choisir un autre gabarit propos dans la liste.
gabarit dfinit le look de la fentre mais galement le look de tous les champs
qui seront utiliss dans cette fentre. Ainsi, aucune faute de got nest possible.
34 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons dfinir les caractristiques de base de la fentre: son nom et le titre qui sera
affich dans la barre de titre.
Double-cliquez sur la fentre qui vient dtre cre. La fentre de description saffiche sur
longlet "Gnral". Le nom de la fentre propos par dfaut est "FEN_SansNom1".
Observez bien le nom de la fentre que WINDEV propose par dfaut: ce nom
commence par les lettres "FEN_". Ce prfixe est automatiquement ajout car le
projet utilise une charte de programmation.
La charte de programmation permet de dfinir un prfixe pour chaque type dob-
jet et ainsi didentifier rapidement llment manipul:
Note
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 35
Enregistrez la fentre en cliquant sur parmi les boutons daccs rapide. Par dfaut:
le titre de llment correspond au titre que nous avons saisi.
le nom de llment correspond au nom logique de la fentre.
lemplacement propos correspond au rpertoire du projet, dans lequel tous les lments
du projet sont regroups.
36 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Faites un clic droit de la souris sur le champ que vous venez de crer. Le menu contextuel
du champ saffiche. Dans le menu contextuel affich, slectionnez loption "Description". La
fentre de description du champ de saisie saffiche.
5.Modifiez les caractristiques du champ en saisissant les informations suivantes:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 37
4.Vous pouvez voir le nom du bouton:
soit dans la bulle daide affiche lors du survol du champ:
Nous allons afficher le texte saisi dans une bote de dialogue (une mini-fentre propose par
le systme). Pour cela, nous allons utiliser notre premire fonction WLangage: la fonction
Info.
Notes
Initialisation,
Clic sur le bouton, excut lorsque lutilisateur clique sur le bouton.
Remarque : Des traitements supplmentaires peuvent tre ajouts si nces-
saire.
4.Dans le traitement "Clic sur BTN_Afficher", saisissez le code suivant(noubliez pas lespace
aprs le "Bonjour" sinon le prnom sera coll au texte) :
Info("Bonjour "+SAI_Prnom)
Remarque sur laide la saisie: Ds la saisie des deux premiers caractres, WINDEV propose
tous les mots du vocabulaire WLangage contenant ces caractres. Lassistance au dveloppe-
ment est pousse trs loin. Vous ne pouvez plus vous tromper en saisissant le nom dun lment:
les erreurs de syntaxe sont minimises. Il suffit de slectionner le mot dsir et de valider par la
touche [ENTREE]. Vous pourrez ainsi vous concentrer sur lalgorithme.
38 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cest pour cela que la charte de programmation est trs importante. Tous les
Notes
lments manipuls dans le code de lapplication utilisent la mme norme et
peuvent ainsi tre facilement retrouvs lors de la saisie du code.
En saisissant ce code sous lditeur de code, vous constatez que les diffrents
lments saisis utilisent des couleurs diffrentes. Cest la coloration syntaxique.
Lditeur de code permet ainsi didentifier rapidement les diffrents lments
Notes
La fonction Info affiche le message pass en paramtre. Notre message est construit partir du
texte "Bonjour " et de la valeur du champ "SAI_Prnom". Le signe "+" indique une opration dite de
"concatnation" entre deux chanes.
Notes
Dans cet exemple, le texte saisi est affich dans une fentre systme, mais il est
galement possible de lafficher dans une fentre cre avec WINDEV.
Amliorations de la fentre
Lors de ce premier test, vous avez remarqu que:
votre fentre est trop grande,
votre fentre peut tre redimensionne alors quelle ne contient que deux champs,
le prnom saisi est affich avec la casse utilise dans le champ de saisie. Nous allons forcer
lutilisation dune majuscule en dbut de mot.
Nous allons revoir rapidement linterface de cette fentre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 39
Pour rduire la taille de la fentre sous lditeur:
1.Cliquez sur la fentre: des poignes apparaissent autour de la fentre (selon le gabarit uti-
lis, la couleur de ces poignes peut tre diffrente).
2.Cliquez sur la poigne situe en bas droite et rduisez la taille de la fentre en mainte-
nant le bouton gauche de la souris enfonc.
Pour que la fentre ne soit pas redimensionnable pendant lexcution:
1.Double-cliquez sur la fentre. La fentre de description saffiche.
2.Dans longlet "IHM", dcochez loption "Redimensionnable" (il suffit de cliquer sur loption).
3.Validez.
Notes
40 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Vous venez de crer rapidement et avec succs votre premire fentre. Nous allons dans la suite
de ce cours dcouvrir de nouveaux concepts de WINDEV.
Validez le message et fermez la fentre de test (cliquez sur la croix en haut, droite de la
fentre). Lditeur rapparat.
Fermez la fentre "FEN_Saisie" affiche sous lditeur: sous le volet "Accueil", dans le groupe
"Gnral", cliquez sur "Fermer".
Fermez le projet: sous le volet "Accueil", dans le groupe "Gnral", droulez "Fermer" et
slectionnez "Fermer le projet".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 41
Leon 1.3. Des fentres plus volues
Dure estime: 30 mn
42 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Dans la leon prcdente, nous avons dj vu comment saisir et afficher un texte.
Dans cette leon, nous allons crer les fentres suivantes:
Une fentre de calcul,
Une fentre affichant la date et lheure en temps rel,
Un menu pour rassembler les fentres cres prcdemment.
Ces fentres vont tre cres dans le projet "WD Mes Premires Fentres" que nous avons dj
manipul dans la leon prcdente.
Ouvrez nouveau le projet "WD Mes Premires Fentres".
Pour cela, dans la fentre de bienvenue, cliquez sur "Cours dauto-formation" et slectionnez
le premier projet "Mes premires fentres (Exercice)".
Astuce: si la fentre de bienvenue nest pas affiche, sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez loption "Mes premires
fentres (Exercice)".
Un projet corrig est disponible. Ce projet contient les diffrentes fentres cres
dans cette leon. Pour ouvrir le projet corrig:
Corrig
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 43
Mise en place
44 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le calcul du montant TTC va tre effectu chaque modification du champ contenant le montant
hors taxe.
Pour raliser le calcul du montant TTC:
1.Affichez le code du champ "SAI_PrixHT" (option "Code" du menu contextuel du champ). Les
diffrents traitements associs par dfaut au champ de saisie apparaissent :
Initialisation : Excut louverture de la fentre.
Entre dans le champ : Excut lors de lentre du curseur de saisie dans le champ
Sortie du champ : Excut lors du changement de champ (touche TAB, changement de
champ par la souris, ...)
A chaque modification du champ : Excut chaque modification du contenu du champ
(saisie ou effacement dune lettre par exemple).
2.Dans le traitement "A chaque modification", saisissez le code suivant:
// TVA fige 20% pour lexemple
// Cela aurait pu tre une variable quelconque
// provenant dune base de donnes
SAI_PrixTTC = SAI_PrixHT * 1.20
3.Fermez la fentre de code (croix de fermeture de la fentre de code).
4.Enregistrez la fentre.
Test de la fentre
Testez la fentre:
1.Cliquez sur parmi les boutons daccs rapide.
2.Saisissez une valeur dans le champ "Prix HT". Le rsultat apparat immdiatement dans le
champ "Prix TTC".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 45
Pour crer le champ Combo de slection de la TVA:
1.Sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur "Combo" puis cliquez
dans la fentre la position o le champ doit tre cr ( ct du champ "Prix HT").
2.Lassistant de cration dun champ Combo saffiche. Cet assistant permet de dfinir sim-
plement les principales caractristiques du champ.
3.Slectionnez loption "Remplir la combo par programmation ou saisir directement une liste
de valeurs".
46 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8.Validez.
9.Modifiez si ncessaire la taille de la fentre pour que le champ Combo soit affich ct du
champ de saisie affichant le prix HT.
Nous allons maintenant modifier le code du champ "Prix HT" pour prendre en compte le montant
de la TVA slectionn dans le champ Combo.
Pour prendre en compte le montant de la TVA slectionn:
1.Slectionnez le champ "Prix HT".
2.Affichez le code du champ "Prix HT" (option "Code" du menu contextuel).
3.Modifiez le code de la faon suivante:
SAI_PrixTTC =...
SAI_PrixHT*(1+Val(COMBO_TVA..ValeurAffiche)/100)
Ce code calcule le montant TTC en utilisant la valeur slectionne dans le champ Combo
(donne obtenue avec la proprit ..ValeurAffiche). Le contenu du champ Combo tant une
chane de caractres, la fonction Val permet dobtenir une valeur numrique afin de calculer
le montant TTC.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 47
Pour prendre en compte le montant de la TVA, chaque modification de la valeur de la TVA
dans la combo, il suffit de recopier le code du traitement "A chaque modification" de "Prix HT"
dans le traitement "Slection dune ligne" de la combo "COMBO_TVA":
1.Affichez le code du champ "Prix HT" (option "Code" du menu contextuel par exemple).
2.Slectionnez le code prsent dans le traitement "A chaque modification de SAI_PrixHT".
3.Utilisez les touches [CTRL] + C.
4.Affichez le code du champ Combo "TVA".
5.Placez-vous dans le traitement "Slection dune ligne" et utilisez les touches [CTRL] + V.
6.Testez votre fentre ( parmi les boutons daccs rapide) et slectionnez les diffrentes
valeurs dans le champ Combo.
Maintenant, notre fentre fonctionne correctement. Mais le mme code est utilis 2 endroits
diffrents! Comment grer les modifications et leur report? Le plus simple est dutiliser une
procdure. Cest ce que nous allons faire maintenant.
Fermez la fentre de test pour revenir sous lditeur de code.
Cration et utilisation dune procdure
La cration dune procdure partir dun code existant est trs simple avec WINDEV: une option
de menu se charge de tout.
Pour crer la procdure de calcul de la TVA:
1.Slectionnez le code prsent dans le traitement "Slection dune ligne" de la combo "TVA".
2.Affichez le menu contextuel du code slectionn (clic droit de la souris).
3.Slectionnez loption "Nouveau .. Crer une procdure locale contenant le code slec-
tionn".
4.Donnez le nom de la procdure crer: CalculTVA. Validez.
5.La procdure locale "CalculTVA" est automatiquement cre avec le code slectionn. Votre
code a t remplac par lappel la procdure "CalculTVA()".
6.Pour terminer, il suffit de remplacer le second code de calcul de la TVA (prsent dans le
traitement "A chaque modification" du champ "Prix HT") par lappel la procdure "Calcul-
TVA()".
7.Voil, cest termin. Vous pouvez enregistrer et tester votre fentre pour vrifier si tout fonc-
tionne correctement.
48 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Afficher la date et lheure en temps rel
Prsentation
Nous allons raliser la fentre suivante:
Cette fentre affiche la date et lheure. Simple! Cependant, lheure est mise jour en temps rel.
Pour cela, WINDEV met votre disposition les "Timers".
Un timer permet dexcuter en parallle une tche qui doit tre lance priodiquement (acquisi-
tion de donnes en tche de fond, rafrachissement automatique de donnes, dclenchement
dun programme une heure donne, ...).
Mais commenons par crer notre fentre!
Cration de la fentre
Validez (bouton vert). La fentre est enregistre. Le titre apparat dans la barre de titre.
Nous allons maintenant ajouter un champ de type Date dans notre fentre pour afficher la date
du jour.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 49
Pour crer le champ de saisie de type Date:
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Saisie" (cliquez sur la
flche). La liste des diffrents champs de saisie disponibles saffiche.
2.Slectionnez le champ "Date" (sans le petit calendrier) et positionnez le champ dans la
fentre.
3.Faites un clic droit sur le champ et slectionnez loption "Description" dans le menu contex-
tuel.
4.Dans longlet "Gnral" de la fentre de description:
50 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
1.Conservez le masque de saisie slectionn ("Date dfinie par le projet").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 51
Enregistrez la fentre et testez-la (en cliquant sur puis sur parmi les boutons
daccs rapide).
1.Slectionner le champ.
2.Utiliser la touche [F2].
52 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mise en place du timer
Pour mettre jour le champ Heure, nous allons appeler toutes les secondes une procdure qui
va modifier le champ Heure avec lheure actuelle. Cette procdure va tre locale la fentre: en
effet, cette procdure ne sera appele que dans cette fentre.
Dans la fentre de calcul, nous avons dj cr une procdure partir dun code existant. Mainte-
nant, nous allons dtailler les diffrentes tapes de cration dune procdure.
Remarque: Dans la suite de ce cours, nous reviendrons en dtail sur les diffrents types de pro-
cdures.
Pour crer une procdure locale:
1.Slectionnez dans le volet "Explorateur de projet" le nom de la fentre "FEN_Timer".
2.Cliquez sur la flche gauche pour afficher les diffrents lments.
3.Cliquez sur "Procdures locales". Le dossier est slectionn.
4.Dans le menu contextuel de "Procdures locales" (clic droit), slectionnez loption "Nouvelle
procdure locale".
5.Dans la fentre qui apparat, indiquez le nom de la procdure "MiseAheure" et cliquez sur le
bouton "Ajouter".
6.La procdure apparat sous lditeur de code. Saisissez le code suivant:
SAI_Heure = Maintenant()
7.Ce code permet de mettre jour le champ affichant lheure. Nous allons maintenant lappe-
ler toutes les secondes grce au timer.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 53
Pour mettre en place le timer:
1.Revenez sur la fentre "FEN_Timer". Vous pouvez par exemple cliquer sur le bouton "FEN_
Timer" en bas.
2.Cliquez dans la fentre daccueil de la fentre (fond gris). Affichez le menu contextuel (clic
droit) et slectionnez loption "Code".
3.Les diffrents traitements associs la fentre saffichent.
4.Dans le traitement "Fin dinitialisation de FEN_Timer", saisissez le code suivant:
TimerSys(MiseAheure,100,1)
5.Ce code permet dindiquer que la procdure "MiseAheure" va tre appele toutes les se-
condes (100 reprsente les centimes de seconde).
Enregistrez la fentre et testez-la (en cliquant sur puis sur parmi les boutons
daccs rapide).
Nous avons vu ici la cration dun timer par programmation. Il est galement
Notes
3.Dans longlet "IHM", le bouton est de type "Abandon". Le code du bouton sera ainsi excut
lorsque la touche [ESC] sera utilise.
54 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
WINDEV propose plusieurs types pour les boutons: Aide, Normal, Validation,
Interruptionet Abandon.
Notes
Pour plus de dtails sur les diffrents types de boutons:
consultez laide en ligne (mot-cl: Champ Bouton, Type de bouton).
consultez lexemple unitaire: Le champ Bouton.
Dcrire le menu
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 55
6.Sous le volet "Fentre", dans le groupe "Barres et menus", droulez "Menu principal" et
slectionnez loption "Ajouter le menu principal".
7.Un menu sinsre dans la fentre sous la barre de titre. Ce menu contient par dfaut une
option qui se nomme "Menu".
Plusieurs choix sont possibles. Les principales options de gestion de menu sont:
"Description de loption" pour modifier le libell de loption et la lettre dappel.
"Code" pour saisir le code source correspondant au traitement excuter lors du clic sur
cette option.
"Ajouter aprs" pour ajouter une option de menu aprs loption en cours.
"Ajouter avant" pour ajouter une option de menu avant loption en cours.
"Transformer pour drouler un sous-menu" pour ajouter dans loption en cours un sous-
menu (arborescence).
56 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons raliser le menu suivant:
Nous allons maintenant ajouter le raccourci [ALT + F4] pour loption "Quitter".
1.Slectionnez loption "Quitter".
2.Affichez la description de loption (option "Description de loption" du menu contextuel).
3.Dans la zone "Raccourci clavier", droulez la combo, parcourez les lments et slectionnez
"F4". Puis, cochez la case "Alt".
4.Validez.
Lorsque toutes les options de menu sont saisies, visualisez la fentre: cliquez sur "Aperu" dans
le volet "Modification" ou utilisez la combinaison de touches [Alt]+[A].
Ce mode de visualisation permet de visualiser laspect final du menu sans excuter le code. Pour
fermer cette fentre, utilisez le bouton "Fermer" de la tlcommande de laperu.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 57
Dans vos applications, nous vous conseillons de suivre le standard des menus
Windows. Veillez en particulier aux points suivants:
Chaque option du menu principal doit proposer au moins une sous-option.
La premire lettre de chaque option doit tre en majuscule, mme si ce
nest pas la lettre dappel. La lettre dappel est souligne (utilisez le carac-
Astuce
tre "&").
Si un choix de menu appelle une fentre de paramtrage avant dexcuter
loption choisie, terminez le libell par trois points ().
Loption "Quitter" doit tre la dernire sous-option de la premire option de
la barre de menu (exemple: "Fichier.. Quitter").
Si une option daide est prsente, elle doit se trouver la fin de la premire
ligne de menu (loption la plus droite).
58 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6.Rptez cette opration pour loption "Calcul de TVA" et saisissez le code suivant:
Vous laurez devin: la fonction Ouvre permet dafficher une fentre pour effectuer une saisie. La
fonction Ferme quant elle, ferme la fentre en cours.
Si la fentre contenant le menu est la premire fentre affiche par lapplication, la fermeture
de la fentre contenant le menu (par loption "Fichier.. Quitter" dans notre exemple) quivaut
quitter lapplication.
Dans ce code, les fonctions WLangage utilises sont en franais. Si vous tes
plus familiaris avec la langue de Shakespeare, il est possible de visualiser
et de saisir le code en version anglaise: sous le volet "Code", dans le groupe
Notes
Il est ainsi possible dajouter par programmation des menus, options de menu,
sparateurs, ou encore de cloner une option de menu.
Les proprits permettent de savoir si une option est visible ou non, marque ou
non, ...
Pour plus de dtails, consultez laide en ligne (mot-cl: "Menu").
Concepts de base
WINDEV permet de crer simplement une application. Mais que recouvre exactement ce terme
Application?
Une application est un outil qui permet de raliser des tches, des actions automatiquement. Une
application est constitue dun programme excutable (ou dun ensemble de programmes excu-
tables), de librairies, de fichiers de donnes, ...
Un programme excutable est un fichier compos dlments directement manipulables par luti-
lisateur (fentres, tats imprims, ...). Cest ce que lance lutilisateur final dune application.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 59
Pour crer un excutable, WINDEV propose de crer un projet. Un projet relie entre eux les dif-
frents lments du programme et les organise. Cest partir du projet que pourra tre cr le
programme excutable.
Si votre application manipule des donnes, WINDEV permet de dfinir la structure de la base de
donnes grce lanalyse. Lanalyse WINDEV contient la description des fichiers (appels sou-
vent "Tables" dans de nombreuses bases de donnes). Ces fichiers contiendront les donnes de
lapplication.
La description des fichiers de donnes dans lanalyse nentrane pas leur cra-
Notes
Un ou plusieurs projets WINDEV peuvent tre lis la mme analyse. Dans ce cas, on parle dana-
lyse partage. Par exemple, une application de gestion commerciale peut tre spare en plu-
sieurs modules excutables. Chaque module utilise la mme analyse (et en excution, chaque
excutable peut galement utiliser les mmes fichiers de donnes).
Projet 1
Analyse
Projet 2 Projet N
Terminologie
Comme nous venons de le voir, un projet WINDEV (li si ncessaire une analyse) permet de
crer une application. Avant de commencer rellement travailler avec WINDEV, revenons sur
les termes utiliss dans WINDEV. En effet, si vous avez travaill avec dautres outils, de nom-
breux termes sont spcifiques WINDEV et ne recouvrent pas toujours la mme ralit que dans
dautres logiciels.
60 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dans lanalyse, les termes utiliss sont les suivants:
Fichier: Lanalyse permet de dcrire la structure des fichiers de la base de donnes. Le terme
"Fichier" correspond dans certaines bases de donnes "une table".
Dans WINDEV, le terme "Table" est rserv pour dsigner un objet graphique permettant de
visualiser le contenu dun fichier de donnes sous forme de tableau, et/ou de saisir des lignes.
Par exemple, une table peut permettre de saisir le dtail dune commande.
Enregistrement: Un enregistrement est quelquefois galement appel ligne. Lenregistrement
dun fichier de donnes correspond lensemble des rubriques dfinies pour le fichier.
Rubrique: Dans lanalyse, le terme rubrique dsigne une zone dun fichier de donnes. Len-
semble des rubriques dun fichier de donnes permet de dfinir la structure dun enregistre-
ment.
Cl/Index: Avec WINDEV et sa base de donnes HFSQL, la notion dindex est lie la notion de
cl. La notion de cl fait partie des caractristiques dune rubrique. Les cls permettent dacc-
lrer les accs aux donnes ou de faciliter les parcours des fichiers de donnes. En WINDEV,
si un fichier de donnes HFSQL a plusieurs rubriques cls, en excution, un seul fichier dindex
sera cr.
Dans les fentres et les tats, les termes utiliss sont les suivants:
Fentre: Les fentres permettent dafficher ou de saisir lcran des informations. Les fentres
sont galement appeles "crans" ou "Boites de dialogue". Lutilisateur peut agir directement
sur les fentres par lintermdiaire de champs, de boutons, ...
Etat: Les tats permettent dobtenir une vue personnalise dinformations. Ces informations
peuvent provenir de la base de donnes, de fichiers texte, de champs prsents dans les fe-
ntres, ... Les tats peuvent tre visualiss lcran, imprims sur papier, gnrs en PDF ou
en HTML, ...
Champ: Le mot "champ" est le terme utilis pour dsigner les diffrents objets graphiques affi-
chs dans une fentre ou dans un tat.
Gabarit: Le gabarit permet de dfinir le "look" de lapplication: apparence visuelle des fentres,
des boutons, des champs, ...
Style: Le style regroupe les caractristiques graphiques dun lment: image de fond, bordure,
police,... Les styles des diffrents lments constituant linterface dune application WINDEV
sont regroups dans une feuille de styles.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 61
Leon 1.4. Bases de programmation
62 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Introduction
Dans la leon prcdente, nous avons un peu manipul lditeur de code de WINDEV et son lan-
gage, le WLangage. Cette leon va vous permettre de revenir sur les bases de la programmation
en WLangage, en prsentant les sujets suivants:
Dclaration des diffrents types de variables,
Instructions de base du WLangage,
Procdures et fonctions,
Traitements des chanes,
Traitements des numriques,
Traitements des dates et des heures.
Quelques exemples:
Indice est un entier
NomFournisseur est une chane
TablePrix est un tableau de 10 montaires
I, J, K sont des entiers
Compteur est un entier = 120
B1 est un boolen = Faux
Pour plus dinformations tous les types de variables disponibles (types simples, types avancs, ...),
consultez laide en ligne (mot-cl: "Types de donnes").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 63
Toutes les variables dclares ailleurs sont des variables locales.
Instructions conditionnelles
Le WLangage permet de grer des instructions conditionnelles du type:
SI, SINON, FIN pour effectuer un test sur une condition.
SELON, CAS, FIN pour excuter une ou plusieurs actions selon les diffrents rsultats dun
test sur une condition.
64 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Quelques exemples
SI SAI_Maximum > Hasard(1, 999) ALORS
Info(Bravo, vous avez gagn!)
SINON
Info(Dommage, vous avez perdu!)
FIN
SELON jour
CAS Lundi
// Premier jour de la semaine
CAS Mercredi
// Troisime jour de la semaine
CAS Vendredi
// Cinquime jour de la semaine
CAS Samedi, Dimanche
// Cest le week-end
AUTRES CAS
// Cest un autre jour
FIN
Exemple pratique
Aprs avoir prsent les principales instructions conditionnelles, rien ne vaut un petit test rel!
Ouvrez la fentre "FEN_Code.wdw": dans le volet "Explorateur de projet", dans le dossier
"Fentres", double-cliquez sur le nom de la fentre. Cette fentre prsente diffrents
exemples.
Pour rechercher rapidement une fentre dans le projet en cours, utilisez la com-
binaison de touches [CTRL] + [E]. Une fentre saffiche permettant de raliser
Astuce
une recherche sur toutes les fentres contenant la suite de lettres saisies dans
le champ de recherche. Il suffit de slectionner la fentre voulue et de valider
pour que cette fentre souvre sous lditeur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 65
2.Testez les diffrents exemples. Le code excut est affich dans la fentre.
3.Fermez la fentre et revenez sous lditeur.
Instructions de boucle
Le WLangage propose plusieurs possibilits pour grer des boucles:
POUR, FIN pour un nombre ditrations dtermin.
TANTQUE, FIN pour un nombre ditrations indtermin et dont la condition de sortie de la
boucle est teste au dbut de la boucle.
BOUCLE, FIN pour un nombre ditrations indtermin et dont la condition de sortie de la
boucle est teste dans la boucle. Linstruction SORTIR permet de sortir de cette boucle.
Le WLangage propose galement des boucles de type POUR TOUT, FIN permet-
Notes
tant de parcourir les lments dun champ, les chanes de caractres, les enre-
gistrements dun fichier de donnes, ... Ces boucles avances seront tudies
dans la suite de ce cours dauto-formation.
Quelques exemples
i est un entier = 0
TANTQUE i < SAI_Maximum
i ++ // Equivalent i=i+1
FIN
i est un entier = 0
BOUCLE
i ++ // Equivalent i=i+1
SI i > SAI_Maximum ALORS SORTIR
FIN
Exemple pratique
Aprs avoir prsent les principales instructions de boucle, vrifions le fonctionnement en excu-
tion.
Ouvrez la fentre "FEN_Code.wdw": dans le volet "Explorateur de projet", dans le dossier
"Fentres", double-cliquez sur le nom de la fentre. Cette fentre prsente diffrents
exemples.
66 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Lancez le test de cette fentre ( parmi les boutons daccs rapide).
1.Cliquez sur longlet "Boucle".
2.Testez les diffrents exemples. Le code excut est affich dans la fentre.
3.Fermez la fentre et revenez sous lditeur.
Commentaires
Pour saisir des commentaires dans le code, il suffit de commencer le code par // (deux carac-
tres "/").
Exemple:
// Ceci est une ligne de commentaire
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 67
Oprateurs de base du WLangage
Le WLangage dispose de plusieurs types doprateurs:
les oprateurs logiques (ET, OU, PAS, ...),
les oprateurs arithmtiques qui permettent dadditionner, de soustraire, ...
les oprateurs de comparaison qui permettent de comparer des valeurs. Nous en avons vu
quelques-uns dans le paragraphe prcdent (>, <, =, ...),
les oprateurs binaires qui permettent deffectuer des oprations sur des valeurs binaires,
les oprateurs daffectation et dchange (=, <=>),
les oprateurs dindirections qui permettent de construire le nom dun champ partir dune
expression.
les oprateurs sur les chanes de caractres (que nous verrons dans le paragraphe "Traitements
des chanes", page 73).
...
Nous allons ici dtailler lutilisation des oprateurs logiques, des oprateurs de comparaison et
des oprateurs dindirection. Nous verrons les autres types doprateurs au fil de nos besoins
dans ce cours. Pour plus de dtails sur un type doprateur, consultez laide en ligne (mot-cl:
"Oprateurs").
68 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les oprateurs de comparaison
Le WLangage possde de nombreux oprateurs de comparaison qui permettent de raliser de
nombreux traitements:
oprateurs dgalit: galit (=), galit souple (~=) ou galit trs souple (~~).
oprateurs de comparaison: diffrent (<>), infrieur et suprieur (<, <=, >, >=), ou commence
par ([=, [=~, [=~~).
Exemple pratique
Une page dexemple est disponible pour tester quelques cas dutilisation des diffrents opra-
teurs de comparaison.
Dans le projet "WD Bases Programmation", ouvrez la fentre "FEN_Oprateur".
Lancez le test de cette fentre ( parmi les boutons daccs rapide) et testez les opra-
teurs de comparaison.
{"NOM",indChamp} = NomCli
// est quivalent NOM=NomCli
{"NOM",indChamp} = {"CL.NOMCLI"}
// est quivalent NOM=CL.NOMCLI
{"FENCLI.NOM",indChamp} = NomCli
// est quivalent FENCLI.NOM=NomCli
{"FENCLI"+".NOM",indChamp} = NomCli
// est quivalent FENCLI.NOM=NomCli
PROCEDURE INVISIBLE(NChamp)
{NChamp,indChamp}..Visible = Faux
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 69
Exemple Pour plus de dtails sur lutilisation des indirections, consultez lexemple "Les
indirections" (exemple unitaire), livr en standard avec WINDEV. Cet exemple est
accessible depuis la fentre de bienvenue de WINDEV (CTRL + >).
Procdures et fonctions
Dfinition
Comme nous lavons vu dans la leon prcdente, lorsquun traitement est appel plusieurs fois
dans un projet ou dans une fentre, il est souvent intressant de crer une procdure contenant
ce traitement. Il suffit alors dappeler la procdure chaque fois que cela est ncessaire.
Ct programmation, il existe les procdures et les fonctions:
Les fonctions renvoient un rsultat.
Les procdures servent excuter un traitement spcifique.
WINDEV permet de grer simplement les deux types de traitements, de manire identique: en
WLangage, il ny a pas de diffrence entre une procdure et une fonction. Cest pourquoi dans la
suite de ce cours, nous utiliserons uniquement le terme "procdure".
Vous avez la possibilit de crer des procdures "locales" et des procdures "globales".
Procdure locale
Une procdure "locale" est lie une fentre et uniquement cette fentre.
Une procdure, lorsquelle est locale, peut tre utilise uniquement dans les traitements de la
fentre et des champs de la fentre dans laquelle elle a t dclare. Elle fait partie de la fentre.
70 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour crer une collection de procdures:
1.Slectionnez le volet "Explorateur de projet".
2.Slectionnez "Procdures".
3.Dans le menu contextuel (clic droit), slectionnez loption "Nouvelle collection de proc-
dures".
Une fentre peut galement renvoyer une valeur au traitement qui la appele. Pour plus de d-
tails, consultez laide en ligne sur la proprit ..ValeurRenvoye.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 71
Appel dune procdure
Pour appeler une procdure dans un traitement, il suffit dcrire son nom dans lditeur de code
et si ncessaire dindiquer des paramtres.
WINDEV sait bien videmment grer les appels de procdures imbriques.
Dans lditeur de code, lorsque vous tes positionn sur un nom de procdure,
Astuce
lappui sur la touche de fonction [F2] permet de visualiser le code de cette pro-
cdure. Lappui simultan sur les touches [CTRL]+[F2] permet de revenir dans le
code prcdent sur le nom de la procdure.
ment.
Lorsquun traitement est utilis plusieurs fois dans un ensemble de fentres,
il est conseill dutiliser une procdure globale au projet qui contiendra ce trai-
tement.
72 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Exemple pratique
Aprs avoir vu la thorie, un peu de pratique!
Dans le projet "WD Bases Programmation", ouvrez la fentre "FEN_Code" (double-cliquez sur
son nom dans lexplorateur de projet). Cette fentre prsente diffrents exemples.
Lancez le test de cette fentre ( parmi les boutons daccs rapide).
1.Cliquez sur longlet "Fonction" pour tester le fonctionnement dune fonction.
2.Cliquez sur longlet "Procdure" pour tester le fonctionnement dune procdure.
3.Fermez la fentre.
Consultez la liste des diffrentes procdures locales (accessible depuis le volet "Explorateur
de projet"). En double-cliquant sur le nom de la procdure, le code de cette procdure est affi-
ch dans lditeur de code.
Exemple pratique
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 73
Principales manipulations sur une chane de caractres
Initialisation
Un champ de type texte (par exemple un champ Libell ou un champ de saisie) peut tre initialis
grce une des mthodes suivantes:
dans longlet "Contenu" de la fentre de description du champ:
Concatnation
Une chane peut tre construite partir de plusieurs autres chanes. On parle alors de concatna-
tion de chanes. Pour concatner deux chanes, il suffit dutiliser loprateur "+".
// La fonction Info permet dafficher le rsultat lcran
Info(SAI_Text1 + SAI_Text2)
74 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
la fonction Gauche, qui retourne la partie gauche dune chane:
Info(Gauche(SAI_Texte,6)) // Affiche WINDEV
Manipulations diverses
La taille dune chane peut tre connue avec la fonction Taille:
Info(Taille(SAI_Text2)) // Affiche 35
Une chane peut tre transforme en majuscules avec la fonction Majuscule ou en minuscules
avec la fonction Minuscule:
Info(Majuscule(SAI_Text1))
Info(Minuscule(SAI_Text2))
Une chane peut tre recherche dans une autre avec la fonction Position:
ChaneARechercher est une chane = WINDEV
Pos est un entier
Pos = Position(SAI_Texte, ChaneARechercher)
SI Pos = 0 ALORS
InfoConstruit(%1 non trouv dans le texte, ChaneARechercher)
SINON
InfoConstruit(%1 trouv dans le texte, ChaneARechercher)
FIN
Vous pouvez galement effectuer une recherche de position dune chane de caractres dans
une autre sans tenir compte de la casse. Il suffit dindiquer la fonction Position la constante
SansCasse:
Pos = Position(SAI_Texte, ChaneARechercher, 1, SansCasse)
Pour connatre le nombre doccurrences dune chane de caractres donne dans une autre
chane de caractres, utilisez la fonction ChaneOccurrence:
NbOccurrences est un entier
NbOccurrences = ChaneOccurrence(anastasia, a) // Renvoie 4
Il est galement possible de rechercher une chane et de la remplacer en une seule opration
grce la fonction Remplace:
Remplace(SAI_Texte, WINDEV, WINDEV Mobile)
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 75
Pour construire une chane partir dune chane et du rsultat dune fonction,
il est conseill dutiliser la fonction InfoConstruit. Cette fonction permet de
construire le texte affich en fonction de paramtres (%1, %2, ...) :
InfoConstruit(%1 non trouv dans le texte, ...
ChaneARechercher)
Bien entendu, il est possible dutiliser la concatnation simple:
Astuce
Exemple pratique
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 77
Manipulations diverses
Quelques exemples de manipulations de numriques raliss en WLangage:
La partie entire dun nombre est connue par la fonction PartieEntire, la partie dcimale
par la fonction PartieDcimale:
InfoConstruit(Partie entire de %1 : %2 + RC + ...
Partie dcimale de %1 : %3, SAI_RelSign, ...
PartieEntire(SAI_RelSign), ...
PartieDcimale(SAI_RelSign))
78 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Traitement des montaires
Exemple pratique
Dtails
Les rels permettent de manipuler par programmation des nombres dcimaux.
Les montaires permettent de grer galement ces nombres dcimaux mais de manire plus
prcise.
En effet, avec les rels, des arrondis sont effectus par le systme dexploitation et ces arrondis
peuvent induire des erreurs de calcul.
Par exemple:
// Avec une variable de type Rel Double, le calcul est faux
MonRel est un rel
MonRel = 18.6 - 8.6 - 10
Erreur(18.6 - 8.6 - 10 = + MonRel)
Pour tester ce code, cliquez sur le bouton "Soustraction de rels" dans la fentre de test.
Avec des variables de type montaires, le calcul est effectu par le WLangage.
Le WLangage garantit 23 chiffres significatifs ce qui permet davoir en toutes circonstances des
calculs corrects.
Avec le code suivant, le calcul est correct:
// Avec une variable de type Montaire, le calcul est correct
monMontaire est un montaire
monMontaire = 18.6 - 8.6 - 10
Info (18.6 - 8.6-10 = + monMontaire)
Pour tester ce code, cliquez sur le bouton "Soustraction de montaires" dans la fentre de
test.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 79
Pour effectuer des divisions sur des montaires, il est conseill de passer par des variables inter-
mdiaires de type "Montaire".
Pour tester ce code, cliquez sur le bouton "Division dun montaire" dans la fentre de test.
Pour faire des calculs avancs, le WLangage met galement votre disposition
le type Numrique. Par dfaut, le type Numrique correspond 32 chiffres pour
Remarque
WINDEV est trs souple dans les affectations de variables. Ainsi il est possible daffecter une
chane de chiffres dans une variable numrique et inversement. Par exemple:
i est un entier
c est une chane
i = 123
c = i // la variable c contient la chane 123
c = 456
i = c // la variable i contient la valeur 456
Si vous voulez transformer un nombre en une chane de caractres en respectant un format bien
prcis, il suffit dutiliser la fonction NumriqueVersChane. Par exemple:
NumriqueVersChane(1234.567,012,3f) // renvoie 00001234,567
80 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
A chaque fois que vous devez utiliser la fonction NumriqueVersChane et que vous ne savez pas
exactement quels paramtres utiliser, utilisez lassistant de code propos par WINDEV: cet assis-
tant vous donnera la syntaxe utiliser en fonction du rsultat souhait.
Sous lditeur de code, lors de la saisie du nom dune fonction suivi de la paren-
thse ouvrante, plusieurs informations peuvent tre affiches dans une liste:
Notes
Les dates
Exemple pratique
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 81
Masque de saisie et valeur retourne
Les dates (comme les heures) sont des chanes qui ont un format prdfini.
Dans un champ de saisie de type "Date" (ou de type "Heure"), il faut distinguer:
Le masque de saisie: cest le format avec lequel la date et lheure seront saisies.
Le masque daffichage: cest le format avec lequel la date et lheure seront affiches.
La valeur retourne (ou mmorise): cest la valeur retourne par le champ vers le programme.
Ces informations sont saisies dans la fentre de description du champ de saisie.
Dans la fentre "FEN_Date", affichez la fentre de description du champ "Saisissez une date"
(option "Description" du menu contextuel du champ). Affichez longlet "Gnral" de cette
fentre. Les informations affiches sont les suivantes:
Pour comprendre limportance et les relations entre le masque de saisie et la valeur retourne,
regardons les exemples suivants:
Si le masque de saisie et daffichage dun champ date est "JJ/MM/AA" et la valeur
retourne est "AAAAMMJJ":
SAI_DateJ= 20131225 // Affiche la date sous la forme 25/12/13
SAI_DateJ = 131225 // Affiche la date sous une forme incorrecte
La date affiche sera incorrecte.
Si le masque de saisie et daffichage dun champ date est "MM/JJ/AAAA" et la valeur
retourne est "AAMMJJ":
SAI_DateJ = 131225 // Affiche la date sous la forme 12/25/2013
SAI_DateJ = 20131225 // Affiche la date sous une forme incorrecte
La date affiche est incorrecte.
Il faut donc faire attention au format de la valeur retourne dans un champ de type date ou
heure.
82 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les fonctions du WLangage qui manipulent:
des dates utilisent le format "AAAAMMJJ".
des heures utilisent le format "HHMMSSCC" (certaines utilisent le format "HHMMSSCCC",
pour la gestion des millisecondes).
mme masque est utilis automatiquement dans tous les champs de type date
de lapplication.
Cette fonctionnalit est galement trs utile dans les applications multilingues.
Nous allons maintenant voir comment grer les dates par programmation.
1.Fermez si ncessaire la fentre de description du champ.
2.Testez la fentre "FEN_Date" ( parmi les boutons daccs rapide).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 83
Quel jour sommes-nous?
Pour connatre la date du jour, il suffit dutiliser la fonction DateDuJour (ou DateSys). La fonction
DateDuJour retourne la date systme de votre ordinateur sous la forme dune chane de carac-
tres au format "AAAAMMJJ". Exemple:
Info(Nous sommes le + DateDuJour())
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "DateDuJour".
Comme vous pouvez le constater, la date affiche est au format "AAAAMMJJ".
Pour afficher la date sous un format plus explicite, il suffit dutiliser la fonction DateVersChane:
Info(Nous sommes le + DateVersChane(DateDuJour(),...
maskDateSystme))
La fonction DateVersChane transforme une chane au format "AAAAMMJJ" en chane au format
choisi. La constante MaskDateSystme permet dutiliser le format de date dfini dans longlet
"Langues" des caractristiques du projet.
Rappel: Pour afficher les caractristiques du projet, sous le volet "Projet", dans le groupe "Projet",
cliquez sur "Description".
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "DateVersChane".
Quel jour sommes-nous, mais avec le jour et le mois en lettres?
Pour afficher la date en toutes lettres, il faut utiliser la fonction DateVersChane en utilisant un
format de date spcifique:
Info(Nous sommes le + DateVersChane(DateDuJour(),...
JJJJ JJ MMMM AAAA))
Dans ce code:
la chane "JJJJ JJ" permet dobtenir le jour en toutes lettres. Par exemple: Mardi 17.
la chane "MMMM" permet dobtenir le mois en toutes lettres. Par exemple: Septembre.
la chane "AAAA" permet dobtenir lanne. Par exemple: 2013.
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "En lettres".
Quel est le nombre de jours entre 2 dates?
Vous voulez savoir combien de jours se sont couls entre deux dates? Cest trs simple: il suffit
dutiliser la fonction DateDiffrence:
NombreJour est un entier
NombreJour = DateDiffrence(20100101, DateDuJour())
InfoConstruit(...
Le nombre de jours entre le %1 et le %2 est: %3, ...
DateVersChane(20100101, maskDateSystme),...
DateVersChane(DateDuJour(), maskDateSystme), NombreJour)
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "DateDiffrence".
84 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Il est galement possible dobtenir la dure entre la date du jour et une date
spcifique sous forme dun texte clair (il y a deux jours, dans 3 semaines, ...). Il
Remarque suffit dutiliser:
soit le masque daffichage de type "Dure relative".
soit la fonction DateVersChane avec la constante maskDateDureRelative.
Par exemple:
// A la date du 22/01/2013
Res = DateVersChane("20130101", maskDateDureRelative)
// Renvoie : il y a 3 semaines
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton
"DateVersJourEnLettre".
Le type "Date" permet de grer des dates comprises entre le 01/01/0001 et le 31/12/9999 (de
quoi tre tranquille pour un bon moment!).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 85
Plus srieusement, pour manipuler la valeur de ces variables, vous pouvez utiliser les syntaxes
suivantes:
MaDate est une Date = 20121021
Info(DateVersChane(MaDate)) //Affiche 21/10/2012
MaDate..Anne = MaDate..Anne + 1
MaDate..Mois = MaDate..Mois + 1
MaDate..Jour = MaDate..Jour + 1
Info(DateVersChane(MaDate)) //Affiche 22/11/2013
Info(ChaneConstruit(...
Il reste %1 jours avant le prochain rveillon du jour de lan,...
le %2., MaDure..EnJours, DateVersChane(NouvelleAnne)))
86 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les heures
Exemple pratique
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "Maintenant".
Vous souhaitez afficher lheure au format standard "HH:MM:SS:CC"? Le code devient alors:
Info(Il est + HeureVersChane(Maintenant()))
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 87
Pour ne pas afficher les centimes de seconde, le code est:
Info("Il est " + HeureVersChane(Maintenant(), "HH:MM:SS"))
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "1er exemple".
Le mme calcul peut tre effectu en utilisant les variables de type Heure et Dure.
Le WLangage propose des types de variables spcifiques pour les valeurs de type Date, Heure,
DateHeure ou de Dure. Ces variables sont assimilables des "chanes". Chacune contient une
valeur selon le tableau suivant:
Type Format par dfaut
Heure HHMMSSCC
Dure AAAAMMJJHHMMSSCC
88 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le code peut devenir:
Dans12H est une Heure
Dans12H..Heure+= 12
Dans12H..Minute+= 30
InfoConstruit(Dans 12 heures et 30 minutes, il sera %1, ...
HeureVersChane(Dans12H, HH:MM))
Pour tester cette fonctionnalit dans notre exemple, cliquez sur le bouton "2 me
exemple".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 89
Leon 1.5. Questions / Rponses
Questions / Rponses
Dure estime: 10 mn
90 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Questions / Rponses
Pour visualiser llment correspondant au traitement en cours, sous le volet "Code", dans le
groupe "Navigation", cliquez sur "Aller lobjet" (CTRL + ALT + F2). La fentre contenant llment
voulu saffiche.
Le code source en cours peut tre imprim directement en cliquant sur licne dans le volet
"Accueil" ou grce la combinaison de touches [CTRL] + [P].
Les fonctions de recherche ou de remplacement (dans le code, linterface, ...) sont accessibles
depuis le volet "Accueil", dans le groupe "Rechercher" ou dans le volet "Rechercher - Remplacer"
(CTRL + F):
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 91
Question Que signifient les signes "+" ou "-" dans lditeur de code?
Lditeur de code permet denrouler ou de drouler le code WLangage. Cette fonctionnalit est
trs utile si vos traitements utilisent de nombreuses instructions structures (boucles, condition,
parcours,...).
Pour replier un code, sous le volet "Affichage", droulez "Replier" et slectionnez loption de menu
"Replier tout" (ou le raccourci [CTRL] + [SHIFT] + * (du clavier numrique)).
Seuls les commentaires restent visibles. Le survol de chaque ligne de commentaire permet de
visualiser le code associ dans une bulle:
La combinaison de touches [CTRL] + * (du clavier numrique) permet de dplier tout le code. Le
clic sur les symboles "-" ou "+" permet denrouler ou de drouler uniquement la partie de code
correspondante.
Question Est-il possible didentifier la personne qui a crit une ligne de code?
Lappui de la touche [F6] permet dafficher les informations (nom et date de la cration/modifica-
tion) de chaque ligne de code.
Dans lditeur de code, pour activer (ou non) la numrotation des lignes de code, sous le volet
"Affichage", dans le groupe "Aide ldition", cliquez sur "Afficher les numros de ligne".
92 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Question Existe-t-il un moyen dobtenir facilement la syntaxe ou de laide sur une
fonction?
Pour les fonctions utilisant des noms de fichiers de donnes, de champs, de fentres, ou dtats,
la saisie assiste permet dafficher la liste des lments du projet correspondant au paramtre
de la fonction en cours de saisie.
Exemple de saisie assiste pour la fonction HLitPremier: loption <Assistant> permet de lancer
un assistant de code. Cet assistant vous pose diffrentes questions sur lutilisation de la fonction
et gnre automatiquement le code correspondant.
Toutes les fonctions et les proprits du WLangage ont une aide associe. Cette aide est directe-
ment accessible depuis lditeur en appuyant sur la touche [F1] sur le nom de la fonction ou de la
proprit voulue.
Question Quels sont les raccourcis clavier connatre sous lditeur de code?
[F2] sur le nom dun champ, dune mthode, dune classe, dune procdure ou dun bloc dtat
affiche le traitement de cet objet.
[CTRL]+[F2] permet de revenir au traitement initial.
Il est possible par lappui rpt sur la touche [F2] de se dplacer dun traitement un
autre. Pour revenir sur le traitement initial, il suffit dappuyer autant de fois sur les touches
[CTRL]+[F2].
[CTRL]+[L] supprime la ligne en cours.
[CTRL]+[D] duplique la ligne en cours (ou les lignes slectionnes) sur la ligne du dessous.
[TAB] et [SHIFT]+[TAB] permettent de grer lindentation de lensemble des lignes slectionnes.
[CTRL]+[/] met en commentaires les lignes slectionnes, [CTRL]+[SHIFT]+[/] enlve les com-
mentaires (Attention touche [/] du pav numrique).
[CTRL]+[R] permet de rindenter automatiquement le code affich.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 93
Question Comment dialoguer avec lutilisateur?
Il suffit dutiliser une bote de dialogue avance. Ces botes de dialogue permettent de grer:
linterrogation directive (fonction Dialogue): lutilisateur rpond une question grce des
boutons contenant le texte de laction effectuer.
la saisie immdiate (fonction Saisie), en proposant lutilisateur de saisir directement dans
la bote de dialogue la valeur voulue.
Pour plus de dtails sur ces fonctions, consultez laide en ligne (mot-cl: "Dialogue" et "Saisie").
Pour tester les diffrents modes de dialogue avec lutilisateur:
1.Ouvrez si ncessaire le projet "WD Bases Programmation.WDP": sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Bases de la pro-
grammation".
2.Ouvrez la fentre "FEN_Dialogue.WDW". Cette fentre illustre les diffrents modes de dia-
logue possibles.
3.Testez cette fentre (bouton "GO").
4.Cliquez sur les diffrents boutons pour tester les diffrents modes de dialogue.
5.Arrtez le test de cette fentre et revenez sous lditeur de code pour tudier le code de
chaque bouton.
94 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour mettre en application les diffrentes manipulations sur les botes de dialogues, nous
vous proposons un petit exercice:
1.Dans le projet "WD Bases Programmation", ouvrez la fentre "FEN_Dialogue" si ncessaire
(double-cliquez sur son nom dans lexplorateur de projet).
2.Dans la zone "A vous de jouer", un exercice vous est propos:
Dans le bouton "Votre code", crivez le code qui permet de demander lutilisateur son pr-
nom. Affichez ce prnom dans la barre de message et dans une bote dinformation. Si luti-
lisateur annule la saisie du prnom, affichez un toast pour indiquer cette annulation.
Testez la fentre pour tester votre code.
Correction: Le bouton "Code corrig" contient la solution.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : A la dcouverte de WINDEV 95
96 Partie 1 : A la dcouverte de WINDEV (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 2
Ma premire
base de
donnes
98 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 2.1. Prsentation
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 99
Prsentation du projet ralis dans cette partie
Dans cette partie, nous allons crer un projet associ une base de donnes HFSQL.
Vous allez ainsi dcouvrir des lments cls de la conception dune application:
Cration dun projet WINDEV.
Description des fichiers de donnes manipuls par lapplication.
Dans une prochaine partie, nous nous concentrerons sur le dveloppement des lments (fe-
ntres, tats, ...) dune application avec donnes, que nous dvelopperons de A Z, de la cration
de linterface la distribution finale. Vous verrez ainsi tous les points importants du dveloppe-
ment dune application.
Dans cette partie, la base de donnes que nous allons crer ensemble est une gestion de com-
mandes.
Le mme type de base de donnes sera ensuite utilis dans la partie 3 de ce cours pour dve-
lopper une application complte. La base de donnes utilise est HFSQL Classic, la base de don-
nes gratuite fournie avec WINDEV. Plus loin dans ce cours, nous tudierons la base de donnes
HFSQL Client/Serveur.
100 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 2.2. WINDEV et les bases
de donnes
Dure estime: 5 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 101
Prsentation
Lors de la conception dune application, vous pouvez tre amen manipuler des donnes. Pour
les stocker, vous devez constituer ce que lon nomme "une base de donnes".
Dans WINDEV, lors de la cration dun projet manipulant des donnes, vous devez tout dabord
crer une "analyse".
Une "analyse" contient la description des fichiers de donnes (ou tables) contenant les donnes
de lapplication.
Cest seulement lors de lexcution de lapplication, que ces descriptions sont utilises pour crer
la base de donnes et/ou les fichiers de donnes. Cest dans cette base ou dans ces fichiers de
donnes que seront stockes les informations.
Notes
WINDEV sait grer diffrents formats de base de donnes (pour ne pas dire tous). Les formats les
plus courants sont:
HFSQL, systme de base de donnes intgre WINDEV et livre en standard. La base de
donnes HFSQL est disponible en mode Classic ou Client/Serveur.
Oracle, SQL Server, MySQL, xBase, SQL Azure, ...
AS/400, Access, Sybase, Informix,...
Toute base accessible en langage SQL sous Windows.
Texte (fichiers ASCII).
Pour accder aux donnes, il existe diffrentes techniques:
Accs Natif,
Accs OLE DB,
Accs ODBC direct,
Accs ODBC via OLE DB.
102 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
HFSQL
HFSQL est une base de donnes la fois trs puissante, trs rapide et trs robuste.
HFSQL fonctionne sous Windows et Linux, sur Mobiles (iOS, Android, Windows CE, Windows 10),
sur les rseaux de toute taille et de tout type, et gre automatiquement plusieurs centaines dac-
cs simultans.
La diffusion de HFSQL est libre et gratuite avec vos applications WINDEV.
Dans les diffrentes parties de ce cours dauto-formation, nous allons manipuler une base de
donnes HFSQL Classic puis une base HFSQL Client/Serveur.
Accs Natif
Un accs natif manipule directement et exclusivement un format de base de donnes. Ce type
daccs optimis est dvelopp spcialement pour chaque format de base de donnes.
Dans WINDEV, il existe un accs natif pour les bases de type:
HFSQL Classic ou Client/Serveur (en standard)
xBase (en standard)
Access (en standard)
XML (en standard)
SQLite (en standard)
Oracle (optionnel)
AS/400 (optionnel)
SQL Server (optionnel)
Sybase (optionnel)
Informix (optionnel)
DB2 (optionnel)
Progress (optionnel)
MySQL (optionnel et gratuit)
PostgreSQL (optionnel et gratuit)
MariaDB (optionnel et gratuit)
SQL Azure (optionnel et gratuit)
Dautres accs natifs seront bientt disponibles, contactez notre service commercial!
Les fonctions WLangage SQL* et HLit* sont utilisables avec ce type daccs. Le code est ainsi
portable et indpendant de la base de donnes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 103
Accs ODBC direct
Un accs via ODBC direct utilise un standard daccs multi-bases. Vous devez installer la couche
ODBC sur votre machine. Cette couche est en gnral dj installe sur les versions rcentes de
Windows. Vous pouvez le vrifier dans le panneau de configuration de Windows en choisissant
loption "Administrateur ODBC".
Attention: toutes les bases de donnes ne sont pas obligatoirement accessibles via cette m-
thode. Si vous souhaitez utiliser ce type daccs, vrifiez quil existe un pilote ODBC et installez ce
pilote si ncessaire.
Seules les fonctions WLangage SQL* sont utilisables avec ce type daccs.
Accs OLE DB
Un accs via OLE DB est un accs qui utilise un standard daccs multi-bases. Ce type daccs est
bas sur le MDAC (Microsoft Data Access Component) de Microsoft.
Attention!
Si vous utilisez un accs OLE DB, vous devez obligatoirement installer le MDAC
sur les postes utilisateurs (version 2.6 minimum).
Toutes les bases de donnes ne sont pas obligatoirement accessibles via cette mthode. Si vous
souhaitez utiliser ce type daccs, vrifiez quil existe un pilote OLE DB.
Les fonctions WLangage SQL* et HLit* sont utilisables avec ce type daccs.
104 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 2.3. Projet et analyse
Dure estime: 40 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 105
Prsentation
Pour crer une application avec une base de donnes, il faut:
Crer le projet li lapplication. Ce projet regroupera tous les lments de lapplication (fe-
ntres, codes, requtes, tats, ...).
Crer lanalyse lie au projet. Lanalyse permet de dcrire tous les fichiers de donnes manipu-
ls par lapplication.
Cration du projet
3.Le premier cran de lassistant permet de saisir le nom du projet, son emplacement et sa
description. Dans notre cas, ce projet va simplement sappeler "WD Ma Premire Base De
Donnes". Par dfaut, WINDEV propose de crer ce projet dans le rpertoire "\Mes projets\
WD Ma Premire Base De Donnes". Vous pouvez conserver cet emplacement ou le modifier
grce au bouton [...]. Pour le rsum du projet, saisissez "Le projet a pour but de grer des
clients et leurs commandes".
106 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Les diffrentes tapes de lassistant sont indiques gauche de lassistant. Ces tapes
sont directement clicables. Les autres crans de ltape "Description" ntant pas fondamen-
taux, cliquez directement sur "Chartes".
5.Cette tape permet de dfinir la charte de programmation utilise. Ne modifiez pas les
options proposes. Passez ltape suivante laide des flches situes en bas.
6.Cette tape permet de dfinir la charte graphique. Slectionnez "Elegant". Passez ltape
suivante laide des flches situes en bas.
7.Cliquez sur ltape "Le saviez-vous". Cet cran permet de grer laffichage dune fentre de
type "Le saviez-vous".
Nous nafficherons pas cette fentre: slectionnez loption "Ne pas afficher la fentre Le sa-
viez-vous au lancement de lapplication". Passez ltape suivante.
8.Nous allons maintenant donner les renseignements concernant la base de donnes.
9.Slectionnez loption "Oui, crer une nouvelle base de donnes" et validez. Lassistant de
cration de lanalyse se lance.
Pour suivre les diffrentes leons de cette partie et optimiser votre apprentis-
sage de WINDEV, il est conseill de crer le projet "WD Ma Premire Base De
Donnes".
Notes
Un exemple corrig est disponible tout moment pour vrifier la validit des op-
rations effectues.
Pour ouvrir ce projet corrig, sous le volet "Accueil", dans le groupe "Aide en
ligne", droulez "Guide dAuto-formation" puis slectionnez "Ma premire base de
donnes (Corrig)".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 107
Cration de lanalyse
2.Vous pouvez ensuite choisir le ou les types de bases de donnes manipules par le projet.
Slectionnez HFSQL Classic (la base de donnes propose par dfaut avec WINDEV).
108 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cration de la description des fichiers de donnes
Notre application de gestion de clients et de commandes va tre associe lanalyse suivante.
Cette analyse comportecinq fichiers de donnes (tables) diffrents:
Client
Commande
ModeRglement
LigneCommande
Produit
Pour crer les diffrents fichiers de donnes de cette analyse, nous allons utiliser diffrentes m-
thodes disponibles dans WINDEV.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 109
Cration dun fichier de donnes : utilisation dun fichier prdfini
Les tapes de lassistant de cration dun fichier de donnes sont les suivantes:
1.Slectionnez dans lassistant loption "Slectionner une description parmi des fichiers de
donnes prdfinis". Passez ltape suivante de lassistant (flche en bas de lassistant).
2.La liste des fichiers de donnes prdfinis est affiche. Nous allons crer le fichier "Client".
Dans la liste des fichiers de donnes, slectionnez "Client". Passez ltape suivante.
3.Lassistant propose la liste des rubriques intgrer dans le fichier Client. Cette liste est
impressionnante car elle permet de grer de nombreux types de fichiers Client.
4.Cochez uniquement les rubriques suivantes : IDClient, Socit, Nom, Prnom, Adresse, Co-
dePostal, Ville, EtatDep, Pays, Tlphone, Mobile, Email.
5.Validez lassistant.
110 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6.Le fichier "Client est automatiquement cr sous lditeur danalyses.
7.La fentre de cration dun nouvel lment saffiche. Nous allons maintenant crer le fi-
chier de donnes contenant les commandes.
Pour crer un fichier de donnes depuis la fentre de cration dun nouvel lment:
1.Cliquez sur "Donnes" puis sur "Fichier de donnes".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 111
5.Nous allons crer le fichier "Commande". Saisissez son nom "Commande" dans lassistant.
Ce nom sera utilis:
pour manipuler le fichier de donnes en programmation. La variable associe au fichier
sera "Commande".
pour construire le nom du fichier de donnes physique associ (fichier "Commande.fic").
Automatiquement, le libell et la description des lments reprsents par les enregistre-
ments du fichier de donnes apparaissent.
Cet identifiant est automatiquement gr par WINDEV. Chaque fois quun enre-
gistrement est ajout dans le fichier de donnes, WINDEV affecte automatique-
ment une valeur lidentifiant du fichier. Cette valeur est unique.
112 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons saisir les rubriques du fichier "Commande". Dans la fentre de description du fichier
de donnes, vous pouvez dj voir quune rubrique a t automatiquement cre: "IDCommande".
Cette rubrique correspond lidentifiant automatique du fichier de donnes. Cette rubrique est
compose des lettres "ID" et du nom du fichier.
Nous allons crer les autres rubriques de ce fichier de donnes.
Tout dabord, nous allons crer la rubrique "Date". Cette rubrique contiendra la date de la
commande.
1.Dans la fentre de description des rubriques, double-cliquez dans la colonne "Nom" de la
premire ligne vide. Cette colonne passe automatiquement en saisie. Saisissez "Date".
2.Cliquez dans la colonne "Libell". Automatiquement, le nom de la rubrique apparat. Nous
allons modifier le libell de la rubrique en cliquant dessus: saisissez "Date de la commande".
Dans la colonne "Type", le type "Texte" est automatiquement slectionn. Droulez la liste et
slectionnez le type "Date".
3.Cette rubrique va tre une cl (un index) de notre fichier de donnes: les cls permettent
dacclrer les accs aux donnes et les tris.
Dans le cas dune base de donnes au format SQL, le moteur utilise au mieux les index.
Dans le cas dun parcours squentiel dun fichier de donnes, il suffit dindiquer lindex de
parcours (cest--dire la cl).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 113
La notion de cl fait partie des caractristiques dune rubrique. En fait, lors de la
cration dune rubrique, vous avez la possibilit dindiquer si elle est:
non cl,
Notes
5.Il est galement ncessaire de dfinir le sens de parcours de la cl. Le sens de parcours
permet de dfinir le tri par dfaut de cette rubrique. Dans notre cas, lorsquun parcours sera
effectu sur cette cl, le tri par dfaut sera "ascendant".
Nous allons maintenant crer la rubrique "Etat" qui permet de connatre ltat de la com-
mande.
1.Positionnez-vous sur une nouvelle ligne de la table. Saisissez:
le nom: Etat
le libell: Etat de la commande
le type: Slecteur, Liste, Combo. Dans la fentre qui souvre, vous pouvez slectionner le
type de champ cr par dfaut pour cette rubrique. Ici, ce sera un slecteur. Validez la fe-
ntre.
2.Dans la partie basse de lcran, cliquez sur la double flche pour afficher les paramtres
du champ li la rubrique slectionne.
Les informations saisies ici seront automatiquement utilises lors de la cration des fentres
lies au fichier de donnes. Vous retrouvez ici le type du champ et le libell.
Nous allons saisir les options suivantes dans longlet "Contenu":
Cliquez sur longlet "Contenu".
Cliquez sur le bouton "+" pour ajouter la premire option.
Loption 1 correspond En attente. Saisissez "En attente" dans le champ de saisie droite
du slecteur.
114 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cliquez sur le bouton "+" pour ajouter la seconde option.
Saisissez "Valide" la place de "Option 2".
Cliquez nouveau sur le bouton "+".
Saisissez "Annule" la place de "Option 3".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 115
Importation dun fichier CSV
Pour crer le fichier "ModeRglement", contenant les caractristiques du rglement, nous allons
utiliser une autre mthode: limport dun fichier CSV.
contient des donnes sur chaque ligne. Les donnes sont spares par un ca-
ractre de sparation (gnralement une virgule, un point-virgule ou une tabula-
tion).
Pour importer un fichier (CSV ou autre) dans lanalyse, il est galement possible
Astuce
de raliser directement un "Drag and Drop" du fichier CSV (prsent dans lexplo-
rateur de fichiers Windows) vers lditeur danalyses. Nous le verrons dans le
paragraphe suivant.
116 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Indiquez le chemin du fichier importer : "\Autoformation\Exercices\WD Ma Premire Base
De Donnes\ModeRglement.csv" prsent dans le rpertoire dinstallation de WINDEV.
6.Passez ltape suivante de lassistant.
7.Indiquez les paramtres dimportation suivants:
Enregistrements dlimits par: "<Retour chariot/Saut de ligne>
Colonnes dlimits par: "<Point-virgule>"
Chanes dlimites par : "<Aucun>"
Sparateur dcimal : "<Automatique : point ou virgule>"
8.Noubliez pas de cocher loption "La premire ligne contient les noms des colonnes".
9.Passez ltape suivante.
10.La structure du fichier de donnes qui va tre cr apparat. Conservez les options par
dfaut. Passez ltape suivante.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 117
11.Le contenu du fichier CSV va tre automatiquement converti au format HFSQL. Lassistant
vous propose de crer le fichier HFSQL dans le rpertoire du projet. Conservez les options pro-
poses et passez ltape suivante.
118 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Importation directe de fichiers de donnes existants
La dernire mthode que nous allons voir pour crer des fichiers de donnes est la simple impor-
tation de fichiers de donnes HFSQL existants. Nous allons utiliser cette mthode pour crer le
fichier "Produit".
Pour manipuler les donnes du fichier que vous venez dimporter, copiez dans
lexplorateur de fichiers, les fichiers "Produit.fic", "Produit.mmo" et "Produit.ndx"
(prsents dans le rpertoire "\Autoformation\Exercices\WD Ma Premire Base
De Donnes") vers le sous-rpertoire EXE du rpertoire de votre projet.
Remarque: Pour ouvrir directement lexplorateur de fichiers sur le rpertoire de
votre projet, sous le volet "Accueil", dans le groupe "Gnral", cliquez sur .
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 119
Maintenant nous allons crer les liaisons entre les fichiers de donnes. Une liaison permet de
dfinir les contraintes dintgrit (cardinalits) entre deux fichiers de donnes.
Crons tout dabord la liaison entre le fichier "Client" et le fichier "Commande": un client peut
avoir une ou plusieurs commandes, et chaque commande est lie un client.
1.Sous le volet "Analyse" (prsent dans le ruban), dans le groupe "Cration", cliquez sur "Nou-
velle liaison". Le curseur de la souris se transforme en crayon.
2.Cliquez sur le fichier "Client" puis sur le fichier "Commande".
3.Lassistant de cration de liaison se lance.
4.Rpondez aux questions poses par lassistant:
120 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Passez ltape suivante. Lassistant propose automatiquement la cl utilise par la liai-
son (IDClient).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 121
Nous allons maintenant crer une liaison entre le fichier "Produit" et "Commande". Cette
liaison va nous permettre de crer un fichier de liaison, le fichier des lignes de commandes.
1.Crez de la mme manire la liaison entre les fichiers.
2.Rpondez aux questions poses par lassistant:
Chaque Produit a au moins une Commande: Non
Chaque Produit peut avoir plusieurs Commandes: Oui
Chaque Commande a au moins un Produit: Non
Chaque Commande peut avoir plusieurs Produits: Oui
122 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons maintenant modifier le fichier de relation qui a t cr par WINDEV. En effet, ce fi-
chier va contenir les lignes de commande. Nous allons:
Modifier le nom du fichier.
Modifier le nom de ses rubriques.
Ajouter des rubriques pour connatre la quantit de produit command et le total de la ligne de
commande.
Nous allons tout dabord renommer le fichier. Nous avons dj ralis une manipulation
similaire lorsque nous avons chang le libell du fichier import. Mais ici, ce nest pas juste
un libell qui va tre modifi: nous allons galement renommer le fichier physique li la
description du fichier.
1.Slectionnez le fichier "Produit_Commande".
2.Dans le menu contextuel (clic droit), slectionnez loption "Description du fichier de don-
nes".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 123
3.Dans la fentre qui saffiche, modifiez:
le nom du fichier: "LigneCommande".
le nom sur le disque: "LigneCommande".
2.Ce fichier comporte 3 rubriques. Positionnez le bandeau de slection sur la rubrique "Rf-
rence_IDCommande". Cette rubrique est une cl compose.
124 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons maintenant ajouter 3 nouvelles rubriques dans ce fichier de relation: Quantit,
TotalTTC et TotalHT.
1.Positionnez-vous sur une nouvelle ligne et crez la rubrique "Quantit". Cette rubrique est de
type "Numrique".
2.Positionnez-vous sur une nouvelle ligne de la table et crez la rubrique "TotalTTC". Cette
rubrique est de type "Montaire".
3.Une fentre saffiche indiquant que la rubrique existe dj dans lanalyse, et proposant de
reprendre ses caractristiques:
6.Validez la description des rubriques (bouton vert en bas de lcran) et celle du fichier.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 125
Lanalyse est alors la suivante:
Gnration de lanalyse
La gnration de lanalyse consiste valider les modifications de lanalyse (cration de fichiers
de donnes, ajout ou suppression de rubriques, ...) et les propager dans tout le projet (pages,
champs relis, tats,...).
La gnration est automatiquement propose lorsque vous fermez lditeur danalyses et que des
modifications ont t effectues.
Il est galement possible de gnrer lanalyse manuellement. Cest ce que nous allons faire.
Pour gnrer lanalyse:
1.Sous lditeur danalyses, sous le volet "Analyse", dans le groupe "Analyse", cliquez sur "Gn-
ration".
2.La gnration de lanalyse est automatiquement lance.
Nous avons modifi les descriptions des fichiers de donnes prsents dans lanalyse.
Pour mettre jour les fichiers de donnes de lapplication, WINDEV lance automatiquement la
procdure de modification des fichiers de donnes. Cette opration permet de mettre jour les
fichiers de donnes (fichiers ".fic") en fonction de leur description dans lanalyse.
126 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Lassistant de modification automatique se lance. Validez les diffrents crans jusqu
lcran listant les fichiers prendre en compte.
WINDEV dtecte que le fichier ModeRglement ncessite une mise jour. Conservez ce fi-
chier slectionn.
WINDEV dtecte une ambiguit sur le fichier Produit qui a t copi et import. Slectionnez
ce fichier.
Lorsque votre analyse est dcrite et gnre, il est galement possible de:
Crer une application complte grce au RAD (Rapid Application Developpement). Nous allons
crer lapplication correspondant lanalyse de cette manire dans la leon suivante.
Crer une application complte entirement personnalise. Cette mthode sera utilise pour
dvelopper une application complte base sur une base de donnes dans la partie 3 de ce
cours dauto-formation. Cette application sera base sur une analyse correspondant celle que
vous avez cre dans cette partie.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 127
Leon 2.4. Le RAD complet
Dure estime: 20 mn
128 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Quest-ce que le RAD ?
R.A.D. sont les initiales de "Rapid Application Developpement".
Le RAD permet de construire automatiquement une application, cest--dire construire toutes les
fentres, les tats et les requtes ncessaires.
Comme nous lavons vu prcdemment, pour dvelopper une application en WINDEV, il faut com-
mencer par crer un projet et ventuellement une analyse. Lanalyse contient la dfinition des
structures des fichiers de donnes manipuls dans les traitements.
Le module RAD de WINDEV sappuie sur cette analyse. Le module RAD est constitu dun assis-
tant dans lequel vous pouvez choisir le modle dapplication gnrer (le pattern RAD) et les
principales options de fonctionnement de votre application.
WINDEV est livr avec diffrents "Patterns RAD", permettant de gnrer plusieurs
Note
modles dapplication. Vous pouvez galement crer vos propres patterns RAD.
Pour plus de dtails, consultez laide en ligne (mot-cl: "Pattern RAD").
Toutes les fentres, les tats, les requtes et le code gnrs par le RAD sont entirement per-
sonnalisables. Vous avez galement la possibilit de modifier les types de champs, les valeurs par
dfaut,...
Le RAD permet galement de gnrer des fentres de plusieurs types, cest le RAD fentre. Le
RAD Fentre est disponible lorsque vous crez une nouvelle fentre dans votre application.
Nous allons ici dcouvrir comment utiliser le module RAD Projet.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 129
Gnration du RAD
2.Slectionnez le modle utiliser pour la gnration du RAD: par exemple "RAD Simple".
Passez ltape suivante de lassistant.
En version Express, seul le pattern RAD Simple est disponible. Cet cran nest pas affich.
3.Tous les fichiers de donnes de lanalyse vont tre pris en compte:
130 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Les points dentre de lapplication correspondent aux entres disponibles dans le menu.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 131
8.Indiquez si le menu automatique doit tre intgr lapplication. Rpondez "Oui: Intgrer
le menu ?".
Les diffrentes options proposes par lassistant de gnration du menu automatique sont
les suivantes:
132 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
1.Conservez loption "Aide des FAA (Fonctionnalits Automatiques de lApplication)".
2.Terminez lassistant.
Lors de la cration du menu ?, loption "? .. Aide des FAA (Fonctionnalits Auto-
matiques de lApplication)" a ajout automatiquement dans votre application:
Notes
Des erreurs dIHM peuvent apparatre dans le volet des erreurs de compilation.
Notes
Ces erreurs signalent des problmes dinterface notamment dans les tats (libel-
ls trop longs par exemple). Pour corriger ces erreurs, il est ncessaire de modi-
fier les tats.
Test de lapplication
Testons immdiatement lapplication gnre.
Pour lancer le test de lapplication:
1.Cliquez sur parmi les boutons daccs rapide. Lapplication se lance.
2.Dans le menu, slectionnez loption "Clients/Prospects .. Liste des Clients/Prospects".
3.La liste des clients saffiche.
4.Pour ajouter une nouvelle personne, cliquez sur le bouton "Nouveau". Un formulaire de sai-
sie apparat.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Ma premire base de donnes 133
5.Saisissez des informations concernant un client et validez.
6.Fermez la liste des personnes.
7.Dans le menu, slectionnez loption "Produit .. Liste des Produit". La liste des produits appa-
rat.
8.Fermez la fentre de tests. Lditeur de WINDEV rapparat.
134 Partie 2 : Ma premire base de donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 3
Application
complte avec
donnes
136 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.1. Prsentation
Dure estime: 5 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 137
Prsentation de lapplication ralise dans cette partie
Dans cette partie, nous allons raliser une application manipulant des fichiers de donnes au
format HFSQL Classic.
Cette application de gestion de commandes permettra de:
Visualiser, saisir et modifier des produits,
Imprimer des tats,
Afficher des statistiques,
Grer des niveaux dutilisation,
Envoyer des emails,
...
Le dveloppement de cette application nous permettra galement daborder le dploiement et la
diffusion de lapplication auprs des clients finaux.
Vous verrez ainsi tous les points importants du dveloppement dune application.
Projets fournis
Projet exemple
Nous avons dj vu dans la partie prcdente comment crer un projet et une analyse. Nous ny
reviendrons pas. Nous allons travailler sur un projet contenant dj une analyse et des fichiers de
donnes pr-remplis. Lanalyse de lapplication est une version amliore de lanalyse que vous
avez cre dans la partie prcdente.
Pour ouvrir ce projet sous WINDEV:
1.Si ncessaire, fermez le projet en cours pour faire apparatre la fentre de bienvenue.
2.Dans la fentre de bienvenue, cliquez sur "Cours dauto-formation" et slectionnez le projet
"Application complte (Exercice)".
138 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour afficher lanalyse lie au projet, cliquez sur parmi les boutons daccs rapide.
Lditeur danalyses saffiche:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 139
Projets corrigs
Vous hsitez sur le rsultat obtenir? Ou vous navez pas le temps de raliser toutes les manipu-
lations? Un projet corrig de lapplication est disponible.
Lapplication que nous allons raliser ensemble tant relativement longue (cest une application
complte qui va nous permettre de dcouvrir les principales fonctionnalits de WINDEV), nous
vous proposons deux projets corrigs:
Un projet corrig correspondant aux leons 3.2 3.4. Ce projet contient toutes les fentres
ralises dans ces leons.
Pour utiliser ce projet corrig:
1.Si ncessaire, fermez le projet en cours pour faire apparatre la fentre de bienvenue.
2.Dans la fentre de bienvenue, cliquez sur "Cours dauto-formation" et slectionnez le projet
"Application complte (Avec fentres)".
Un projet corrig correspondant aux leons 3.5 3.9. Ce projet contient la totalit de lapplica-
tion propose.
Pour utiliser ce projet corrig:
1.Si ncessaire, fermez le projet en cours pour faire apparatre la fentre de bienvenue.
2.Dans la fentre de bienvenue, cliquez sur "Cours dauto-formation" et slectionnez le projet
"Application complte (Corrig)".
140 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.2. Fentres dajout et de
modification
Dure estime: 50 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 141
Prsentation
Nous allons crer les diffrentes fentres permettant de lister, ajouter, modifier des produits. Ces
manipulations vous feront dcouvrir plusieurs aspects de la gestion des fichiers de donnes et
vous feront galement utiliser certaines fonctionnalits bien utiles de WINDEV.
Si vous navez pas ouvert le projet "WD Application Complte" dans la leon prcdente:
1.Si ncessaire, fermez le projet en cours pour faire apparatre la fentre de bienvenue.
2.Dans la fentre de bienvenue, cliquez sur "Cours dauto-formation" et slectionnez le projet
"Application complte (Exercice)".
Astuce: si la fentre de bienvenue nest pas affiche, sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez loption "Application com-
plte (Exercice)".
cres dans cette leon. Pour ouvrir le projet corrig, sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Avec fentres)".
Cration de la fentre
142 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les modles de fentres
Un modle de fentres permet de donner un look homogne aux diffrentes
fentres dune application.
Un modle de fentres contient tous les lments graphiques communs len-
semble des fentres de lapplication. Un modle de fentres peut galement
contenir du code. Dans ce cas, ce code sera galement commun toutes les
Notes
fentres de lapplication.
Pour cet exemple nous avons cr le modle de fentres FENMOD_Modle. Ce
modle contient un logo qui apparatra sur toutes les fentres:
5.Le nom de la fentre (qui sera utilis par exemple en programmation) est automatique-
ment dduit du titre de la fentre. Si ce nom ne vous convient pas, il est possible de le modi-
fier et de spcifier un titre diffrent du nom de la fentre.
6.Validez.
Nous avons appel cette fentre "Menu" car cette fentre est la fentre princi-
Notes
pale de notre application. Elle va servir de menu mais galement afficher des
informations.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 143
Cration des champs
Pour crer la liste des produits, nous allons utiliser un champ Table. Ce champ va tre li au
fichier de donnes "Produit".
144 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Lcran suivant de lassistant propose les diffrents fichiers de donnes et les requtes
prsents dans le projet en cours. Dpliez "Analyse" si ncessaire et slectionnez le fichier
"Produit". Passez ltape suivante.
5.Lassistant propose la liste des rubriques prsentes dans le fichier "Produit". Par dfaut,
toutes les rubriques sont coches pour tre affiches dans le champ Table. Dans notre cas,
nous allons afficher toutes les rubriques SAUF lidentifiant "IDProduit", qui correspond liden-
tifiant automatique du fichier de donnes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 145
7.Les crans suivants correspondent des paramtres supplmentaires. Conservez les op-
tions par dfaut jusqu la fin de lassistant puis validez lassistant.
8.Le champ Table est automatiquement cr dans la fentre. Le champ est automatiquement
positionn et agrandi afin doccuper tout lespace disponible dans la fentre.
Arrtons-nous un instant sur le champ que nous venons de crer: les donnes sont dj affiches
dans le champ, mme sous lditeur. Cest le concept du "Live data": le contenu des fichiers de
donnes prsents sur le poste de dveloppement sont utiliss dans les fentres ou les tats ma-
nipuls sous lditeur. Cette fonctionnalit est trs intressante par exemple pour dfinir la taille
des champs prsents dans une fentre.
Test de la fentre
Nous allons tout de suite tester la fentre que nous venons de crer.
1.Cliquez sur parmi les boutons daccs rapide.
2.La fentre apparat automatiquement avec ses donnes en excution.
3.Vous pouvez faire dfiler les produits grce lascenseur (ou laide des flches du clavier).
Mettons-nous quelques instants la place de lutilisateur final pour voir les possibilits du
champ Table en excution.
146 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Quelques remarques:
Tout dabord, en excution le champ Table a le mme aspect que sous lditeur: cest la
notion de WYSIWYG ("What You See Is What You Get"): ce que vous voyez correspond ce
que vous obtenez.
Des petits pictogrammes apparaissent en haut des colonnes:
la double flche indique que la colonne peut tre trie (colonne "Rfrence" ou "Libell" par
exemple).
Par exemple, cliquez deux fois successivement sur la colonne "Libell": les donnes
affiches sont tries diffremment. Une flche gauche de la colonne indique que la
colonne est trie ainsi que le sens de tri.
la loupe indique quune recherche peut tre ralise directement dans la colonne.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 147
Par exemple, cliquez sur la loupe de la colonne "Rfrence". Une zone de saisie apparat et
vous permet de saisir la rfrence recherche. Saisissez "REF-010". Automatiquement, le
produit correspondant cette rfrence est affich.
Un menu contextuel est disponible sur le champ Table et sur chacune de ses colonnes. Ce
menu contextuel peut tre affich:
par un clic droit sur la colonne du champ Table.
par clic sur la flche situe lextrmit des enttes de colonnes.
Ce menu contextuel permet notamment dexporter le contenu du champ Table au format
Excel, de limprimer, ...
En quelques minutes, nous venons de voir et de tester quelques fonctionnalits qui sont automa-
tiquement incluses avec le champ Table. Vous navez rien programmer pour proposer ces fonc-
tionnalits vos utilisateurs. Ces fonctionnalits sont appeles "FAA" (Fonctionnalits Automa-
tiques de lApplication).
148 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
De nombreux champs proposent des FAA par dfaut. Si ces fonctionnalits ne
Notes doivent pas tre proposes (pour des raisons de scurit ou de confidentialit),
il est possible de les dsactiver sous lditeur ou par programmation. Pour plus
de dtails, consultez laide en ligne (mot-cl: "Fonctionnalits automatiques de
lapplication").
Avoir la liste des produits, cest bien, mais pouvoir modifier un produit, cest mieux. Maintenant,
nous allons crer une fentre affichant le dtail du produit afin de pouvoir le modifier.
Fermez la fentre en cours de test grce la croix situe en haut de lcran. Lditeur de
WINDEV rapparat.
Cration de la fentre
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 149
3.Slectionnez laide de la souris lensemble des rubriques affiches dans le volet (sauf la
rubrique "IDProduit"). Vous pouvez par exemple utiliser la multislection en maintenant la
touche [CTRL] enfonce.
4.Effectuez un "Drag and Drop" (glisser/dplacer) de ces rubriques vers la fentre que vous
venez de crer.
5.Diffrents champs sont automatiquement crs dans la fentre. Ces champs sont automa-
tiquement lis la rubrique correspondante dans le fichier de donnes. Pour le vrifier:
Slectionnez par exemple le champ "Rfrence".
Affichez le menu contextuel (clic droit) et slectionnez loption "Description".
150 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Affichez longlet "Liaison" de la fentre de description:
Cet onglet permet de voir que le champ de saisie en cours est li la rubrique "Rfrence" du
fichier de donnes "Produit".
6.Fermez la fentre de description.
7.Enregistrez la fentre.
Repositionnez les champs dans la fentre et redimensionnez la fentre afin dobtenir
linterface suivante:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 151
Cration des boutons
La fentre "FEN_Fiche_du_produit" va permettre dajouter un nouveau produit ou encore de modi-
fier un produit prsent dans la liste.
Nous allons tout de suite ajouter un bouton de validation et un bouton dannulation.
Pour crer le bouton "Valider":
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Bouton" (cliquez sur la
flche situe sous ).
2.La liste des boutons prdfinis saffiche.
3.Cliquez sur "Valider": la forme du bouton apparat sous la souris.
4.Cliquez ensuite droite des champs de saisie pour crer le bouton.
Ajoutez le bouton "Annuler" en utilisant le mme principe.
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Bouton" (cliquez sur la
flche situe sous ).
2.Dans la liste des boutons prdfinis, cliquez sur "Annuler": la forme du bouton apparat
sous la souris.
3.Cliquez ensuite en dessous du bouton "Valider" pour crer le bouton.
Une des premires optimisations faire consiste aligner les champs et leur donner la
mme taille:
1.Slectionnez le champ "Libell" puis tous les autres champs de saisie de la fentre (par
exemple en maintenant la touche [CTRL] appuye et en cliquant sur les diffrents champs). Le
premier champ slectionn va servir de rfrence pour la taille des autres champs.
2.Dans le ruban, affichez le volet "Alignement" de WINDEV. Ce volet contient toutes les op-
tions dalignement disponibles pour les champs.
152 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3.Nous voulons que les bords externes et internes des champs soient aligns. Cliquez sur
loption "Justifier (Int. et Ext.)".
Si vous ne savez pas quel alignement choisir, survolez les diffrentes options
proposes par le volet "Alignement" de WINDEV. Lors du survol avec la souris
dune option, les champs slectionns dans la fentre sont automatiquement
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 153
3.Fermez laperu: cliquez soit sur le bouton "Fermer" de la tlcommande, soit sur la croix
en haut droite de la fentre.
154 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Des petites flches rouges apparaissent sous lditeur indiquant que les champs sont an-
crs droite.
2.Les champs de saisie doivent sagrandir en largeur:
Slectionnez les 4 champs de saisie.
Affichez le menu contextuel (clic droit) et slectionnez loption "Ancrage".
Dans la fentre de dfinition des ancrages, slectionnez loption "Largeur" ( ).
Validez.
3.Nous allons tester nouveau le fonctionnement de cette fentre en aperu:
Sous le volet "Modification", dans le groupe "Aperu", cliquez sur "Aperu".
Agrandissez la fentre: les champs suivent bien lagrandissement en largeur.
Maintenant, il reste dfinir le fonctionnement lors de lagrandissement en hauteur.
4.Le champ "Description" peut contenir une description du produit plus ou moins importante.
Cest le champ le plus important de la fentre: il est ncessaire quil occupe le maximum de
place disponible. Appliquez-lui un ancrage en largeur et hauteur ( ).
5.Le champ "Prix HT" est automatiquement encadr en rouge: lditeur de fentres indique
un problme dancrage. En effet, si le champ "Description" stire vers le bas, le champ "Prix
HT" doit lui aussi se dplacer de la mme manire vers le bas.
6.Ouvrez la fentre des ancrages du champ "Prix HT". Lancrage idal est automatiquement
propos: "Largeur et bas" (une coche verte est prsente). Slectionnez lancrage propos et
validez.
7.Nous allons tester nouveau le fonctionnement de cette fentre en aperu:
Sous le volet "Modification", dans le groupe "Aperu", cliquez sur "Aperu".
Agrandissez la fentre: les champs suivent bien lagrandissement en largeur et en hauteur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 155
Affichage de la fiche depuis la liste des produits
Nous allons maintenant voir comment afficher la fiche du produit slectionn dans la liste des
produits. Le principe est simple: lutilisateur slectionnera le produit dans le champ Table et affi-
chera le dtail grce un bouton.
Nous allons tout dabord modifier la fentre "FEN_Menu" afin de crer un bouton de modifi-
cation:
1.Placez-vous sur la fentre "Menu": cliquez sur le bouton "FEN_Menu" dans la barre des bou-
tons:
3.Faites un clic droit sur le bouton et dans le menu qui saffiche, slectionnez loption "Code".
4.Dans la fentre de code qui apparat, saisissez le code suivant dans le traitement "Clic sur":
Ouvre(FEN_Fiche_du_produit)
156 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6.Enregistrez les modifications en cliquant sur parmi les boutons daccs rapide.
7.Fermez la fentre de code (cliquez sur la croix en haut droite de lditeur de code).
Nous allons maintenant modifier la fentre "FEN_Fiche_du_produit" pour afficher le produit slec-
tionn dans le champ Table.
Affichez la fentre "FEN_Fiche_du_produit" sous lditeur: cliquez sur le bouton correspon-
dant dans la barre de boutons.
Pour afficher les donnes du produit:
1.Affichez les traitements associs la fentre:
Dans la zone ct de la fentre (appele "Zone daccueil"), faites un clic droit de souris.
Dans le menu contextuel qui saffiche, slectionnez "Code".
Lditeur de code apparat.
2.Dans le traitement "Fin dinitialisation de FEN_Fiche_du_produit", saisissez le code suivant:
// Affecte le contenu des rubriques aux champs
FichierVersEcran()
La fonction FichierVersEcran permet dafficher dans les champs les donnes prsentes dans le
fichier de donnes, pour lenregistrement en cours. Dans notre cas, lenregistrement en cours
sera lenregistrement slectionn dans le champ Table de la fentre "FEN_Menu".
3.Fermez la fentre de code.
4.Enregistrez la fentre.
Affichez la fentre "FEN_Menu" sous lditeur: cliquez sur le bouton correspondant dans la
barre de boutons.
Testez la fentre ( parmi les boutons daccs rapide).
Dans la liste des produits, cliquez sur un des produits avec la souris.
Cliquez sur le bouton "Modifier llment".
La fentre de dtail du produit saffiche.
Fermez les fentres en utilisant la croix (x) en haut droite des fentres.
Gestion de la modification dun produit
Nous allons maintenant modifier la fentre "FEN_Fiche_du_produit" afin de grer la modification
dun produit.
Nous allons:
permettre lutilisateur de modifier limage du produit.
ajouter des boutons pour enregistrer ou annuler les modifications effectues dans la fiche.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 157
Pour crer le bouton de modification:
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Bouton" : la liste des bou-
tons prdfinis saffiche. Cliquez sur "Modifier".
2.La forme du bouton apparat sous la souris. Cliquez ensuite dans la fentre, sous limage
du produit.
3.Redimensionnez si ncessaire le bouton ( laide des poignes) pour que le bouton ait la
mme largeur que le champ Image.
Notes
4.Faites un clic droit sur le bouton. Dans le menu qui saffiche, slectionnez loption "Code".
5.Dans la fentre de code qui apparat, saisissez le code suivant dans le traitement "Clic sur":
fSlecteurImage(
simples vont crire la ou les ligne(s) de code correspondant. Nhsitez pas les
utiliser, vous viterez ainsi des erreurs de syntaxe.
7.Conservez toutes les options par dfaut de lassistant et validez. Le code correspondant est
automatiquement insr.
sFichier est une chane
158 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8.Ajoutez le code suivant la suite:
// Si un fichier a t slectionn
SI sFichier <> ALORS
// Affecte limage au champ Image
IMG_Visuel = sFichier
FIN
Ce code permet daffecter le fichier slectionn au champ Image prsent dans la fentre.
9.Fermez lditeur de code (cliquez sur la croix en haut droite de lditeur de code).
Nous testerons cette fonctionnalit lorsque la gestion des modifications effectues dans la fiche
sera finie.
Notre fentre utilise moins de 10 champs et dj lavantage se fait sentir; pensez simple-
ment aux fentres qui contiennent plusieurs dizaines de champs: 1 seule ligne de code ef-
fectue toutes les affectations!
La fonction HModifie permet de mettre jour les donnes du fichier de donnes pour lenre-
gistrement courant.
3.Enregistrez les modifications en cliquant sur parmi les boutons daccs rapide.
4.Fermez la fentre de code (cliquez sur la croix en haut droite de lditeur de code).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 159
Les modifications ralises dans la fentre "Fiche du produit" doivent tre prises en compte
dans le champ Table listant les produits. Pour cela, nous allons simplement modifier le code
du bouton "Modifier" dans la fentre "FEN_Menu".
1.Affichez la fentre "FEN_Menu" sous lditeur: cliquez sur le bouton correspondant dans la
barre de boutons.
2.Slectionnez le bouton "Modifier" et affichez lditeur de code (option "Code" du menu
contextuel du bouton).
3.Modifiez le traitement "Clic sur" de la manire suivante:
Ouvre(FEN_Fiche_du_produit)
TableAffiche(TABLE_Produit, taCourantBandeau)
Examinons ce code:
La fonction TableAffiche permet de mettre jour le champ Table.
La constante taCourantBandeau permet de spcifier que le champ Table doit tre mis jour
partir de la position du bandeau de slection.
4.Enregistrez les modifications en cliquant sur parmi les boutons daccs rapide.
5.Fermez la fentre de code (cliquez sur la croix en haut droite de lditeur de code).
2.WINDEV demande de slectionner la premire fentre du projet. Dans notre cas, cette fe-
ntre correspond "FEN_Menu". Slectionnez cette fentre et validez.
3.Dans la liste des produits, slectionnez un produit dans le champ Table (par exemple le
premier) et cliquez sur le bouton "Modifier".
4.Le dtail du produit slectionn apparat dans la fentre fiche.
5.Modifiez le prix de 100,23euros et saisissez 200,00euros puis ensuite cliquez sur le bou-
ton "Valider".
160 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6.De retour sur la liste des produits, vous pouvez constater que le prix de cet article a t mis
jour.
7.Affichez nouveau le dtail du produit.
8.Cliquez sur le bouton "Modifier" sous limage. Le slecteur dimages saffiche. Slectionnez
une image et validez. Limage apparat dans la fiche.
9.Cliquez sur le bouton "Annuler". La modification de limage na pas t prise en compte
dans le fichier de donnes.
10.Fermez lapplication en cliquant sur la croix.
HRAZ(Produit)
Ouvre(FEN_Fiche_du_produit)
TableAffiche(TABLE_Produit, taCourantEnreg)
Examinons ce code:
La fonction HRAZ initialise les variables des rubriques du fichier "Produit" avec les valeurs
par dfaut pour grer un nouvel enregistrement.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 161
La fonction Ouvre permet douvrir la fiche du produit pour saisir le nouvel enregistrement.
La fonction TableAffiche permet de rafficher le champ Table. Dans ce code, la constante
taCourantEnreg est utilise: le champ Table est raffich partir de lenregistrement cou-
rant.
6.Enregistrez les modifications en cliquant sur parmi les boutons daccs rapide.
7.Fermez la fentre de code (cliquez sur la croix en haut droite de lditeur de code).
Maintenant, nous allons modifier la fentre de la fiche du produit pour grer lajout dun
nouvel enregistrement.
1.Affichez la fentre "FEN_Fiche_du_produit" sous lditeur.
2.Nous allons modifier le code du bouton de validation:
Faites un clic droit sur le bouton "Valider" puis slectionnez loption "Code" dans le menu
contextuel.
Dans le traitement "Clic sur", remplacez le code par le code suivant:
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()
Examinons ce code:
La proprit ..NouvelEnregistrement permet de savoir si lenregistrement en cours doit tre
cr.
Si la fonction HRAZ a t appele prcdemment, la proprit renvoie Vrai (cas du clic sur
"Nouveau produit") et lenregistrement doit tre cr par la fonction HAjoute.
Dans le cas contraire, lenregistrement en cours existe dj et doit tre modifi par la fonc-
tion HModifie.
La fonction HAjoute ajoute lenregistrement dans le fichier de donnes. Cette fonction prend
les valeurs en mmoire et crit le contenu des rubriques du fichier dans le fichier de don-
nes lui-mme. Les index sont immdiatement et automatiquement mis jour. Ici, le fichier
de donnes mis jour est bien entendu le fichier "Produit".
3.Enregistrez les modifications en cliquant sur parmi les boutons daccs rapide.
4.Fermez la fentre de code (cliquez sur la croix en haut droite de lditeur de code).
162 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Test de lajout dun produit
Cette fentre signale lutilisateur quil existe un doublon: en effet, la rfrence (qui est une
cl unique) est identique pour deux produits. Cette fentre permet de modifier la valeur de la
rfrence: saisissez par exemple "REF-338".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 163
Cette fentre est une des fentres de gestion automatique des erreurs HFSQL, disponible en stan-
dard.
3.En triant les lments par rfrence (cliquez sur lentte de la colonne "Rfrence"), les
deux enregistrements que nous avons ajouts apparaissent.
164 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.3. Recherche simple et
parcours des enregistrements
Dure estime: 30 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 165
Prsentation
Nous avons gr lajout et la modification denregistrement. Cest bien. Mais ce serait encore
mieux de pouvoir rechercher un enregistrement (pour le modifier par exemple). Cest ce que nous
allons faire maintenant.
Nous allons modifier la fentre principale de lapplication "WD Application Complte" pour utiliser
des volets donglet.
Le premier onglet permettra dafficher la liste des produits et de grer lajout et la modification
des produits (les manipulations ont t ralises dans les leons prcdentes).
Le second onglet proposera la recherche dun client selon son nom. La fiche du client sera affi-
che dans longlet.
Nous allons mettre en place deux modes de recherche:
une recherche lidentique,
une recherche gnrique.
Ensuite, il sera possible de parcourir les enregistrements prsents dans le fichier de donnes
partir du client affich.
cres dans cette leon. Pour ouvrir le projet corrig, sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Avec fentres)".
166 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modification de la fentre: utilisation dun champ Onglet
Dans cet exemple, la recherche ne va pas seffectuer dans une nouvelle fentre: nous allons utili-
ser la fentre FEN_Menu. Actuellement, cette fentre affiche la liste des produits.
Pour afficher plusieurs donnes diffrentes dans cette fentre, nous allons utiliser des onglets.
Les onglets permettent de regrouper des informations par thme. Lutilisateur peut accder direc-
tement un thme en cliquant sur le "volet" voulu.
Ce systme est utilis dans toutes les fentres de description de WINDEV.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 167
3.Crez un champ Onglet dans la fentre:
Sous le volet "Cration", dans le groupe "Conteneurs", droulez "Onglet et associs" et slec-
tionnez "Onglet".
Cliquez dans la fentre pour crer le champ Onglet.
Positionnez le champ Onglet en haut gauche de la fentre.
Par dfaut, un champ Onglet est cr avec deux volets. Le champ Onglet occupe toute la
place disponible dans la fentre.
4.Slectionnez les champs prsents dans la zone daccueil de la fentre et dplacez-les vers
le volet 1.
5.Un cadre vert apparat lors du survol des champs sur le champ Onglet. Ce cadre indique
que les champs poss sur le volet en cours seront automatiquement associs au volet.
6.Agrandissez si ncessaire la fentre et le champ Onglet pour afficher le champ Table et les
boutons dans le champ Onglet.
disparaissent.
Pour redimensionner le champ Onglet sans prendre en compte lancrage des
champs prsents dans le volet, utilisez la touche [SHIFT] pendant le redimen-
sionnement.
168 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modifications du champ Onglet
3.Cliquez sur "Volet2". Le volet saffiche. Cliquez nouveau sur "Volet 2". Saisissez le libell
"Recherche de clients". Validez avec la touche [ENTREE].
Nous allons associer une image chaque volet de longlet. Pour cela:
1.Affichez la fentre de description du champ Onglet (double-clic sur le champ par exemple).
Longlet "Gnral" de la fentre de description permet de configurer les caractristiques de
chaque volet donglet. La liste des volets est affiche gauche. Pour chaque volet slectionn,
ses caractristiques sont modifiables dans la partie droite de lcran.
2.Dans la fentre de description, slectionnez le volet "Liste des produits".
4.Nous allons associer une image longlet grce au catalogue dimages de WINDEV.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 169
Notes Ds quune image peut tre affiche dans un champ ou une fentre, WINDEV
propose dutiliser le catalogue dimages grce au bouton "Catalogue". Ce cata-
logue contient plusieurs milliers dimages, de cliparts, ...
170 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mise en place de la recherche
Nous avons fini de prparer la fentre "FEN_Menu". Nous pouvons maintenant nous concentrer
sur le contenu de longlet de recherche des clients.
Cet onglet va tre divis en plusieurs zones:
Une zone de saisie des lments rechercher.
Une zone daffichage des informations trouves.
Une zone contenant les boutons de parcours.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 171
6.Les champs sont automatiquement crs dans longlet. Ces champs sont automatique-
ment lis la rubrique correspondante dans le fichier de donnes.
7.Enregistrez la fentre.
Nous allons aligner les champs et leur donner la mme taille:
1.Slectionnez le champ "Ville" puis tous les autres champs de saisie de la fentre (par exemple
en maintenant la touche [CTRL] appuye et en cliquant sur les diffrents champs). Le premier
champ slectionn va servir de rfrence pour la taille des autres champs.
2.Sous le volet "Alignement", dans le groupe "Interne et externe", cliquez sur loption "Justifier
(Int. et Ext.)".
Testez la fentre ( parmi les boutons daccs rapide). Cliquez sur le volet donglet
"Recherche de clients". La fentre apparat avec tous les champs vides.
Recherche lidentique
Pour effectuer la recherche lidentique, nous allons slectionner le nom du client dans un champ
Combo. Le bouton "Rechercher" permettra dafficher la fiche de la personne correspondante. Une
seule personne correspond au nom slectionn.
Le champ Combo va venir se placer au-dessus des champs que nous venons de crer. Si vos
champs sont placs trop prts de longlet, il est ncessaire de les dplacer vers le bas. Pour
cela:
1.Slectionnez lensemble des champs prsents dans longlet:
Utilisez la combinaison de touches [CTRL] + A: tous les champs de la fentre et du volet en
cours sont slectionns.
Appuyez sur la touche [CTRL].
Cliquez sur longlet: seuls les champs du volet donglet sont slectionns.
2.Dplacez un des champs slectionns vers le bas laide de la souris.
172 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3.Tous les champs sont dplacs vers le bas.
Pour crer le champ de recherche:
1.Crez un champ de type Combo: sous le volet "Cration", dans le groupe "Champs usuels",
cliquez sur "Combo".
2.Cliquez ensuite dans le volet "Recherche de client", dans la zone entre le volet donglet et le
champ "Identifiant de Client".
3.Lassistant de cration des combos saffiche. Nous allons crer une combo base sur le
fichier de donnes "Client".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 173
4.Slectionnez loption "Afficher des donnes dun fichier ou dune requte existante". Pas-
sez ltape suivante de lassistant.
5.Slectionnez le fichier de donnes "Client". Passez ltape suivante.
6.Nous allons afficher le nom et le prnom de la personne.
174 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8.La valeur retourne par le champ Combo sera lidentifiant "IDClient". Cest cette valeur qui
sera recherche dans le fichier Client. Slectionnez la rubrique "IDClient" et passez ltape
suivante.
9.Le champ Combo ne sera li aucune rubrique. Conservez loption "Non" et passez
ltape suivante.
10.Validez lcran suivant avec la flche jaune.
11.Donnez un nom au champ (par exemple "COMBO_Client") et un libell (par exemple "Client
recherch").
12.Validez. Positionnez le champ Combo dans la fentre (par exemple en haut gauche).
13.Slectionnez le champ Combo et laide des poignes, modifiez sa taille afin de voir le
nom complet du client safficher.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 175
Pour crer le bouton de recherche:
1.Crez un bouton: sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
2.Positionnez le bouton ct de la combo qui vient dtre cre.
3.Ce champ a pour nom "BTN_RechercheIdentique" et pour libell "Recherche identique".
4.Si ncessaire, adaptez la taille du bouton pour que le libell apparaisse correctement dans
le bouton.
5.Saisissez le code suivant:
// Recherche le client par son identifiant
HLitRecherchePremier(Client, IDClient, COMBO_Client)
SI HTrouve(Client) ALORS
// Affiche les donnes du client
FichierVersEcran()
FIN
6.Examinons ce code:
La fonction HLitRecherchePremier permet de raliser une recherche lidentique. Dans cet
exemple, la recherche se fait sur le fichier Client et sur la rubrique IDClient. La valeur recher-
che correspond au dernier paramtre de la fonction. Ici, la valeur recherche correspond
la valeur slectionne dans la combo. Cette valeur est obtenue en utilisant directement le
nom de la combo (COMBO_Client).
La fonction HTrouve permet de tester le rsultat de la recherche. Si la fonction HTrouve ren-
voie Vrai, une valeur a t trouve, si la fonction HTrouve renvoie Faux, aucune valeur na
t trouve. Lorsquun enregistrement a t trouv, cet enregistrement est lu: il devient
lenregistrement courant du fichier de donnes.
Dans ce code, si lenregistrement a t trouv, il est affich grce la fonction FichierVersE-
cran.
176 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Le rsultat est immdiat.
5.Fermez la fentre de test pour retourner sous lditeur.
Recherche gnrique
Nous allons maintenant effectuer une recherche gnrique. Au lieu de rechercher exactement la
valeur saisie, nous allons rechercher tous les lments qui commencent par la valeur saisie.
Pour effectuer cette recherche, nous allons crer un champ de saisie afin de saisir le nom recher-
ch et un bouton pour lancer la recherche.
Pour crer le champ de recherche:
1.Affichez si ncessaire longlet "Recherche de clients" de la fentre "FEN_Menu" sous ldi-
teur.
2.Crez un champ de saisie: sous le volet "Cration", dans le groupe "Champs usuels", cli-
quez sur .
3.Cliquez dans la fentre sous le champ Combo "Client recherch". Le champ de saisie est
cr.
4.Ce champ a pour nom "SAI_Nom_recherch" et pour libell "Nom recherch".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 177
Pour crer le bouton de recherche:
1.Crez un bouton: sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
2.Positionnez le bouton ct du champ de saisie qui vient dtre cr.
La fonction HLitRecherche permet de raliser une recherche gnrique. Dans cet exemple, la
recherche se fait sur le fichier "Client" et sur la rubrique "NomComplet". La valeur recherche
correspond la valeur saisie dans le champ "SAI_Nom_Recherch". Cette valeur est obtenue
en utilisant directement le nom du champ.
178 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Le rsultat est immdiat. Cependant, si plusieurs enregistrements correspondent, seul le
premier est affich.
5.Arrtez le test et revenez sous lditeur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 179
3.Dans la fentre qui saffiche, tous les styles dfinis pour les boutons saffichent. Slection-
nez le style "BTN_Premier".
4.Validez.
Modifiez le nom du champ Bouton:
1.Affichez la fentre de description du champ:
Slectionnez le champ Bouton.
Affichez le menu contextuel (clic droit) et slectionnez loption "Description".
2.Ce champ a pour nom "BTN_Premier".
3.Validez la fentre de description.
Nous allons maintenant saisir le code WLangage associ ce champ:
1.Faites un clic droit sur le champ. Dans le menu qui saffiche, slectionnez loption "Code".
2.Dans la fentre de code qui apparat, saisissez le code suivant dans le traitement "Clic sur":
// Lit le premier client
HLitPremier(Client)
SI HEnDehors(Client) = Vrai ALORS
// Pas de client
Info(Aucune fiche visualiser.)
SINON
// Affiche les donnes du client
FichierVersEcran()
FIN
180 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
De la mme manire, crez 3 nouveaux boutons.
Ces boutons ont pour nom: "BTN_Prcdent", "BTN_Suivant" et "BTN_Dernier".
Ces boutons sont respectivement associs aux styles: "BTN_Prcdent", "BTN_Suivant" et
"BTN_Dernier".
Le code du bouton "BTN_Prcdent" est le suivant:
// Lit le client prcdent
HLitPrcdent(Client)
// Si le dbut du fichier est dpass
SI HEnDehors(Client) = Vrai ALORS
Info(Dbut du fichier atteint.)
SINON
// Affiche les donnes du client
FichierVersEcran()
FIN
Le code du bouton "BTN_Suivant" est le suivant:
// Lit le client suivant
HLitSuivant(Client)
// Si le dbut du fichier est dpass
SI HEnDehors(Client) = Vrai ALORS
Info(Fin du fichier atteinte.)
SINON
// Affiche les donnes du client
FichierVersEcran()
FIN
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 181
Test de la fentre
182 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.4. Recherche multicritre
Dure estime: 40 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 183
Prsentation
Nous avons vu dans la leon prcdente comment raliser une recherche sur un seul critre (le
nom du client). Dans cette leon, nous allons permettre lutilisateur de faire une recherche mul-
ticritre.
Dans notre exemple, cette recherche se fera sur le fichier "Commande". Lutilisateur pourra slec-
tionner:
ltat de la commande,
son mode de rglement,
les dates de commandes prises en compte.
Linterface de la fentre "FEN_Menu" sera la suivante:
184 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Un projet corrig est disponible. Ce projet contient les diffrentes fentres
Corrig
cres dans cette leon. Pour ouvrir le projet corrig, sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Avec fentres)".
Cration de la requte
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 185
La fentre de description de la requte est la suivante:
Dans la fentre qui saffiche, indiquez un tri croissant sur la rubrique et validez.
186 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6.Une flche rouge avec le numro01 apparat droite de la rubrique "Commande.Date".
Cette flche indique quun tri croissant est fait sur cette rubrique. Le chiffre "01" indique que
ce tri sera ralis en premier.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 187
Test de la requte
Comme tous les lments dun projet WINDEV, il est possible de tester immdiatement la requte
que nous venons de crer:
1.Cliquez sur .
2.Le rsultat saffiche dans une fentre:
Si vous faites un clic droit sur le rsultat de la requte, un menu contextuel appa-
rat. Vous avez alors la possibilit dexporter le rsultat vers:
un fichier XLS (Excel).
Notes
3.Fermez la fentre.
188 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation de paramtres dans la requte
Dans notre exemple, lutilisateur va pouvoir slectionner une valeur pour les critres de recherche
suivants:
Etat de la commande.
Mode de rglement de la commande.
Date de la commande.
Nous devons modifier la requte afin que ces critres de recherche correspondent des para-
mtres de la requte.
Pour dfinir les paramtres de la requte, affichez la fentre de description de la requte:
double-cliquez sur le fond de la reprsentation graphique de la requte (ou bien dans le
menu contextuel, utilisez loption "Description de la requte").
Pour grer le paramtre "tat de la commande":
1.Slectionnez au centre de lcran la rubrique Commande.Etat.
2.Droulez le bouton "Condition de slection" et slectionnez "Nouvelle condition".
3.Dans la fentre qui saffiche, nous allons indiquer que la condition de slection correspond
un paramtre:
Nous vous conseillons de prfixer les paramtres des requtes par "p". Il est
ainsi possible de les retrouver trs facilement dans lditeur de code.
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 189
4.Validez la fentre de description de la condition. Le chiffre "1" apparat droite de la ru-
brique "Commande.Etat", indiquant quune condition de slection a t dfinie.
Nous allons maintenant dfinir une condition sur le mode de rglement. Cette rubrique nest
pas prsente dans le rsultat de la requte mais nous souhaitons tout de mme lui appliquer
une condition. Pour cela, nous allons intgrer la rubrique dans le rsultat de la requte et la
rendre invisible pour quelle ne soit pas prsente dans le rsultat.
1.Sur la partie gauche de la fentre de description de la requte, dans le fichier "Commande",
double-cliquez sur la rubrique "IDModeRglement". La rubrique "IDModeRglement" apparat
dans la liste des lments de la requte.
2.Pour ne pas afficher cette rubrique dans le rsultat:
Cliquez sur licne prsente droite de la rubrique.
Dans le menu qui saffiche, slectionnez "Ne pas afficher".
3.Pour dfinir une condition de slection sur la rubrique "Commande.IDModeRglement":
Slectionnez au centre de lcran la rubrique "Commande.IDModeRglement".
Droulez le bouton "Condition de slection" et slectionnez "Nouvelle condition".
Dans la fentre qui saffiche, indiquez que la condition de slection correspond un para-
mtre:
Slectionnez "Est gal ".
Slectionnez "au paramtre".
Indiquez le nom du paramtre "pIDModeRglement".
4.Validez la dfinition de la condition de slection.
190 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
La dernire condition de slection dfinir concerne la date de la commande. Cette date doit
tre comprise entre deux dates saisies par lutilisateur.
1.Slectionnez dans la liste des lments de la requte la rubrique "Commande.Date".
2.Cliquez sur le bouton "Entre deux dates ...". Ce bouton permet de dfinir directement une
condition de slection.
3.Dans la fentre qui saffiche:
La condition de slection est "Est compris entre".
Cliquez sur "au paramtre".
Indiquez le nom du paramtre "pDbutPriode".
Cliquez sur le second "au paramtre".
Indiquez le nom du paramtre "pFinPriode".
4.Validez la dfinition de la condition de slection.
5.Validez la fentre de description de la requte. Le graphe de la requte est modifi pour
prendre en compte les conditions de slections que nous avons dfinies.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 191
Test de la requte paramtre
192 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Cliquez sur "Volet 3".
6.Dans la partie "Description dun volet statique", saisissez le libell du volet: "Recherche de
commandes".
7.Nous allons associer une image longlet grce au catalogue dimages de WINDEV. Cliquez
sur le bouton "Catalogue". La fentre du catalogue dimages apparat.
8.Dans la zone de recherche, indiquez "Recherche" et slectionnez si ncessaire le thme
"Flat Soft". Lancezla recherche en cliquant sur la loupe.
9.Parmi les images proposes, slectionnez licne reprsentant les jumelles et validez.
10.Conservez les options de lcran de paramtrage de limage gnre et validez.
11.Validez la fentre de description du champ Onglet.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 193
Cration des champs de paramtrage des critres et affichage du rsultat
Passons maintenant laffichage du rsultat de notre recherche multicritre.
Nous allons tout dabord crer un champ Table bas sur la requte puis crer les diffrents
champs qui permettront lutilisateur de slectionner les critres de recherche.
Cration du champ Table
194 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
7.Passez ltape suivante de lassistant.
8.Conservez les options par dfaut dans les diffrents crans de lassistant et validez la cra-
tion du champ Table.
9.Le champ Table est automatiquement cr dans longlet "Recherche de commandes".
10.Si ncessaire, modifiez la position du champ Table pour quil apparaisse entirement dans
le volet donglet.
Pour plus de lisibilit, nous allons renommer les libells des colonnes du champ Table.
1.Affichez la description du champ Table (double-cliquez sur le champ).
Si le nom du champ Table est slectionn, la partie infrieure prsente les carac-
tristiques du champ Table.
Si une colonne est slectionne, la partie infrieure prsente les caractris-
tiques des colonnes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 195
3.Cliquez sur la colonne "COL_NomComplet". Remplacez le libell "Nom complet" par "Client".
4.Cliquez sur la colonne "COL_Libell". Remplacez le libell "Libell" par "Mode de rglement".
Le Live data nest pas affich dans les champs utilisant une requte comme
source de donnes pour la raison suivante: les donnes affiches dpendent du
rsultat de la requte et ne peuvent tre connues quen excution.
196 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons faire un premier test de cette fentre:
1.Cliquez sur parmi les boutons daccs rapide.
2.Cliquez sur longlet "Recherche de commandes". Seules 22 commandes saffichent,
comme lors du dernier test de la requte ralis sous lditeur, lorsque nous avions spcifi
les paramtres dans la fentre de test de la requte.
Les paramtres de test ont t rcuprs comme paramtres par dfaut pour lexcution.
Nous allons maintenant modifier la fentre pour que les paramtres soient saisis par
lutilisateur, laide de champs.
4.Fermez lditeur de code (utilisez la croix en haut droite de lditeur).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 197
Nous allons maintenant crer dans notre fentre les diffrents champs permettant lutilisateur
de slectionner les diffrents paramtres de la requte. Ces champs vont tre placs au-dessus
du champ Table.
Si ncessaire, dplacez le champ Table dans la fentre et diminuez sa hauteur afin de laisser
de lespace pour crer les diffrents champs de slection des critres.
Les slecteurs doptions sont galement appels "case doptions". Ils permettent
de slectionner une option et une seule, parmi celles proposes.
Comment diffrencier le slecteur et linterrupteur?
Notes
198 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons maintenant utiliser la valeur slectionne dans le champ Slecteur en paramtre
la requte:
1.Affichez les traitements associs au champ Table:
Slectionnez le champ Table.
Affichez le menu contextuel (clic droit) et slectionnez loption "Code".
2.Dans le traitement dinitialisation du champ Table, remplacez la ligne:
//MaSource.pEtat = <Valeur du paramtre pEtat>
MaSource.pEtat = SEL_Etat
Dans ce code, SEL_Etat est le nom du champ Slecteur que nous venons de crer. La valeur
de ce champ est associe au paramtre pEtat attendu par la requte.
3.Fermez lditeur de code.
Avant de tester, nous allons crer un bouton pour rafficher le contenu du champ Table en
fonction de la valeur slectionne dans le champ Slecteur:
1.Crez un champ Bouton:
sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
cliquez ensuite dans le volet donglet, en haut droite.
2.Slectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libell du bouton
passe en dition. Saisissez "Rechercher" et appuyez sur la touche [ENTREE] du clavier.
3.Modifiez le style du champ:
Affichez le menu contextuel du champ (clic droit) et slectionnez loption "Choisir un style".
Dans la fentre qui saffiche, utilisez la combinaison de touches [CTRL F]. Dans le champ de
recherche, saisissez "BTN_Recherche".
Le style est automatiquement slectionn. Validez.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 199
4.Redimensionnez le champ si ncessaire.
5.Affichez le code associ ce champ: appuyez sur la touche [F2].
6.Dans le traitement "Clic sur ...", saisissez le code suivant:
// Actualise laffichage du champ Table
TableAffiche(TABLE_REQ_RechercheCommandes, taInit)
200 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Second paramtre: Mode de rglement
Une commande peut avoir plusieurs modes de rglement: espces, chques, ... Les diffrents
modes de rglement possibles sont stocks dans le fichier de donnes "ModeRglement".
Nous allons utiliser un champ Combo bas sur ce fichier de donnes pour permettre lutilisateur
de slectionner le mode de rglement voulu.
Les lments apparaissant dans une combo peuvent tre dtermins lors de la
cration du champ sous lditeur. Ces lments:
sont dtermins par programmation.
proviennent dun fichier de donnes ou dune requte.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 201
Changez le look du champ: pour occuper moins de place, nous allons slectionner un style
affichant le libell au-dessus du champ.
1.Slectionnez le champ Combo.
2.Dans le menu contextuel (clic droit), slectionnez loption "Choisir un style".
3.Dans la fentre qui saffiche, slectionnez le style "COMBO_Interne" et validez.
4.Diminuez la taille du champ.
Nous allons maintenant utiliser la valeur slectionne dans le champ Combo en paramtre
la requte:
1.Affichez les traitements associs au champ Table:
Slectionnez le champ Table.
Affichez le menu contextuel (clic droit) et slectionnez loption "Code".
2.Dans le traitement dinitialisation du champ Table, remplacez la ligne:
MaSource.pIDModeReglement = 1
par le code :
MaSource.pIDModeReglement = COMBO_ModeRglement
Dans ce code, COMBO_ModeRglement est le nom du champ Combo que nous venons de
crer. La valeur de retour de ce champ est associe au paramtre pIDModeRglement
attendu par la requte.
3.Fermez lditeur de code.
4.Enregistrez la fentre en cliquant sur parmi les boutons daccs rapide.
Nous allons tester le passage des deux premiers paramtres:
1.Cliquez sur parmi les boutons daccs rapide.
2.Slectionnez si ncessaire longlet "Recherche de commandes".
3.Changez ltat des commandes grce au slecteur et modifiez le mode de rglement grce
au champ Combo puis cliquez sur le bouton "Rechercher". Le contenu du champ Table est
modifi.
202 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dernier paramtre: Date de commande
Le dernier paramtre de la requte correspond la date des commandes prises en compte. Au
niveau de linterface, lutilisateur doit pouvoir saisir un intervalle de dates. Nous allons utiliser
pour cela un modle de champs.
champs prsent dans un projet peut tre rutilis dans nimporte quelle fentre
du projet.
De plus, les modles de champs peuvent tre surchargs: du code peut tre
ajout, les champs peuvent tre dplacs dans la fentre utilisant le modle de
champs. Les champs peuvent galement tre modifis.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 203
Nous allons maintenant utiliser les dates slectionnes en paramtre la requte:
1.Affichez les traitements associs au champ Table:
Slectionnez le champ Table.
Affichez le menu contextuel (clic droit) et slectionnez loption "Code".
2.Dans le traitement dinitialisation du champ Table, remplacez les lignes:
MaSource.pDbutPriode = 20130101
MaSource.pFinPriode = 20130331
par
MaSource.pDbutPriode = SAI_DateDbut
MaSource.pFinPriode = SAI_DateFin
Dans ce code, SAI_DateDbut et SAI_DateFin sont les noms des deux champs de saisie
prsents dans le modle de champs. Leurs valeurs sont associes aux paramtres pDbut-
Priode et pFinPriode attendus par la requte.
3.Fermez lditeur de code.
4.Enregistrez la fentre en cliquant sur parmi les boutons daccs rapide.
Nous allons tester le passage des paramtres:
1.Cliquez sur parmi les boutons daccs rapide.
2.Slectionnez si ncessaire longlet "Recherche de commandes".
3.Dfinissez les diffrents paramtres de la recherche:
Etat des commandes,
Mode de rglement,
Fourchette de dates prises en compte.
4.Cliquez sur le bouton "Rechercher". Le contenu du champ Table est modifi.
204 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.5. Imprimer le contenu dun
champ Table
Dure estime: 20 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 205
Prsentation
WINDEV permet dimprimer vos donnes:
directement par programmation.
via les tats. Un tat est le nom donn la reprsentation graphique dune dition. Un tat est
cr grce lditeur dtats.
WINDEV propose de nombreux types dtats:
Vierge
Fiche
Etiquette
Tableau
Tableau crois
Tableau hirarchique
Etat multicolonne
Mailing
Formulaire
Composite
Agenda ou planning
Diagramme de Gantt
Nous allons maintenant dcouvrir comment crer diffrents types dtats dans lapplication "WD
Application Complte".
206 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
complte (Avec fentres)".
Corrig
intgr dans votre application si vous choisissez loption "Aide des FAA" lors de la
cration du menu automatique.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 207
7.Cliquez sur loption "Imprimer".
8.Si ncessaire, choisissez dimprimer en mode "Paysage" le contenu du champ Table. Ltat
correspondant au champ est aussitt affich dans une fentre daperu.
208 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
En mode test, le contenu du champ Table est directement imprim.
En excution, lutilisateur final a la possibilit dimprimer directement ou de lan-
Note cer le logiciel "Etats et Requtes" pour crer ltat correspondant. Pour plus de
dtails sur le logiciel Etats et Requtes, consultez "Diffusez "Etats & Requtes"
avec vos applications", page 315.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 209
9.Vous retrouvez dans cet tat les titres des colonnes du champ Table prsent dans la fe-
ntre. Nous allons juste faire une petite modification dans cet tat: nous allons modifier le
titre:
Slectionnez le champ correspondant au titre de ltat ("Table REQ_RechercheCommandes"
est affich dans le champ) et double-cliquez sur ce champ.
Dans la fentre de description, modifiez le libell et saisissez "Commandes recherches".
Validez.
10.Enregistrez ltat en cliquant sur parmi les boutons daccs rapide.
11.Revenez sur la fentre "FEN_Menu" (par exemple en cliquant sur le bouton "FEN_Menu"
prsent dans la barre des lments ouverts sous WINDEV).
12.Modifiez si ncessaire la taille et la position du bouton "Imprimer" (pour quil ait la mme
taille que le bouton "Rechercher").
13.Enregistrez la fentre en cliquant sur parmi les boutons daccs rapide.
14.Testez la fentre: cliquez sur parmi les boutons daccs rapide.
Slectionnez si ncessaire longlet "Recherche de commandes".
Dfinissez les diffrents paramtres de la recherche:
Etat des commandes,
Mode de rglement,
Fourchette de dates prises en compte.
Cliquez sur le bouton "Rechercher".
15.Lorsque les donnes sont affiches dans le champ Table, utilisez le bouton dimpression
ou loption "Imprimer" du menu contextuel du champ Table: ltat que vous venez de crer
est utilis dans les deux cas.
210 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.6. Imprimer une commande
Dure estime: 30 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 211
Prsentation
Nous allons maintenant donner la possibilit lutilisateur dimprimer directement le dtail de la
commande recherche. Ltat pourra tre imprim directement via le menu contextuel du champ
Table.
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
complte (Avec fentres)".
Corrig
212 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cration de la requte
Pour crer la requte de base de ltat, nous allons utiliser lditeur de requtes.
1.Cliquez sur parmi les boutons daccs rapide. La fentre de cration dun nouvel lment
saffiche: cliquez sur "Requte". Lassistant de cration de requtes se lance.
2.Slectionnez loption "Slection (SELECT)".
En effet, la requte que nous allons crer va nous permettre de slectionner les enregistre-
ments qui seront imprims dans ltat. Passez ltape suivante.
3.La fentre de description de la requte apparat. Nous allons construire la requte en slec-
tionnant les lments que nous voulons dans le rsultat.
4.Double-cliquez sur les rubriques prsentes dans lanalyse gauche de la fentre de
description. Les rubriques prises en compte apparaissent alors au centre de lcran.
Nous voulons imprimer dans ltat:
les renseignements concernant le client. Dans le fichier "Client", double-cliquez sur les ru-
briques NomComplet, Adresse, CodePostal, Ville et Pays.
les renseignements concernant la commande. Dans le fichier "Commande", double-cliquez
sur les rubriques IDCommande et Date.
les renseignements concernant le produit. Dans le fichier "Produit", double-cliquez sur les
rubriques Rfrence, Libell et PrixHT.
les renseignements concernant la ligne de commande. Dans le fichier "LigneCommande",
double-cliquez sur les rubriques Quantit et TotalHT.
les renseignements sur le prix total de la commande. Dans le fichier "Commande", double-
cliquez sur les rubriques TotalHT et TotalTTC.
Lordre dans lequel les rubriques sont insres dans la requte est important. En
effet, cet ordre correspond celui utilis pour afficher les donnes dans ltat. Si
Note
cet ordre est correctement dfini, la cration de ltat correspondant sera dau-
tant plus simple.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 213
La fentre de description de la requte est la suivante:
A ce stade, cette requte permet de slectionner toutes les commandes et les lignes de com-
mande correspondantes.
Nous voulons slectionner les donnes correspondant une seule commande dont lidentifiant
est connu. Nous allons donc dfinir en paramtre le numro de commande.
Pour grer le paramtre "Identifiant de la commande":
1.Slectionnez au centre de lcran la rubrique Commande.IDCommande.
2.Droulez le bouton "Condition de slection" et slectionnez "Nouvelle condition".
3.Dans la fentre qui saffiche, nous allons indiquer que la condition de slection correspond
un paramtre:
214 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Effectuez les oprations suivantes:
Slectionnez "Est gal ".
Cochez "au paramtre".
Indiquez le nom du paramtre "pIDCommande".
4.Validez la fentre de description de la condition. Le chiffre "1" apparat droite de la ru-
brique Commande.IDCommande, indiquant quune condition de slection a t dfinie.
5.Donnez un nom la requte: saisissez "REQ_BonDeCommande" la place de "REQ_Sans-
Nom1" dans la zone "Nom de la requte":
8.Enregistrez la requte en cliquant sur parmi les boutons daccs rapide. Validez si n-
cessaire les informations de sauvegarde.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 215
Cration de ltat bas sur une requte
6.Dans la liste des fichiers de donnes et des requtes, slectionnez la requte "REQ_BonDe-
Commande". Passez ltape suivante.
216 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
7.Lassistant demande dindiquer sil y a une rupture. Dans cet tat nous nutilisons pas de
rupture. Nous verrons ce concept un peu plus loin dans ce cours. Rpondez "Non". Passez
ltape suivante.
8.Vous allez ensuite indiquer dans quel ordre sont imprimes les rubriques et leur rpartition
dans les diffrents blocs. Dans lassistant, les rubriques sont listes dans lordre dfini dans
la requte:
Les rubriques concernant le client vont tre affiches dans le bloc "Entte de page". En ef-
fet, ces informations ne doivent pas tre rptes pour chaque ligne de la commande.
Pour les rubriques NomComplet, Adresse, CodePostal, Ville et Pays, cliquez sur la ligne cor-
respondant la rubrique. Dans la colonne "Bloc", droulez la combo et slectionnez "Entte
de page".
Les rubriques concernant la commande vont galement tre affiches dans le bloc "Entte
de page". En effet, ces informations ne doivent pas tre rptes pour chaque ligne de la
commande. Pour les rubriques IDCommande et Date, cliquez sur la ligne correspondant la
rubrique. Dans la colonne "Bloc", droulez la combo et slectionnez "Entte de page".
De plus, nous allons en profiter pour modifier le libell de la rubrique "IDCommande".
Slectionnez la ligne contenant la rubrique IDCommande.
Cliquez dans la colonne Libell et saisissez "N Commande".
Les rubriques concernant les lignes de commande vont rester dans le corps de ltat. Ces
rubriques seront affiches pour toutes les lignes de commandes de la commande.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 217
Les rubriques concernant les totaux de la commande seront affiches en pied de page. En
effet, ces informations ne doivent pas tre rptes pour chaque ligne de la commande.
Pour les rubriques TotalHT_Co et TotalTTC, cliquez sur la ligne correspondant la rubrique.
Dans la colonne "Bloc", droulez la combo et slectionnez "Pied de page".
Le tableau suivant fournit les diffrentes affectations des rubriques dans lordre prsent
dans lassistant:
Rubrique Bloc
NomComplet Entte de page
Adresse Entte de page
CodePostal Entte de page
Ville Entte de page
Pays Entte de page
IDCommande Entte de page
Date Entte de page
Rfrence Corps
Libell Corps
PrixHT Corps
Quantit Corps
TotalHT Corps
TotalHT_Co Pied de page
TotalTTC Pied de page
218 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
10.Lassistant propose de crer un compteur, une somme ou une moyenne sur les rubriques
numriques prsentes dans ltat. Dans cet tat, les calculs sont faits par la requte. Cliquez
sur le bouton "Aucun calcul". Passez ltape suivante.
11.Cet cran permet de dfinir la mise en page de ltat.
Marges dimpression
Lors du choix des marges dimpression, noubliez pas de tenir compte des
Notes
marges physiques des imprimantes. Les marges physiques sont les marges
rserves par limprimante dans lesquelles il nest pas possible dimprimer. De
plus, les marges physiques diffrent en fonction des modles dimprimante.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 219
15.Validez.
16.Ltat tant trop grand pour tre imprim en mode Portrait, lditeur dtats propose duti-
liser le mode paysage, de rduire le tableau ou dimprimer le tableau sur plusieurs pages.
Dans notre cas, acceptez le mode paysage.
17.Si ncessaire, acceptez ensuite de rduire le tableau.
18.Ltat apparat en dition sous lditeur dtats:
220 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Excutez cet tat en cliquant sur parmi les boutons daccs rapide.
1.Lditeur dtats demande la destination de limpression. La destination de limpression peut
tre au choix:
Validez.
3.Lexcution de ltat saffiche lcran.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 221
Vous pouvez:
Directement imprimer la page en cours ou la totalit du document en cliquant sur limpri-
mante.
Crer un duplicata.
Slectionner un niveau de zoom plus ou moins important.
Enregistrer ltat sous forme dun document Word (au format RTF).
Enregistrer ltat au format HTML.
Enregistrer ltat au format PDF.
Enregistrer ltat au format XML.
Crer un e-mail avec ltat au format HTML en corps du message.
Crer un e-mail avec ltat au format PDF en document li.
Annoter le document.
Effectuer une recherche dans le document.
Ajouter des filigranes.
Fermez laperu avant impression.
222 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modifications de ltat "Bon de commande"
Nous allons effectuer quelques modifications de mise en page dans ltat que nous venons de
crer.
Supprimez le nombre de pages affich dans ltat:
1.Slectionnez le champ [NUMPAGE]/[NBPAGES].
2.Appuyez sur la touche [SUPPR] du clavier.
Nous allons maintenant positionner les informations concernant le client et la commande
dans lentte de page:
1.Supprimez le libell "Bon de commande" prsent dans lentte de page.
2.Supprimez les libells devant les informations client (Nom complet, ...).
3.Positionnez la rubrique contenant la ville ct du code postal.
4.Slectionnez les informations concernant le client et dplacez-les laide de la souris sur
la droite de ltat.
5.Remontez le numro de commande et la date de la commande (en haut du bloc "Entte de
page").
Nous allons positionner les totaux correctement dans le pied de page:
1.Slectionnez les champs (libells et rubriques) correspondant aux totaux prsents dans le
pied de page.
2.Positionnez ces champs laide de la souris en bas droite du tableau.
Modifiez les options dimpression du bloc "Pied de page":
1.Affichez la fentre de description du bloc "Pied de page":
Cliquez dans le bloc "Pied de page".
Affichez le menu contextuel (clic droit) et slectionnez "Description du bloc".
2.Dans longlet "Gnral", cochez les options suivantes:
Imprimer le bloc "Fin de document" APRES le bloc "Pied de page" sur la dernire page.
Le bloc "Pied de page" ne simprime pas en bas de la page, il se colle aux blocs prcdents.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 223
4.Ltat est affich sous lditeur dtats:
224 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Affichage de ltat imprim depuis une option de menu
Dans notre application, ltat "ETAT_Bon_de_commande" va tre imprim depuis une option du
menu contextuel du champ Table listant les commandes recherches.
Par dfaut, nous lavons dj vu, le champ Table propose un menu automatique. Nous voulons
conserver les options de ce menu automatique et ajouter une option qui permettra dimprimer le
bon de commande slectionn.
Le principe utilis est le suivant:
1.Nous allons crer un nouveau menu contextuel. Ce menu contiendra le code WLangage per-
mettant de lancer limpression de ltat.
2.Nous allons lier ce menu contextuel au champ Table et indiquer que le menu contextuel par
dfaut viendra la suite du menu contextuel dfini pour le champ Table.
Un menu contextuel est associ une fentre. Si une fentre possde plusieurs
menus contextuels (menu contextuel de la fentre, menus contextuels des
champs, ...), tous ces menus sont enregistrs avec la fentre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 225
Nous allons maintenant dfinir le libell de loption et son code.
1.Slectionnez loption "Option de menu".
2.Appuyez sur la touche [ESPACE] du clavier: le libell passe en dition. Saisissez le nouveau
libell "Imprimer le bon de commande" et validez.
3.Affichez le code associ loption:
Slectionnez loption.
Affichez le menu contextuel (clic droit) et slectionnez loption "Code".
4.Saisissez le code suivant:
Dans ce code:
La fonction iAperu permet dindiquer que limpression de ltat sera effectue dans
laperu avant impression.
La fonction iInitRequteEtat permet de spcifier les paramtres attendus par la requte as-
socie ltat. Dans notre cas, la requte attend en paramtre le numro de commande.
Ce numro de commande est prsent dans la colonne COL_IDCommande du champ Table
TABLE_REQ_RechercheCommandes pour la ligne en cours.
La fonction iImprimeEtat permet de lancer limpression de ltat spcifi (ici, ltat ETAT_
Bon_de_commande).
5.Fermez la fentre de code et la fentre contenant le menu contextuel.
6.Enregistrez la fentre "FEN_Menu".
226 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Test de limpression
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 227
Leon 3.7. Imprimer une liste de
clients
Dure estime: 20 mn
228 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Cette leon permet dimprimer une liste des clients, regroups par pays et par dpartement ou
province.
Pour cela, nous allons utiliser un tat de type tableau, qui permet de reprsenter clairement une
liste de donnes.
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
Corrig
Cration de ltat
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 229
4.Slectionnez la source des donnes de ltat. Ltat va tre bas sur le fichier Client. Slec-
tionnez "Dun fichier de donnes ou dune requte existante". Passez ltape suivante.
5.Dans la liste des fichiers de donnes et des requtes, slectionnez le fichier "Client". Pas-
sez ltape suivante.
6.Dfinissez la cl de parcours du fichier. Dans notre cas, nous allons parcourir le fichier
client selon le nom complet du client. Slectionnez la cl de parcours "NomComplet". Passez
ltape suivante.
7.Nous allons maintenant dfinir les options de tri des donnes dans ltat. Par dfaut, las-
sistant propose la rubrique utilise comme cl de parcours du fichier de donnes. Comme
nous voulons faire un tat listant les clients par pays et par dpartement, nous allons ajouter
un tri sur ces deux rubriques.
230 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8.Pour ajouter un tri sur le pays:
Cliquez sur le bouton "+" pour ajouter une rubrique de tri.
Dans la fentre qui saffiche, slectionnez la rubrique Client.Pays.
Validez.
9.Pour ajouter un tri sur le dpartement:
Cliquez sur le bouton "+" pour ajouter une rubrique de tri.
Dans la fentre qui saffiche, slectionnez la rubrique Client.EtatProvinceRgion.
Validez.
10.Modifiez lordre des rubriques de tri. Les clients doivent tre tris par pays, rgion puis par
ordre alphabtique.
La rubrique "Client.Pays" apparat en seconde rubrique de tri. Slectionnez cette rubrique et
dplacez-la en premire rubrique de tri laide des boutons flchs.
La rubrique "Client.EtatProvinceRgion" apparat en troisime rubrique de tri. Slectionnez
cette rubrique et dplacez-la en seconde rubrique de tri laide des boutons flchs.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 231
Quest-ce quune rupture?
Une Rupture est une opration qui consiste regrouper des enregistrements (ou
lignes) suivant un ou plusieurs critres. Attention, les enregistrements (ou lignes)
sont bien entendu imprims.
Une rupture est OBLIGATOIREMENT lie un tri.
Notez la prsence dun entte de rupture et dune fin de rupture.
Notes
Les informations communes aux diffrentes lignes sont prsentes dans lentte
de rupture.
Les totaux, compteurs, ... sont prsents dans la fin de rupture.
Cette rupture permet de regrouper une srie denregistrements par rapport
un mme critre. Dans notre exemple, la rupture concerne le pays et permet de
regrouper tous les clients dun mme pays.
232 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
14.Passez ltape suivante.
15.Vous allez maintenant indiquer dans quel ordre sont imprimes les rubriques et leur rpar-
tition dans les diffrents blocs. Dans notre exemple:
seul le pays sera dans le bloc "Dbut de rupture 1". La rubrique "Pays" est automatiquement
associe au "Dbut de rupture 1".
seul ltat sera dans le bloc "Dbut de rupture 2". La rubrique "EtatProvinceRgion" est auto-
matiquement associe au "Dbut de rupture 2".
seules les rubriques NomComplet, Adresse, CodePostal, Ville, EtatProvinceRgion et Pays
seront affiches dans ltat.
Dcochez les rubriques IDClient, Complment, Tlphone, Mobile et Email. Passez ltape
suivante.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 233
16.Cet cran permet de dfinir la mise en page de ltat.
Marges dimpression
Lors du choix des marges dimpression, noubliez pas de tenir compte des
Notes
marges physiques des imprimantes. Les marges physiques sont les marges
rserves par limprimante dans lesquelles il nest pas possible dimprimer. De
plus, les marges physiques diffrent en fonction des modles dimprimante.
234 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
23.Ltat apparat sous lditeur dtats. Enregistrez ltat.
Ltat est termin. Nous allons immdiatement le tester pour voir le rsultat.
Excutez cet tat en cliquant sur parmi les boutons daccs rapide.
La destination de limpression peut tre au choix:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 235
Choisissez "Aperu avant impression" et validez.
Lexcution de ltat saffiche lcran.
Vous pouvez imprimer directement la page en cours ou la totalit du document en cliquant sur
limprimante (volet "Imprimer").
236 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Dans la zone de saisie, saisissez "Etats".
// Imprime ltat
iImprimeEtat(ETAT_Liste_des_clients)
Examinons ce code:
La fonction iAperu (ou iDestination) permet de paramtrer la destination de limpression. Il
est par exemple possible dimprimer:
dans un fichier texte,
au format HTML,
au format PCL,
au format PDF, RTF, XLS, XML,
sur un fax.
Dans notre cas, limpression se fera dans la fentre daperu avant impression.
La fonction iImprimeEtat (comme son nom lindique) permet dimprimer un tat.
Testez la fentre et ses options de menu en cliquant sur parmi les boutons daccs
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 237
rapide.
Nous allons maintenant finir ce menu en ajoutant une option pour quitter lapplication.
1.Sous lditeur, slectionnez loption "Menu".
2.Dans le menu contextuel (clic droit), slectionnez loption "Transformer pour drouler un
sous-menu".
3.Dans la zone de saisie qui saffiche, saisissez "Quitter".
4.Nous allons associer cette option de menu au raccourci clavier "ALT + F4":
Slectionnez loption de menu "Quitter".
Dans le menu contextuel (clic droit), slectionnez loption "Description de loption".
Dans longlet "Gnral", dans la zone "Raccourci clavier", slectionnez "F4" et cochez "Alt".
Validez.
5.Affichez le code de loption et dans le traitement "Slection du menu", saisissez le code
suivant:
Examinons ce code:
La fonction OuiNon permet de dialoguer avec lutilisateur en lui posant une question. Lutili-
sateur peut rpondre la question laide de 2 boutons: oui ou non.
La fonction FinProgramme (appele si lutilisateur clique sur "Oui") permet de terminer lap-
plication.
Testez la fentre en cliquant sur parmi les boutons daccs rapide.
238 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.8. Statistiques: champs
Graphe et Tableau Crois Dynamique
Dure estime: 30 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 239
Prsentation
Dans une application de gestion, la prsentation de statistiques ou de tableaux rcapitulatifs est
souvent ncessaire. Ce type de prsentation peut tre utilis par exemple pour suivre:
lvolution des commandes dans le temps,
lvolution du chiffre daffaires,
lvolution des stocks,
...
Tout dcideur demande ces informations.
Pour inclure rapidement et simplement ces informations dans vos applications, WINDEV propose
de nombreux champs. Dans cette leon, nous allons utiliser deux champs spcifiques:
le champ Graphe.
le champ Tableau crois dynamique.
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
Corrig
240 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Ajoutez les rubriques Commande.Date et Commande.TotalTTC la requte:
Sur la gauche, droulez le fichier "Commande".
Double-cliquez sur la rubrique Date puis sur la rubrique TotalTTC.
Les deux rubriques apparaissent au centre de lcran (dans la zone "Liste des lments de
votre requte").
Pour effectuer la somme des valeurs de "Commande.TotalTTC":
1.Slectionnez la rubrique "Commande.TotalTTC" au centre.
2.Dans les "Actions", sur la droite, cliquez sur "Somme".
Vous pouvez ainsi vrifier que vous ne vous tes pas tromp par rapport lob-
jectif de votre requte.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 241
Nous allons maintenant regrouper les donnes par anne et les trier:
1.Slectionnez la rubrique "Commande.Date" au centre.
2.Dans les "Actions", sur la droite, cliquez sur "Anne, dpartement" et slectionnez "Anne".
242 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Cliquez sur pour sauvegarder la requte. Il ne reste plus qu tester la requte.
6.Cliquez sur pour tester la requte.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 243
4.Dans lassistant, slectionnez un graphe de type "Histogramme". Passez ltape suivante
de lassistant.
5.Saisissez les paramtres du graphe:
le titre du graphe: "Evolution des ventes".
la lgende: le graphe est sans lgende.
les tiquettes doivent tre affiches.
244 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
7.Nous allons maintenant dfinir la source des donnes.
Pour les tiquettes (valeurs affiches en bas du graphe, dans notre exemple, ce sont les
annes):
la source correspond : "Parcours dun fichier ou dune requte",
les donnes correspondent la rubrique Anne dans la requte REQ_EvolutionsVentes.
Pour les sries (valeurs affiches dans le champ Graphe): le champ graphe va afficher une
seule srie correspondant au total TTC calcul par la requte REQ_EvolutionsVentes.
Double-cliquez dans le tableau "Sources des sries".
Saisissez le libell "Srie 1".
la source correspond : Parcours dun fichier ou dune requte,
les donnes correspondent la rubrique "La_somme_TotalTTC" dans la requte REQ_Evolu-
tionsVentes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 245
12.Cliquez sur longlet "Graphe" pour visualiser le graphe.
246 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour matriser lutilisation dun champ Graphe, nhsitez pas tudier les
exemples fournis avec WINDEV:
Exemple Exemple unitaire: Champ Graphe
Exemple didactique: WD Graphe
Ces exemples sont disponibles depuis la fentre de bienvenue de WINDEV
(CTRL>).
Comme pour le champ Graphe, nous allons crer le champ Tableau crois dynamique dans un
nouvel onglet de la fentre FEN_Menu.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 247
Pour crer un nouvel onglet dans la fentre "FEN_Menu":
1.Affichez si ncessaire la fentre "FEN_Menu" sous lditeur de fentres.
2.Double-cliquez sur le champ Onglet: la fentre de description du champ saffiche.
3.Dans longlet "Gnral", slectionnez le volet donglet "Graphe" et cliquez sur le bouton
"Nouveau". Un nouveau volet apparat.
4.Slectionnez le nouveau volet (nomm "Volet 5").
5.Dans la partie droite de lcran, saisissez le libell du volet donglet: "Tableau crois dyna-
mique".
6.Dans la partie droite de lcran, slectionnez une image dans le catalogue dimages:
Cliquez sur le bouton "Catalogue".
Dans le champ de recherche saisissez "Tableau".
Slectionnez le thme "Flat Soft" et validez.
Slectionnez la seconde icne propose et validez les diffrents crans.
7.Validez la fentre de description du champ Onglet.
8.Le nouvel onglet apparat dans la fentre.
248 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Passez ltape suivante.
6.Dans les enttes des colonnes, nous voulons afficher les annes. Dans la partie gauche,
droulez le fichier Commande, et double-cliquez sur la rubrique Date.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 249
9.Dans les enttes des lignes, nous voulons afficher les produits regroups par pays. Dans la
partie gauche:
droulez le fichier Client et double-cliquez sur la rubrique Pays.
droulez le fichier Produit et double-cliquez sur la rubrique Libell.
250 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Test du Tableau Crois dynamique
Testez la fentre ( parmi les boutons daccs rapide). Cliquez sur longlet "Tableau crois
dynamique" puis sur le bouton "Calculer".
lignes et de colonnes, les temps de calcul peuvent tre plus ou moins longs.
Vous pouvez sauvegarder le rsultat du tableau crois dynamique pour viter le
recalcul chaque interrogation.
Cliquez sur les "+" pour drouler les diffrentes colonnes et lignes.
Arrtez le test. Nous allons faire une petite amlioration dans ce tableau crois dynamique.
En effet, rien nindique quun des chiffres dans les cellules correspond une quantit. Nous
allons utiliser un masque daffichage spcifique pour cette valeur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 251
Pour mettre un masque daffichage dans une cellule:
1.Affichez la description du champ Tableau crois dynamique (double-clic sur le champ).
2.Dans longlet "Contenu", cliquez sur "VAL_SansNom2". La description des valeurs affiches
dans les cellules apparat.
3.Dans la zone "Masque", ajoutez le prfixe "Qt: ".
252 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.9. Envoyer un email
Dure estime: 20 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 253
Prsentation
Le WLangage possde toutes les fonctions ncessaires pour grer lenvoi et la rception demails.
Vous pouvez galement accder toutes les caractristiques dun email:
expditeur, destinataires,
date denvoi, sujet, message,
pices jointes...
WINDEV permet de grer les emails grce plusieurs mthodes:
Gestion via Lotus Notes, Outlook ou MS Exchange:
Le logiciel de messagerie Lotus Notes ou Outlook: grce ces logiciels, il est possible
denvoyer et de recevoir des emails.
LAPI "Simple Mail API" (appel aussi SMAPI ou Simple MAPI): ce mode de gestion des em-
ails est utilis par la plupart des applications Microsoft et principalement Microsoft Ex-
change.
Gestion via les protocoles POP3, IMAP et SMTP:
Le protocole POP3 : ce protocole de rception des emails est reconnu par tous les fournis-
seurs de services. Il permet de dialoguer directement avec le serveur, disponible chez votre
fournisseur daccs. Ce protocole permet de lister les messages reus et de les lire.
Le protocole IMAP: ce protocole de rception demails permet de laisser les emails sur le
serveur dans le but de pouvoir les consulter depuis diffrents clients de messagerie ou web-
mails.
Le protocole SMTP: ce protocole denvoi demails est reconnu par tous les fournisseurs de
services.
Dans cette leon, nous allons crer une fentre permettant lutilisateur denvoyer un email de-
puis lapplication "WD Application Complte". Cette fentre est la suivante :
Nous allons pour cela, utiliser le protocole SMTP. En effet, cest le mode qui est actuellement le
plus utilis dans le monde.
Pour plus de dtails sur les autres mthodes, consultez laide en ligne.
254 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour suivre cette leon, il est ncessaire davoir effectu les leons de cette par-
Corrig tie jusqu la leon "Leon 3.7. Imprimer une liste de clients", page 228.
Un projet corrig complet de lapplication est galement disponible: sous le vo-
let "Accueil", dans le groupe "Aide en ligne", droulez "Guide dAuto-formation"
puis slectionnez "Application complte (Corrig)".
Exemple
Pour plus de dtails sur la gestion des emails, consultez lexemple "WD Mail"
(exemple complet), livr en standard avec WINDEV. Cet exemple est accessible
depuis la fentre de bienvenue de WINDEV (CTRL >).
Cration de la fentre
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 255
Pour crer le champ de saisie correspondant au nom du serveur SMTP:
1.Sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
2.La forme du champ apparat sous le curseur de la souris.
3.Cliquez en haut gauche de la fentre: le champ de saisie est automatiquement cr.
4.Slectionnez le champ et utilisez la touche [ENTREE] du clavier. Le libell passe en dition.
Saisissez "Serveur SMTP" et validez.
Pour crer le champ de saisie correspondant au port:
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Saisie".
2.Slectionnez un champ de saisie prdfini de type Entier.
3.La forme du champ apparat sous le curseur de la souris.
4.Cliquez sous le champ "Serveur SMTP": le champ de saisie est automatiquement cr.
5.Slectionnez le champ et utilisez la touche [ENTREE] du clavier. Le libell passe en dition.
Saisissez "Port" et validez.
Pour crer le champ de saisie correspondant au nom de lutilisateur:
1.Sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
2.La forme du champ apparat sous le curseur de la souris.
3.Cliquez sous le champ "Port": le champ de saisie est automatiquement cr.
4.Slectionnez le champ et utilisez la touche [ENTREE] du clavier. Le libell passe en dition.
Saisissez "Utilisateur" et validez.
Pour crer le champ de saisie correspondant au mot de passe de lutilisateur:
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Saisie".
2.Slectionnez un champ de saisie prdfini "Mot de passe".
3.La forme du champ apparat sous le curseur de la souris.
4.Cliquez sous le champ "Utilisateur": le champ de saisie est automatiquement cr.
Le champ de saisie "Mot de passe" apparat sous lditeur avec une puce et un
oeil.
En excution, lorsque lutilisateur saisira son mot de passe, les caractres seront
Astuce
remplacs par des puces. Un clic sur loeil permettra de voir le mot de passe
saisi en clair: lutilisateur pourra ainsi vrifier son mot de passe.
Si ncessaire cette fonctionnalit peut tre dsactive par programmation. pour
plus de dtails, consultez laide en ligne.
256 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3.Enregistrez la fentre ( ou CTRL S).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 257
5.Slectionnez le fichier "Client". Passez ltape suivante.
6.Nous voulons afficher dans le champ les adresses email des clients:
Dcochez la rubrique "IDClient".
Cochez la rubrique "Email".
Passez ltape suivante.
7.La rubrique de tri est la rubrique "Email". Passez ltape suivante.
8.La valeur de retour est galement la rubrique "Email". Passez ltape suivante.
9.Conservez les options par dfaut. Passez ltape suivante.
10.Dans lcran "Paramtres supplmentaires", cochez loption "Autoriser la saisie". En effet,
lutilisateur doit pouvoir saisir une nouvelle adresse email. Passez ltape suivante.
11.Modifiez le nom et le libell du champ Combo:
Le nom du champ est "COMBO_Destinataire".
Le libell du champ devient "Destinataire".
12.Validez lassistant. Le champ est automatiquement cr dans la fentre.
Pour crer le champ de saisie correspondant au sujet de lemail:
1.Sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
2.La forme du champ apparat sous le curseur de la souris.
3.Cliquez sous le champ "Destinataire": le champ de saisie est automatiquement cr.
4.Slectionnez le champ et utilisez la touche [ENTREE] du clavier. Le libell passe en dition.
Saisissez "Sujet" et validez.
Pour le corps du message, nous allons utiliser un champ de saisie HTML: lutilisateur pourra
ainsi mettre en forme facilement le texte de lemail grce une barre doutils spcifique.
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Saisie".
2.Slectionnez un champ de saisie prdfini "Texte HTML".
3.La forme du champ apparat sous le curseur de la souris.
4.Cliquez sous le champ "Sujet": le champ de saisie est automatiquement cr.
5.Agrandissez le champ afin que plusieurs lignes soient visibles.
6.Affichez la fentre de description du champ (double-cliquez sur le champ).
Sous longlet "Gnral", modifiez le mode daffichage de la barre doutils du formatage.
Cette barre doutil doit tre toujours visible.
Validez la fentre de description du champ.
7.Si ncessaire, repositionnez le champ pour que la barre doutils soit correctement affiche.
Pour que lutilisateur puisse ajouter une pice jointe, nous allons lui proposer un slecteur de
fichiers. Mais au lieu de le crer de toutes pices, nous allons utiliser un champ de saisie
pr-dfini de type fichier. Grce au menu contextuel du champ (option "Parcourir"), lutilisa-
teur pourra slectionner le fichier joindre.
1.Sous le volet "Cration", dans le groupe "Champs usuels", droulez "Saisie". La liste des
champs pr-dfinis disponibles par dfaut saffiche.
2.Slectionnez le champ "Fichier" et ralisez un "Drag and Drop" vers la fentre "FEN_
Envoi_d_un_email": lchez le champ en dessous du champ "Texte HTML". Le slecteur de
fichiers est immdiatement cr.
Alignez les diffrents champs prsents dans la fentre.
258 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons maintenant crer le bouton permettant denvoyer les emails.
Envoi de lemail
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 259
Ce code utilise une variable avance de type EmailSessionSMTP. Les diffrentes proprits
de cette variable permettent de dfinir les caractristiques de la session SMTP. La fonction
EmailOuvreSession utilise avec cette variable permet ensuite douvrir la session.
le code de prparation de lemail:
MonMessage..Expediteur = SAI_Expditeur
MonMessage..Sujet = SAI_Sujet
MonMessage..HTML = SAI_Texte_HTML
MonMessage..Message = HTMLVersTexte(SAI_Texte_HTML)
// Ajoute un destinataire
Ajoute(MonMessage..Destinataire,...
COMBO_Destinataire..ValeurAffiche)
Ce code utilise une variable de type Email. Les diffrentes proprits de cette variable
permettent de dfinir les caractristiques de lemail envoyer. Ce code associe donc le
contenu des diffrents champs de la fentre aux proprits de la variable de type Email.
le code denvoi de lemail:
// Envoie lemail
SI EmailEnvoieMessage(MaSession, MonMessage) = Faux ALORS
Erreur(Message non envoy., ErreurInfo())
SINON
// Message envoy
ToastAffiche(Message envoy, toastCourt, ...
cvMilieu, chCentre)
FIN
Lenvoi de lemail est simplement ralis avec la fonction EmailEnvoieMessage. Il suffit de lui
passer en paramtre la variable contenant les caractristiques de la session SMTP et la
variable contenant les caractristiques de lemail envoyer.
Si lemail est envoy, un message de type Toast indiquant que lemail a t envoy est
affich. Un message Toast correspond un message furtif.
le code de fermeture de la session SMTP:
// Ferme la session SMTP
EmailFermeSession(MaSession)
260 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Amliorations de la fentre
Nous allons apporter quelques amliorations notre fentre:
Ajouter un bouton de fermeture
Remettre en forme la fentre grce la gestion des ancrages et lordre de navigation.
Lancer la fentre depuis la fentre "FEN_Menu".
Fermeture de la fentre
Mise en forme
tre modifi:
soit en donnant un ordre de saisie automatique: le premier champ en sai-
sie sera le champ situ le plus en haut gauche, le deuxime sera celui
qui est immdiatement situ droite ou immdiatement en dessous ...
soit en spcifiant un ordre de saisie par slection.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 261
4.Appuyez nouveau sur la touche [F5] pour faire disparatre les numros.
5.Enregistrez la fentre ( ou CTRL S).
Dans ce code, la fonction OuvreFille permet de raliser une ouverture "non modale" de la
fentre: lutilisateur pourra la fois crire un email et consulter les informations de la
fentre principale.
262 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Enregistrez la fentre et son code ( ou CTRL S).
Lancez le test du projet ( parmi les boutons daccs rapide) et louverture de la fentre
denvoi demails.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 263
Leon 3.10. Identifier lutilisateur : le
groupware utilisateur
Dure estime: 20 mn
264 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Une application peut tre utilise par diffrents intervenants, ayant tous des profils diffrents. Il
est souvent ncessaire de prvoir des niveaux daccs selon les fonctions de lutilisateur.
Prenons un exemple simple: lors de la mise en place dune gestion commerciale, lapplication
propose les fonctionnalits suivantes:
Consultation du tarif
Modification du tarif
Saisie des commandes
Saisie des clients.
Selon lutilisateur, les accs possibles sont diffrents. Quelques exemples:
les secrtaires peuvent consulter le tarif et crer des commandes
les commerciaux peuvent consulter le tarif et tablir les commandes, grer de nouveaux clients.
les directeurs commerciaux ont accs toutes les options.
WINDEV permet de grer ces diffrents niveaux daccs en quelques clics dans vos applications
grce au groupware utilisateur.
Nous allons intgrer le groupware utilisateur dans notre application "WD Application Complte" et
le configurer.
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
Corrig
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
complte (Corrig)".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 265
2.Dans longlet "Intgration", deux modes dintgration sont disponibles:
Groupware utilisateur automatique: tous les lments du groupware utilisateur sont int-
grs directement dans votre application. Vous profitez ainsi automatiquement de toutes les
volutions du groupware. De plus, il est possible dappliquer le gabarit du projet aux fe-
ntres de groupware.
Groupware utilisateur personnalis: tous les lments du groupware sont intgrs dans
votre application via un composant interne. Il est possible de personnaliser les diffrents
lments du groupware utilisateur. Cependant, les volutions ne seront pas prises en
compte.
3.Slectionnez loption "Groupware utilisateur automatique".
4.Slectionnez longlet "Excution". Deux modes de dmarrage sont disponibles:
Lancement automatique: le groupware est lanc ds le dmarrage de lapplication.
Lancement manuel: le groupware sera lanc par programmation.
dexploitation plus rcent), il est conseill dutiliser loption "Rpertoire des don-
nes".
7.Dans longlet "Fichiers", slectionnez loption "Activer lhistorique des connexions". Cette
option permet au superviseur de savoir qui sest connect, quand et quelle heure.
266 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8.Slectionnez longlet "Options". Cet onglet permet de dfinir le mode didentification de
lutilisateur:
gestion par le groupware utilisateur.
utilisation dun annuaire LDAP. Dans ce cas, lors de linstallation de lapplication, lutilisa-
teur pourra saisir les paramtres de son annuaire LDAP.
utilisation de lauthentification Windows.
9.Validez. Un message apparat indiquant que par dfaut, un utilisateur Superviseur est cr.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 267
Par dfaut, un seul utilisateur existe, le superviseur. Au premier lancement de
lapplication, connectez-vous en utilisant le nom: "superviseur". Vous pourrez
alors dfinir le mot de passe utilis par le superviseur.
Note
268 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Configurer le groupware utilisateur
La configuration du groupware utilisateur consiste dfinir les diffrents utilisateurs de lapplica-
tion et leurs droits sur les diffrentes fentres et champs de lapplication.
Pour configurer le groupware utilisateur, nous allons tout dabord crer un utilisateur "Test_1"
et lassocier au groupe "Tests". Nous allons ensuite configurer la gestion des droits du
groupe.
Par dfaut, le mot de passe apparat masqu lors de la saisie. Pour vri-
Note
fier le mot de passe saisi, cliquez sur licne en forme doeil: le mot de
passe apparat en clair tant que le bouton de la souris reste enfonc.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 269
3.Cliquez sur le bouton "Enregistrer". Lutilisateur "Test_1" apparat dans la liste des utilisa-
teurs dfinis pour le groupware utilisateur.
Pour crer un nouveau groupe dutilisateurs:
1.Cliquez sur le bouton "Nouveau" en dessous de la zone "Groupes". Lcran de saisie dun
nouveau groupe apparat.
2.Saisissez le nom du groupe "Tests".
3.Cliquez sur le bouton "Enregistrer". Le groupe "Tests" apparat dans la liste des groupes dfi-
nis pour le groupware utilisateur.
270 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour associer lutilisateur au groupe:
1.Slectionnez lutilisateur "Test_1" dans la fentre.
2.Ralisez un "Glisser - Dposer" (Drag and Drop) de lutilisateur "Test_1" vers le groupe
"Tests".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 271
3.La fentre devient interdite.
Dfinissez les droits sur la fentre "FEN_Menu". Cette fentre contient une option de menu
permettant dafficher la fentre de gestion des emails ainsi que les boutons "Nouveau" et
"Modifier".
1.Slectionnez la fentre "FEN_Menu".
2.Cliquez sur le bouton "Suivant".
3.La fentre de configuration des droits sur les champs de la fentre apparat.
4.Passez en "Gris" les champs "BTN_Modifier" et "BTN_Nouveau":
272 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Passez en invisible loption de menu "Envoyer un email":
Test de lapplication
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 273
4.Quittez lapplication et revenez sous lditeur.
Si vous effectuez des tests automatiques dans votre application, il est nces-
saire de configurer le groupware utilisateur pour ne pas utiliser la fentre de
Note
login. Il suffit de renseigner loption "Login automatique en mode test" dans lon-
glet "Excution" de la fentre de paramtrage du groupware.
274 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.11. Rutilisez du code grce
aux composants externes
Dure estime: 30 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 275
Prsentation
2.Les classes
3.Les superchamps ( travers lutilisation dun dictionnaire)
4.Les composants externes
5.Les composants internes
Voici plusieurs cas dans lesquels les composants externes peuvent tre intressants.
Travail en quipe
Un dveloppeur cre et maintient un composant externe quil met la disposition des autres
dveloppeurs. Il ne risque pas dy avoir des modifications faites "par erreur"!
276 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les bases de donnes accdes par plusieurs projets
Lorsquune mme base de donnes est accde par plusieurs projets, il est frquent davoir des
incohrences dans la base de donnes dues des codes sources modifis ou trop vieux. En re-
groupant les oprations daccs (en criture au moins) la base de donnes dans un composant
externe, cela permet davoir un seul code source vrifier/maintenir et donc de limiter le risque
dincohrences dans la base de donnes.
De plus, lutilisation dun composant vite de recompiler lapplication lors dune modification de
lanalyse.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 277
Etape par tape
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
Corrig
Les configurations de projet permettent de crer partir dun mme projet plu-
sieurs "cibles" diffrentes:
Une application 32 bits,
Une application 64 bits,
Notes
Un composant,
...
tout moment, vous pouvez choisir la configuration sur laquelle vous travaillez
et gnrer en une seule opration tous les lments pour toutes les configura-
tions dun projet.
278 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour crer une configuration de projet de type "Composant":
1.Sous le volet "Projet", dans le groupe "Configuration de projet", droulez "Nouvelle configura-
tion" et slectionnez "Composant Externe (WDK)".
2.Lassistant de cration dune configuration de projet se lance. WINDEV propose de crer
une configuration de projet de type "Composant". Passez ltape suivante.
3.Donnez un nom votre configuration de projet: par exemple "CompoCommandesParVille".
Passez ltape suivante.
4.Conservez les options proposes par dfaut. Passez ltape suivante.
5.Slectionnez les lments qui constituent la configuration de projet. Dans cet exemple, ces
lments seront galement dans le composant.
Cliquez sur le bouton "Aucun".
Slectionnez les lments "REQ_CommandesParVille" et "COL_Composant".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 279
Pour connatre et modifier la configuration en cours, utilisez le volet "Explorateur
de projet".
Notes
280 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dans notre exemple, seule la collection de procdures "COL_Composant" sera utilise:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 281
9.Saisissez les diffrentes informations concernant le composant:
Propritaire,
Libell, Copyright, ...
10.Passez ltape suivante.
11.Vous pouvez associer une image votre composant. Les utilisateurs du composant pour-
ront lidentifier rapidement dans le volet "Catalogue dexemples". Passez ltape suivante.
12.Spcifiez la prsentation gnrale du composant. Cette prsentation permettra lutilisa-
teur du composant de connatre sa finalit. Saisissez par exemple:
282 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Validez. Voil, votre premier composant est maintenant cr, il est prt lemploi!
Etape 2: Utilisation du composant externe
Une fois cr, votre composant est alors utilisable dans nimporte quel autre projet WINDEV. Nous
allons maintenant voir comment rutiliser ce composant.
Pour cela, nous allons crer un nouveau projet et importer notre composant dans ce projet.
1.Fermez le projet en cours: sous le volet "Accueil", dans le groupe "Gnral", droulez "Fer-
mer" et slectionnez "Fermer le projet".
2.Validez la fermeture du projet et si ncessaire lenregistrement des modifications.
3.La fentre de bienvenue apparat.
4.Crez un nouveau projet: cliquez sur "Crer un projet" dans la fentre de bienvenue.
Ce projet est une application Windows.
Ce projet sappelle "CompoUtilisation" et na pas danalyse.
5.Sous le volet "Projet", dans le groupe "Projet", droulez "Importer" et slectionnez loption
"Un composant Externe ... partir dun fichier".
6.Dans le rpertoire du projet "WD Application Complte", slectionnez le sous-rpertoire
"EXE\CompoCommandesParVille", puis le fichier "CompoCommandesParVille.wdi". Le projet
"WD Application Complte" est disponible dans le sous-rpertoire "Autoformation\Exercices\
WD Application Complte".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 283
7.Aprs avoir cliqu sur "Ouvrir", la description de notre composant sest affiche. Cette des-
cription contient:
Sur longlet "Gnral", les lments saisis lors de la cration du composant externe, ainsi
que son emplacement.
Sur longlet "Dtail", la description du composant, ainsi que laide gnre automatique-
ment. Il est ainsi possible de connatre les lments utilisables du composant.
Nous allons maintenant crer une nouvelle fentre vierge pour utiliser le composant.
1.Crez une fentre vierge.
2.Enregistrez la fentre.
La fentre a pour titre "Clients par ville".
Le nom de la fentre est "FEN_Clients_par_ville".
Validez.
3.Affichez le code associ la fentre (option "Code" du menu contextuel).
284 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Dans le traitement "Fin dinitialisation", nous allons appeler la fonction LocalisationDon-
nes du composant. Cette fonction attend en paramtre le chemin permettant daccder aux
fichiers de donnes manipuls par le composant. Saisissez le chemin daccs aux donnes de
lexemple "WD Application Complte".
COL_Composant.LocalisationDonnes(...
C:\WINDEV\Autoformation\Exercices\+ ...
WD Application Complte\Exe\Excutable Windows 32 bits\)
// Indiquez le chemin de VOS donnes
5.Fermez lditeur de code.
6.Dans la fentre, ajoutez les champs suivants:
Un champ de saisie avec pour libell "Ville" et pour nom "SAI_Ville".
Un champ Table "TABLE_Rsultat", rempli par programmation et compos de 2 colonnes:
- une colonne "Nom" de type Texte.
- une colonne "Total ventes" de type Numrique.
Un bouton avec pour libell "Rechercher" et pour nom "BTN_Rechercher".
Editez maintenant le code du bouton "BTN_Rechercher". Lors du clic sur ce bouton, nous
allons excuter la procdure de recherche prsente dans le composant. Cette procdure:
attend en paramtre le nom de la ville
renvoie une chane de la forme: Nom du client 1 + TAB + Total vente 1 + RC + Nom du client
2 + TAB + Total vente 2 + ...
Le code du bouton "BTN_Rechercher" doit donc:
appeler la procdure DonneCommandesParVille du composant en lui passant en para-
mtre le contenu du champ SAI_Ville.
traiter la chane obtenue pour lajouter dans la table.
Saisissez le code suivant:
sListeRsultat est une chane
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 285
Testez la fentre en cliquant sur le bouton "GO" parmi les boutons daccs rapide. Dans le
champ de saisie, saisissez "Paris" (en respectant la casse) puis cliquez sur le bouton
"Rechercher". La liste des clients saffiche.
Distribution simple
Vous devez dans ce cas fournir tous les fichiers ncessaires au bon fonctionnement de votre com-
posant. Ces fichiers sont crs la gnration du composant (fichiers WDI, WDK, WDO, images,
autres documents,...). Ces fichiers seront copis manuellement de leur rpertoire dorigine vers
le rpertoire de destination. Les projets WINDEV qui utiliseront ce composant, iront chercher les
fichiers dpendants dans ce rpertoire de destination.
Liste des fichiers fournir pour une distribution simple:
les fichiers gnrs automatiquement par WINDEV (WDK, WDI, ...).
les fichiers de dpendances.
si le composant utilise des fichiers de dpendances, il faudra fournir le fichier WDO. Ce fi-
chier contient les rfrences aux diffrents fichiers externes utiliss dans le composant.
286 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Distribution professionnelle
La diffusion des composants laide dune procdure dinstallation consiste fournir aux uti-
lisateurs du composant WINDEV, un programme dinstallation. Ce programme installe tous les
fichiers ncessaires lutilisation du composant dans le rpertoire spcifi par lutilisateur.
Ce mode dinstallation permet de grer automatiquement:
le fichier WDO et linstallation des fichiers supplmentaires utiliss par le composant.
linstallation automatique doutils ncessaires (MDAC, driver ODBC pour HFSQL,...).
la mise jour automatique des fichiers de donnes utiliss par le composant (si nces-
saire).
la dsinstallation du composant.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 287
Leon 3.12. Consommer un Webservice
Prsentation
Importation et consommation dun Webservice
Dure estime: 15 mn
288 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Un service Web est gnralement dfini comme une application accessible via des protocoles
Internet standard. Les services Web permettent notamment linteractivit entre plusieurs ordina-
teurs connects sur le rseau Internet.
Via les services Web, il est possible de faire excuter des procdures et des traitements sur un
serveur Web (.NET ou J2EE) distance depuis un poste client.
Avec WINDEV, ces services Web sont utilisables en tant que client, via le protocole SOAP sur HTTP
(le protocole standard dInternet pour le transfert des pages HTML), grce aux fonctions SOAPxx,
DotNetxx et J2EExx.
Quelle que soit la plateforme du serveur Web (.NET, J2EE ...), un service Web est accessible via
lutilisation de SOAP.
Notes
Exemple pratique
Pour tester et manipuler un Webservice, nous mettons votre disposition un Webservice spci-
fique pour le Cours dauto-formation.
Intgr au projet "WD Application Complte", ce Webservice permet dinterroger une base fournis-
seur pour vrifier la disponibilit (stock) dun produit partir de sa rfrence.
Nous allons dans un premier temps, importer le Webservice dans le projet "WD Application Com-
plte", puis lutiliser dans lapplication pour vrifier partir dune fiche Produit, la disponibilit du
produit affich.
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
Corrig
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 289
Si ncessaire, placez-vous sur la configuration de projet "Excutable Windows 32 bits": dans
lexplorateur de projet, dans le dossier "Configurations", double-cliquez sur "Excutable
Windows 32 bits".
Pour importer un Webservice dans le projet:
1.Sous le volet "Projet", dans le groupe "Projet", droulez "Importer" et slectionnez "Un Web-
service".
2.Lassistant dimportation se lance. Passez ltape suivante.
3.Indiquez ladresse laquelle la description WSDL du Webservice doit tre importe: http://
exemples.webdev.info/WSAUTOFORMATION_WEB/awws/WSAutoformation.awws?wsdl
Rappel: Ce Webservice permet dinterroger une base fournisseur pour vrifier la disponibilit
(stock) dun produit partir de sa rfrence.
5.Validez la fentre dinformation. Le Webservice import est prsent dans le dossier "Web-
services" de lexplorateur de projet.
290 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Arrtons-nous un instant sur les informations affiches dans lexplorateur de projet:
Dans notre exemple, le Webservice import se nomme: WSAutoformation. Il contient une fonction
ProduitEnStock.
La fonction ProduitEnStock contient 2 structures:
ProduitEnStock
ProduitEnStockResponse
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 291
Consommation dun Webservice
Dans notre exemple "WD Application Complte", nous allons intgrer lappel au Webservice dans
longlet permettant de voir la liste des produits. Un bouton "En stock ?" permettra de vrifier la
disponibilit du produit affich via le Webservice.
Pour utiliser le Webservice:
1.Ouvrez sous lditeur la fentre "FEN_Menu" (double-cliquez sur son nom dans lexplorateur
de projet par exemple).
2.Dans le volet "Liste des produits", ajoutez un bouton:
Sous le volet "Cration", dans le groupe "Champs usuels", cliquez sur .
Cliquez dans la fentre sous le bouton "Modifier".
Le bouton est automatiquement cr.
3.Modifiez les caractristiques du bouton (option "Description" du menu contextuel). Ce
champ a pour nom "BTN_EnStock" et pour libell "En stock ?".
Examinons ce code:
La fonction du WebService ProduitEnStock est appele.
La rponse est mise en forme et affiche.
6.Fermez lditeur de code et enregistrez la fentre ( ou CTRL S).
292 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Validez la fentre dinformation et fermez lapplication.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 293
Leon 3.13. Surveillez lvolution de
vos applications
Dure estime: 20 mn
294 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Le tableau de bord du projet est un lment indispensable la gestion de projets WINDEV. Le ta-
bleau de bord permet davoir une vision globale et synthtique de ltat davancement dun projet.
Le tableau de bord est constitu de diffrents lments (Widgets) permettant de voir dun seul
coup dil ltat dun projet.
Dans cette partie, nous nous limiterons la manipulation des diffrents lments du tableau de
bord, la gestion des tests automatiques et loptimisation des requtes.
Si vous navez pas cr les fentres des leons prcdentes, vous pouvez suivre
cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez "Application
Corrig
Pour afficher le tableau de bord du projet (si ce nest pas dj fait), sous le volet "Projet",
dans le groupe "Projet", cliquez sur licne .
Le tableau de bord
Le tableau de bord du projet est compos de diffrents Widgets. Chaque Widget affiche une ou
plusieurs informations concernant le projet.
Par exemple, le Widget "Performances" permet de lancer directement lanalyseur de performances
ou douvrir le dernier rapport de performances effectu.
Le Widget "Audit statique et Compilation" permet de voir rapidement si le projet contient des er-
reurs de compilation.
A tout moment, il est possible dactiver ou non un Widget, den ajouter ou den supprimer.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 295
Tests automatiques
Une des fonctionnalits intressantes du tableau de bord est de renseigner sur les tests qui ont
t raliss sur lapplication.
Nous avons dj fait de nombreux tests dutilisation, au fur et mesure de la conception de notre
application.
Les tests automatiques sont une catgorie de tests spcifiques. Les tests automatiques per-
mettent dautomatiser certaines manipulations de vos fentres. Ces tests sont enregistrs sous
forme de scnarios WLangage, facilement modifiables sous lditeur de code. Une fois enregistr,
le test automatique peut tre rexcut autant de fois que vous voulez, pour tester par exemple
limpact dune modification sur une fentre, une procdure, ...
Faisons immdiatement un essai! Nous allons crer un test automatique sur la fentre de saisie
que nous avons cre au dbut de cette leon.
Les tests automatiques peuvent tre raliss sur des fentres, des procdures,
Note
des classes.
Pour crer un test automatique sur une fentre, il suffit de tester la fentre:
1.Ouvrez la fentre "FEN_Menu" sous lditeur.
2.Sous le volet "Tests automatiques", dans le groupe "Tests", droulez "Nouveau" et slection-
nez "Enregistrer un nouveau test".
3.Dans la fentre qui saffiche, cliquez sur "Commencer lenregistrement".
4.Le test de la fentre se lance.
5.Cliquez sur longlet "Recherche de commandes".
6.Choisissez le mode de rglement "Carte bancaire".
7.Cliquez sur le bouton "Rechercher".
8.Fermez la fentre par le menu "Menu .. Quitter" et confirmez la fin de lapplication.
Si vous navez pas suivi le cours en entier, cette option peut ne pas exister. Dans
Note
Les fonctions WLangage permettant de raliser des tests automatiques sont les
Note
fonctions PiloteXXX.
296 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
12.Lditeur de tests apparat:
Nous allons maintenant faire une modification dans notre fentre, puis repasser le test. La
modification porte sur le bouton "Rechercher". Nous allons le rendre gris.
1.Affichez si ncessaire la fentre "FEN_Menu".
2.Sous lditeur, cliquez sur longlet "Recherche de commandes" et slectionnez le bouton
"Rechercher".
3.Affichez la description du bouton "Rechercher" (option "Description" du menu contextuel).
4.Dans longlet "IHM", slectionnez loption "Gris".
5.Validez la fentre de description du champ.
6.Enregistrez la fentre.
7.Passez le test associ la fentre: sous le volet "Tests automatiques", droulez "Excuter"
et slectionnez loption "Lancer les tests".
8.Le test est dsormais en erreur.
9.Affichez la description du bouton "Rechercher" (option "Description" du menu contextuel).
10.Dans longlet "IHM", slectionnez loption "Actif".
11.Validez la fentre de description du champ.
12.Relancez le test. Le test passe maintenant correctement.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 297
Une autre possibilit de lditeur de tests est la possibilit de modifier ou dajouter du code WLan-
gage dans les scnarios de test. Nous allons par exemple ajouter quelques lignes de code afin de
vrifier que le champ Table contient au moins un enregistrement.
1.Affichez lditeur de tests (par exemple double-cliquez sur "TEST_Menu" dans lexplorateur
de projet).
2.Affichez le code du test (option "Code" du menu contextuel du "Test de recherche de com-
mandes").
298 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Lditeur de tests propose de nombreuses fonctionnalits que nous ne pourrons pas aborder
dans ce cours:
la possibilit dutiliser un jeu de valeurs de test.
la dfinition de paramtres dentre et de sortie du test.
la possibilit de crer une bibliothque de tests pour tester un excutable par exemple sur
une machine diffrente du poste de dveloppement.
Pour plus de dtails sur les tests automatiques, nous vous conseillons de consulter laide en ligne
(mot-cl: "Test automatique").
Fermez lditeur de tests automatiques.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 299
Leon 3.14. Dployer lapplication
Cration de lexcutable
Aide des nouveauts
Cration de linstallation
Dure estime: 30 mn
300 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Nous avons cr une application complte en dcouvrant de nombreuses fonctionnalits de WIN-
DEV. Maintenant, il faut gnrer lexcutable et installer lapplication chez les utilisateurs. Cest
ce que nous allons faire pour conclure cette partie. Nous aurons ainsi vu la majorit des points
importants lors du dveloppement dune application WINDEV.
Si vous navez pas ralis les manipulations des leons prcdentes, vous pou-
Corrig
vez suivre cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Corrig)"
Cration de lexcutable
La cration de lexcutable est une opration trs simple: une option de menu et quelques clics
suffisent.
Nous vous proposons ici de dtailler toutes les tapes de la cration de lexcutable afin de
connatre toutes les possibilits de WINDEV. tout moment, vous pouvez cliquer sur le bouton
vert pour valider la totalit des crans de lassistant.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 301
3.Dcrivez les options gnrales de lexcutable:
le nom de lexcutable: nous conservons le nom par dfaut.
le nom de licne associe lexcutable: vous pouvez slectionner une icne dans le cata-
logue dimages.
limage dintroduction. Plusieurs types de splash screen sont disponibles. Par dfaut, un
splash screen avec texte anim est slectionn. Le bouton "Options" permet de le configu-
rer. Cette option nest pas disponible dans la version Express.
302 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
7.Lassistant propose dactiver la tlmtrie dans lapplication. Nous nutiliserons pas cette
fonctionnalit. Passez ltape suivante.
amliorer.
Pour plus dinformation sur la mise en place et la configuration de la tlm-
trie, consultez laide en ligne.
Ici, nous allons tester lexcutable aprs sa gnration. Pour que les don-
Note
nes soient affiches lors de ce test, il est ncessaire de cocher loption "R-
pertoire de lapplication ou rpertoire courant".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 303
13.Nous allons maintenant saisir les informations de lexcutable. Ces informations sont affi-
ches sous lexplorateur Windows en slectionnant les proprits du fichier.
Saisissez par exemple les informations suivantes:
304 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le framework correspond aux diffrentes librairies ncessaires au fonction-
Note
nement de lexcutable.
Voil, la cration de lexcutable est termine. Beaucoup doptions renseigner, mais aprs une
premire configuration de vos choix, vous pourrez valider ds le dbut toutes les tapes de lassis-
tant.
Il est galement possible de cliquer directement sur les tapes indiques dans
Note
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 305
Cration de linstallation
La cration de linstallation est une opration trs simple: un assistant vous permet de dfinir les
choix principaux. Si les options proposes par lassistant ne suffisent pas, il est possible dutiliser
lditeur dinstallation. Nous ne dtaillerons pas son utilisation dans cette leon. Pour plus de
dtails, consultez laide en ligne.
Nous vous proposons ici de dtailler toutes les tapes de la cration du programme dinstallation
afin de connatre toutes les possibilits de WINDEV. tout moment, vous pouvez cliquer sur le
bouton vert pour valider la totalit des crans de lassistant.
Cette option permet de crer un fichier daide pour prsenter lutilisateur final les nouveau-
ts de la version. Lors dune premire installation, ce fichier peut correspondre laide du lo-
306 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
giciel.
Slectionnez loption "Crer une documentation des nouveauts" et passez ltape sui-
vante.
6.Vous pouvez dfinir les lments qui seront automatiquement intgrs au fichier daide.
Conservez les options par dfaut et passez ltape suivante.
7.Validez le message. Lexcutable est automatiquement cr (avec les options que nous
avons dfinies lors de la cration de lexcutable) et le systme daide est cr. Vous pouvez
saisir les informations spcifiques dans le systme daide. Pour lexemple, laissez les infor-
mations cres par dfaut. Pour reprendre la cration du programme dinstallation, cliquez
sur loption "Poursuivre la cration de la procdure dinstallation".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 307
12.Passez ltape suivante.
13.Dans les paramtres de la base de donnes, dcochez toutes les options. Passez
ltape suivante.
14.Dans les modules complmentaires, conservez les options suivantes:
308 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons choisir les outils optionnels installer et inclure le dsinstallateur. Grce au
dsinstallateur, les utilisateurs pourront dsinstaller lapplication depuis le gestionnaire de
programmes de Windows. Passez ltape suivante.
Remarque : Dans la version Express, il nest pas possible de slectionner les outils option-
nels.
15.Nous allons slectionner WDOptimiseur. Cet outil permet doptimiser rgulirement les
fichiers de donnes de lapplication.
16.Cliquez sur loption "Support" gauche de lassistant. Nous allons gnrer linstallation
dans un rpertoire unique. Par dfaut, le programme dinstallation est cr dans le sous-r-
pertoire "Install" du projet. Il est possible de:
Spcifier un mot de passe pour linstallation. Seul lutilisateur connaissant le mot de passe
pourra lancer linstallation de lapplication.
Signer linstallation avec un certificat. Cette option permet de garantir lintgrit du pack
dinstallation.
17.Validez. Le programme dinstallation est automatiquement cr.
18.Un cran apparat permettant de tester linstallation ou douvrir le rpertoire de gnra-
tion.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 309
4.Choisissez "Installation personnalise". Lassistant demande le rpertoire dinstallation de
lapplication.
Prsentation
WINDEV propose par dfaut plusieurs modes dinstallation pour une application WINDEV:
Installation autonome:
Ce type dinstallation permet de crer un programme dinstallation unique. Ce programme
dinstallation sera excut par lutilisateur final, directement sur son poste.
Pour mettre jour lapplication, il suffira de recrer une installation de lapplication. Lutilisa-
teur final devra installer ce nouveau programme.
Cest le type dinstallation que nous venons de raliser.
Installation avec mise jour automatique:
Ce type dinstallation permet de dtecter automatiquement les mises jour lors du lancement
de lapplication. Si une mise jour est disponible, lutilisateur peut immdiatement se mettre
jour.
Ce type dinstallation est disponible aussi bien via rseau ou via le Web. Il est galement pos-
sible de raliser une installation multi-site.
Dtaillons un peu plus le fonctionnement dune installation avec mise jour.
310 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Installation avec mise jour rseau
La cration du programme dinstallation est ralise grce lassistant de cration de programme
dinstallation (option "Procdure dinstallation" sous le volet "Projet").
Le programme dinstallation obtenu la fin de lassistant est en fait compos de deux installa-
tions:
linstallation de lapplication de rfrence. Lapplication de rfrence doit tre installe sur le
rseau (par exemple dans un rpertoire partag ou sur un serveur), accessible par tous les utili-
sateurs finaux de lapplication.
linstallation de lapplication elle-mme. Cette installation est englobe dans lapplication de
rfrence. Elle nest accessible quune fois lapplication de rfrence installe.
Le schma suivant prsente le mode dinstallation dune application utilisant une base HFSQL
Classic en local, avec une mise jour rseau.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 311
312
ADMINISTRATEUR SERVEUR(S) UTILISATEURS
RSEAU LOCAL
ladministrateur rfrence1 utilisateurs
rseau
Version de
Le schma suivant prsente le mode dinstallation dune application utilisant une base HFSQL
Client/Serveur, avec une mise jour par Internet.
Remarque : Ce type dinstallation peut galement tre effectue via le CLOUD pour applications
PC SOFT (si vous disposez dun compte).
Installation multisite
Linstallation multi-site est la combinaison de :
une installation rseau de rfrence dploye sur un rseau local.
une installation HTTP utilise pour la mise jour de linstallation de rfrence sur le rseau
local.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 313
314
ADMINISTRATEUR SERVEUR(S) INTERNET UTILISATEURS
Version de
rfrence
Demande Lutilisateur
dinstallation affiche la page Application
Excutable de de tlchargement WINDEV
linstallation
utilisateur
Support Excution de
dinstallation linstallation Page de
(CD,DVD,USB...) tlchargement Tlchargement
et installation
de lapplication
Serveur Manta
Manta Manager
Dure estime: 10 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 315
Prsentation du logiciel "Etats et Requtes"
Le logiciel "Etats et Requtes" permet aux utilisateurs de modifier et de crer leur convenance
les tats et les requtes de vos applications.
Un utilisateur trouve quil manque une information sur ltat fourni en standard? Avec le logi-
ciel "Etat et Requtes", il peut ajouter linformation directement depuis laperu avant impression.
Cette modification peut tre intressante pour dautres utilisateurs? Ltat peut tre mis dispo-
sition de tous les utilisateurs utilisant lapplication en rseau. De mme pour les requtes.
applications cres avec WINDEV. Consultez la licence pour plus de dtails sur
les conditions de redistribution.
Si vous navez pas ralis les manipulations des leons prcdentes, vous pou-
Corrig
vez suivre cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Corrig)".
316 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Paramtrage du projet
Pour utiliser le logiciel "Etats et Requtes" partir de votre application, il est ncessaire de
configurer le projet associ votre application.
1.Si ncessaire, ouvrez le projet exemple "WD Application Complte": sous le volet "Accueil",
dans le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez loption "WD
Application Complte (Exercice)". Le projet se charge.
Si vous navez pas ralis les tats dans le projet "WD Application Complte",
Notes
4.Validez.
Paramtrage de lanalyse
Nous allons maintenant ouvrir lanalyse pour paramtrer les fichiers et rubriques utilisables sous
le logiciel "Etats et Requtes".
Ouvrez lanalyse de votre projet: cliquez sur parmi les boutons daccs rapide du menu
de WINDEV.
Par dfaut, tous les fichiers de donnes et toutes leurs rubriques sont visibles et manipu-
lables avec le logiciel "Etats et Requtes". Si votre application contient des informations
sensibles (mots de passe, ...) vous pouvez rendre ces fichiers de donnes ou ces rubriques
invisibles sous le logiciel "Etats et Requtes".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 317
A partir du logiciel "Etats et Requtes", lutilisateur ne peut pas ajouter, modi-
fier ou supprimer des enregistrements (les fonctions HAjoute, HModifie et HSup-
Notes
prime sont interdites). Il nest galement pas possible de crer ou de re-crer
des fichiers de donnes (les fonctions HCration et HCrationSiInexistant sont
interdites).
318 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Validez et enregistrez ltat.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 319
2.Slectionnez "Crer lexcutable maintenant". La cration de lexcutable est ralise.
Notes
Si lassistant propose la cration du fichier daide, validez les diffrents mes-
sages.
320 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Spcifiez si ncessaire les rpertoires correspondant aux tats et requtes modifis ou
crs par lutilisateur final.
Le rpertoire des tats et requtes personnels correspond au rpertoire des tats et re-
qutes visibles uniquement par lutilisateur qui les a crs.
Le rpertoire des tats et requtes partags correspond au rpertoire des tats et requtes
visibles par tous les utilisateurs de lapplication.
Ces rpertoires peuvent tre modifis lors de linstallation de lapplication: il suffit de co-
cher loption "Autoriser la modification de ces rpertoires lors de linstallation".
11.Cliquez sur loption "Support" gauche de lassistant.
12.Validez lassistant. Le programme dinstallation est gnr. Ne fermez pas la fentre indi-
quant la fin de la cration de linstallation.
Installation de lapplication
Pour tester linstallation et lutilisation du logiciel "Etats et Requtes", nous allons installer lappli-
cation "WD Application Complte".
En suivant les tapes du paragraphe prcdent, vous avez gnr le programme dinstallation de
cette application. Le programme dinstallation a t cr dans le sous-rpertoire "Install" du projet
en cours.
Dans la fentre de fin de cration de linstallation, cliquez sur le bouton "Tester". Si vous avez
ferm cette fentre, lancez directement le programme "Install.exe" prsent dans le rpertoire
du programme dinstallation. Linstallation de lapplication se lance.
Nous allons suivre les diffrentes tapes du programme dinstallation de lapplication "WD
Application Complte".
1.Si vous utilisez un systme dexploitation correspondant Windows Vista ou suprieur, une
fentre saffiche demandant lautorisation dexcuter le programme. Validez cette fentre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 321
2.Choisissez la langue du programme dinstallation et cliquez sur "OK".
3.Lassistant dinstallation se lance. Deux modes dinstallation sont disponibles :
Installation rapide : Linstallation est directement ralise avec les paramtres spcifis par
le fournisseur de lapplication.
Installation personnalise : Lassistant demande lutilisateur les paramtres dinstallation
de lapplication.
4.Choisissez "Installation personnalise". Lassistant demande le rpertoire dinstallation de
lapplication.
5.Validez le rpertoire dinstallation de lapplication.
6.Lcran "Etats et Requtes" permet dinstaller le logiciel "Etats et Requtes" (uniquement si
ce programme nest pas dj install sur le poste en cours).
322 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Test de lapplication
Nous allons maintenant nous placer dans la peau de lutilisateur final de votre application.
Pour tester lapplication:
1.Lancez lapplication "WD Application Complte".
2.Slectionnez loption "Etats .. Liste des clients". Ltat apparat en mode "Aperu avant im-
pression".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 323
3.Lutilisateur peut alors faire les modifications quil souhaite:
sur le style des informations affiches (par exemple changer la couleur dun champ).
sur le contenu de ltat (par exemple ajouter un champ, ...). Si ltat est li une requte,
lutilisateur peut modifier cette requte.
Si ltat est li une requte intgre, la modification est effectue directement dans ltat.
Si ltat est li une requte indpendante, la requte est galement modifie. La
modification sera prise en compte uniquement dans le cadre de lexcution de ltat (si une
fentre utilise galement cette requte, la modification ne sera pas prise en compte par la
fentre).
Dans cet exemple, nous allons mettre la date en rouge. Pour cela:
1.Slectionnez le champ date dans le dbut de document.
2.Sous le volet "Modification", dans le groupe "Edition rapide", cliquez sur licne "Couleur" et
slectionnez la couleur rouge.
3.Enregistrez votre tat. Par dfaut, le rpertoire propos est le rpertoire dinstallation de
votre application.
4.Fermez le logiciel "Etats et Requtes".
5.Slectionnez loption "Etats .. Liste des clients" dans lapplication. Ltat apparat en mode
"Aperu avant impression" et la modification ralise est effective.
Dans cet exemple, ltat que vous avez modifi est disponible pour vous seul. Dans le cas dune
application rseau, lutilisateur a la possibilit de mettre disposition de tous les utilisateurs un
tat modifi.
Nous avons fini notre dcouverte du logiciel "Etats & Requtes". Pour plus de dtails, consultez
laide en ligne (mot-cl: Etats et Requtes).
324 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Conclusion
Toute la phase de dveloppement de notre application est termine. Les deux prochaines leons
vont vous permettre de dcouvrir:
comment transformer votre application en une application multilingue,
comment intgrer votre application dans le Gestionnaire de sources (GDS).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 325
Leon 3.16. Grer le multilingue
Dure estime: 20 mn
326 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Quest-ce quune application multilingue?
Une application multilingue est une application qui peut sexcuter en anglais, en franais, en
allemand ou dans une autre langue.
Une seule et mme application peut donc tre utilise dans plusieurs langues. Mais comment
est-ce possible?
Cest ce que nous allons voir dans cette leon.
Nous allons manipuler un projet qui pourra sexcuter en franais ou en anglais, selon le choix de
lutilisateur.
Les principales tapes dune application multilingue sont:
Le choix des langues du projet.
Linternationalisation de lanalyse.
Linternationalisation des lments du projet (fentres, tats, champs, aide, ...).
Linternationalisation des messages prsents dans le code.
La programmation du changement de langue dans lapplication.
Nous allons appliquer ces diffrentes tapes au projet "WD Application Complte". Ce projet, dis-
ponible en Franais, va tre traduit en Anglais.
Si vous navez pas ralis les manipulations des leons prcdentes, vous pou-
Corrig
vez suivre cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Corrig)"
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 327
4.Cliquez sur "Anglais". Une coche apparat droite de la langue.
5.Validez. La langue "Anglais" apparat dans la liste des langues du projet.
Longlet "Langues" permet galement de paramtrer les options linguistiques concernant les
nombres, les montaires, les dates, ... pour la langue slectionne. Voyons un exemple:
1.Cliquez sur la langue "Anglais".
2.Slectionnez longlet "Date".
3.Par dfaut, les options linguistiques de Windows sont utilises. Si vous slectionnez lop-
tion "Utiliser les paramtres suivants", il est possible de dfinir le format de date utilis ainsi
que la traduction des jours et des mois.
4.Conservez loption "Utiliser les paramtres dfinis dans les options linguistiques du sys-
tme dexploitation".
328 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dans les options linguistiques, il est possible de choisir le sens dcriture de la
Notes
langue (onglet "Divers", option "Sens dcriture"). Il est ainsi possible de crer des
interfaces avec une langue scrivant de droite gauche.
Internationalisation de lanalyse
Par dfaut, une analyse est cre dans une langue et ne peut pas tre traduite.
Cependant, certaines informations peuvent tre saisies dans plusieurs langues (notes du dossier,
informations partages, ...).
Si votre application utilise le module Etats et Requtes, il est galement possible de traduire les
noms de fichiers et les noms de rubriques. Cette traduction peut tre ralise dans longlet "Etats
et Requtes" (de la description de fichiers ou de rubriques).
Les champs crs partir des rubriques de lanalyse ont par dfaut le libell de la rubrique sp-
cifi dans lanalyse. Si un libell a t spcifi dans les informations partages de la rubrique, ce
libell sera utilis lors de la cration du champ.
Lors du changement de la langue du projet li lanalyse, ce changement nest pas automati-
quement report dans lanalyse. En effet, une analyse peut tre partage entre plusieurs projets.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 329
Note Pour prendre en compte toutes les langues du projet li lanalyse en cours, il
est galement possible de cliquer sur le bouton "Synchroniser avec le projet".
Pour saisir les informations partages dans plusieurs langues, examinons un cas simple: la
saisie de libell du champ li la rubrique "Adresse" du fichier "Client":
1.Slectionnez le fichier Client.
2.Affichez la description des rubriques dun fichier de donnes (option "Description des ru-
briques" du menu contextuel du fichier).
3.Slectionnez la rubrique "Adresse" et affichez les paramtres du champ reli la rubrique
slectionne (informations partages). Pour cela, cliquez sur la double flche en bas de
lcran .
330 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour prendre en compte les modifications ralises dans lanalyse, il est ncessaire de
gnrer lanalyse: sous le volet "Analyse", dans le groupe "Analyse", cliquez sur "Gnration".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 331
Internationalisation dune image
Pour changer limage du bandeau utilis dans la fentre FEN_Menu selon la langue dexcu-
tion:
1.Ouvrez la fentre "FEN_Menu.WDW".
2.Limage du bandeau est contenue dans le modle associ la fentre. Il est donc nces-
saire douvrir le modle de fentres associ:
Cliquez sur le champ "WD ApplicationComplte" et affichez le menu contextuel.
Slectionnez loption "Ouvrir le modle".
5.La fentre de gestion des images multilingues saffiche. Il est possible dutiliser une image
diffrente pour chaque langue. Cette fonctionnalit est trs utile si vous utilisez des images
contenant du texte.
332 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8.Validez la fentre de description du champ.
9.Enregistrez le modle de fentres ( ou CTRL S).
10.Mettez jour les fentres utilisant le modle de fentres en cliquant sur licne dans
le bandeau orange. Validez la fentre de mise jour.
11.Fermez le modle de fentres affich sous lditeur.
2.Pour traduire ce type de message, positionnez le curseur dans la chane "Quitter lapplica-
tion ?" et utilisez la combinaison de touche [CTRL T]. Il est galement possible, sous le volet
"Code", dans le groupe "Langues", de drouler "Traduire les chanes" et slectionner "Traduc-
tion des messages".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 333
3.La fentre suivante apparat:
4.Cette fentre permet de saisir tous les messages de votre programme dans toutes les lan-
gues du projet.
5.Dans la zone "Anglais", saisissez "Exit from the application?" et validez.
6.Licne ainsi quun chiffre apparat sous lditeur de code.
334 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les outils de traduction
Nous venons de traduire manuellement quelques lments de notre application.
Pour traduire ces informations, WINDEV met plusieurs moyens votre disposition:
une traduction directe des messages dans les diffrents diteurs. Cette traduction peut tre
ralise via un outil de traduction, Google Trad (sous rserve de possder une licence), ...
une traduction ralise grce un outil externe (WDMSG et WDTRAD).
3.Spcifiez:
Si les paramtres rgionaux doivent tre automatiquement activs selon la langue en cours
de saisie. Dans ce cas, si la langue ncessite un alphabet spcifique, cet alphabet sera au-
tomatiquement slectionn.
Le logiciel ou le site utiliser pour la traduction. Il est possible dutiliser WDDixio, diction-
naire de traduction livr avec WDMSG (voir page suivante), un logiciel ou un site de traduc-
tion spcifique, ou Google Traduction (pour plus de dtails, consultez laide en ligne).
Les langues gres.
4.Lorsque les paramtres de traductions sont dfinis, il est possible dutiliser le bouton
prsent dans les diffrentes fentres de description des lments du projet: ce bouton
permettra dutiliser le logiciel dfini pour la traduction.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 335
Traduction avec WDMSG et WDTRAD
Il existe galement un outil nomm WDMSG (non fourni en standard avec WINDEV) qui permet:
dextraire tous les messages dun projet (libell des champs, message de code, titre des fe-
ntres,...) pour les traduire,
de rintgrer les messages traduits.
Les messages traduire sont extraits:
dans un format texte pouvant tre configur pour tre utilis avec la majorit des logiciels de
traduction.
au format HFSQL.
WDMSG est galement fourni avec un outil daide la traduction, WDTRAD. WDTRAD permet de
saisir simplement toutes les traductions des informations multilingues dun projet.
Pour obtenir plus dinformations sur WDMSG et WDTRAD, contactez le Service Commercial de
PCSOFT.
Pour obtenir plus dinformations sur WDINT, contactez le Service Commercial de PC SOFT.
336 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Programmation du changement de langue
Par dfaut, le projet sexcute dans la langue dexcution dfinie pour le projet, dans longlet "Lan-
gues" de la description du projet (option "Description" sous le volet "Projet").
Dans une application, le choix de la langue peut seffectuer via une option de menu. La fonction
Nation utilise dans le traitement associ loption de menu permet de changer la langue de
lapplication en cours dexcution.
Programmation
La fonction Nation permet de changer la langue dexcution de lapplication. Les constantes pas-
ses en paramtre permettent de spcifier la langue utiliser.
Le changement de langue effectu par la fonction Nation est immdiatement effectif.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 337
Test du projet
Nous avons traduit quelques lments de lapplication, nous allons maintenant tester le change-
ment de langue.
Pour tester lapplication:
1.Lancez le test du projet ( parmi les boutons daccs rapide). La fentre apparat en mode
test en franais.
2.Slectionnez loption "Menu .. Langues .. Anglais".
3.Les diffrents lments que nous avons traduits apparaissent en anglais:
338 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 3.17. GDS
Prsentation
Le gestionnaire de sources
Utilisation du gestionnaire de sources
Dure estime: 30 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 339
Introduction
Un dveloppement informatique important ncessite la participation de plusieurs dveloppeurs.
Ces dveloppeurs doivent travailler sur un projet WINDEV unique, en partageant les diffrentes
ressources (fentres, classes,...) manipules.
WINDEV propose en standard un gestionnaire de sources nomm "GDS" permettant de parta-
ger les sources de diffrents projets entre dveloppeurs et de connatre lhistorique complet des
modifications ralises (dans le code, linterface, ...).
Principe du GDS
Le gestionnaire de sources permet de stocker et de partager des projets et tous leurs lments.
Le principe est le suivant:
Une version de rfrence de chacun de vos projets est prsente sur un serveur. Lensemble
de ces versions est appel "Base de sources".
Chaque dveloppeur a sur son poste une copie locale des diffrents projets sur laquelle il
travaille.
COPIE LOCALE
Serveur GDS
Projet Dveloppeur
local Rseau local
COPIE LOCALE
Lorsquun dveloppeur veut modifier un lment dun projet (une fentre, un tat, une re-
qute,...), il indique au GDS quil sapproprie temporairement cet lment. Pour cela, le d-
veloppeur va extraire cet lment de la base de sources.
Ce dveloppeur obtient alors les droits exclusifs sur cet lment: il peut faire toutes les
modifications voulues sur cet lment.
Les autres dveloppeurs continuent de travailler avec la copie de la version de rfrence de
cet lment (prsente dans la base de sources).
Ds que le dveloppeur a termin ses modifications, il rintgre llment extrait dans la
base de sources.
340 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les autres dveloppeurs sont automatiquement avertis de cette rintgration. Ils peuvent
alors mettre jour leur copie locale.
Projet
local
Projet de 3 RINTGRATION 2 MODIFICATION
rfrence
Dveloppeur
SYNCHRONISATION ADSL (Internet)
4
SY
Projet
N
4 local
CH
RO
N
IS
Dveloppeur
AT
I O
Dconnect
N
Projet
local
Le GDS gre donc le travail collaboratif et permet de connatre lhistorique de toutes les modifica-
tions ralises.
Le GDS permet galement dadministrer et de rglementer les lments partags entre plusieurs
projets.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 341
Nous allons crer notre base de sources lors de limportation dun projet dans le GDS, la
prochaine tape.
Si vous navez pas ralis les manipulations des leons prcdentes, vous pou-
Corrig
vez suivre cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Corrig)"
Nous allons intgrer le projet "WD Application Complte.WDP" dans la base de sources du
GDS:
1.Sous le volet "GDS", dans le groupe "Projet", cliquez sur "Ajouter le projet". Lassistant dajout
de projet dans le GDS se lance:
Nous navons pas prcdemment cr de base de sources. Nous allons donc en crer une.
Remarque: Nous allons crer une base de sources "locale" (sur le poste de dveloppement). Le
fonctionnement serait similaire pour une base de sources rseau.
342 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2.Cliquez sur le bouton "Crer une base".
3.Lcran permettant de crer la base saffiche.
La base de sources peut tre au format HFSQL Classic (local ou rseau) ou au format HFSQL
Client/Serveur. Nous allons crer une base de sources au format HFSQL Classic.
Notes
4.Slectionnez loption "Cration dune base en mode partage rseau" et indiquez le rper-
toire de cette base de sources ("C:\Mes Projets\GDS Base de sources locale" par exemple).
5.Validez la cration de la base de sources (bouton "Crer la base").
6.La base de sources est prsent cre. Nous allons pouvoir intgrer notre projet dans
cette base de sources.
7.Passez ltape suivante.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 343
8.Lassistant nous propose de placer le projet dans le sous-rpertoire "Projets WinDev" de la
base de sources.
Nous voulons que tous les lments du projet soient ajouts. Passez ltape suivante.
10.Lassistant nous demande de slectionner les diffrentes dpendances du projet ajou-
ter dans la base de sources. Ces dpendances correspondent tous les lments externes
ncessaires au projet (images, feuilles de styles, ...).
Nous voulons que toutes les dpendances du projet soient ajoutes. Passez ltape sui-
vante.
344 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
11.Validez lintgration du projet dans le GDS. Notre projet et tous ses lments sont dsor-
mais ajouts dans notre base de sources.
Une fentre daide sur la barre doutils dutilisation du GDS saffiche. Lisez et validez cette
fentre.
Partage dlments du projet
Lors de lintgration dans le GDS de projets partageant les mmes ressources
Notes
(la mme analyse, les mmes fentres, ...), les lments concerns peuvent tre
partags entre les diffrents projets. Ainsi, le mme lment nest intgr quune
seule fois dans le GDS et les modifications sont automatiquement reportes
dans les autres projets.
Dans un cas rel, pour que dautres dveloppeurs travaillent sur un projet prsent dans le ges-
tionnaire de sources, ils doivent rcuprer, en local, une copie de ce projet.
Pour cela, les manipulations faire sont les suivantes:
1.Ouvrir le projet depuis le gestionnaire de sources: sous le volet "Accueil", dans le groupe "G-
nral", drouler "Ouvrir" et slectionner "Ouvrir un projet depuis le GDS".
2.Indiquer les paramtres de localisation de la base de sources et valider (cette tape est
ncessaire uniquement si le projet en cours sous lditeur nappartient pas au GDS):
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 345
3.Dans lcran qui saffiche, indiquer si ncessaire la connexion et le rpertoire local:
Remarque : Si vous avez dj ouvert le projet depuis le GDS, le GDS vous propose douvrir le pro-
jet normalement ou dcraser le contenu (pour rcuprer le projet complet).
Cette opration doit tre effectue une seule fois par chaque dveloppeur utilisant le projet.
Le dveloppeur qui a ajout le projet dans le gestionnaire de sources (dans ce cas, cest vous!)
na aucune manipulation effectuer.
Les prochaines ouvertures dun projet gr par le GDS sont identiques aux ouver-
Notes
tures dun projet non gr par le GDS: il suffit douvrir le projet (fichier ".WDP")
correspondant la copie locale.
Configuration du GDS
Avant de commencer travailler sur les lments du projet prsent dans le GDS, il est important
de configurer le mode dextraction des lments du projet.
Lors du travail sur des lments dun projet prsent dans le GDS, il est ncessaire dextraire ll-
ment de la base de source avant de commencer le modifier, puis de le rintgrer une fois les
modifications effectues. Llment modifi est ainsi disponible pour tous les utilisateurs du GDS.
WINDEV propose deux modes dextraction des lments du projet:
le mode classique: si vous affichez un lment du GDS non extrait, un panneau indique que
cet lment doit tre extrait pour tre modifi. Vous pouvez extraire immdiatement llment
(bouton dextraction prsent dans le panneau).
le mode automatique: si vous tentez de modifier un lment du GDS non extrait, le GDS pro-
pose automatiquement dextraire cet lment. Aprs la validation de lextraction, llment peut
tre modifi.
Remarque: ce mode est dconseill lors dune utilisation du GDS avec une connexion Internet
lente.
346 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dans ce cours, nous allons utiliser lextraction automatique.
Pour vrifier que lextraction automatique est bien active, sous le volet "Accueil", dans le
groupe "Environnement", droulez "Options" et slectionnez loption "Options gnrales de
WINDEV". Dans longlet "Gnral", cochez si ncessaire loption "Extraction des lments la
premire modification".
Nous allons modifier le projet en demandant afficher le gabarit sur les fentres systme:
1.Affichez la description du projet: sous le volet "Projet", dans le groupe "Projet", cliquez sur
"Description".
2.Cliquez sur longlet "Style".
3.Cochez loption "Appliquer le thme de gabarit sur les fentres systme".
4.Validez la fentre de description du projet.
Plusieurs fentres du GDS apparaissent:
1.Tout dabord la fentre dextraction automatique du projet saffiche. En effet, nous modifions
une caractristique du projet, il est ncessaire dextraire le projet.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 347
Modification dune fentre du projet
Nous allons maintenant modifier la fentre "FEN_Fiche_du_produit": le clic sur limage doit per-
mettre de modifier limage (comme le bouton "Modifier").
La modification dun lment extrait (IHM, code, ...) seffectue comme sur un projet non gr par
le GDS.
Cependant, toutes les modifications effectues sur un lment extrait ne sont pas visibles par les
autres dveloppeurs.
Si un autre dveloppeur excute llment extrait, llment qui est actuellement dans la base de
sources sera utilis.
Il est ainsi possible de faire voluer une application tout en gardant une version stable dans la
base de sources.
348 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3.La fentre dextraction apparat:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 349
Testez vos modifications.
1.Lancez le test du projet ( parmi les boutons daccs rapide).
2.Slectionnez un produit et cliquez sur "Modifier".
3.Dans la fiche qui apparat, cliquez sur limage du produit: le slecteur de fichier souvre
pour modifier limage du produit. Cest bien le fonctionnement attendu.
4.Fermez la fentre de test.
Fusion de code
Notes
350 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Si vous utilisez les Centres de Contrle, il est galement possible de terminer
Notes
la tche en cours lors de la rintgration de llment dans le Gestionnaire
de sources. Cette fonctionnalit est utile notamment pour assurer le suivi des
tches, des corrections de bugs, ...
5.Validez la rintgration.
6.La fentre apparat alors sous lditeur.
Synchronisation du projet
Plusieurs options permettent de configurer un projet manipul avec le GDS. Ces options sont re-
groupes dans longlet "GDS" de la description du projet (affiche par un clic sur "Description"
sous le volet "Projet").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 351
Mode dconnect (ou nomade)
Le GDS permet trs simplement de travailler en mode dconnect ou nomade.
Ce mode permet par exemple un dveloppeur utilisant un portable de continuer travailler sur
un projet prsent dans la base de sources tout en tant dconnect.
Le principe est simple:
avant la dconnexion, sous le volet "GDS", dans le groupe "Autres actions", droulez "Travail
distance" et slectionnez loption "Se dconnecter pour une utilisation nomade".
la reconnexion, sous le volet "GDS", dans le groupe "Autres actions", droulez "Travail
distance" et slectionnez loption "Se reconnecter et synchroniser". Il suffit alors de rint-
grer les lments modifis.
En mode nomade, deux solutions soffrent vous concernant lextraction dlments:
Vous ne faites aucune extraction dlment du GDS. Ainsi, pendant toute votre priode no-
made, dautres dveloppeurs pourront travailler sur le ou les mmes lments que vous.
votre retour et votre reconnexion au GDS, il sera ncessaire de faire des fusions entre vos
propres modifications sur llment et celles effectues par dautres dveloppeurs.
Vous faites une extraction exclusive sur le ou les lments que vous allez modifier. Vous
vous rservez ainsi llment pendant toute votre priode nomade.
Administrateur du GDS
Ladministrateur du GDS permet de manipuler directement les diffrents projets inclus dans le
gestionnaire de sources.
Il permet par exemple de:
grer les bases de sources (cration, connexion une base de sources).
grer les fichiers et les rpertoires prsents dans un projet de la base de sources (ajouter,
supprimer, renommer, des fichiers et des rpertoires).
grer les diffrents fichiers de la base de sources (extraction, rintgration, partage, ).
lancer certains outils (options, maintenances, ).
visualiser lhistorique dun lment.
visualiser ltat des lments.
raliser des sauvegardes.
donner des droits aux diffrents utilisateurs du GDS.
lister les projets auxquels on participe afin de pouvoir sen dissocier (si besoin).
352 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Lancez ladministrateur du GDS: sous le volet "GDS", dans le groupe "Base GDS", cliquez sur
le bouton "Grer". Tous les lments du projet sont lists dans ladministrateur.
Pour plus de renseignements sur le GDS, consultez laide en ligne de WINDEV (mot-cl: "GDS").
Dconnexion du GDS
Dans la suite de ce cours, nous allons nouveau manipuler lapplication "WD Application Com-
plte". Pour simplifier les manipulations, nous vous conseillons de vous dconnecter du GDS:
1.Affichez la fentre de description du projet: Sous le volet "Projet", dans le groupe "Projet", cli-
quez sur "Description".
2.Dans longlet "GDS", slectionnez loption "Pas de groupware dveloppeur ni de GDS".
3.Validez la fentre de description du projet.
Conclusion
Nous avons vu toutes les principales phases du dveloppement dune application.
WINDEV propose galement diffrents outils pour optimiser vos applications. Pour plus de dtails,
consultez la leon "Audits du projet", page 383.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application complte avec donnes 353
354 Partie 3 : Application complte avec donnes (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 4
Administrer
une base HFSQL
Client/Serveur
356 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 4.1. Introduction
Principe du Client/Serveur
Pourquoi passer une application en HFSQL Client/Serveur?
Dure estime: 5 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 357
Prsentation
WINDEV permet de crer des applications accdant des bases de donnes HFSQL Client/Ser-
veur.
Une base de donnes en mode Client/Serveur permet de dporter la ou les bases de donnes sur
un poste serveur.
Ce mode de fonctionnement :
accrot la scurit de vos donnes,
permet de grer trs facilement le mode multi-utilisateurs,
facilite la maintenance, ...
Poste Client 1
Application WINDEV
Serveur Manta
Application WINDEV
Bases de donnes
Poste Client n HFSQL
Client/Serveur
Application WINDEV
358 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pourquoi passer une application en mode HFSQL Client/
Serveur?
Les principaux avantages dune application en mode HFSQL Client/Serveur par rapport une
application en mode HFSQL Classic sont les suivants:
Lutilisation de HFSQL Client/Serveur est plus scurise (utilisation dun login, dun mot de
passe et dfinitions de droits associs aux utilisateurs).
Pas de gestion de rpertoires: tous les fichiers de la base de donnes sont regroups au mme
endroit.
Les clients finaux ne voient pas les fichiers de donnes dans leur explorateur et ne peuvent pas
y accder directement.
Les bases de donnes en mode Client/Serveur peuvent tre utilises par une connexion Inter-
net.
Une gestion du mode multi-utilisateur native: les performances en mode multi-utilisateur sont
optimises.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 359
Leon 4.2. Mise en place dune
base de donnes Client/Serveur
Dure estime: 10 mn
360 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Dans cette leon, nous allons effectuer toutes les oprations ncessaires au dveloppement et
au dploiement dune application utilisant une base de donnes HFSQL Client/Serveur.
Pensez ouvrir ce port sur le firewall pour se connecter au serveur HFSQL de-
puis une autre machine.
Notes
Si ce port est dj utilis (par un autre serveur HFSQL par exemple), pensez le
modifier.
8.Installez le Centre de Contrle HFSQL si celui-ci nest pas prsent ou accessible depuis
votre poste.
Attention!
9.Linstallation est effectue. Par dfaut, pour se connecter au serveur en mode administra-
teur, il faut utiliser lutilisateur "admin" sans mot de passe.
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 361
Cration dune application utilisant une base de donnes
HFSQL Client/Serveur
La cration dune application WINDEV utilisant une base de donnes HFSQL Client/Serveur se fait
trs simplement. Il est ncessaire de:
1.Crer le projet en demandant crer une nouvelle base de donnes.
2.Crer lanalyse en spcifiant que les bases de donnes utilises par le projet seront de type
"HFSQL Client/Serveur".
3.Indiquer les caractristiques de la connexion au serveur HFSQL Client/Serveur utiliser.
4.Lors de la cration dun fichier sous lanalyse, indiquer que ce fichier est en mode Client/
Serveur et prciser la connexion utilise.
Notes
Prsentation
Le passage dune base de donnes HFSQL Classic en mode Client/Serveur est une opration
courante.
WINDEV propose plusieurs solutions pour raliser ce passage:
raliser cette adaptation dans lditeur danalyses.
raliser cette adaptation depuis le Centre de Contrle HFSQL.
Pour mieux se rendre compte des diffrentes tapes, nous allons passer en mode Client/Ser-
veur lapplication que nous avons ralise dans la partie 3 de ce livre, en utilisant la premire
mthode, lditeur danalyses.
Adaptation de lexemple
Si vous navez pas ralis les manipulations des leons prcdentes, vous pou-
Corrig
vez suivre cette leon en ouvrant un projet corrig: sous le volet "Accueil", dans
le groupe "Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez
"Application complte (Corrig)".
362 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour adapter le projet:
1.Ouvrez si ncessaire le projet "WD Application Complte".
2.Dans lexplorateur de projet, slectionnez si ncessaire, la configuration de projet "Excu-
table Windows 32 bits".
3.Chargez lanalyse de votre projet sous lditeur danalyses: cliquez sur parmi les bou-
tons daccs rapide. Lditeur danalyses saffiche.
4.Sous le volet "Analyse", dans le groupe "Connexion", cliquez sur "Nouvelle connexion". Un
assistant souvre, permettant de crer une connexion.
5.Slectionnez le type de connexion crer: "HFSQL Client/Serveur".
le nom du serveur (nom de votre machine par exemple) et le numro de port. Passez
lcran suivant.
le nom de lutilisateur et son mot de passe (laissez ces informations vides pour utiliser lad-
ministrateur). Passez lcran suivant.
le nom de la base de donnes ("WD Application Complte" dans notre exemple). Passez
lcran suivant.
8.Saisissez le nom de la connexion (conservez le nom propos).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 363
9.Passez ltape suivante et validez. La connexion la base est automatiquement cre.
Lassistant propose dassocier les diffrents fichiers de donnes prsents dans lanalyse la
connexion qui vient dtre cre.
13.Slectionnez les fichiers de donnes de lanalyse copier sur le serveur: dans notre cas,
ce sont tous les fichiers de donnes du rpertoire EXE.
364 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
14.Passez ltape suivante et validez.
15.Les fichiers de donnes de lanalyse sont automatiquement transforms en fichiers de
donnes HFSQL Client/Serveur et associs la connexion choisie.
16.Gnrez lanalyse: sous le volet "Analyse", dans le groupe "Analyse", cliquez sur "Gnra-
tion". Une modification automatique des fichiers de donnes est automatiquement effectue.
Si tous les fichiers de donnes sont jour, vous pouvez annuler la modification automatique
des fichiers de donnes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 365
Passage en mode Client/Serveur: quelques conseils
Vrifiez le code de votre projet: en mode HFSQL Client/Serveur, les instruc-
tions HSubstRep, ... sont inutiles
Selon les paramtres indiqus lors de la cration de la connexion, il est pos-
Notes
17.Vous avez adapt le projet de dveloppement. Il peut tre galement ncessaire dadapter
lapplication dploye (par exemple si lapplication dploye utilise des fichiers HFSQL Clas-
sic). Cette opration se paramtre lors de la cration du programme dinstallation de lappli-
cation.
366 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 4.3. Administrer une base de
donnes Client/Serveur
Dure estime: 20 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 367
Prsentation
Maintenant que nous savons crer/adapter une application pour quelle fonctionne en mode
HFSQL Client/Serveur, nous allons voir comment administrer la base de donnes associe.
En effet, une base de donnes Client/Serveur ncessite:
une configuration spcifique des postes (installation dun serveur HFSQL, ...).
une administration ralise grce au Centre de Contrle HFSQL.
368 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Cliquez si ncessaire sur longlet vertical "HFSQL C/S". La liste des fichiers de donnes au
format HFSQL Client/Serveur saffiche.
Le Centre de Contrle liste ici les fichiers de donnes Client/Serveur trouvs dans lanalyse
lie au projet en cours. Aucune connexion nest ralise: les fichiers apparaissent griss.
5.Pour visualiser les donnes des fichiers, double-cliquez sur un des fichiers de donnes
dans la liste gauche (par exemple "Commande"). Si le Centre de Contrle HFSQL ne connat
pas tous les paramtres de la connexion, une fentre de connexion permet de raliser la
connexion effective au serveur HFSQL Client/Serveur utilis. Si cette fentre saffiche, indi-
quez le mot de passe et validez.
6.Le contenu du fichier de donnes est affich dans un nouvel onglet ("Commande" dans
notre exemple). En cliquant sur longlet "Description", vous pouvez visualiser les diffrentes
informations sur le fichier de donnes slectionn:
Longlet "Description" prsente les informations sur les fichiers de donnes (rubriques du fi-
chier, ...).
Longlet "Contenu" affiche les enregistrements contenus dans les fichiers de donnes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 369
Depuis le Centre de Contrle HFSQL, il est possible dadministrer toute la base de donnes
HFSQL Client/Serveur.
Les droits des utilisateurs spcifis dans le Centre de Contrle HFSQL sont des
Attention!
Certains utilisateurs peuvent par exemple ne pas avoir le droit dcrire dans certains fichiers.
Pour faire un test simple, nous allons crer un utilisateur et lui permettre de consulter les enregis-
trements du fichier Client.
Pour se connecter directement la base de donnes prsente sur le serveur:
1.Droulez le menu situ en haut gauche du Centre de Contrle HFSQL et slection-
nez loption "Se connecter un serveur HFSQL".
2.La fentre de bienvenue dans le Centre de Contrle HFSQL saffiche.
3.Loption "Se connecter un serveur HFSQL" est slectionne par dfaut. Indiquez les carac-
tristiques du serveur install dans la leon prcdente puis validez.
4.Les caractristiques du serveur HFSQL sont affiches:
dans le panneau de gauche, le nom du serveur HFSQL ainsi que la liste des bases prsentes
sur ce serveur apparaissent.
dans la partie droite de lcran, un nouvel onglet est affich permettant de voir les caract-
ristiques du serveur HFSQL.
370 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5.Dans la partie droite de lcran, slectionnez longlet "Utilisateurs". Cet onglet permet de
grer les utilisateurs du serveur.
6.Pour le moment, seul lutilisateur "Admin" est prsent.
7.Pour crer un nouvel utilisateur, dans le ruban, dans le groupe "Utilisateurs", cliquez sur le
bouton "Nouveau". Lcran permettant de dfinir les caractristiques de lutilisateur apparat.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 371
8.Saisissez par exemple les informations suivantes:
Compte actif: Si cette option nest pas coche, lutilisateur existe mais nest
pas actif (cas des utilisateurs en congs par exemple).
Expiration du mot de passe: Il est possible davoir un mot de passe valide uni-
quement pour un nombre de jours donns. (paramtrable).
372 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour donner le droit de connexion la base de donnes:
1.Dans le Centre de Contrle HFSQL, double-cliquez sur la base de donnes "WD Application
Complte".
2.Sous le volet "WD Application Complte", dans le groupe "Droits", cliquez sur "Gestion des
droits".
3.Slectionnez lutilisateur "Test" dans la liste des utilisateurs.
4.Dans la liste des droits, pour laction "Droit de se connecter au serveur (connexion crypte
et non crypte)", cliquez dans la colonne "Droit dfini" et slectionnez la coche verte.
5.Cliquez sur le bouton "Appliquer" (flche bleue en bas de la fentre). Le droit devient effec-
tif.
6.Fermez la fentre de gestion des droits.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 373
Pour donner le droit de lire le fichier Client:
1.Dans le Centre de Contrle HFSQL, droulez la base de donnes "WD Application Complte",
puis double-cliquez sur le fichier Client ( gauche de lcran).
2.Sous le volet "Client", dans le groupe "Droits", cliquez sur "Gestion des droits".
3.Slectionnez lutilisateur "Test" dans la liste des utilisateurs.
4.Dans la liste des droits, pour laction "Droit de lire les enregistrements dun fichier", cliquez
dans la colonne "Droit dfini" et slectionnez la coche verte.
5.Cliquez sur le bouton "Appliquer" prsent en bas de la fentre (Flche bleue). Le droit de-
vient effectif.
6.Fermez la fentre de gestion des droits.
La gestion des utilisateurs et de leurs droits peut galement tre effectue par
Notes
374 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Sauvegarder la base de donnes
Pour sauvegarder la base de donnes :
1.Positionnez-vous sur longlet correspondant la base "WD Application Complte".
2.Slectionnez longlet vertical "Sauvegardes".
3.Dans le menu, dans le groupe "Sauvegardes", droulez "Nouvelle sauvegarde" et slection-
nez "Nouvelle sauvegarde chaud".
Remarque : Ce bouton est accessible dans le groupe "Sauvegardes":
sur longlet correspondant au serveur HFSQL,
sur longlet correspondant la base de donnes.
Remarque : Lassistant permet galement de raliser une sauvegarde dune slection de fichiers.
Conclusion
Le Centre de Contrle HFSQL est un outil complet dadministration de base de donnes, permet-
tant entre autres:
darrter ou de redmarrer un serveur en cas de problme,
de grer les utilisateurs et leurs droits,
de rindexer les fichiers de donnes si ncessaire,
de faire des sauvegardes de la base.
Le Centre de Contrle HFSQL est un outil redistribuable qui peut tre install chez les clients
possdant des bases de donnes HFSQL Client/Serveur. Le Centre de Contrle HFSQL doit tre
utilis par la personne administrant la base de donnes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 375
Leon 4.4. Installation en clientle
Dure estime: 5 mn
376 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Linstallation dune application Client/Serveur ncessite plusieurs options spcifiques. Ces op-
tions sont prises en charge par lassistant de cration dinstallation de WINDEV.
Nous allons crer la procdure dinstallation de notre application "WD Application Complte".
Si ces options sont coches, les crans suivants permettent de paramtrer les diffrents
lments prendre en compte pour linstallation en clientle.
Pour plus de dtails, consultez laide en ligne.
Remarque : Certaines options ne sont pas disponibles dans la version Express.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Administrer une base HFSQL Client/Serveur 377
378 Partie 4 : Administrer une base HFSQL Client/Serveur (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 5
Optimiser et
dboguer un
projet
380 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 5.1. Prsentation
Dure estime: 5 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 381
Prsentation
Votre application est termine. Elle fonctionne, vous avez cr diffrents tests automatiques pour
viter les rgressions. Vous voulez la dployer chez vos clients.
Avez-vous pens utiliser les outils de WINDEV pour optimiser votre application ? WINDEV pro-
pose une srie doutils et de fonctionnalits permettant doptimiser rapidement votre application
et dviter simplement des "bugs" grossiers.
Cette partie prsente en dtail ces outils et leur utilisation.
Pour mieux manipuler ces fonctionnalits, nous avons prpar un projet optimiser !
Ouverture du projet
Lancez WINDEV 21 (si ce nest dj fait). Si ncessaire, fermez le projet en cours pour faire
apparatre la fentre de bienvenue.
Ouvrez le projet "WD Optimisation".
Pour cela, dans la fentre de bienvenue, cliquez sur "Cours dauto-formation" et slectionnez
"Optimiser un projet".
Astuce: si la fentre de bienvenue nest pas affiche, sous le volet "Accueil", dans le groupe
"Aide en ligne", droulez "Guide dAuto-formation" puis slectionnez loption "Optimiser un
projet".
382 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 5.2. Audits du projet
Dure estime: 15 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 383
Quest-ce quun audit ?
Les audits apportent une srie de fonctionnalits permettant damliorer automatiquement la
qualit et les performances dun projet et de suivre plus prcisment ses conditions de mise en
exploitation.
Nous allons tout de suite tester ces audits sur le projet "WD Optimisation".
Audit statique
Laudit statique est une fonctionnalit de lenvironnement permettant danalyser les sources dun
projet pour dtecter diffrents problmes et proposer des amliorations.
Pour lancer laudit statique sur le projet "WD Optimisation":
1.Sous le volet "Projet", dans le groupe "Audit et performances", droulez "Audit ddition" et
slectionnez "Dclencher laudit ddition".
Laudit statique du projet peut galement tre lanc depuis le Tableau de bord
du projet, via le Widget "Audit statique et Compilation".
Il suffit de:
activer le Widget si ncessaire (cliquez sur le lien "Cliquez ici pour ractiver").
cliquer sur la flche.
Notes
384 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2.Lassistant se lance. Nous allons dfinir la cible de laudit statique.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 385
Laudit statique se compose de:
Laudit statique du projet.
Laudit du contenu de la bibliothque de lapplication.
Laudit du contenu de linstallation.
Examinons avec attention les points prsents par ce rapport.
Procdure non excute
Dans notre projet, laudit nous indique quune procdure nest jamais excute.
Il arrive frquemment dans des projets importants, de crer une ou plusieurs procdures pour
raliser un traitement, puis suite une rorganisation du code, la procdure nest plus utilise
mais reste dans le projet.
La prsence de procdures non utilises alourdit inutilement les ressources distribues aux utili-
sateurs finaux.
Pour traiter ce problme:
1.Cliquez sur le bouton [...] pour obtenir plus de renseignements. La fentre listant les codes
morts apparat.
2.La procdure "ProcdureObsolte" nest jamais appele. Cette fentre permet de:
spcifier que la procdure est tout de mme utilise (bouton "Marquer comme utilis").
Dans ce cas, la procdure ne sera plus prise en compte lors de laudit.
supprimer la procdure si elle est rellement inutilise (bouton "Supprimer").
voir la procdure (bouton "Voir").
rechercher les cas dutilisation dans les chanes par exemple (bouton "Rechercher").
3.Dans notre cas, cette procdure est rellement inutilise, cliquez sur "Supprimer".
4.Une fentre saffiche demandant la confirmation de la suppression. Confirmez la suppres-
sion en cliquant sur le bouton "Supprimer".
5.Fermez la fentre du code mort (utilisez la croix en haut droite).
386 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dans la fentre de laudit statique, cliquez sur le bouton "Rafrachir" pour mettre jour le
rapport daudit.
Elment orphelin
Laudit nous indique que notre projet contient un lment orphelin.
Comme pour les procdures excutes, il arrive frquemment de crer des fentres, des tats
afin deffectuer un test rapide, de les enregistrer et de les oublier. La prsence dlments orphe-
lins dans lexcutable alourdit inutilement les ressources distribues aux utilisateurs finaux.
Pour traiter ce problme:
1.Cliquez sur le bouton [...] pour obtenir plus de renseignements. La fentre listant les l-
ments orphelins apparat.
2.La fentre "FEN_FentreInutilise" nest jamais appele. La fentre listant les lments or-
phelins permet de:
spcifier que llment est tout de mme utilis (bouton "Marquer comme utilis"). Dans ce
cas, la fentre de notre exemple ne sera plus prise en compte lors de laudit. Cette option
peut tre intressante par exemple dans le cas dune fentre de test spcifique au dvelop-
pement.
supprimer llment si il est rellement inutilis (bouton "Supprimer").
voir llment (bouton "Voir").
rechercher les cas dutilisation dans les chanes par exemple (bouton "Rechercher").
3.Dans notre cas, cette fentre "FEN_FentreInutilise" est rellement inutilise, cliquez sur
"Supprimer".
4.Fermez la fentre des lments orphelins (utilisez la croix en haut droite).
Dans la fentre de laudit statique, cliquez sur le bouton "Rafrachir" pour mettre jour le
rapport daudit.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 387
Requte optimiser
Laudit nous indique que notre projet contient une requte optimiser.
Cette optimisation permet damliorer la vitesse dexcution de la requte. Loptimisation dune
requte repose sur le principe suivant: un assistant dtermine les cls composes modifier et/
ou ajouter dans lanalyse associe au projet.
Pour optimiser la requte:
1.Cliquez sur le bouton [...] pour obtenir plus de renseignements. La fentre listant les modifica-
tions raliser dans lanalyse apparat.
388 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nettoyage du projet
Notre projet contient plusieurs fichiers inutiliss. Il est possible de nettoyer le projet pour ne
conserver que les lments ncessaires. Lexcutable et linstallation client ne sont pas alourdis
avec des images, fichiers externes, ... non utiliss
Pour traiter ce problme:
1.Cliquez sur le bouton [...] pour obtenir plus de renseignements.
2.Lassistant de nettoyage de projet se lance. Cet assistant indique les fichiers inutiliss qui
peuvent tre supprims.
3.Passez ltape suivante.
4.Indiquez le type de nettoyage raliser. Il est possible de:
crer un fichier zip avec les fichiers inutiles.
dplacer les fichiers inutiles dans un rpertoire spcifique.
5.Validez loption propose par dfaut et passez au plan suivant.
6.Terminez lassistant.
Nous avons optimis notre projet en suivant tous les conseils de laudit statique.
Laudit statique permet davoir un tat gnral sur les sources de votre projet. Notre conseil: lan-
cez-le rgulirement !
Audit dynamique
Laudit dynamique permet danalyser lexcution de lapplication. Laudit permettra de dceler
des problmes tels que:
Consommation excessive de mmoire,
Lenteurs des algorithmes utiliss,
Erreurs "masques" lors de lexcution,
...
Un audit dynamique peut tre effectu dans un environnement de test ou sur une application en
production.
Le projet "WD Optimisation" contient une fentre spcifique provoquant des erreurs pouvant tre
dtectes par laudit dynamique.
Nous allons lancer laudit dynamique en mme temps que le test du projet.
Pour lancer laudit dynamique sur le projet "WD Optimisation":
1.Sous le volet "Projet", dans le groupe "Mode test", droulez "Mode test" et slectionnez "Dbo-
guer le projet avec laudit activ". Le test du projet se lance.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 389
Laudit dynamique du projet peut galement tre lanc depuis le Tableau de
bord du projet, via le Widget "Excution". Il suffit de:
activer le Widget si ncessaire (cliquez sur le lien "Cliquez ici pour ractiver").
drouler la flche et de slectionner "Go minutieux du projet".
Notes
390 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons cette fentre:
La partie haute de cette fentre permet de choisir le mode daffichage des donnes. Il est
possible de:
choisir un affichage chronologique (respectant lordre darrive des vnements) ou un affi-
chage synthtique, permettant de regrouper les diffrents types de problmes. Dans ce cas,
la frise chronologique permet de voir la position et limportance des problmes.
choisir le type de problme afficher (erreur, assertion, ...). Il est ainsi par exemple possible
de se concentrer uniquement sur les erreurs graves, ...
La partie basse de cette fentre affiche les diffrents vnements survenus pouvant poser
problme dans lapplication.
Dans cet exemple, laudit dynamique dtecte plusieurs problmes:
Un libell trop long affect par programmation,
Une boucle de type SELON dont aucun CAS nest excut,
Une assertion dclenche au lieu dune exception,
Louverture dun fichier qui nexiste pas,
Laffectation dun fichier image qui nexiste pas un champ Image.
Pour chaque problme, un bouton "..." permet daccder au dtail de lvnement enregistr.
Si lvnement est reli une ligne de code particulire, le bouton permet douvrir
directement lditeur de code lemplacement correspondant afin de corriger le problme.
Fermez la fentre de laudit dynamique.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 391
Laudit dynamique dun projet peut galement tre effectu lorsquune applica-
tion est dploye sur les postes clients.
Il est possible:
soit de modifier lapplication, et dutiliser dbgActiveAudit pour lancer laudit.
soit dutiliser un fichier texte dans le rpertoire de lapplication. Cette solution
Notes
392 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 5.3. Analyseur de performances
Prsentation
Lancer lanalyseur de performances
Analyser le rsultat
Dure estime: 15 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 393
Prsentation
Lanalyseur de performances (appel galement Profiler) est un outil permettant de vrifier et
doptimiser le temps dexcution des traitements de votre application.
Dans ce cas, seul le code prsent entre les fonctions AnalyseurDbut et AnalyseurFin est ana-
lys. Le rsultat est enregistr sous forme dun fichier WPF.
394 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dans notre exemple, nous allons utiliser la premire mthode. Pour lancer lanalyseur de
performances sur le projet "WD Optimisation":
1.Sous le volet "Projet", dans le groupe "Audit et performances", droulez "Analyser les perfor-
mances" et slectionnez "Analyser les performances".
Analyse du rsultat
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 395
Longlet "Cartographie" permet didentifier de manire visuelle ce qui a pris le plus de
temps. Dans notre cas, cest un appel la fonction Ping:
396 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Longlet "Dtail" prsente tous les traitements appels du plus long au plus rapide.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 397
Fermez lanalyseur de performances.
La ligne de code excute est la suivante:
// Vrifie laccessibilit du serveur fournisseur
Ping(adr-fournisseur)
Le ralentissement vient du fait que ladresse spcifie pour la fonction Ping est inaccessible.
Testons rapidement le fonctionnement de lapplication en optimisant ce code:
1.Remplacez la ligne de code contenant la fonction Ping par la ligne de code suivante:
// Vrifie laccessibilit du serveur fournisseur
Ping(www.google.fr)
398 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons maintenant relancer lanalyseur de performances:
1.Sous le volet "Projet", dans le groupe "Audit et performances", droulez "Analyser les perfor-
mances" et slectionnez "Analyser les performances".
2.Le test du projet se lance.
3.Cliquez sur le bouton "Fentre de test de lanalyseur de performances".
4.Cliquez sur le bouton "Traitement analyser".
5.Validez la fentre dinformation et arrtez le test du projet. La fentre du compte-rendu de
lanalyseur de performances apparat.
6.Sous longlet "Cartographie", la fonction Ping napparat plus avec la mme importance.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 399
Leon 5.4. Dbogage dun projet
Prsentation
Utiliser le dbogueur
Dure estime: 15 mn
400 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
Arrtons-nous un instant sur le dbogueur livr en standard avec WINDEV.
Quest-ce que le dbogueur ?
Le dbogueur est un outil puissant permettant de suivre pas pas le droulement dun code ou
dune application. Mettre au point un traitement ou mme une application devient un jeu den-
fant.
Nous allons utiliser le dbogueur sur le traitement long prsent dans la fentre FEN_Analyseur-
Performances.
Utiliser le dbogueur
4.Appuyez sur le bouton "Traitement analyser". Le dbogueur se lance. La ligne en cours est
prcde dune petite flche.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 401
Dans la partie basse de lcran, apparat le volet "Dbogueur". Ce volet affiche deux zones dis-
tinctes:
la pile des appels: Cette zone permet de connatre la hirarchie des traitements affichs dans
le dbogueur. Dans notre exemple, pour le moment, nous sommes en train de dboguer le trai-
tement de clic sur le bouton BTN_TraitementLong.
la liste des expressions valuer. Par dfaut, dans cette zone les principales variables utilises
dans le code sont affiches. Il est possible dajouter des variables pour suivre leur volution
(nous verrons cette fonctionnalit plus tard).
Nous allons effectuer quelques manipulations sous le dbogueur afin de dcouvrir ses possibili-
ts.
402 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Tout dabord nous allons excuter pas pas les diffrentes instructions et voir le contenu des
variables:
1.Appuyez sur la touche [F8] (ou sur le bouton "Pas pas" prsent dans le ruban). La ligne sui-
vant la ligne en cours est automatiquement excute. Si ncessaire, les valeurs des variables
sont modifies dans le volet "Dbogueur" (affich par dfaut en bas de lcran).
2.Lorsque le curseur en forme de flche arrive sur la ligne "JAUGE_Progression..BorneMax =
...", survolez avec la souris "JAUGE_Progression". Une bulle daide saffiche avec la valeur de
lexpression:
3.La valeur de "JAUGE_Progression..BorneMax" est affiche dans une bulle daide. Cette va-
leur correspond 100 car la ligne de code na pas t excute.
4.Utilisez la touche [F8] pour excuter la ligne.
5.Survolez nouveau "JAUGE_Progression..BorneMax". La valeur de "JAUGE_Progression..
BorneMax" affiche dans la bulle daide correspond dsormais au rsultat de la fonction
HNbEnr(Produit).
Continuons nos manipulations sous le dbogueur. Nous allons maintenant excuter pas
pas la procdure MetAJourStockProduits sous le dbogueur.
1.Pour excuter cette procdure pas pas, utilisez la touche [F7] (ou cliquez sur le bouton "Pas
pas dtaill" dans le ruban).
2.Le code de la procdure saffiche sous le dbogueur.
Nous allons maintenant ajouter une expression pour surveiller lvolution de sa valeur dans
le volet "Dbogueur". Cette expression peut tre de tout type: variable, fonction, opration
sur variables, ... Le rsultat de lexpression est calcul et affich.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 403
Cette expression permet deffectuer un dbogage personnalis. Par exemple, il est possible
de connatre le contenu dune variable au fur et mesure de son utilisation dans lapplica-
tion.
1.Utilisez la touche [F7] pour excuter les diffrentes lignes de la procdure MetAJourStock-
Produits jusqu la ligne:
JAUGE_Progression++
2.Survolez "JAUGE_Progression". La valeur affiche dans la bulle est 0.
3.Slectionnez "JAUGE_Progession" dans lditeur de code sous le dbogueur et affichez le
menu contextuel (clic droit). Slectionnez loption "Ajouter lexpression dans le dbogueur".
4.Lexpression est automatiquement ajoute dans le volet du dbogueur en bas de lcran.
HModifie(Produit)
SI HExcuteRequte(REQ_QuantitCommande) ALORS
3.Utilisez la touche [F6] (ou le bouton "Excuter jusquau curseur" prsent dans le ruban).
4.La flche indiquant la ligne en cours dexcution se dplace jusqu la ligne de code o le
curseur est positionn. Les lignes de code prsentes jusquau curseur sont automatiquement
excutes.
Nous allons maintenant mettre un point darrt et excuter le code jusquau prochain
passage sur le point darrt:
1.Cliquez avec la souris dans la zone hachure, devant la fonction HModifie. Un point darrt
(puce rouge) apparat.
404 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2.Utilisez la touche [F5] (ou cliquez sur le bouton "Continuer" prsent dans le ruban). Le code
est excut jusquau point darrt. La flche permettant didentifier la ligne en cours se d-
place jusquau point darrt.
3.Enlevez le point darrt en cliquant directement sur le point darrt.
Pour finir ce test, nous allons utiliser une expression "Autostop". Une expression "Autostop"
permet de lancer le dbogueur ds quune condition est vrifie ou ds que la valeur dune
variable est modifie. Dans notre exemple, nous allons lancer le dbogueur ds que la valeur
de la jauge est 50% :
1.Dans le volet du "Dbogueur", slectionnez lexpression "JAUGE_Progression" que nous
avons ajoute prcdemment.
2.Cliquez sur le rond vert.
3.Appuyez sur la touche [F5] pour continuer le test.
4.Un message saffiche indiquant que la valeur de lexpression "JAUGE_Progression" a
chang.
5.Validez.
6.Dans le volet du "Dbogueur", slectionnez lexpression "JAUGE_Progression". Cliquez une
seconde fois sur lexpression: la colonne "Expression" passe en dition. Dans la zone "Expres-
sion", ajoutez "=50". Vous obtenez "JAUGE_Progression = 50".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Optimiser et dboguer un projet 405
7.Appuyez sur la touche [F5]. Lexcution du programme continue. Le dbogueur est nou-
veau lanc lorsque la jauge a pour valeur 50.
Voil, nous avons termin notre tour dhorizon du dbogueur. Pour arrter le test sous le
dbogueur, cliquez sur "Terminer le test" prsent dans le ruban.
406 Partie 5 : Optimiser et dboguer un projet (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 6
Programmation
avance
408 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 6.1. Prsentation
Prsentation
Comment ouvrir un exemple didactique
Comment ouvrir un exemple unitaire
Dure estime: 5 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 409
Prsentation
Cette partie prsente plusieurs fonctionnalits avances. Sa lecture nest pas indispensable la
connaissance de WINDEV, mais elle vous permet de dcouvrir quelques-unes des possibilits de
WINDEV.
Les diffrentes leons de cette partie sappuient sur des exemples livrs en standard avec WIN-
DEV.
Exemple pratique
Pour simplifier la prsentation des diffrentes fonctionnalits, vous allez manipuler des exemples
unitaires ou des exemples didactiques, livrs en standard avec WINDEV.
Pour ouvrir un exemple complet, didactique ou unitaire depuis la fentre de bienvenue:
1.Affichez la fentre de bienvenue (CTRL + >).
2.Dans la fentre de bienvenue, cliquez sur "Ouvrir un exemple". La liste des exemples com-
plets, didactiques et unitaires fournis avec WINDEV apparat. Ces exemples sont regroups
par type dexemple (complet, didactiques, ...).
3.Dans la zone de recherche, vous pouvez saisir un mot-cl (par exemple saisissez "Erreur").
Seuls les exemples contenant ce mot sont alors lists.
410 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4.Pour ouvrir un exemple, il suffit de double-cliquer sur le nom de lexemple.
5.Pour les exemples complets et didactiques, le projet en cours est automatiquement ferm
puis le projet exemple est ouvert.
6.Pour les exemples unitaires, la fentre associe est ouverte dans le projet en cours.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 411
Leon 6.2. Gestion automatique
des erreurs
Dure estime: 10 mn
412 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
WINDEV peut grer automatiquement les erreurs. Cette fonctionnalit permet la fois de rduire
sensiblement le code dun projet tout en uniformisant et en centralisant la gestion des erreurs.
Lutilisation de cette fonctionnalit rend galement le code plus lisible.
Fonctionnement
Lorsquune fonction du WLangage rencontre une erreur, deux oprations sont ralises:
une valeur de retour derreur est renvoye par la fonction (par exemple, la fonction fOuvre
renvoie la valeur "-1" si le fichier spcifi na pu tre ouvert).
lerreur est dtecte par le WLangage (la variable ErreurDtecte correspond Vrai) et il est
possible de rcuprer des informations sur cette erreur grce la fonction ErreurInfo.
Cest cette seconde opration qui peut tre gre en automatique grce la gestion des erreurs
de WINDEV.
Mise en place
Le paramtrage de la gestion automatique des erreurs peut seffectuer:
soit directement dans lditeur de code: il suffit de cliquer sur le lien "Si erreur: Par pro-
gramme" dans lditeur de code:
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 413
Types derreurs concernes
Le WLangage peut rencontrer deux types derreurs:
les erreurs "non fatales" (appeles galement erreurs dexcution): ces erreurs sont gn-
ralement gres dans le code et ne provoquent pas larrt de lapplication. Par exemple,
ouverture dun fichier inaccessible ou dune archive inexistante.
les erreurs "fatales" (appeles galement erreurs de programmation): ces erreurs sont g-
nralement lies un dfaut de conception (accs un fichier non dclar, utilisation de
champs inexistants...). Une erreur "fatale" peut galement survenir suite une erreur "non
fatale" mal gre. Dans ce cas, lapplication va sarrter.
Le mcanisme de gestion des erreurs permet de grer de faon bien distincte ces deux types
derreurs afin de pouvoir spcifier des comportements adapts aux erreurs rencontres.
Pour comprendre les diffrents cas derreurs et leur gestion, nous vous proposons de
manipuler un exemple didactique livr en standard avec WINDEV.
1.Fermez si ncessaire le projet en cours. La fentre de bienvenue apparat.
2.Dans la fentre de bienvenue, cliquez sur "Ouvrir un exemple". La liste des exemples com-
plets, didactiques et unitaires fournis avec WINDEV apparat.
3.Dans la zone de recherche, saisissez "Erreur". Seuls les exemples contenant ce mot sont
alors lists.
414 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Ce projet prsente la gestion:
dune erreur non fatale (ouverture dune archive inexistante).
dune erreur fatale (division dun entier par 0).
dune erreur sur plusieurs niveaux.
Testez le projet en cliquant sur (parmi les boutons daccs rapide).
1.Cliquez sur le choix "Gestion dune erreur non fatale".
2.La fentre suivante saffiche.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 415
Cliquez sur le choix "Gestion dune erreur fatale".
1.La fentre suivante saffiche. Cette fentre permet de tester lerreur dans le cas de la division
dun entier par 0.
416 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cliquez sur le choix "Gestion dune erreur sur plusieurs niveaux".
1.La fentre suivante saffiche. Cette fentre permet de tester une erreur sur plusieurs niveaux
(traitement appelant une procdure qui ouvre une archive inexistante).
WINDEV propose galement une gestion automatique des erreurs HFSQL. Pour
Exemple
plus de dtails, consultez lexemple "WD Detection erreurs HFSQL" (exemple di-
dactique), livr en standard avec WINDEV. Cet exemple est accessible depuis la
fentre de bienvenue de WINDEV.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 417
Leon 6.3. Manipuler des fichiers
externes
Dure estime: 20 mn
418 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
WINDEV permet de manipuler simplement les formats les plus courants de donnes:
fichiers texte (fichiers INI, CSV, ...),
fichiers XML,
fichiers XLS, ...
De nombreuses familles de fonctions WLangage permettent aussi bien de lire ces fichiers que de
crer ces fichiers. Vous pouvez ainsi lire facilement dans vos applications WINDEV des donnes
gnres par dautres logiciels ou encore crer des fichiers ncessitant un formatage particulier.
De plus, le WLangage propose galement une famille de fonctions permettant de manipuler les
rpertoires o sont prsents les fichiers.
Dans ce chapitre, nous nous consacrerons plus particulirement:
aux fichiers Texte (fichiers texte, fichiers INI et fichiers CSV),
aux fichiers XML,
aux fichiers XLS,
la gestion des rpertoires.
Prsentation
Les fichiers externes sont souvent appels fichiers texte ou encore fichiers accs direct. Ce
type de fichier contient gnralement du texte, mais il peut galement contenir des informations
binaires telles que des images, des sons, ...
Dans cette leon comme dans toute la documentation de WINDEV, nous parlerons de fichiers
externes.
WINDEV permet de manipuler en programmation les fichiers externes. Les fonctions du WLan-
gage permettent de crer, lire... des fichiers externes. Toutes les fonctions peuvent tre trs faci-
lement identifies: elles commencent toutes par la lettre "f".
Dans un fichier externe, il ny a pas ncessairement de notion "denregistrement". Pour pouvoir
manipuler un fichier externe, il faut en connatre la structure, cest--dire connatre lagencement
des donnes qui se trouvent lintrieur du fichier.
Les fichiers CSV sont simplement des fichiers texte utilisant une structure spcifique. Ils sont
donc manipulables comme les fichiers textes.
Les fichiers .INI sont galement des fichiers texte utilisant une structure spcifique. Pour les mani-
puler, WINDEV dispose de deux fonctions spcifiques: INILit et INIEcrit.
Exemple pratique
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 419
Les diffrents onglets de la fentre proposent:
La cration dun fichier texte.
La lecture et criture dans un fichier texte.
Des manipulations de fichiers existants (copie, suppression, lecture dinformations, ...).
La copie dun fichier texte.
Pour plus de dtails sur les fonctions de gestion des fichiers externes, consultez laide en ligne
(mot-cl: "Fichier externe").
Exemple pratique
420 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Manipulation des fichiers XML
Prsentation
XML (Extensible Markup Language, ou Langage Extensible de Balisage) est un langage de bali-
sage, cest--dire un langage qui prsente de linformation encadre par des balises. Mais contrai-
rement HTML, qui prsente un jeu limit de balises, XML est un mtalangage, qui permet din-
venter de nouvelles balises pour isoler toutes les informations lmentaires que peut contenir
une page Web.
XML permet de structurer un document contenant des donnes. Un fichier de donnes HFSQL
contenant plusieurs rubriques et enregistrements peut, par exemple, tre export dans un fichier
XML (fonctions XML*).
Il est galement possible de manipuler directement le fichier XML dans lditeur de code. Il suffit
de:
1."Dropper" le fichier XML depuis lexplorateur de fichier vers lexplorateur de projet, dossier
"Descriptions XML et XSD".
2."Dropper" le fichier XML de lexplorateur de projet vers lditeur de code. La variable de type
xmlDocument est alors automatiquement cre de la manire suivante:
<Nom de la variable> est un xmlDocument , description = <Nom du
document>
3.Vous pouvez maintenant accder directement aux noeuds de la variable par leurs noms.
Ces noms sont proposs automatiquement par le mcanisme de compltion automatique de
lditeur de code.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 421
Exemple pratique
Nous ne dtaillerons pas ici toutes les fonctionnalits proposes par les fonc-
tions XML. Pour plus de dtails, consultez laide en ligne.
422 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Exemples pratiques
Un test rapide des possibilits de ces fonctions?
Pour tester lutilisation des fonctions xlsXXX, ouvrez lexemple unitaire "Les fonctions Excel".
Enregistrez et testez la fentre "FEN_FonctionXLS". Cette fentre permet:
dimporter des donnes provenant dune feuille Excel.
dexporter les donnes dun champ Table vers Excel.
Retournez sous lditeur pour consulter le code des diffrents boutons.
Pour tester lutilisation des variables avances, ouvrez lexemple unitaire "Type xls".
Testez la fentre "FEN_Type_xls".
Nous ne dtaillerons pas ici toutes les fonctionnalits proposes par les fonc-
tions XLS et les types avancs. Pour plus de dtails, consultez laide en ligne.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 423
Leon 6.4. Compilation dynamique
Prsentation
Tracer une courbe en compilation dynamique
Dure estime: 20 mn
424 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
La compilation dynamique permet de compiler un code nimporte quel moment de lapplica-
tion. Un exemple dutilisation courant? Votre application contient une formule paramtrable. Pour
changer les paramtres, il nest pas ncessaire de re-livrer lexcutable: la modification dun fi-
chier texte suffit.
Exemple
Nous avons choisi de vous prsenter la compilation dynamique grce lexemple unitaire "Compi-
lation dynamique".
La fentre "Compilation dynamique" montre comment compiler dynamiquement du code WLan-
gage (stock sous forme de chane), excuter la procdure gnre dynamiquement et traiter les
ventuelles erreurs dexcution.
Pour tester cette fentre :
1.Ouvrez lexemple unitaire "Compilation dynamique".
2.Lancez le test de la fentre "FEN_COMPILATION_DYNAMIQUE".
3.Cliquez sur les diffrents boutons "Excuter" pour voir les diffrents cas proposs.
4.Arrtez le test.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 425
Retournons sous lditeur de code pour tudier le code du premier bouton "Excuter".
1.Affichez le code du bouton "Excuter" (clic droit sur le bouton, option "Code"). Ce code appelle
la procdure CompileCodeDynamique.
2.Positionnez le curseur de la souris sur le nom de la procdure et utilisez la touche [F2]. Le
code de la procdure apparat automatiquement sous lditeur de code.
Le code de cette procdure peut tre dcompos en plusieurs parties:
1.Initialisation des variables.
2.Compilation du code.
4.Utilisez la combinaison de touches [CTRL] + [F2]. Le code de clic du bouton "Excuter" rap-
parat sous lditeur de code. Dans la suite de ce code, vous pouvez voir que la fonction com-
pile dynamiquement est excute grce la fonction Excute.
426 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 6.5. Evnement Windows
Dure estime: 10 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 427
Introduction
Toute action effectue par Windows correspond un vnement Windows. Diffrents types dv-
nements peuvent tre rencontrs, par exemple:
Le survol dune fentre par la souris,
Larrt du systme,
Laffichage dune bote de dialogue,
Une erreur logicielle,
Etc.
Lorsque ces vnements se produisent, il est possible de les intercepter afin de prparer ou
dexcuter un traitement spcifique.
Par dfaut, WINDEV propose la gestion automatique des vnements les plus utiliss. Par
exemple, les vnements suivants sont proposs pour un champ de saisie:
Initialisation du champ,
Entre dans le champ,
Modification du champ,
Sortie du champ.
Pour grer des vnements supplmentaires, il est possible:
soit dutiliser les traitements optionnels proposs par WINDEV.
soit dutiliser les vnements Windows.
Exemple pratique
Nous avons choisi de vous prsenter la gestion des vnements grce lexemple unitaire "La
fonction Evnement".
Ouvrez lexemple unitaire "La fonction Evnement".
Traitements optionnels proposs par WINDEV
Pour chaque lment (fentre, champ, ...), WINDEV propose de nombreux traitements optionnels.
Pour ajouter un traitement optionnel:
1.Affichez les traitements lis au champ Liste prsent dans la fentre de lexemple unitaire:
Slectionnez le champ Liste.
Appuyez sur la touche [F2].
Lditeur de code est affich.
428 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2.Une barre doutils est disponible en bas de la fentre de code:
Cette barre doutils prsente les principaux traitements optionnels disponibles. Pour identifier
les traitements, survolez les diffrentes icnes.
3.Pour ajouter un traitement, cliquez sur licne correspondante. Le traitement correspondant
est automatiquement affich sous lditeur de code.
4.Pour afficher la liste complte des traitements optionnels disponibles, il suffit de cliquer sur
"...".
5.Pour ajouter un traitement, il suffit de cocher la case correspondante et de valider cette fe-
ntre. Par exemple, ajoutez lvnement "Touche Enfonce".
Evnements de Windows
Pour la gestion dvnements plus "spcifiques", il existe la fonction WLangage Evnement. La
fonction Evnement permet dassocier une procdure WLangage un vnement Windows.
Notes
Pour connatre la liste (non exhaustive) des vnements Windows, consultez laide en ligne de
WINDEV (mot-cl: "Valeur des constantes de lAPI Windows").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 429
Exemple: Dtecter le clic sur une liste
430 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
La procdure SourisOuClavier est appele ds quune utilisation du clavier sur la liste est
effectue (vnement Windows correspondant: WM_KEYDOWN) ou ds que le clic gauche
de la souris est utilis (vnement Windows correspondant: WM_LBUTTONDOWN).
4.Affichez le code de la procdure:
Placez le curseur de la souris sur "SourisOuClavier".
Utilisez la touche [F2].
5.Le code de la procdure est trs simple:
Si le clavier est utilis, le libell affich sous le champ Liste contient "Slection avec le cla-
vier".
Si la souris est utilise, le libell affich sous le champ Liste contient "Slection avec la sou-
ris".
PROCEDURE SourisOuClavier()
// La variable _EVE.wMessage contient le numro du message
SELON _EVE.wMessage
// Cest le clavier
CAS WM_KEYDOWN
// Message indiquant lutilisation du clavier
LIB_TypeSlection = Slection avec le clavier
LIB_TypeSlection..Couleur = RougeClair
// Cest la souris
CAS WM_LBUTTONDOWN
// Message indiquant lutilisation de la souris
LIB_TypeSlection = Slection avec la souris
LIB_TypeSlection..Couleur = BleuClair
FIN
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 431
Leon 6.6. Les threads
Dure estime: 10 mn
432 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dfinition
Les threads permettent dexcuter du code (ou des traitements) en parallle de lapplication prin-
cipale. Il est ainsi possible dexcuter plusieurs traitements diffrents qui peuvent tre trs longs
en tche de fond, sans bloquer lapplication principale (appele galement "Thread principal").
Les threads remplacent certains types de timer.
Gnralement, un thread secondaire est utilis pour dtecter un vnement, par exemple, une
action de lutilisateur, la rception dun email, la rception dun appel tlphonique,...
Exemple
Pour plus de dtails sur la gestion des threads avec WINDEV, consultez laide en ligne (mot-cl:
"Thread").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 433
Leon 6.7. Les sockets
Prsentation
Application Serveur
Application Cliente
Dure estime: 20 mn
434 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prsentation
WINDEV met votre disposition des fonctions qui permettent de raliser une gestion avance des
sockets.
Un socket est une ressource de communication utilise par les applications pour communiquer
dune machine une autre sans se soucier du type de rseau.
Ce mode de communication est utilis pour faire communiquer deux applications, situes sur des
postes diffrents (relis par Internet ou sur un mme rseau local) ou sur un mme poste.
Une application WINDEV peut grer les sockets selon diffrents modes:
Application WINDEV Cliente: lapplication se connecte un serveur quelconque et change
des donnes par un socket.
Application WINDEV, WEBDEV ou WINDEV Mobile "Serveur": lapplication WINDEV (ou WEB-
DEV ou WINDEV Mobile) est un serveur, changeant des informations par sockets avec plu-
sieurs postes client quelconques. Pour grer plusieurs connexions simultanes, il est nces-
saire dutiliser des threads.
Exemple
Cration du socket
Pour crer le socket, le poste serveur utilise la fonction SocketCre. Un socket est associ un
port spcifique. Pour simplifier la manipulation du socket par programmation sur le poste serveur,
prcisez le nom du socket.
Le poste client va venir se connecter sur ce socket pour changer des donnes. La connexion
entre les deux postes sera effectivement ralise au premier change de donnes entre les deux
postes (cest--dire la premire lecture dinformations par le poste serveur).
La connexion est tablie au premier succs de la fonction SocketLit sur le serveur.
Echange de donnes
Lorsque deux postes utilisent le mme socket, un flux de communication stablit entre ces deux
postes. Il est alors possible pour ces deux postes de lire et dcrire des chanes de caractres sur
le socket.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 435
Remarque: Pour ne pas bloquer les applications, la gestion de la rception des messages est
souvent gre par un thread spcifique.
Pour lire et crire sur le socket, lapplication serveur WINDEV doit utiliser les fonctions SocketLit
et SocketEcrit.
Attention: Pour raliser une lecture, une criture doit avoir t ralise. Par exemple:
1.Le poste client crit sur le socket: il envoie une requte au poste serveur.
2.Le poste serveur effectue une lecture sur le socket dans un thread. Ds quun message est
reu, le message est trait par le poste serveur.
3.Si une rponse au message est ncessaire, le poste serveur identifie le poste client (fonc-
tion SocketClientInfo) et lui envoie une rponse.
Fermeture du socket
Pour terminer la communication, le serveur peut fermer le socket avec la fonction SocketFerme.
Remarque: le socket peut aussi tre ferm par le poste client.
Application Cliente
Une application cliente dun serveur de sockets se connecte un serveur quelconque pour chan-
ger des informations par lintermdiaire dun socket.
Exemple: Une application WINDEV cliente peut se connecter un serveur de news standard sur
Internet.
Les tapes pour crer une application cliente sont les suivantes:
1.Connexion au serveur.
2.change de donnes.
3.Fin de communication.
Connexion au serveur
Pour se connecter un socket du serveur, il suffit dutiliser la fonction SocketConnecte. Cette
fonction permet deffectuer une demande de connexion au serveur.
Le socket est identifi par son port et par son adresse.
Echange de donnes
Lorsque deux postes utilisent le mme socket, un flux de communication stablit entre ces deux
postes. Il est alors possible pour ces deux postes de lire et dcrire des chanes de caractres sur
le socket.
Remarque: Pour ne pas bloquer les applications, la gestion de la rception des messages est
souvent gre par un thread spcifique.
Pour lire et crire sur le socket, lapplication cliente WINDEV doit utiliser les fonctions SocketLit et
SocketEcrit.
Fin de communication
Pour terminer la communication, il suffit de fermer le socket depuis le poste client avec la fonction
SocketFerme.
Remarque: il est galement possible de terminer la communication depuis le poste serveur.
436 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Exemple pratique
Nous avons choisi de vous prsenter un cas rel de la programmation des sockets grce
lexemple unitaire "Utilisation des sockets".
Test de lexemple
Nous retrouvons la fonction SocketLit qui permet de lire le socket prcdemment cr. Le
message lu est immdiatement affich dans le champ "SAI_PhraseRecueDUPosteB". Fermez
lditeur de code.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 437
Etudions maintenant les traitements raliss par le client (le poste B).
1.Affichez le code du bouton "Connecter" dans la zone Poste B:
Slectionnez le bouton "Connecter".
Affichez les traitements grce la touche [F2].
2.Dans le traitement "Clic sur", nous retrouvons la fonction SocketConnecte qui permet de se
connecter au socket cr par le poste A. Fermez lditeur de code.
3.Affichez le code du bouton "Envoyer" dans la zone Poste B:
Slectionnez le bouton "Envoyer".
Affichez les traitements grce la touche [F2].
4.Dans le traitement "Clic sur", le code utilis est le suivant:
SI PAS SocketEcrit(PourPosteA, ...
SAI_PhraseAEnvoyerAuPosteA) ALORS
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
Nous retrouvons la fonction SocketEcrit qui permet denvoyer un message sur le socket
auquel le poste B sest connect. Fermez lditeur de code.
Remarque: Dans cette leon, nous avons vu une communication "simple" entre un serveur et un
poste client: le client envoie des messages et le serveur traite les messages. Il est bien entendu
possible de raliser des applications plus labores.
Il est possible de raliser une communication entre deux applications, la fois cliente et serveur.
Dans ce cas, la gestion des threads devient primordiale pour grer les envois et les rponses des
applications.
438 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leon 6.8. Le FTP
Dure estime: 20 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 439
Prsentation
Le FTP (File Transfert Protocol) est un protocole standard permettant deffectuer le transfert de
fichiers dune machine vers une autre machine. Une des deux machines doit tre un serveur FTP.
Le WLangage possde les commandes de programmation ncessaires pour effectuer des trans-
ferts de fichiers en utilisant ce protocole avec un serveur. Ces fonctions de programmation com-
mencent toutes par "FTP".
WINDEV ne propose que des fonctions "clientes" pour le FTP. Il est ncessaire dutiliser un serveur
FTP standard.
Nous avons choisi de vous prsenter un cas rel de la manipulation des fichiers sur un serveur
FTP grce lexemple unitaire "Les fonctions FTP".
Ouvrez lexemple unitaire "Les fonctions FTP". Cet exemple prsente les principales fonction-
nalits utilisables sur un serveur FTP.
440 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
// Connexion au serveur FTP
gnIdConnexion = FTPConnecte(sAdresseFTP,sNomUtilisateur,...
sMDPUtilisateur)
SI ErreurDtecte ALORS
// Une erreur a t rencontre lors de la connexion
Erreur(La connexion au serveur FTP : +...
sAdresseFTP+ a chou,ErreurInfo())
RETOUR
FIN
// La connexion est tablie
Info(La connexion au serveur FTP est tablie,...
identifiant de connexion : +gnIdConnexion)
Remarque: Il est galement possible de prciser le numro de port de connexion du serveur FTP
(par dfaut "21") ainsi que le mode de connexion ("Vrai" pour une connexion dite "passive", "Faux"
pour une connexion dite "active"). Pour plus de dtails, consultez laide en ligne (mot-cl: "FTP,
Fonctions").
Envoyer un fichier
Pour envoyer un fichier vers un serveur FTP, il suffit tout simplement dutiliser la fonction FTPEn-
voie.
Voici un exemple de code pouvant tre utilis:
// Lors de la connexion au serveur avec FTPConnecte, nous avons
// rcupr le numro de connexion dans la variable gnIdConnexion
// Transfert du fichier C:\MesDocuments\Fichier.DOC vers
// le rpertoire Temp qui se trouve sur le serveur.
bResult est un boolen = FTPEnvoie(gnIdConnexion, ...
C:\MesDocuments\Fichier.DOC, /Temp)
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 441
Lister les fichiers prsents sur un serveur FTP
La fonction FTPListeFichier permet de lister les fichiers prsents sur un serveur FTP. Cette fonc-
tion utilise une procdure de type "callback". Pour chaque fichier ou rpertoire trouv, la proc-
dure est excute.
PROCEDURE CallBackFTPListeFichier(sNomFichier,nTailleFichier
<utile>,sAttribut,sDateModif <utile>,sHeureModif <utile>)
442 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Rcuprer un fichier
Pour rcuprer un fichier depuis un serveur FTP sur votre machine, il suffit dutiliser la fonction
FTPRcupre.
Voici un exemple de code pouvant tre utilis:
// Lors de la connexion au serveur avec FTPConnecte, nous avons
// rcupr le numro de connexion dans la variable gnIdConnexion
// Rcupration du fichier /Document/Fichier.DOC prsent
// sur le serveur FTP vers le rpertoire D:\Temp sur
// le poste en cours
bRes est un boolen = FTPRcupre(gnIdConnexion, ...
/Document/Fichier.DOC,D:\Temp)
Il existe galement dautres fonctions FTP que nous ne dtaillerons pas dans ce cours. Elles per-
mettent notamment de:
crer, supprimer, modifier des rpertoires sur le serveur FTP,
crer, supprimer, modifier des fichiers sur le serveur FTP,
rcuprer les informations dun rpertoire et/ou dun fichier,
...
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 443
Leon 6.9. La POO
Dure estime: 30 mn
444 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Concepts
La Programmation Oriente Objet (P.O.O.) a pour but de permettre une meilleure rutilisabilit du
code. Les programmes dvelopps en POO sont structurs: ils sont dcomposs en modules g-
rant chacun une fonctionnalit du logiciel. Les modules dvelopps peuvent tre facilement ruti-
liss dans dautres logiciels. Ils vont regrouper un ensemble de procdures (appeles mthodes)
et encapsuler la structure de donnes sur laquelle les mthodes vont agir.
Pour programmer "en objet", il faut dclarer des classes, les membres et les mthodes associs.
Les classes
Une classe rassemble la description dune structure de donnes (les membres) et les procdures
(mthodes) qui manipulent les membres.
Une classe dfinit donc un type de donnes et son comportement.
Les objets
Une classe permet de crer des objets. Chaque objet cr possde des membres dcrits dans sa
classe et peut tre manipul par lintermdiaire des mthodes de sa classe. On dit quun objet est
une instance de la classe.
Lorsque la classe est dclare, il suffit dassocier un objet une classe pour que lobjet puisse
tre manipul par toutes les mthodes de cette classe.
Les membres
Un membre est une donne (ou paramtre) de lobjet.
Les mthodes
Une mthode permet dagir sur lobjet, pour modifier ses membres par exemple.
Une mthode est une procdure. Son fonctionnement est identique celui des procdures clas-
siques du WLangage.
Notion dhritage
Lhritage permet dinclure les caractristiques dune classe existante (classe de base) dans une
nouvelle classe (classe drive). Lhritage permet de crer un nouveau type de donnes partir
dun type connu, dans le but de lui ajouter des fonctionnalits, ou den modifier le comportement.
La classe de base ne sera donc pas modifie. Une classe peut hriter dune classe dont elle
devient une sous-classe.
Une classe drive permet ses objets daccder toutes les mthodes, tous les membres et
toutes les proprits de ses classes anctres; tout se passe comme si les mthodes, les membres
et les proprits des classes anctres faisaient partie de la classe drive.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 445
Constructeur et Destructeur
La notion de Constructeur et Destructeur est importante puisquelle permet un appel automa-
tique de mthodes dinitialisation lors de la cration dun objet et lors de sa destruction.
La mthode Constructeur associe une classe est automatiquement appele lors de la dclara-
tion dun objet de la classe.
La mthode Destructeur associe une classe est automatiquement appele lors de la suppres-
sion de lobjet (sortie de procdure dans laquelle lobjet a t dclar).
Encapsulation de donnes
Lencapsulation des donnes permet de garantir que les donnes membres de lobjet ne seront
pas modifies tort par des fonctions (mthodes) extrieures lobjet.
Il est ainsi possible dinterdire lutilisateur dun objet laccs certain ou tous ses membres.
Les membres dont laccs est interdit sont appels membres privs.
Il nest possible daccder ces membres privs qu partir des mthodes prvues cet effet
dans la classe.
Exemple
Prenons un exemple simple pour appliquer les concepts que nous venons de voir:
Considrons la classe PERSONNE.
Florence est une instance de la classe PERSONNE.
Le nom, prnom et date de naissance peuvent tre des membres de la classe PERSONNE.
La mthode Age() peut tre une mthode de la classe PERSONNE. Elle calculerait lge en se
basant sur le membre "date de naissance" et sur la date du jour (renvoye par la fonction Date-
Sys).
Hritage: Un contact peut tre soit une personne, soit une entreprise.
PERSONNE pourrait tre une classe drive de CONTACT.
ENTREPRISE pourrait tre une classe drive de CONTACT.
446 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Exemple simple
Pour illustrer les concepts que nous venons de prsenter, nous allons manipuler lexemple
didactique "WD POO Simple".
1.Ouvrez lexemple didactique "WD POO Simple".
2.Testez cet exemple.
3.Cliquez sur les diffrents boutons correspondant aux animaux pour ajouter des animaux.
4.Arrtez le test de lexemple pour revenir sous lditeur.
Remarque: Nous ne dtaillons pas ici la syntaxe de la P.O.O., nous prsenterons uniquement un
exemple simple de programme orient objet. Pour avoir plus de dtail sur la syntaxe de la P.O.O.,
consultez laide en ligne (mot-cl: "POO, Classe").
WINDEV permet de dclarer les classes trs simplement depuis lexplorateur de projet. Pour
crer une classe:
1.Dans lexplorateur de projet, slectionnez le dossier "Classes".
2.Affichez le menu contextuel de ce dossier (clic droit de la souris) et slectionnez loption
"Nouvelle classe".
3.Dans la fentre qui saffiche, indiquez le nom de la classe (par exemple TestGAF) et validez.
4.Le code de la classe saffiche sous lditeur de code.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 447
4.Le code de la classe saffiche sous lditeur de code. Le code de dclaration de la classe
est de la forme:
cSavane est une Classe
PROTG
// Nom du champ Image utilis pour le dessin
m_sNomChampImagePourDessin est une chane
// Liste des animaux de la savane
m_tabLesAnimaux est un tableau de cAnimal dynamique
FIN
"cSavane" est le nom de la classe.
"m_sNomChampImagePourDessin" et "m_tabLesAnimaux" sont des membres de la classe.
Le mot-cl "PROTEGE" permet dindiquer que ces membres seront manipulables uniquement de-
puis un code de la classe ou un code dune classe drive.
WINDEV permet de dclarer les classes trs simplement depuis lexplorateur de projet. Pour
crer une mthode:
1.Cliquez avec le bouton droit de la souris sur votre classe prsente dans lexplorateur de pro-
jet.
2.Choisissez "Nouvelle mthode" dans le menu contextuel.
3.Dans la fentre qui saffiche, indiquez le nom de la mthode et validez.
4.Saisissez le code de la mthode sous lditeur de code.
// Dessine la savane
DessineSavane()
RENVOYER Vrai
448 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Dclarer et manipuler les objets
Dans les traitements de la fentre, un objet est dclar en mme temps que les autres variables:
// Dclarations globales de FEN_POO
PROCEDURE FEN_POO()
// Objet savane
gclLaSavane est un cSavane(IMG_Landscape..NomComplet)
Nous ne nous attarderons pas plus sur la prsentation de la POO dans ce cours.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 449
Diagramme UML
Lexemple "WD POO Simple" est associ un diagramme UML.
Pour afficher le diagramme UML li au projet:
1.Double-cliquez sur "ModleUML" dans lexplorateur de projet:
3.Dans ce diagramme, nous retrouvons les diffrentes classes utilises par le projet "WD POO
Simple".
450 Partie 6 : Programmation avance (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
WINDEV permet de crer les 9 types de diagrammes UML.
Pour crer un diagramme UML:
1.Sous le volet "Accueil", dans le groupe "Gnral", cliquez sur "Nouveau".
2.La fentre de cration dun nouvel lment saffiche : cliquez sur "Architec-
ture" puis sur "UML".
3.Lassistant de cration dun modle UML se lance, vous permettant de
choisir le modle crer:
Notes
Nous ne dtaillerons pas plus lutilisation du langage UML avec WINDEV. Consultez laide en ligne
pour plus dinformations (mot-cl: "UML").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 6 : Programmation avance 451
452 Conclusion
Conclusion
Le cours est maintenant termin!
Ce cours a abord un ensemble de sujets, mais pas la totalit des fonctionnalits de WINDEV, loin
sen faut!
Vous tes maintenant familiaris avec les principaux concepts.
Explorez galement les exemples livrs avec WINDEV: certains sont simples et ne traitent que
dun sujet, dautres sont trs complets. Ces exemples vous montreront les diffrentes facettes de
WINDEV. La lecture du code source sera galement instructive en gnral.
Faute de place, nous navons pas pu aborder tous les sujets (il y en a des centaines, voire des
milliers!). WINDEV offre de nombreuses possibilits non abordes ou non approfondies dans ce
cours:
fonctions HTTP, tlphonie
cration de gabarits...
tats imbriqus, requtes paramtres...
compilation dynamique, appels de DLL, langages externes...
Pour plus de dtails sur toutes ces possibilits, nhsitez pas consulter laide en ligne.
Rappel: Pour recevoir directement des mises jour intermdiaires et des conseils dutilisation,
abonnez-vous la LST (revue trimestrielle + DVD), en franais.
Nous vous souhaitons de bons dveloppements, avec WINDEV 21, AGL n1 en France!
Conclusion 453