"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Cours WinDev Numro 4
Objectifs :
Travailler avec plusieurs fichiers de donnes
Cration dun MCD,
Gestion des champs indexs,
Manipulation de donnes,
Liaison des donnes,
Pr requis : Cours WinDev Numro 1, 2 et 3
Lobjectif de ce cours est de vous familiariser avec lutilisation des fichiers lis.
Nous allons crer une mini GPAO (Gestion de Production Assiste par Ordinateur).
Vous travaillez pour un assembleur informatique, son processus de production est le
suivant : Il reoit les diffrentes pices dtaches (disque dur, mmoires, cartes
mres) et assemble ces diffrentes pices pour en faire un modle fini. Comme vous
pouvez le percevoir, le modle conceptuel travaillera avec 2 entits (Ensemble fini et
composants). Voici une reprsentation du MCD :
Ensemble
RefEns
DsignationE
PrixVHT
Composant
0,n
Intgre
1,n
RefComp
DsignationC
PrixAHT
Qt
Remarque : Je nai pas besoin de vous rappeler que les proprits
soulignes et en gras dsignent les identifiants de lentit, donc je ne le fais
pas.
Vous allez commencer par crer un nouveau projet nomm TP4. Dans lAssistant,
vous slectionnerez votre thme prfr, confirmerez le choix de cration danalyse et
finirez le processus de lassistant. Un nouvel assistant de Cration danalyse va
apparatre. Vous pouvez ensuite valider les diffrentes fentres de lAssistant jusqu
arriver lAssistant de Cration de fichier.
Restez sur Crer une nouvelle description de fichier, donnez Ensemble comme
Nom et Ordinateurs assembls comme Libell. Pensez dcocher Le fichier
possde un identifiant automatique puisque nous avons Refens qui sera notre
identifiant. Gardez Hyper File Rseau ou Monoposte comme Type de base de
donnes et ne laissez coch que loption une fentre en mode table dans la
dernire partie de lassistant.
Jean-Luc Baptiste
www.btsig.org
Page 1 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Maintenant la fentre suivante apparat
Cest elle qui va vous permettre de saisir toutes les proprits de votre entit.
Remplissez la pour quelle ressemble ceci :
Pour RefEns, il faut tre en
Cl unique et Texte taille
15, DsignationE est en
Texte taille 80 et PrixVHT
est en Montaire Windev.
Une fois remplies, cliquez sur Ok et retournez sous lditeur de Windev. Enregistrez.
Jean-Luc Baptiste
www.btsig.org
Page 2 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Attention un cran va vous demander si vous voulez crer une fentre ou allez sous
lditeur, cliquez sur Allez directement dans lditeur de Windev pour rester dans
lanalyse.
Si vous regardez bien votre diteur danalyse en haut vous devez dcouvrir une barre
doutils comme celle-ci :
Voyez les utilisations des diffrentes icnes en passant le curseur de la souris dessus.
Comme vous tes dgourdis et intelligents je vous laisse finir de concevoir le modle !
Voil quoi vous devez arriver :
Vous venez donc de crer le Modle Logique de Donnes (MLD). Enregistrez.
Attention : Noubliez pas que ce nest pas parce que lanalyse est cre que les
fichiers sont physiquement crs sur votre disque dur Allez dans le code du projet
Projet / Code du projet et inscrivez la squence suivante dans la zone
Initialisation de TP4 :
HCrationSiInexistant(Composant)
HCrationSiInexistant(Ensemble)
HCrationSiInexistant(Intgre)
HGreIntgrit("*", "*", hCardinalit+hEnModification+hEnSuppression, Faux)
La dernire ligne indique WinDev de ne pas se soucier de grer lintgrit
rfrentielle, nous le ferons nous-mme.
Maintenant que lanalyse est cre, nous allons commencer construire notre
application. Choisissez Fichier / Nouveau / Fentre.
Crez une fentre nomme dpart qui sera la premire fentre du projet. Faites en
sorte qu'elle ait les caractristiques suivantes :
Onglet Gnral :
Nom logique : dpart
Description : Premire fentre du projet
Titre : Bienvenue dans la Mini Gp
Onglet IHM :
Taille : Taille 640*480
Onglet Dtail :
Type de fentre : Mre Mdi
Jean-Luc Baptiste
www.btsig.org
Page 3 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Remarque : Une fentre mre MDI est obligatoirement la premire fentre
d'un projet WinDev. Cette fentre permet d'afficher toutes les fentres de
l'application.
Une fentre mre MDI a les caractristiques suivantes (non modifiables) :
bords modifiables, bouton d'iconisation, d'agrandissement, menu systme,
barre de titre, barre d'icnes, possibilit d'avoir un menu droulant et des
barres outils.
Dans une fentre mre MDI, seuls les champs situs dans la zone "barre
d'icnes" peuvent tre en saisie. En dehors de cette zone, aucun champ ne
peut tre en saisie, aucun clic souris n'est actif.
Nous allons placer une barre doutils dans cette fentre dpart, pour cela cliquez sur
lobjet Crer une barre doutils
et placez le
dans le bord suprieur gauche de la fentre. Faites un clic droit sur ce nouvel objet
et allez dans Description. Nous allons placer 5 boutons dans cette barre doutils (un
pour saisir les nouveaux composant, un pour crer des ensembles, un pour imprimer
la liste des composants, un pour imprimer lensemble et ses composants, le dernier
pour quitter lapplication).
Vous allez donc cliquer sur le bouton Crer puis choisissez Bouton. Le rsultat
obtenu devrait ressembler ceci :
Cliquez sur Bouton1, puis sur le bouton Editer, dans cette fentre Description dun
bouton saisissez nc dans la zone Nom, supprimez le libell par dfaut, cliquez sur
Catalogue pour la zone Image.
Le catalogue apparat, sur la gauche choisissez seulement 16*16 (nous naurons que
des petites images), dans la zone Recherche frappez nouveau puis appuyez sur
le bouton Rechercher.
Prenez le 4me bouton de la 4me ligne puis validez. Dans longlet Aide de la fentre
description, dans la zone Bulle daide inscrivez Saisie dun nouveau composant.
Jean-Luc Baptiste
www.btsig.org
Page 4 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Pour les boutons suivants, faites de mme en suivant les instructions suivantes :
Boutons
Bouton2
Bouton3
Bouton4
Bouton5
Nom
Crer
ImprimeC
ImprimeE
Fermer
Bulle daide
Crer des ensembles
Imprimer les composants
Imprimer les ensembles
Quitter lapplication
Vous choisirez les icnes les plus en phase avec le but du bouton.
Remarque : Si vous avez des difficults pour placer les boutons
(chevauchement par exemple), allez dans leur onglet Dtail et affectez leurs
les dimensions suivantes : largeur 32, hauteur 24.
Voici un exemple de ce que devrait tre la barre doutils :
Nous allons crer les 4 fentres filles ncessaires pour faire fonctionner notre
application (fentre filles car elles doivent sexcuter lintrieur de la fentre mre,
logique ! Non ? ). Pour le bouton Quitter, je vous laisse mettre le code
correspondant, vous navez plus besoin de mon aide, sinon retour aux TP prcdents.
Pour la premire fentre associe au bouton
Onglet Gnral de la description
Nom logique : Gcompo
Description : Gestion des composants
Titre : Gestion des composants
, respectez les consignes ci dessous :
Le code douverture de la fentre
fille sera :
OuvreFille(Gcompo)
Onglet IHM
Largeur : 500
Hauteur : 350
Position : Relatif la mre
Onglet Dtail
Type de fentre : Fille Mdi
Jean-Luc Baptiste
www.btsig.org
Page 5 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Voici quoi elle devrait ressembler :
Ces 3 champs sont lis avec les champs du fichier Composant
droite de lcran). Si
(faites-les glisser depuis longlet
certains ont des difficults : retour au TP3. Faites en sorte que
RefComp ait un masque de saisie TOUT EN MAJUSCULES.
Crez 2
boutons :
BAjout et
BSup
Nom de la table mmoire : Table1
RefComp : type texte longueur 15
Dsignation : type texte longueur 80
PrixAchat : type numrique (Titre : Prix dAchat)
Choisir dans lassistant Je veux remplir moi-mme la table
Mettez la table en Affichage seulement (sinon la saisie ne serait pas valide)
Pour ceux qui auraient encore des difficults : voir TP3
Maintenant analysons le comportement que devra avoir cette fentre louverture :
Elle devra parcourir le fichier Composant et afficher les tuples dans la table mmoire
s'il y en a.
Le bouton Ajouter devra :
. Inscrire la valeur des 3 champs dans le fichier correspondant en interceptant une
erreur de doublonnage si lutilisateur saisi 2 fois une rfrence existante,
. Il devra aussi mettre blanc les 3 champs pour prparer une nouvelle saisie,
. Rafficher la table mmoire (supprimer le contenu existant et re-crire avec le
contenu du fichier),
. Et enfin avertir lutilisateur que tout sest bien pass.
Le bouton Supprimer devra :
. Supprimer physiquement la ligne pointe dans la table mmoire
. Rafficher la table mmoire
Jean-Luc Baptiste
www.btsig.org
Page 6 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Voici les diffrents codes (je vous rappelle quils ont dj t tudis la leon 3) :
Nous allons crer une procdure locale affichetable qui aura pour rle de rafficher
la table mmoire (supprimer le contenu existant et re-crire avec le contenu du
fichier) :
TableSupprimeTout(Table1)
HLitPremier(Composant,RefComp)
TANTQUE H.trouve ET PAS H.EnDehors
TableAjoute(Table1,Composant.RefComp+TAB+Composant.DsignationC+TAB+
Composant.PrixAHT)
HLitSuivant(Composant,RefComp)
FIN
Cette squence devrait vous tre familire donc je ne vous la commente pas, sinon
retour au cours 3.
Rappel pour faire une procdure locale cliquez sur Procdures locales en bas de
lcran :
Clic droit dans cette zone et Code pour
activer le processus de cration de la
procdure.
Initialisation de Gcompo (la fentre) :
// Appel de la procdure affichetable
affichetable()
Maintenant on est sr que ds que cette fentre souvrira, la table mmoire sera en
phase avec le contenu du fichier.
Remarque : Certains dentre vous se demandent peut tre pourquoi utiliser
des tables mmoire pour afficher le contenu des fichiers plutt que des tables
fichiers qui semblent toutes destines cette utilisation. Ma rponse est
simple : la table mmoire vous apportera plus de souplesse et une gestion
plus fine des enregistrements et des lignes dans certains cas. Et puis qui peut
le plus peut le moins ;-)))
Voici le code du bouton BAjout :
EcranVersFichier() // Transfre les valeurs contenues dans les champs de la fentre
// dans la zone de structure du fichier
HAjoute(Composant) // Passe la structure physiquement dans le fichier
RAZ(Vrai)// Efface les valeurs contenues dans les champs lis pour saisir un nouveau
composant
affichetable()
Jean-Luc Baptiste
www.btsig.org
Page 7 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Voici le code du bouton BSup :
HLitRecherche(Composant,RefComp,RefComp) // Recherche dans la table Composant,
// sur la rubrique RefComp, la valeur contenue dans RefComp de Table1
SI HTrouve ALORS
// Si la valeur est trouve alors
HSupprime(Composant)
// On supprime physiquement la
ligne dans le fichier Composant
Info("Suppression russie")
// On informe lutilisateur de la
russite de la suppression
affichetable()
SINON
// Sinon, on na pas trouv ?!!
Info("Il y a un boulon dans le potage")
// Bizarre, bizarre !
FIN
Enregistrez la fentre et testez votre projet sans oublier de dfinir quelle est la 1re
fentre du projet (dpart), normalement les comportements doivent tre cohrents.
Dans le cas contraire, reprenez le support et vrifiez que vous navez pas oubli
quelques instructions.
Nous allons maintenant faire la fentre la plus intressante au niveau intellectuel,
celle qui gre lassemblage dun ordinateur.
Crez une nouvelle fentre (Fichier / Nouveau / Fentre). Prenez une fentre vierge et
enregistrez la sous Gensemble.
Noubliez pas den faire une fentre fille (cf. : tapes identiques la fentre Gcompo)
et de mettre le code douverture de cette fentre dans le deuxime bouton de la barre
doutils de la fentre dpart.
Voici la fentre telle quelle devrait tre :
1
3
4
7
9
11
Jean-Luc Baptiste
10
12
www.btsig.org
13
Page 8 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Objet N
1
2
3
4
Nom
RefEns
PrixVHT
Dsignation
BPremier
5
6
7
BPrecedent
BSuivant
BDernier
Table1
BAjout
10
BSupprime
11
12
13
BNouveau
BValide
BSupp
Rle
Li Ensemble.RefEns (TOUT EN MAJUSCULES)
Li Ensemble.PrixVHT
Li Ensemble.Dsignation
Bouton nous positionnant sur le premier enregistrement du
fichier Ensemble
Bouton nous positionnant sur lenregistrement prcdent
Bouton nous positionnant sur lenregistrement suivant
Bouton nous positionnant sur le dernier enregistrement du
fichier Ensemble
Table mmoire contenant des rubriques similaires la
structure de Composant
Bouton nous permettant dajouter un composant
lensemble
Bouton nous permettant de supprimer un composant
lensemble
Bouton nous permettant de crer un nouvel ensemble
Bouton nous permettant de valider un ensemble
Bouton nous permettant de supprimer un ensemble
Analyse des lments de la fentre Gensemble.
A louverture de la fentre dans le code dinitialisation, nous devrons nous positionner
sur le premier ensemble (sil existe) et rechercher tous ces composants constitutifs.
Voici comment faire :
Il nous faut lire la rfrence de lensemble (RefEns), parcourir le fichier de liaison
(Intgre) sur la cl RefEns, tant que lon trouve Ensemble.RefEns=Intgre.RefEns il
nous faut chercher dans la table composant la cl de liaison (Intgre.RefComp =
Composant.RefComp) et rcuprer Intgre.Qt. Cest clair ? Non !! Alors relisez en
ayant lanalyse en tte.
Nous allons crer une fonction (en fait une procdure, WinDev ne faisant pas de
diffrence entre fonction et procdure) qui, prenant en paramtre le code RefEns,
nous rempli la table. Facile et efficace. Notez quune requte SQL nous aurait vit
pas mal de lignes, vous de juger.
PROCEDURE remplir(code)
TableSupprimeTout(Table1)
FichierVersEcran(Gensemble) // on affecte aux champs de la fentre les donnes lies
HLitRecherche(Intgre,RefEns,code) // On fait rechercher dans le fichier Intgre une
valeur de RefEns gale code
TANTQUE HTrouve ET PAS HEnDehors
HLitRecherche(Composant,RefComp,Intgre.RefComp) // A vous de trouver
TableAjoute(Table1,Composant.RefComp+TAB+Composant.DsignationC+TAB+
Composant.PrixAHT+TAB+Intgre.Qt)
HLitSuivant(Intgre,RefEns)
FIN
Jean-Luc Baptiste
www.btsig.org
Page 9 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
En fait, comme vous pouvez le voir, nous venons de jongler avec 3 fichiers sans
trop de difficults. Regardons le code dinitialisation de la fentre :
HLitPremier(Ensemble,RefEns)
SI HNbEnr(Ensemble)>0 ALORS // si le fichier Ensemble contient au moins un
enregistrement
remplir(Ensemble.RefEns)
SINON
Info("Le fichier est vide")
FIN
Voyons le code ncessaire aux boutons 4, 5, 6 et 7 (pour les icnes, faites un tour du
ct des flches en 16x16). Je vous donne le code du bouton 4, vous tes
suffisamment aguerri pour pouvoir crer le code des boutons 5, 6 et 7. Comment a ?
Rflchissez un peu et vous y arriverez ! Non mais, il faudrait tout leur faire
(Si vous ne savez pas hop, au TP 3). Dailleurs, je ne vous le donne pas, non je suis
pas mchant, jai seulement la flemme de vous rcrire la squence de code du
dessus. Eh oui, cest ce bout de code, analysez le et regardez quel point il est idal
pour notre bouton 4.
Nous allons traiter le bouton 9. Ce bouton doit nous permettre de slectionner dans le
fichier Composant le composant que nous voulons insrer dans la table mmoire.
Nous allons voir si WinDev peut nous gnrer la fentre qui va bien. Allez sur Fichier /
Nouveau / Fentre. Cherchez une fentre nomme Vision plus et validez.
Dans lAssistant qui arrive, dcochez Avec code de rafrachissement
automatique, puis cliquez sur Suivant 2 fois, ensuite cliquez sur Composant,
cliquez encore sur Suivant, vrifiez que tous les champs soient cochs, cliquez encore
sur Suivant 2 fois. Prenez une taille 640*480. Puis saisissez selection comme Nom.
Enfin cliquez sur Terminer.
Vous avez maintenant une fentre fonctionnelle dans laquelle on peut supprimer le
bouton Nouveau (on peut utiliser la cration de composants avec notre 1er bouton du
menu). Rduisez-la pour quelle soit plus petite. Voici quoi elle pourrait ressembler :
Jean-Luc Baptiste
www.btsig.org
Page 10 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Regardons comment nous pourrions modifier le code pour quil nous soit utile. Allez
dans le code du bouton OK. Vous pouvez voir que la fentre retourne vrai si on clique
sur OK, faux sur Annuler. Qui dit bandeau dplac dit structure mmoire du fichier
contenant les valeurs recherches ! Donc, nous naurons qu lancer la fentre et
tester si elle retourne vrai.
Fermez la et retournez sur Gensemble dans le code du bouton BAjout. Saisissez la
squence de code suivante :
resultat est un boolen=Faux
resultat=Ouvre(selection)
SI resultat=Vrai ALORS // la fentre nous a renvoy vrai, donc le bandeau a t
dplac
TableAjouteLigne(Table1,Composant.RefComp,Composant.DsignationC,Compo
sant.PrixAHT)
FIN
Je vous laisse mditer sur la diffrence entre tableajoute et tableajouteligne
(noubliez pas dutiliser laide, touche F1).
Sauvegardez et excutez la fentre, normalement le clic sur le bouton BAjout lance
bien la fentre selection qui nous retourne vrai ou faux selon le bouton cliqu.
Pour saisir la Qt, cliquez dans la colonne pour saisir le nombre souhait. Noubliez
pas de vrifier que la Table est En saisie et davoir seule la rubrique Qt En saisie /
actif, les autres restant en mode Affichage seulement.
Pour le bouton 10 (BSupprime), la squence de code a dj t tudie lors du TP3.
Pour le bouton Nouveau (BNouveau), il vous faut programmer un traitement qui
efface les champs 1, 2, 3 et la table mmoire, vous savez faire, donc je passe.
Le bouton Supprime (BSupp) va nous obliger scanner 2 tables et supprimer les
rfrences Ensemble recherches. Il faut donc prendre la valeur du champ 1
(RefEns), parcourir la table Intgre sur le champ RefEns et supprimer tous ceux gaux
au champ RefEns. Et ensuite le supprimer dans la table Ensemble.
Voici une squence de code qui devrait tre efficace :
SI OuiNon("Voulez vous vraiment supprimer cet enregistrement ?")=Oui ALORS
HLitRecherche(Intgre,RefEns,RefEns)
TANTQUE HTrouve ET PAS HEnDehors
HSupprime(Intgre)
HLitSuivant(Intgre)
FIN
HLitRecherche(Ensemble,RefEns,RefEns)
SI HTrouve ALORS
HSupprime(Ensemble)
Info("La suppression est russie")
HLitPremier(Ensemble,RefEns)
FIN
FIN
Vous navez pas besoin que je vous commente ce code, il est limpide.
Jean-Luc Baptiste
www.btsig.org
Page 11 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
La squence du bouton Valider va tre un peu plus rude, mais gure plus. En fait,
lorsquun nouvel ensemble est cr ou modifi par ladjonction dun nouveau
composant, il va nous falloir faire plusieurs actions diffrentes.
Il faut supprimer lensemble existant dans le fichier pour le recrer avec ses nouveaux
composants, donc on commence par une phase de suppression (voir code ci-dessus)
et on achve par une phase dinsertion dans le fichier.
Le code est long mais nest pas complexe, prenez le temps de ltudier.
i est un entier
HLitRecherche(Ensemble,RefEns,RefEns)
SI HTrouve ALORS // l'enregistrement existait dans le fichier, on va le supprimer
HLitRecherche(Intgre, RefEns, RefEns)
TANTQUE HTrouve ET PAS HEnDehors
HSupprime(Intgre)
HLitSuivant(Intgre)
FIN
HSupprime(Ensemble)
FIN
// Maintenant inscrivons l'ensemble dans le fichier
Ensemble.RefEns=RefEns
Ensemble.DsignationE=DsignationE
Ensemble.PrixVHT=PrixVHT
HAjoute(Ensemble)
// Remplissons le fichier Intgre
POUR i=1 A TableOccurrence(Table1) // Pour i=1 aux max de la table mmoire
Intgre.RefComp=Table1.RefComp[i] // [i] indique l'indice de la ligne
Intgre.RefEns=RefEns
Intgre.Qt=Table1.Qt[i]
HAjoute(Intgre)
FIN
Info("L'ajout c'est bien pass")
Voil, la super fentre de gestion des ensembles est finie Noubliez pas de
sauvegarder votre uvre.
Le troisime bouton de la barre doutil sert imprimer la liste des composants, vous
avez dj tudi la procdure dans le TP 3 donc je ny reviens pas.
Jean-Luc Baptiste
www.btsig.org
Page 12 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Nous allons nous laisser guider par lAssistant pour faire un tat avec des donnes
provenant des 3 tables. Allez dans Fichier / Nouveau / Etat.
Choisissez ensuite un type dtat tableau, cliquez sur Suivant.
Vrifiez que les donnes proviennent bien dune requte et cliquez sur Suivant.
Faites lui comprendre que les donnes proviennent dune requte que vous voulez
dfinir maintenant, cliquez sur Suivant.
Maintenant vous devez avoir cette fentre lcran :
Cliquez sur cette flche pour
faire passer les champs de
lanalyse dans la liste des
lments de la requte
Cliquez ici pour indiquer
ltat que vous dsirez un tri
croissant sur RefEns
Cliquez ensuite sur Suivant. A la question Voulez-vous des ruptures dans ltat
rpondez Oui et cliquez sur Suivant.
La fentre suivante vous demande de slectionner la rupture, vrifiez que Rfrence
de lensemble soit bien coch, cliquez sur Suivant.
Jean-Luc Baptiste
www.btsig.org
Page 13 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Vous devriez avoir maintenant une fentre qui ressemble ceci :
Passez ces 2 champs appartenant Ensemble en Haut de Rupture. Les
lments en haut de rupture apparaissent une seule fois. Les lments
dans le corps apparaissent autant de fois quil y en a dans le fichier
Cliquez ensuite sur Suivant. La fentre suivante vous demande quels sont les champs
numriques sur lesquels vous voulez effectuer un calcul, essayer de faire en sorte
quelle ressemble ceci :
Jean-Luc Baptiste
www.btsig.org
Page 14 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Cliquez sur Suivant. Les choix suivants concernent les formats du papier, laissez les
par dfaut et cliquez sur Suivant.
Choisissez un gabarit et Suivant. Nommez cet tat Iensemble (attention, le i est en
minuscule), comme titre Etat des ensembles . Ouf ! Vous pouvez enfin cliquer sur
Terminer.
Comme votre tat est plus large que la feuille, passez en mode paysage. Votre tat
apparat maintenant dans lditeur dtat. Si vous voulez faire quelques retouches,
cest maintenant.
Il ne vous reste plus qu activer ltat dans le bouton de la barre doutils avec la
squence de code suivante :
iAperu(i100)
iImprimeEtat(Iensemble)
Voil, ce modeste "mini-lab" est fini. Vrifiez que tous les boutons fonctionnent, que
les traitements sont cohrents. Il y aurait des amliorations possibles (concevoir un
compteur qui totalise les prix HT des composants entrant dans la composition dun
ensemble). Mais je considre que vous tes apte le faire vous-mme.
Vous avez mrit la pause syndicale
Jean-Luc Baptiste
www.btsig.org
Page 15 / 16
"Mini-Lab" Windev 9
Cration dun projet avec plusieurs fichiers lis.
Exercice Pratique
Enonc :
La municipalit de votre lieu de rsidence dsire ouvrir une bibliothque municipale.
Connaissant vos nombreuses comptences informatiques, ladjoint au maire charg de
la culture vous demande de concevoir le logiciel charg de la gestion des prts de livre
et des achats.
Voici quelques lments de rflexion :
Chaque livre est rfrenc par un numro ISBN qui sert didentifiant et qui est dfini
de faon internationale, par exemple le livre Redhat 8 administration et
maintenance crit par Arnaud Brugnon aux ditions Campus Press a le numro
2744014516.
Le directeur de la bibliothque voudrait pouvoir saisir les rfrences compltes du
livre (la date dachat, son prix dachat, la quantit achete, le fournisseur, sa
classification : policier, aventure).
Cette saisie doit lui permettre de connatre le nombre total de livre en stock, le cot
du stock, le nombre et le cot par type de livre, le nombre de livre par auteur avec le
titre et la quantit en stock. Si vous avez dautres statistiques lui proposer, elles
seront les bienvenues.
Un client est rfrenc par un numro alatoire gnr par la base de donnes. Les
emprunteurs doivent pouvoir tre ajouts, modifis, supprims.
Les rgles de gestion sont les suivantes :
Une personne ne peut pas emprunter plus de 3 livres de la bibliothque. Elle
peut en emprunter 3 dun coup ou les uns aprs les autres ;
Elle doit ramener un livre 15 jours aprs son emprunt. Le systme doit pouvoir
faire un tat des livres emprunts non rentrs et diter un listing avec les
noms, prnoms, adresses et N de tlphone des emprunteurs et la liste des
livres quils auraient du rendre. Ainsi, le bibliothcaire pourra tlphoner la
personne pour lui demander de rendre les ouvrages.
On doit pouvoir imprimer ou visualiser :
La liste complte des livres ainsi que leur quantit en stock ;
La liste des livres en prt ;
La liste des inscrits nayant jamais emprunt un livre.
Jean-Luc Baptiste
www.btsig.org
Page 16 / 16