Prsentation
Objectifs : Connatre les objets de base de WinDev avec manipulation des :combo-box,
interrupteurs, tables mmoires.
Pr requis : Connatre l'diteur WinDev
Pour cette seconde partie, nous allons crer des fentres comportant plusieurs objets de base dont
nous allons tudier le comportement.
Crez un projet nomm TP2 sans Analyse et une fentre nomme slecteurs et
Bonjour pour Titre.
Allez dans sa description (clic droit / Description) dans la zone Nom du champ inscrivez : Civilit.
Idem dans le Libell du champ.
Madame
Mademoiselle
Monsieur
Rajouter un champ
slectionn : .
de
saisie
que
vous
comme
libell
Elment
Vous allez faire en sorte que le champ Elment slectionn se renseigne selon la Civilit. Pour
cela, allez dans le Code du champ civilit (clic droit) dans la zone A chaque modification de
Civilit et saisissez le code suivant :
SELON Civilit
CAS 1: choix="Madame"
CAS 2: choix="Mademoiselle"
CAS 3: choix="Monsieur"
FIN
Comme vous le remarquez, WinDev ne renvoi pas le libell du choix effectu mais l'index (ou
position) de l'lment (1, 2 ou 3).
A l'intrieur, placez :
Une combo (Crer une combo) que vous nommerez liste et qui aura comme libell Civilit
(ne pas saisir de liste de valeurs afficher).
Nous allons programmer le bouton pour qu'il remplisse la combo avec les lments souhaits
(Madame, Mademoiselle, Monsieur). Puis nous allons dfinir le comportement de la combo pour
qu'elle affecte le champ choix .
Dans la zone Clic sur remplir du Code du bouton crivez le code suivant :
Dans la zone slection d'une ligne de. du Code de la combo Civilit crivez le code suivant :
choix=liste..ValeurAffiche
Par cette simple ligne vous demandez la combo de copier la valeur affiche dans le champ
choix .
provenir d'un fichier de donnes ou d'une requte : on parle alors de Table fichier.
Cliquez dans la fentre la position o le champ doit tre cr. L'assistant de cration d'un
champ table se lance automatiquement.
Pour afficher les caractristiques du champ, slectionnez l'option Description dans le menu
contextuel du champ. Deux types d'informations peuvent tre visualises :
les informations concernant la table dans son ensemble (il suffit de slectionner le nom de
la table) ;
les informations concernant chacune des colonnes de la table (il suffit de slectionner le
nom d'une des colonnes de la table).
Pour notre exemple, crez une fentre nomme tablemem et Table mmoire pour Titre,
crez un champ de type table et positionnez le sur la fentre.
Indiquez l'assistant que vous allez remplir la table vous-mme. Cliquez sur Terminer pour sortir
de l'Assistant, sans vous soucier des autres choix qu'il vous propose. Nous allons modifier
manuellement les proprits de la table.
Pour ce faire, cliquez sur la table avec le bouton droit de la souris pour faire apparatre le menu
contextuel. Choisissez Description .
Pour la premire colonne : Nommez la Nom , son type restera Texte, dans la zone Titre de
l'onglet Gnral incrivez LeNom . Dans la zone tailledesaisie inscrivez 50 . Ainsi
l'utilisateur ne pourra pas inscrire un nom de plus de 50 caractres.
Pour la deuxime colonne : Nommez la Prnom , son type sera Texte, dans la zone Titre ,
inscrivez LePrnom et 20 caractres de taille de saisie.
Pour la troisime colonne : Nommez la Age , son type sera Numrique, dans la zone Titre
inscrivez Age , dans la combo masquedesaisie trouvez le masque 999 (en haut de
liste), cela signifie que seuls des entiers de 3 chiffres maximum seront accepts.
Une fois ces manipulations ralises vous pouvez cliquer sur Appliquer et Ok pour valider
vos choix.
Ajouter 4 Boutons :
Nous allons tudier les diffrents codes permettant de remplir la table avec des informations,
supprimer la ligne slectionne, vider compltement la table et enfin fermer la fentre.
Dans la zone Clic sur remplirtable du bouton Remplir , insrez le code suivant (n'hsitez
pas employer le copier-coller pour viter de le retaper) :
TableAjoute(matable,"Auguy"+TAB+"Amandine"+TAB+14)
TableAjoute(matable,"Durand"+TAB+"Cdric"+TAB+11)
TableAjoute(matable,"Baptiste"+TAB+"Sylvain"+TAB+5)
TableAjoute(matable,"Dumas"+TAB+"Batrice"+TAB+35)
TableAjoute(matable,"Martin"+TAB+"Jean-Luc"+TAB+37)
Auguy correspond au Nom, Amandine au Prnom et 14 l'ge. TAB indique le
changement de colonne.
TableSupprime(matable)
Dans la zone clic sur videtable de Vider la table , insrez le code suivant :
TableSupprimeTout(matable)
Dans la zone clic sur quitter de Quitter , insrez le code suivant :
Ferme
Testez les diffrents boutons et appuyez sur la loupe ( cot du nom de la colonne) pour tester son
comportement par dfaut.
Comme vous pouvez le constater, WinDev est puissant et peu de lignes de codes suffisent. Il est
bien vident que le remplissage de la table peut tre fait partir de la lecture d'un fichier.
Pour terminer ce cours, il nous reste faire une fentre de dpart comportant 3 boutons qui
ouvriront les diffrentes fentres.
Crez donc une nouvelle fentre vierge que vous nommerez depart , son Titre sera
Bonjour . Insrez-y 4 boutons : 3 serviront lancer les fentres, 1 quitter l'application :
Pour indication, le code d'ouverture d'une fentre est : ouvre, le code de fermeture est : ferme. Je
vous laisse mettre le code correspondant.
Il ne vous restera qu' ne pas oublier d'enregistrer cette fentre pour pouvoir la dclarer comme
premire fentre du projet.
Dans la zone exploratrice des lments du projet, faites un clic droit sur la fentre dpart et
choisissez Premirefentreduprojet .
V. Exercice applicatif
Crez un projet exo1tp2 et une fentre nomme dpart ressemblant celle ci :
Le but de l'exercice, comme vous le voyez, est de remplir la table en utilisant dans le code du
bouton Calcul les valeurs contenues dans les champs Multiplicateur et Profondeur . Pour
ce faire, vous utiliserez la structure itrative Pour .