17
COURS WINDEV NUMERO 4 14/02/2015 Travailler avec plusieurs fichiers de données Création d’un MCD, Gestion des champs indexés, Manipulation de données, Liaison des données, Pré requis : Cours WinDev Numéro 1,2 et 3

gestion des données sous windev

Embed Size (px)

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.