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