• Aucun résultat trouvé

Le code du programme Saisie

Dans le document VISUAL BASIC (Page 114-117)

Bien que vous n’ayez pas encore beaucoup d’expérience de la programmation, il est important de passer en revue quelques procédures événementielles du programme Saisie pour voir comment le programme traite les informations provenant des éléments de l’interface utilisateur. Dans ces procédures, vous allez voir fonctionner les instructions If…Then et Select Case. Vous découvrirez ces structures de décision, et bien d’autres, dans le chapitre 6. Pour l’instant, concentrez-vous sur la propriété CheckState, qui change lorsqu’une case est cochée et sur la propriété SelectedIndex, qui change lorsqu’une zone de liste est sélectionnée.

Analyser le code d’une case à cocher et d’une zone de liste

1. Veillez à ce que le programme ne soit plus en cours d’exécution, puis double-cliquez sur la case à cocher Répondeur de la zone de groupe Matériel de bureau pour affi-cher la procédure événementielle CheckBox1_CheckedChanged dans l’Éditeur de code.

Le code suivant apparaît :

'Si la propriété CheckState d’une case à cocher prend la valeur 1, elle est cochée If CheckBox1.CheckState = 1 Then

PictureBox2.Image = System.Drawing.Image.FromFile _ ("c:\vb08epe\chap03\Saisie\Repondeur.bmp") PictureBox2.Visible = True

Else

'S’il n’y a pas de coche, masque l’image PictureBox2.Visible = False End If

Comme vous l’avez appris au chapitre 2, la première ligne de cette procédure évé-nementielle est un commentaire. Les commentaires apparaissent en vert et sont de simples notes du programmeur pour décrire ce qui est important ou intéressant dans cette partie du code. Parfois, les commentaires sont générés par des outils de programmation automatisés qui compilent des programmes ou insèrent des frag-ments de code. J’ai écrit ce commentaire pour me rappeler que la propriété CheckState contient une valeur essentielle dans ce sous-programme : la valeur 1 si la première case a été cochée.

Le reste de la procédure événementielle est presque identique à celle que vous venez d’écrire dans le programme Saisie. En faisant défiler l’Éditeur de code vers le bas, vous découvrirez une procédure événementielle similaire pour les objets CheckBox2 et CheckBox3.

2. Au sommet de l’Éditeur de code, cliquez sur l’onglet Form1.vb [Design] pour affi-cher de nouveau le formulaire, puis double-cliquez sur la zone de liste Périphéri-ques.

La procédure événementielle ListBox1_SelectedIndexChanged apparaît dans l’Édi-teur de code. Les instructions de programme suivantes apparaissent :

'L’article choisi(0-2) se trouve dans la propriété SelectedIndex Select Case ListBox1.SelectedIndex

Case 0

PictureBox3.Image = System.Drawing.Image.FromFile _ ("c:\vb08epe\chap03\Saisie\DisqueDur.bmp") Case 1

PictureBox3.Image = System.Drawing.Image.FromFile _ ("c:\vb08epe\chap03\Saisie\Imprimante.bmp") Case 2

PictureBox3.Image = System.Drawing.Image.FromFile _ ("c:\vb08epe\chap03\Saisie\Satellite.bmp") End Select

Il s’agit du code qui s’exécute lorsque l’utilisateur clique sur un élément de la zone de liste Périphérique. Dans ce cas, le mot clé important est ListBox1.SelectedIndex, qui signifie « la propriété SelectedIndex de l’objet zone de liste nommé ListBox1».

Lorsque l’utilisateur clique sur un élément de la zone de liste, la propriété Selecte-dIndex renvoie un nombre qui correspond à l’emplacement d’un élément dans la zone de liste. Le premier élément est numéroté 0, le deuxième 1, et ainsi de suite.

Dans le code précédent, SelectedIndex est évaluée par la structure de décision Select Case, et une image différente est chargée en fonction de la valeur de la propriété SelectedIndex. Si la valeur est 0, l’image d’un disque dur est chargée ; si la valeur est 1, l’image d’une imprimante est chargée ; et si la valeur est 2, l’image d’une antenne satellite est chargée. Vous en apprendrez davantage sur le fonctionnement de la structure de décision Select Case au chapitre 6.

3. En haut de l’Éditeur de code, cliquez sur l’onglet Form1.vb [Design] pour réafficher le formulaire, puis double-cliquez sur le formulaire (et non pas sur l’un des objets) pour afficher le code qui lui est associé.

La procédure événementielle Form1_Load s’affiche dans l’Éditeur de code. C’est cette procédure qui est exécutée à chaque fois que le programme Saisie est chargé dans la mémoire. Les programmeurs placent des instructions de programme dans cette procédure particulière lorsqu’ils souhaitent qu’elles soient exécutées à chaque chargement d’un formulaire. Votre programme peut afficher plusieurs formulaires ou aucun, mais Visual Basic charge et exécute par défaut la procédure événemen-tielle Form1_Load chaque fois que l’utilisateur exécute le programme). Souvent, comme dans le programme Saisie, ces instructions définissent un aspect de l’inter-face utilisateur qui ne pourrait pas être créé à l’aide des contrôles de la Boîte à outils ou de la fenêtre Propriétés.

Voici la procédure événementielle Form1_Load de ce programme :

'Ces instructions s’exécutent au chargement du formulaire PictureBox1.Image = System.Drawing.Image.FromFile _ ("c:\vb08epe\chap03\Saisie\PC.bmp")

'Ajoute éléments à une zone de liste comme suit : ListBox1.Items.Add("Disque dur")

ListBox1.Items.Add("Imprimante") ListBox1.Items.Add("Antenne satellite")

'Les zones de liste déroulantes sont également peuplées via la méthode Add : ComboBox1.Items.Add("Dollars US")

ComboBox1.Items.Add("Chèque")

ComboBox1.Items.Add("Livres anglaises")

Trois des lignes de cette procédure événementielle sont des commentaires (en vert dans l’Éditeur de code). La deuxième ligne de la procédure événementielle charge l’image de l’ordinateur dans la première zone d’image. Cette ligne a été coupée à l’aide d’un espace et du caractère de suite, mais le compilateur la considère tou-jours comme une seule ligne. Le chargement d’une image établit le paramètre par défaut de la zone de groupe d’options Ordinateur. Remarque : le texte entre guille-mets apparaît en rouge.

Les trois lignes suivantes ajoutent des éléments à la zone de liste Périphériques (ListBox1) dans le programme. Les termes entre guillemets simples apparaissent dans la zone de liste lorsqu’elle est à l’écran. Les éléments de la zone de liste dérou-lante Mode de paiement (ComboBox1) sont spécifiés en dessous des instructions de programme de la zone de liste. Le mot clé important de ces deux groupes est Add, une fonction spéciale, ou méthode, qui permet d’ajouter des éléments à des objets zone de liste et zone de groupe.

Vous en avez terminé avec le programme Saisie. Prenez le temps d’examiner toutes les autres parties du programme qui vous intéressent, puis passez à l’exercice suivant.

Dans le document VISUAL BASIC (Page 114-117)