Création du projet

Transcription

Création du projet
TP4 – SI6

Applications Windows
Programmation événementielle
Création d’un quatrième projet : monWinZoo
Nous allons créer une quatrième application Windows, permettant d’afficher l’image correspondante à
l’animal choisi dans une liste :
pbx_animaux
lbx_animaux
Travail préparatoire
Créer un nouveau projet, que vous nommerez « monWinZoo »
Renommer le premier formulaire de ce projet en « Frm_zoo »
Ajouter les contrôles nécessaires, (ListBox : lbx_animaux, PictureBox : pbx_animaux)
Nous allons ajouter les images à notre projet :
Ajouter un dossier « Images » au projet
Ajouter dans ce répertoire « Images », les images qui se trouvent dans le répertoire de
ressources sur notre serveur, répertoire PartageSIo1, répertoires « Images ».
Utilisation d’un contrôle ListBOx
Le nom des animaux listés dans la ListBox nous servira ensuite à afficher la bonne image dans la
PictureBox.
Le nom saisi dans la ListBox est exactement identique au nom de l’image (sans l’extension du
fichier)
Attention à l’orthographe et pas d’accent SVP !
La principale utilité d’une ListBox, c’est de permettre la sélection d’un élément dans une liste.
L’événement par défaut associé à cette liste est donc le changement de sélection.
Cet événement s’appelle :
SelectedIndexChanged
(Autrement dit : changement d’index - ou d’indice - sélectionné)
BTS SIO – SI6 – 2012
Programmation Visual Basic – TP1 : Première application Windows
Marie-pascale Delamare d’après un travail de David Duron
Page 12
Nous avons déjà utilisé une listBox et nous savons déjà que l’on peut à tout moment connaître
l’élément sélectionné ou plus précisément :
Soit l’indice ou index de l’élément sélectionné (propriété SelectedIndex de la listBox)
Soit le texte correspondant à l’élément sélectionné (propriété Text de la listBox)
 Double-cliquer sur la listBox pour générer le squelette de la procédure événementielle associée au
changement d’index (c’est-à-dire qui se déclenchera dès que l’utilisateur changera de sélection).

 Compléter ce squelette de la manière suivante :
Dim chemin As String
Dim extension As String
Dim fichier As String
chemin = "..\..\Images\"
extension = ".jpg"
fichier = chemin + lbx_animaux.Text + extension
pbx_animaux.ImageLocation = fichier
Pour comprendre la construction du chemin d’accès, il faut :
Savoir où se trouve réellement l’application qui s’exécute
Savoir comment accéder au répertoire Images relativement à ce répertoire d’exécution
Vous savez déjà que ce n’est pas le code Visual Basic qui s’exécute, mais le code machine généré
suite à la compilation du programme Visual Basic. Le programme exécutable a précisément
l’extension.exe.
 Ouvrir l’explorateur, descendre dans le répertoire du projet, puis dans le répertoire « bin », puis
dans le répertoire « Debug »
C’est précisément cet exécutable qui se lance quand
on lance le projet en mode Debug.
ère
Pour accéder à une image du répertoire Images, il faut donc remonter une 1 fois
ème
vers bin, puis encore une 2
fois dans le répertoire du projet MonWinDiaporama,
et redescendre ensuite dans le répertoire Images.
Si on vous dit maintenant que ‘..’ permet de remonter d’un répertoire (on dit aussi remonter au dossier
parent), vous comprenez que le chemin indiqué dans le code ci-dessus correspond bien à un chemin
relatif par rapport au répertoire de l’application :
"..\\..\\Images\\image.jpg"
est bien le chemin relatif à l’application permettant d’accéder à image.jpg
 Tester l’application.
En cas d’erreur, vérifier le contenu de la variable animal et la correspondance avec le nom
de l’image.
BTS SIO – SI6 – 2012
Programmation Visual Basic – TP1 : Première application Windows
Marie-pascale Delamare d’après un travail de David Duron
Page 13
TP5 – SI6

Applications Windows
Programmation événementielle
Mon projet : winCinoche
On souhaite réaliser l’application CINOCHE, permettant de calculer le prix du ticket de cinéma.
Liste des contrôles
Choix parmi
6 horaires
(le 1er étant 11h10)




lbl_choixHoraire
lbl_choixJour
lbl_tarif11h
lbl_tarifLundi
 cbx_horaire
 cbx_jour
 ckb_tarifCE
Les
case
à
cocher
(checkbox)
fonctionnent
presque comme les boutons
d’options. Mais elles ne sont
pas exclusives l’une par
rapport à l’autre
 gpb_tarif
(GroupBox)
 rbn_pleinTarif
 rbn_tarifEtudiant
 rbn_tarifReduit
 ckb_majoration3D
 ckb_couponReduc
 pbx_ticket
 btn_calculerTarif
 lbl_tarifApplicable
Les règles sont les mêmes :
Le spectateur peut fournir un coupon de réduction de 1 EURO, découpé dans la presse. Il peut
s’appliquer à tous les tarifs, excepté le tarif CE.
Le plein tarif s’applique en dernier ressort, si le spectateur souhaite voir un film ni le lundi, ni un
matin à la séance de 11h, et qu’il ne bénéficie d’aucune réduction de tarif.
La majoration « Film 3D » s’applique à n’importe quel tarif, à partir du moment où c’est le choix
du spectateur. On ne se préoccupe pas ici de la possibilité ou non de voir un film en 3D : ils sont
tous potentiellement visibles en 3D ;-)
On s’occupe du prix d’une seule place de cinéma.
Lorsque l’on clique sur le bouton « TARIF APPLICABLE », le prix à payer s’affiche
Prolongation possible (bonus)
à faire seulement si déjà le reste fonctionne et est bien testé
On peut rajouter les règles complémentaires :
 L’utilisateur doit obligatoirement choisir au moins un horaire et un jour.(même si l’horaire est 11h10).
 Si l’utilisateur a choisi 11h10 ou lundi, il est inutile de choisir un tarif (on peut donc cacher les
boutons d’options)
 Lorsque le « Tarif spécial CE » est activé, on décoche automatiquement tous les boutons d’option
(ou mieux on les cache), et on désactive la possibilité d’avoir un coupon de réduction.
 Lorsqu’on désactive la case à cocher « Tarif spécial CE » l’option « Plein Tarif » est sélectionnée
par défaut, et la case Coupon réduction redevient active.
Enfin, plutôt que d’avoir à cliquer chaque fois sur le bouton « TARIF APPLICABLE », on peut imaginer que
chaque modification dans l’interface entraîne immédiatement l’affichage du tarif applicable.
BTS SIO – SI6 – 2012
Programmation Visual Basic – TP1 : Première application Windows
Marie-pascale Delamare d’après un travail de David Duron
Page 14