View
63
Download
11
Category
Preview:
DESCRIPTION
comprendre les fonctionalités de WinDev par des études de cas gestion des donnees
Citation preview
COURS WINDEV NUMERO 4
14/02/2015 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
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 1 sur 16
Cours WinDev Numro 4 V E R S I O N 1 9
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 :
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 dun fichier de donnes.
Restez sur Crer une nouvelle description dun fichier de donnes, dans le plan suivant donnez Ensemble comme Nom et Ordinateurs assembls comme Libell. Pensez choisir
Aucun dans la zone Identifiant automatique puisque nous avons Refens qui sera notre
identifiant.
Gardez HFSQL Classic comme Type de base de donnes. Lassistant va se terminer
Maintenant la fentre suivante apparat
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 2 sur 16
Cest elle qui va vous permettre de saisir toutes les proprits de votre entit. Remplissez-la pour quelle ressemble ceci et noubliez pas de mettre RefEns en cl unique (notre identifiant):
Une fois remplie, cliquez sur le jet vert et retournez sous lditeur de Windev. Enregistrez le projet.
Attention un cran va vous demander si vous voulez crer une fentre ou allez sous lditeur, cliquez sur Editeur de Windev pour rester dans lanalyse.
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 3 sur 16
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 Accueil / Nouveau / Fentre.
Crez une fentre nomme Dpart qui sera la premire fentre du projet. Faites en sorte qu'elle
ait les caractristiques suivantes (dans sa description):
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
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.
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 4 sur 16
Nous allons placer une barre doutils dans cette fentre dpart, pour cela cliquez sur lobjet
Crer une barre doutils (Cliquez sur le menu Fentre pour voir licne) , choisissez 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 composants, 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 ensuite 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 dossier puis appuyez sur la loupe.
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.
Pour les boutons suivants, faites de mme en suivant les instructions suivantes :
Boutons Nom BULLE DAIDE MOT CLE (RECHERCHE ICONE)
Bouton2 Crer Crer des ensembles Crer
Bouton3 ImprimeC Imprimer les composants Imprimer
Bouton4 ImprimeE Imprimer les ensembles Imprimer
Bouton5 Fermer Quitter lapplication Annuler
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 :
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 5 sur 16
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 , respectez les consignes ci-dessous :
Onglet Gnral de la description
Nom logique : Gcompo
Description : Gestion des composants
Titre : Gestion des composants
Onglet IHM
Largeur : 500
Hauteur : 350
Position : Relatif la mre
Onglet Dtail
Type de fentre : Fille Mdi
Le code douverture de la fentre fille sera : OuvreFille(Gcompo)
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 6 sur 16
Voici quoi elle devrait ressembler :
Nom de la table mmoire : Table1
RefComp : type texte
Dsignation : type texte
PrixAchat : type numrique (Titre : Prix dAchat)
Choisir dans lassistant Remplir la table par programmation
Dans longlet IHM, dans la zone Etat initial, cliquez sur Slection (sans saisie).
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 rcrire 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
Voici les diffrents codes (je vous rappelle quils ont dj t tudis la leon 3) :
Ces 3 champs sont lis avec les champs du fichier Composant (faites-
les glisser depuis longlet droite de lcran). Si 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
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 7 sur 16
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)
POUR TOUT Composant TableAjouteLigne(Table1,Composant.RefComp,Composant.DsignationC,Compo
sant.PrixAHT) 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 :
Dclarations globales 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()
Clic droit dans cette zone et Code pour activer le processus de cration de la
procdure.
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 8 sur 16
Voici le code du bouton BSup :
HLitRecherchePremier(Composant,RefComp,Table1.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 (Accueil / 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 :
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 9 sur 16
Objet N Nom Rle
1 RefEns Li Ensemble.RefEns (TOUT EN MAJUSCULES)
2 PrixVHT Li Ensemble.PrixVHT
3 Dsignation Li Ensemble.Dsignation
4 BPremier Bouton nous positionnant sur le premier enregistrement du fichier
Ensemble
5 BPrecedent Bouton nous positionnant sur lenregistrement prcdent
6 BSuivant Bouton nous positionnant sur lenregistrement suivant
7 BDernier Bouton nous positionnant sur le dernier enregistrement du fichier
Ensemble
8 Table1 Table mmoire contenant des rubriques similaires la structure de
Composant
9 BAjout Bouton nous permettant dajouter un composant lensemble
10 BSupprime Bouton nous permettant de supprimer un composant lensemble
11 BNouveau Bouton nous permettant de crer un nouvel ensemble
12 BValide Bouton nous permettant de valider un ensemble
13 BSupp 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 procdure locale qui, prenant en paramtre le code RefEns, nous remplit
la table. Facile et efficace.
Notez quune requte SQL nous aurait vit pas mal de lignes, vous de juger.
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 10 sur 16
PROCEDURE remplir (code)
TableSupprimeTout(Table1) FichierVersEcran(Gensemble) // on affecte aux champs de la fentre les donnes lies
POUR TOUT Intgre AVEC RefEns = code HLitRecherche(Composant,RefComp,Intgre.RefComp) // A vous de trouver
TableAjouteLigne(Table1,Composant.RefComp,Composant.DsignationC,Composant.PrixAHT,Intgre.Qt) FIN
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 (Dclarations globales de la fentre Gensemble)
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 ne 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 Accueil / Nouveau / Fentre.
Cherchez une fentre nomme Vision et validez.
Dans lAssistant qui arrive, cliquez sur Composant, cliquez encore sur Suivant, vrifiez que tous les champs soient cochs, cliquez encore sur Suivant 2 fois. Interdisez la saisie dans le
champ table. 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 :
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 11 sur 16
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
POUR TOUT Intgre AVEC Intgre.RefEns = RefEns
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 12 sur 16
HSupprime(Intgre)
FIN
HLitRecherchePremier(Ensemble,RefEns,RefEns) SI HTrouve ALORS
HSupprime(Ensemble) Info("La suppression est russie") ExcuteTraitement(Gensemble,trtInit)
FIN FIN
Vous navez pas besoin que je vous commente ce code, il est limpide.
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
HLitRecherchePremier(Ensemble,RefEns,RefEns)
SI HTrouve(Ensemble) ALORS // l'enregistrement existait dans le fichier, on va le supprimer HLitRecherche(Intgre, RefEns, RefEns)
POUR TOUT Intgre AVEC Intgre.RefEns = RefEns HSupprime(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 s'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.
Voyons comment imprimer les ensembles et leurs composants (bouton 4)
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 13 sur 16
Nous allons nous laisser guider par lAssistant pour faire un tat avec des donnes provenant des 3 tables. Allez dans Accueil / 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 nouvelle requte que vous voulez dfinir maintenant, cliquez sur Suivant.
Maintenant vous devez avoir cette fentre lcran :
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.
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
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 14 sur 16
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 :
Cliquez sur Suivant. Les choix suivants concernent les formats du papier, laissez-les par dfaut
sauf lorientation que vous prendrez en Paysage et cliquez sur Suivant.
Choisissez un gabarit et Suivant. Nommez cet tat Iensemble, 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.
Passez les 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
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 15 sur 16
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
Cours WinDev Numro 4
http://www.btsig.org/ Jean-Luc Baptiste Page 16 sur 16
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 WinDev, WebDev, WinDev Mobile crit par Jean-Luc Baptiste aux ditions ENI a le numro ISBN 978-2-7460-5898-9.
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 d 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.
Recommended