Vous êtes sur la page 1sur 7

I.

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.

II. Champ Slecteur


Insrez un champ slecteur l'intrieur de votre fentre.

Allez dans sa description (clic droit / Description) dans la zone Nom du champ inscrivez : Civilit.
Idem dans le Libell du champ.

Dans la zone Options inscrivez :

Madame
Mademoiselle
Monsieur

Rajouter un champ
slectionn : .

de

saisie

que

vous

nommerez choix avec

comme

libell

Elment

Votre fentre doit ressembler ceci :

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).

Testez la fentre en cliquant sur Go.

III. Les listes droulantes


Crez une nouvelle fentre que vous nommerez liste et Liste droulante en Titre. A droite
de l'cran, cliquez sur le 2me onglet puis sur le bouton droit de la souris pour pouvoir
choisir Nouvelle fentre.

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).

Un champ de saisie nomm choix et ayant Choix comme libell.

Un bouton nomm remplir et ayant comme libell Remplir la liste Civilit .

La fentre ressemblera ceci :

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 :

) // Pour viter d'ajouter les lments chaque clic sur le bouton


me")
moiselle")
ieur")
Vrifiez que votre liste soit correctement remplie en cliquant sur le bouton Remplir puis en
l'ouvrant avec la flche vers le bas :

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 .

Sauvegardez et testez la fentre.

N'oubliez pas d'utiliser l'aide pour approfondir vos connaissances !!

IV. Les tables mmoires


Le champ table permet de simplifier l'affichage et la saisie d'informations stockes en mmoire ou
provenant d'un fichier de donnes, d'une vue ou d'une requte. Une table est compose de lignes
et de colonnes. L'intersection d'une ligne et d'une colonne dfinit une cellule. Une table peut tre
gre ligne par ligne, colonne par colonne ou cellule par cellule.

Les informations affiches dans la table peuvent :

tre dtermins par programmation : on parle alors de Table Mmoire ;

provenir d'un fichier de donnes ou d'une requte : on parle alors de Table fichier.

Les tables permettent de slectionner un ou plusieurs lments de la table.


Pour crer un champ de type Table :

Sous l'diteur de fentres, cliquez sur l'icne .

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 .

Nommez la table matable .

Crez 3 colonnes en appuyant 2 fois sur le bouton Nouveau .

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 :

Le premier se nommera remplirtable et aura comme libell Remplir ;

Le second se nommera supligne et aura comme libell Supprimer ;

Le troisime se nommera videtable et aura comme libell Viderlatable ;

Le quatrime se nommera quitter et comme libell Quitter .

Voici une reprsentation de votre fentre :

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.

Utilisez l'aide pour avoir plus de renseignements sur la fonction Tableajoute.

Dans la zone clic sur supligne de Supprimer , insrez le code suivant :

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 .