Académique Documents
Professionnel Documents
Culture Documents
01/02/2015
Pr requis :
Lobjectif de cette leon est de vous familiariser avec lutilisation des fichiers, du gestionnaire danalyse
et de la conception dtats.
Vous allez commencer par crer un nouveau projet nomm TP3. Dans lassistant, vous slectionnerez votre
thme prfr, confirmerez les choix par dfauts jusqu ce point :
Ici, il est impratif de slectionner le choix Oui, crer une nouvelle base de donnes . Cliquez sur
Suivant.
Par dfaut, les informations sont correctes, vous pouvez cliquer sur suivant.
http://www.btsig.org/
Jean-Luc Baptiste
Page 1 sur 24
Comme vous pouvez le constater, le choix des types de bases de donnes est vaste ! Nous allons
travailler avec le format natif de WinDev HyperFileSQL Classic. Nous pouvons passer lcran suivant.
http://www.btsig.org/
Jean-Luc Baptiste
Page 2 sur 24
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. WinDev va ainsi crer un identifiant automatique. Lidentifiant automatique est comparable
un compteur, cest lui qui vous garantit lunicit de vos enregistrements. Je vous renvoie au cours
danalyse Merise pour les complments dinformations que vous pourriez avoir sur le rle des
identifiants ! (A ce sujet, jai crit un bon livre la dessus Voir chez lditeur ENI)
http://www.btsig.org/
Jean-Luc Baptiste
Page 3 sur 24
La nouvelle fentre vous demande de confirmer le fait que vous voulez travailler avec des fichiers de
type Hyper file (Format propritaire WinDev).
Et voil, la description du type de fichier est finie. Cliquez sur le bouton vert pour terminer. Lassistant se
ferme et vous ouvre la fiche de description du fichier.
http://www.btsig.org/
Jean-Luc Baptiste
Page 4 sur 24
Cest 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 lidentifiant. Nous allons insrer les rubriques suivantes :
Nom
Libell
Type
Taille
Date
Date de lopration
Date
Sera
automatiquement
Descriptif
Description
lopration
Dpense
Montant Dbit
Sera
automatiquement
Recette
Montant Crdit
Idem
Idem
de Texte
rempli
50
rempli
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 Valider.
Lassistant vous propose de retourner sous lditeur de fentre. Cliquez sur Fermer pour rester sous
lanalyse.
Double-cliquez sur la table pour faire apparaitre la description, vous devriez avoir le rsultat suivant :
http://www.btsig.org/
Jean-Luc Baptiste
Page 5 sur 24
Pour que cette description de fichier soit prise en compte dans le projet nous devons gnrer lanalyse.
Pour cela cliquez sur le drapeau
Comme vous pouvez le constater dans le volet droit de lAnalyse nous retrouvons notre fichier :
Nous allons maintenant fabriquer les fentres de notre application. Cliquez sur licne Nouveau
http://www.btsig.org/
Jean-Luc Baptiste
Page 6 sur 24
http://www.btsig.org/
Jean-Luc Baptiste
Page 7 sur 24
Nous allons choisir un type de prsentation des donnes vertical. Cliquez sur Suivant.
Cet cran nous permet de prdfinir le nombre de colonnes de la table. Indiquez quil y aura 5 colonnes.
Cliquez ensuite sur Suivant.
http://www.btsig.org/
Jean-Luc Baptiste
Page 8 sur 24
Donnez Tmouv comme nom de la table. Et cliquez sur le bouton Terminer. La table est maintenant
prdfinie. Vous devriez voir ceci :
Comme vous le voyez le nom des colonnes, le type des donnes nest pas dfini, faites un clic droit sur la
table et activez le menu Description. Vous allez suivre les instructions suivantes pour tout modifier :
Nom de la colonne 1 : Tdate
Type de la colonne 1 : Date
Titre de la colonne 1 : Date
http://www.btsig.org/
Jean-Luc Baptiste
Page 9 sur 24
Nom de la colonne 5 : cl
Type de la colonne 5 : Numrique
Masque de saisie : 999 999 999.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 10 sur
Dans longlet IHM de cette 5me colonne, dcochez Visible, nous mettrons dans ce champ lidentifiant de
la ligne. Il nest pas ncessaire de le montrer lutilisateur, cest pour a que je vous conseille de le
mettre invisible.
Une fois tous les champs renseigns, cliquez sur Appliquer puis OK
Vous devriez voir ceci :
Vous pouvez redimensionner les largeurs des colonnes avec la souris si certains libells sont tronqus.
Voici maintenant, ce quil vous reste concevoir pour terminer notre projet :
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 11 sur
Nom : ajout
Nom : supprime
Nom : Imprime
Nom : quitte
Nom du champ : Solde - Type Numrique
Il me semble que a fait longtemps que vous navez pas sauvegard votre projet !
ce nest pas trs prudent Noubliez pas de dterminer cette fentre comme la
premire fentre du projet
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 12 sur
Le code du bouton Quitter est trs facile : Dans clic sur Quitter inscrivez :
Voyons maintenant la dcomposition possible des vnements. Il faut quau chargement de la fentre la
table se remplisse avec les enregistrements contenus dans le fichier situ sur le disque dur. Pour cela nous
allons parcourir lensemble des lignes du fichier Mouvement.fic et les placer les unes aprs les autres
dans la table mmoire. Cest ce que nous allons faire maintenant.
Allez dans le code de la fentre dans la zone Initialisation de dpart et saisissez le code suivant :
Explication du code :
Pour tout Mouvement // Cette ligne met en place une boucle qui ordonne WinDev douvrir le fichier
Mouvement et de lire la premire ligne en plaant les champs correspondants en mmoire.
La squence tableajouteligne est connue, elle permet de positionner du texte - ici les rubriques du fichier -
lintrieur de la table mmoire.
Fin // indique la fin de la boucle.
En rsum, nous pourrions lire ce code de la faon suivante :
Pour toutes les lignes du fichier Mouvement ,
Ajoute les enregistrements physiques dans la table Tmouv
Le bouton Ajouter va ouvrir une fentre de saisie qui nous permettra de rentrer les informations. Donc le
code sera dans Clic sur ajout :
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 13 sur
Il est normal que WinDev vous renvoie un message derreur si nous essayons dexcuter le projet car la
fentre FSaisie nexiste pas, crons-la de suite.
Dans la description de la fentre :
Nom logique : Fsaisie
Description : Fentre de saisie
Titre : Saisissez votre opration
Il me semble que a fait longtemps que vous navez pas sauvegard votre projet !
Faites glisser les champs Date, Descriptif, Dpense, Recette sur la fentre Fsaisie.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 14 sur
Voici le rsultat :
Pour tre sr que chaque champ est bien li une rubrique du fichier, cliquez sur lun dentre eux et
vrifiez dans la barre de message en 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 nest donc plus la peine que je vous indique la marche
suivre. En cas de problme je vous rappelle que laide 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 lajout. Pour placer les rubriques de la fentre dans le fichier, lordre est le suivant :
EcranVersFichier(Fsaisie) // Fsaisie tant le nom de la fentre
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 15 sur
Vous pouvez faire en sorte de programmer le contrle pour quil vrifie que lon na quun dbit ou quun
crdit, ou alors que lun des champs nest pas vide. Le code placer juste avant celui que lon voit cidessus pourrait ressembler ceci :
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 16 sur
Cliquez sur le bouton Ajouter, saisissez et validez un nouvel enregistrement. Vous pouvez constater que
la table mmoire ne ragit pas correctement : en effet linsertion na pas t dtecte et donc la table
mmoire nest pas synchronise avec le fichier. Nous allons essayer de remdier ce problme. En fait, il
faudrait que lorsque la fentre saisie se ferme, la fentre dpart recharge la table mmoire.
Placez-vous dans le code de la fentre dpart, vous devez trouver une zone nomme prise de focus de
dpart . La prise de focus est le fait de remettre active une fentre inactive, en cliquant sur la barre de
titre par exemple.
Voici le code insrer dans cette zone :
Testez cette modification, comme vous le voyez, les comportements sont maintenant cohrents.
Intressons-nous au bouton Supprimer. Dans la table, nous avons une rubrique qui est lidentifiant de la
ligne. Pour supprimer cette ligne dans le fichier nous allons donc rechercher cet identifiant dans le fichier
et supprimer la ligne correspondante.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 17 sur
Explications :
La premire ligne fait rechercher lidentique dans le fichier Mouvement et sur lidentifiant la valeur du
champ cl pointe dans notre table mmoire. Ce nest 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
lenregistrement on inscrit un message derreur.
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 sest 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 :
ExcuteTraitement(depart,trtPriseFocus)
Cette commande fait rejouer un traitement existant.
Testez et vrifiez la cohrence de votre projet.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 18 sur
LES PROCEDURES
Maintenant nous avons calculer le solde (Dbit Crdit), pour ce faire nous allons crer une
procdure qui scannera le fichier et fera les calculs pour nous.
Pour crer une procdure
Recherchez en bas de lcran cet onglet, Choisissez Procdures locales , et faite un clic droit dans
cette zone. Dans le menu contextuel choisissez Nouvelle procdure locale .
Nommez cette procdure Calcsolde.
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.(Clic droit
et ensuite loption Code .
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 19 sur
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 :
Le code est suffisamment simple pour ne pas avoir lexpliquer. La question qui se pose est o lancer
calcsolde. Les plus russ dentre vous auront compris quil nous faut activer cette procdure aux mmes
endroits o lon 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). Noubliez pas de tester la cohrence de votre
projet.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 20 sur
LES IMPRESSIONS
Il ne nous reste plus qu fabriquer ltat de sortie. Choisissez 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 dun fichier Hyper file.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 21 sur
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
dappeler ltat Etatmouv.
Remarques : Les dtails du choix du style, de la mise en forme sont votre discrtion, faites
comme bon vous semble. Noubliez pas que le client na 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 lutilisateur quil devient dficient visuel.
Une fois votre tat fini et enregistr, entrez dans la zone code du bouton Imprime :
http://www.btsig.org/
Jean-Luc Baptiste
24
Page 22 sur
Remarques : Les Commandes WinDev sont classes. Celles qui commencent par H sont des
commandes daccs aux fichiers, celles qui commencent par i sont des commandes de pilotage
dtat.
Noubliez pas de refaire ce TP plusieurs fois, le but tant de se passer du guide papier et
dapprcier la facilit avec laquelle on peut travailler avec WinDev.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 23 sur
EXERCICES APPLICATIFS
Rpertoire damis
Enonc :
Ecrire un programme grant un fichier des amis. Pour chacun deux, on souhaite connatre le nom, le
prnom et le numro de Tlphone.
La Vidothque
Enonc :
Un proche vous demande de lui concevoir un programme darchivage de ses cassettes vido. Il veut
connatre le titre du film, lanne de sortie, lacteur masculin principal, lactrice 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.
Comme vous tes un dveloppeur consciencieux, vous allez faire un programme qui apporte toutes
satisfactions votre ami.
http://www.btsig.org/
24
Jean-Luc Baptiste
Page 24 sur