Beruflich Dokumente
Kultur Dokumente
Prsentation
Objectifs : Travailler avec un fichier de donnes :Etude du gestionnaire
d'analyse,Manipulation des tables mmoires, Manipulation de donnes, Cration
d'tats
L'objectif de cette leon est de vous familiariser avec l'utilisation des fichiers, du
gestionnaire d'analyse et de la conception d'tats.
Vous allez commencer par crer un nouveau projet nomm TP3. Dans l'assistant,
vous slectionnerez votre thme prfr, confirmerez le choix de cration d'une
Analyse et finirez le processus de l'assistant. Un nouvel assistant de cration
d'analyse va apparatre, cliquez sur Suivant.
Vous pouvez choisir entre un Modle Logique de Donnes et un Modle
Conceptuel de Donnes. Cliquez sur Suivant pour choisir le MLD.
Dans la zone Nom de l'analyse appelez l : TP3 et vrifiez qu'elle soit bien
associe au projet en cours, cliquez ensuite sur Suivant.
Nous ne donnerons pas de mots de passe l'analyse donc cliquez encore
sur Suivant.
Cette nouvelle fentre vous demande de choisir le type de base de donnes que
vous voulez "attaquer". C'est ici par exemple que vous pourriez dcider d'utiliser
une base de donnes tierce du type Mysql, Access ou autres. Comme le but de
cette leon est de travailler avec WinDev nous allons faire en sorte de Crer une
nouvelle description de fichier. Ce choix tant valid nous allons maintenant
crer notre structure de fichier.
Ah oui ! J'ai oubli de vous dire ce que nous allions faire. En fait nous allons
programmer une mini gestion de budget familial. Pour cela on va utiliser un seul
fichier des mouvements dans lequel on inscrira le descriptif des oprations, la
date de l'opration, le montant au dbit ou le montant au crdit. Cela devrait
vous faire penser votre relev de compte bancaire.
Dans la zone Nom, vous allez indiquer le nom suivant : Mouvement.
Remarquez les champs suivants qui se remplissent automatiquement. Vrifiez
que la case Le fichier possde un identifiant automatique soit coche. Nous
allons ainsi crer un identifiant automatique par WinDev. L'identifiant
automatique est comparable un compteur, c'est lui qui vous garantit l'unicit
de vos tuples. Je vous renvoie au cours d'analyse Merise pour les complments
d'informations que vous pourriez avoir sur le rle des identifiants !
Cliquez sur Suivant. La nouvelle fentre vous demande de confirmer le fait que
vous voulez travailler avec des fichiers de type Hyper file (Format propritaire
WinDev). Cliquez sur Suivant puis de nouveau sur Suivant. La nouvelle fentre
vous propose des options RAD (Rapid Application Development). Le RAD est
oublier, c'est WinDev qui fait tout, vous n'apprendrez rien le voir faire, il vaut
mieux que a soit vous qui crez que lui. Donc dcochez ces cases et cliquez
sur Terminer.
Vous voil maintenant dans le gestionnaire d'analyse, vous vous trouvez plus
exactement dans la fentre de description des fichiers. C'est ici que nous allons
dterminer la composition de chaque attribut de notre fichier mouvement.
Vous pouvez remarquer que notre identifiant est dj cr Idmouvement et
vous voyez la cl jaune gauche qui symbolise l'identifiant. Nous allons insrer
les rubriques suivantes :
Libell
Type
Taille
Date de l'opration
Date
Description de l'opration
Texte
50
Montant Dbit
Montant Crdit
Idem
Idem
Pour insrer, cliquez sur une ligne vide dans la rubrique choisie. A vous de bien
remplir vos champs, cela ne devrait vous poser aucun problme. Une fois la
saisie termine, cliquez sur OK.
Vous pouvez maintenant Retourner sous l'diteur de WinDev. Choisissez
ensuite Aller directement dans l'diteur WinDev et OK.
Voici une reprsentation de ce que vous devriez obtenir
Maintenant que votre fichier est dcrit, il ne vous reste plus qu' gnrer
l'analyse.
Nous allons maintenant fabriquer les fentres de notre application. Allez dans le
menu Fichier / Nouveau et cliquez sur Fentre.Choisissez une fentre vierge.
Cette fentre sera la premire fentre de notre application. Dans sa description
(clic droit sur la fentre), vous lui donnerez les caractristiques suivantes :
Nom logique : dpart
Description : Fentre principale de l'application
Titre : Bienvenue dans votre mini compte bancaire
Appliquez les modifications et cliquez sur Ok.
Nous allons insrer dans cette fentre une table mmoire qui sera le conteneur
du fichier. Choisissez un champ table dans la barre d'outils et positionnez le sur
votre fentre. Dites l'assistant que vous remplirez la table vous-mme, cliquez
sur Suivant.
Choisissez Type de Table en affichage puis Terminer. La table est dfinie
par dfaut, allez dans la Description (clic droit sur la table).
Respectez les mmes conventions de nommage que celles indiques car tout le
reste du projet s'appuiera sur ces noms l !!
Le nom de la table : Tmouv
Le code du bouton Quitter est trs facile : Dans clic sur Quitter inscrivez :
Slectionnez
Ferme
l'ensemble des lignes du fichier Mouvement.fic et les placer les unes aprs
les autres dans la table mmoire. C'est ce que nous allons faire maintenant.
Allez dans le code de la fentre dans la zone Initialisation de dpart et
saisissez le code suivant :
other
Slectionnez
HLitPremier(Mouvement,IDMouvement)
TANTQUE PAS HEnDehors
TableAjoute(Tmouv,Mouvement.Date+TAB+Mouvement.Descriptif+TAB+Mouvement.Dp
ense+TAB+Mouvement.Recette+TAB+Mouvement.IDMouvement)
HLitSuivant(Mouvement)
FIN
Explication du code :
HLitPremier(Mouvement,IDMouvement) // Cette ligne ordonne WinDev d'ouvrir
le fichier Mouvement et de lire la premire ligne en plaant les champs
correspondants en mmoire.
TANTQUE PAS HenDehors // Ici on commence une boucle qui sera vraie tant que
l'on reste dans le fichier. Le mot cl Hendehors renvoie Vrai si on est hors du
fichier. Donc PAS HenDehors est vrai tant que la fin du fichier n'est pas atteinte.
C'est tout simple en fait, non ?
La squence tableajoute est connue , elle permet de positionner du texte - ici les
rubriques du fichier - l'intrieur d'un fichier.
Hlitsuivant(Mouvement) // Fait descendre le pointeur du fichier d'une ligne vers
le bas.
Le bouton Ajouter va ouvrir une fentre de saisie qui nous permettra de rentrer
les informations. Donc le code sera dans Clic surajout :
Slectionnez
Ouvre(saisie)
Il est normal que WinDev vous renvoie un message d'erreur si nous essayons
d'excuter le projet car la fentre saisie n'existe pas, crons-la de suite.
Fichier / Nouveau / Fentre
Dans la description de la fentre :
Nom logique : saisie
Description : Fentre de saisie
Titre : Saisissez votre opration
Faites
glisser
fentre saisie.
les
la
que chaque champ est bien li une rubrique du fichier, cliquez sur l'un d'entre eux et vrifiez dans la barre
n bas gauche que le message Li : Mouvement.XXXXXX soit prsent.
Cette fentre ne comporte que 2 boutons, le bouton Annuler nous servira juste
fermer la fentre. Vous connaissez la squence de code le permettant, ce n'est
donc plus la peine que je vous indique la marche suivre. En cas de problme je
vous rappelle que l'aide de WinDev est accessible par la touche F1.
Consacrons-nous au bouton Valider, la validation consiste placer les rubriques
de la fentre dans le fichier et valider l'ajout. Pour placer les rubriques de la
fentre dans le fichier, l'ordre est le suivant :
Slectionnez
EcranVersFichier(saisie) // saisie tant le nom de la fentre
Vous pouvez faire en sorte de programmer le contrle pour qu'il vrifie que l'on
n'a qu'un dbit ou qu'un crdit, ou alors que l'un des champs n'est pas vide. Le
code placer juste avant celui que l'on voit ci-dessus pourrait ressembler ceci :
other
Slectionnez
SI Date=""
Info("L'un
Ferme
FIN
SI Dpense
Info("Vous
Ferme
FIN
Explications :
La premire ligne fait rechercher dans le fichier Mouvement et sur l'identifiant la
valeur du champ cl pointe dans notre table mmoire. Ce n'est pas parce que
la rubrique cl est invisible que nous ne pouvons pas en connatre la valeur.
Si on trouve la ligne ayant le mme identifiant que cl alors on la supprime et on
affiche un message indiquant la bonne marche des oprations. Sinon dans un cas
fort improbable o il ne trouve pas l'enregistrement on inscrit un message
d'erreur.
Je vous laisse le soin de tester cette nouvelle fonctionnalit de votre programme.
Comme vous venez de le remarquer, la mise jour de la table mmoire ne s'est
pas faite. La valeur a t supprime mais la table ne le sait pas. Nous allons
remdier ce problme.
Le code de raffichage de la table mmoire existe dj (ex : dans la zone
de prise de focus de la fentre dpart) nous allons donc r-excuter un
traitement existant. Sous la ligne Info("La suppression est effective")
inscrivez la commande suivante :
Slectionnez
ExcuteTraitement(depart,trtPriseFocus)
Remarques : Les procdures locales ne sont vues que par les objets
de la fentre, les procdures globales sont actives pour tous les
lments du projet
Maintenant, vrifiez bien que vous vous trouvez dans la zone code de la
procdure calcsolde.
Le code doit parcourir le fichier Mouvement, affecter le contenu de dbit dans
une variable, le contenu de crdit dans une autre et cela jusqu' la fin du fichier
et ensuite affecter la diffrence entre le dbit et le crdit au champ solde.
Voici le code de la procdure :
other
Slectionnez
PROCEDURE calcsolde()
sdebit,scredit sont des rels=0 // on affecte la valeur 0 aux deux
variables
HLitPremier(Mouvement,IDMouvement)
TANTQUE PAS H.endehors
Sdebit+=Mouvement.Dpense // += signifie Sdebit=Sdebit+Mouvement.Dpense
Scredit+=Mouvement.Recette
HLitSuivant(Mouvement,IDMouvement)
FIN
solde=sdebit-scredit
Le code est suffisamment simple pour ne pas avoir l'expliquer. La question qui
se pose est o lancer calcsolde. Les plus russ d'entre vous auront compris qu'il
nous faut activer cette procdure aux mmes endroits o l'on a activ le
rafrachissement de la table mmoire. Je vous laisse modifier les zones de code
en consquence (dans le code de la fentre dpart). N'oubliez pas de tester la
cohrence de votre projet.
Il ne nous reste plus qu' fabriquer l'tat de sortie. Choisissez Fichier /
Nouveau / Etat. Choisissez un tat de type Tableau. En cliquant
sur Suivant WinDev vous demande la source de donne, il vous faut prciser
que ce sont des enregistrements provenant d'un fichier Hyper file. Slectionnez
le fichier Mouvement, la cl de parcours est un identifiant qui sert pour donner
l'ordre de tri. Continuez appuyer sur Suivant, je vous laisse dcouvrir les
questions poses et vous de prendre les bonnes dcisions. Vous savez lire,
donc vous prendrez les bonnes dcisions ! Je vous demande juste d'appeler
l'tat Etatmouv.
Remarques : Les dtails du choix du style, de la mise en forme sont
votre discrtion, faites comme bon vous semble. N'oubliez pas que le
client n'a pas les mmes gots graphiques que vous, donc faites
sobre. Eviter les styles Noir sur fond Noir Rose sur fond
Vert et autres singularits visuelles qui feront penser l'utilisateur
qu'il devient dficient visuel.
fini
et
enregistr,
entrez
dans
la
zone code du
other
Slectionnez
iAperu(i100) // On enverra l'tat l'cran avec un zoom de 100 %
iImprimeEtat(Etatmouv) // Gnration de l'tat et utilisation des
paramtres dfinis par iApercu
Enonc :
Ecrire un programme grant un fichier des amis. Pour chacun d'eux, on souhaite
connatre le nom, le prnom et le numro de Tlphone.
Faites en sorte que le programme puisse permettre l'utilisateur de :
II-B. La Vidothque
Enonc :
Un proche vous demande de lui concevoir un programme d'archivage de ses
casettes vido. Il veut connatre le titre du film, l'anne de sortie, l'acteur
masculin principal, l'actrice fminine principale et le genre du film (comdie,
dramatique, policier, western, enfants, adultes..) Il vous demande aussi des
tats imprims tris soit par anne de sortie, soit par genre, soit avec aucun tri.