Vous êtes sur la page 1sur 41

Programmation

évènementielle
A N N É E U N I V E R S I TA I R E : 2 0 2 1 - 2 0 2 2

P R . H AYAT I H I N D
Objectif & déroulement
Ce cours porte sur la programmation événementielle en utilisant le langage Visual Basic.
- Maitriser la syntaxe du langage Visual Basic.
- Création des interfaces graphiques et des codes associés.
- Gestion de l’accès aux base de données.
- Cours + Pratique (en même temps)
Sommaire
1. Introduction
2. Environnement de développement Visual BASIC
3. Les étapes de création d’une application en Visual Basic
4. Les structure de base de VB
5. Les variables
6. Les instructions de contrôle
7. Création d’une interface utilisateur
8. Manipulation de fichiers
Introduction
I. C’est quoi la programmation ?
II. Les types de programmation
III. Définition de la programmation évènementielle
IV. La différence entre la programmation évènementielle et la programmation classique
V. Les constituants principaux de la programmation évènementielle
La programmation
- La programmation est la discipline de l’informatique qui permet de résoudre, grâce à des programmes
informatiques, des problèmes de la vie réelle.

- Un programme informatique suit un schéma de résolution, c’est un ensemble d’instructions respectant un


cheminement bien déterminé produisant à partir des éléments d’entrées, d’autres éléments de sorties.

Exemple:

Développer des applications: gestion de stock, gestion de paie.

Automatiser des tâches répétitives: processus métier

Réaliser des calculs complexes.

Réaliser des jeux vidéos

Réalisation d’applications web (JEE, .NET, etc)


Type programmation
- Programmation structuré, procédurale ou linéaire :

- Programmation orientée objet

- Programmation événementielle
Programmation linéaire (Classique)
le programme est vu comme un ensemble d’unités structurés hiérarchiquement. Il existe une
interaction entre les modules et on fait généralement distinction entre les données et les
traitements.

Exécution d’un ensemble d’instructions du langage dans un ordre déterminé, respectant un


schéma de résolution préétabli.
Programmation linéaire (Classique)
- Le programme est sous forme d’un fichier contenant uniquement du texte, qu’on peut ouvrir
avec un éditeur de texte. Exemple: Hello.C, monprogramme.java, Calcul.py, etc.

- C’est le programme qui dicte à l’utilisateur ce qu’il doit faire en vue d’effectuer le traitement.
(utilisateur esclave de l’application)

- Utilisation du clavier pour interagir avec le programme.

- Déclencher le code en lançant le programme.


Programmation orientée objet
La programmation orientée objet (POO) est un paradigme au sein de la programmation
informatique. Il s’agit d’une représentation des choses, un modèle cohérent – partagé à travers
différents langages qui permettent son usage (Python, Java, C++)

le programme n’est une autre qu’une collection d’objet qui communique. Un objet et par
définition une instance d’une classe dont les composantes peuvent être de deux types :

propriétés et méthodes.
Programmation évènementielle
• Un programme interagisse avec l'extérieur en échangeant des données en entrée et en sortie.

• Echanger des événements, et déclencher des actions en fonctions d'autres actions extérieures.

Cas des sites Web dynamiques, qui réagissent pour changer l'état ou l'apparence de la page, par
exemple lorsque l'on clique sur un bouton.

La programmation événementielle se focalise ainsi sur l'exécution de code en fonction


d’événements, plutôt qu'une simple exécution séquentielle des instructions
Programmation évènementielle
Ce paradigme est fondé sur les événements qui se produisent dans le programme. En d'autres
termes, l'exécution du programme sera déterminée par ce qui se produit à un instant donné.

On en voit l'intérêt dans des programmes à interface graphique, où l'utilisateur peut utiliser sa
souris ou son clavier pour déclencher une action.

De tels programmes ont généralement besoin de détecter ces événements et d'exécuter


immédiatement les actions associées.
Programmation évènementielle
Les composants d'une application événementielle, c’est à dire les objets, interagissent entre eux
et avec l'environnement. Ils communiquent en réponse à des événements. Ces événements
peuvent correspondre à une action de l'utilisateur : un click sur un bouton de commande, une
écriture dans une zone de texte, un choix dans une case d'option ou une case à cocher, ... Ils
peuvent aussi être déclenchés par le système : creation/ ouverture d'une feuille, validation d’une
boite de dialogue, etc.
Programmation événementielle vs Linéaire
- Le programme attend qu’un événement survienne pour réaliser un traitement.

- Un événement est un signal qui informe l'application que quelque chose d'important s'est produite.

- Utilisation des dispositifs pour interagir avec l’application (clavier, souris, etc.).

- L’application réagit aux interactions de l’utilisateur.

Exemple:
◦ Cliquer sur un bouton est un événement.
◦ Sélectionner un élément dans une liste.
◦ Après 10 min d’inactivité verrouiller la session
◦ Chargement de la page
◦ Fermer la page, réduire la page
Programmation événementielle
-Séparation entre présentation et traitement
-Ordre d'exécution n'est pas fixé
-Une action (événement) sur un objet provoque l'exécution d'un traitement spécifique (
procédure événementielle)

Code
Interface
Procédure 1

Objet
Procédure 2

Evénement (keypress,...) Procédure 3


Programmation événementielle
Constituants
Les contrôles:

✓ Ce sont les objets ou les éléments graphiques qui constituent l'interface de l'application

✓ Ils sont utilisés généralement sur l’interface d’une application graphique pour fournir un
certain ensemble de fonctionnalités.

✓ Un contrôle possède un ensemble de Propriétés, de procédures événementielles


(appelées également Evénements) et de méthodes.

✓ Il y a plusieurs types de contrôles tels que: Les boutons de commandes, les zones de
textes, les listes, …
Programmation événementielle
Constituants
Propriétés : Elles représente les caractéristiques d'un contrôle.

Exemples:

✓ le nom: Name

✓ la taille en hauteur et largeur: Size

✓ couleur du fond: Backcolor

✓ couleur du contenu: Forecolor

✓ Le contenu: Texte
Programmation événementielle
Constituants
Méthode:
C’est une procédure qui permet d’appliquer un traitement particulier à un contrôle. Ce
traitement est généralement une modification des propriétés du contrôle.
Exemples:
✓ effacer le contenu d’un contrôle: Clear
✓ cacher le contrôle: Hide
✓ Afficher le contrôle: Show
Les méthodes sont appelées selon la syntaxe suivante:
nom_contrôle.méthode( [argument1, argument2, …] )
Exemple: Effacer le contenu d'une zone de texte Ville

Ville.Clear( )
Programmation événementielle
Constituants
Evénement:
Il est déclenché automatiquement en réponse à une action externe lors de l’exécution de
l’application.
L’action peut être un clic, une sélection d’une option dans un menu ou liste, etc.
Exemples:
click: se déclenche lorsque l’utilisateur clique sur un contrôle
KeyPress: se déclenche lorsque l’utilisateur tape une touche du clavier
load: se déclenche lors du chargement d’une feuille (Form)
Programmation événementielle
Constituants
Procédure événementielle :

A chaque événement à intercepter, il faut développer la procédure de traitement de son


événement appelé Procédure événementielle qui aura le nom
NomContrôle_NomEvénement et la structure suivante:

Private Sub NomContrôle_NomEvénement(paramètres)


Instruction 1
Instruction 2
……………
End Sub
A retenir
- En programmation événementielle, l’exécution d’un code, est conditionnée par le déclenchement d’un événement.
(Application Esclave)

- En programmation linéaire (classique), l’exécution d’un code, est conditionnée par le schéma d’instructions dicté par le
programmeur. (Utilisateur Esclave)

- Les interfaces graphiques reposent sur les principes de la programmation événementielle.

- Un événement peut être déclenché par l’utilisateur (clic de souris, sélection …), mais aussi par le système (chargement
ou fermeture d’une feuille, top d’horloge …).

- Le système capte ces différents événements et les traite dans leur ordre d’arrivée.

- En programmation événementielle, le programmeur prévoit le traitement à effectuer lorsque l’événement se produit.

- Les instructions à exécuter sont regroupées dans une procédure événementielle que l’on associe au composant
concerné par l’événement.
Déclenchement d’un événement
Exemple : Clic sur un bouton
Déclenchement d’un événement
Exemple : sélection d’une valeur
dans une liste déroulante
Absence de traitement d’un événement
Exemple : changement
de sélection de tarif
Visual BASIC
Visual Basic est un langage de programmation développé par Microsoft pour créer facilement
des applications fonctionnant sous Microsoft Windows.
Visual BASIC
Le terme « Visual » (visuel) fait référence à la méthode utilisée pour créer ce que l'utilisateur
voit : l'interface utilisateur graphique, ou GUI (Graphical User Interface).

- "Basic" (de base) fait référence au langage de programmation BASIC (Beginners All-Purpose
Symbolic Instruction Code), le langage le plus utilisé dans l'histoire de l'informatique.

- Visual basic appartient à une famille de langages de programmation de haut niveau ayant pour
but la facilité d'utilisation
Visual BASIC
L'intérêt de ce langage est de pouvoir associer aux éléments de l'interface des portions de code
associées à des événements (clic de souris, appui sur une touche, ...). Pour cela, Visual Basic
utilise un petit langage de programmation dérivé du BASIC.
Environnement de développement
intégré
Pour développer tout type d’application ou apprendre un langage, vous aurez besoin de ce qu’on
appelle l’environnement de développement intégré (IDE).

Un environnement de développement intégré, ou IDE, est un logiciel de création d'applications,


qui rassemble des outils de développement fréquemment utilisés dans une seule interface
utilisateur graphique (GUI).
Environnement de développement
intégré
Un IDE se compose habituellement des éléments suivants :

Éditeur de code source : un éditeur de texte qui aide à la rédaction du code logiciel, avec des
fonctions telles que la coloration syntaxique avec repères visuels, la saisie automatique en fonction du
langage et la vérification de bogues dans le code pendant la rédaction.

Utilitaires d'automatisation de version locale : des utilitaires qui permettent d'automatiser des
tâches simples et reproductibles lors de la création d'une version locale du logiciel à destination du
développeur lui-même, par exemple la compilation du code source en code binaire, la mise en paquet
du code binaire et l'exécution de tests automatisés

Débogueur : un programme qui permet de tester d'autres programmes en affichant l'emplacement


des bogues dans le code d'origine
Environnement de développement
intégré
Pour le langage Visual BASIC on va utiliser l’IDE Visual Studio. Au-delà de l’édition de code, Visual
Studio IDE réunit en un seul endroit des concepteurs graphiques, des compilateurs, des outils de
complétion de code, le contrôle de la source, des extensions et bien d’autres fonctionnalités.
Concepteur de Explorateur de
Boîte à outils
Windows Forms solution

Formulaire

Fenêtre de
propriétés
EDI de « Windows Forms Application »
 Explorateur de solution: contient la liste des fichiers constituants de l’application .
 Concepteur Windows Forms: permet d’afficher les formulaires que contient votre
projet, avec leurs contrôles.
 Propriétés: présente la liste des propriétés du contrôle sélectionné par ordre
alphabétique et affiche le choix des événements du contrôle concerné.
 Boîte à outils : renferme tous les contrôles standards et éventuellement ceux
personnalisés.
 Outils de débogage: Lors de la compilation (Build) de votre application, les erreurs
importantes seront listées au niveau de cet onglet.
Boîte à outils de Windows Forms
Parmi les contrôles de la boîte à outils de Windows Forms :
◦ Button: bouton de commande
◦ CheckBox: Affiche une case à cocher et une étiquette pour le texte. Généralement
utilisé pour définir des options.
◦ CheckedListBox: Affiche une liste déroulante d'éléments accompagnés chacun d'une
case à cocher.
◦ ComboBox : Affiche une liste déroulante d'éléments
◦ DateTimePicker: Affiche un calendrier graphique permettant aux utilisateurs de
sélectionner une date ou une heure.
◦ Label : Affiche du texte que les utilisateurs ne peuvent pas directement modifier.
Boîte à outils de Windows Forms
◦ ListBox : Affiche une liste d'éléments texte et graphiques (icônes).
◦ PictureBox: Affiche dans un frame des fichiers graphiques tels qu'images bitmap et
icônes.
◦ RadioButton: Affiche une case d'option qui peut être activée ou désactivée.
◦ TextBox : Affiche un texte entré au moment du design et pouvant être modifié par les
utilisateurs au moment de l'exécution ou par programme.
◦ RichTextBox: Permet l'affichage du texte au format texte brut ou RTF.
◦ MaskedTextBox : Contraint le format d'entrée d'utilisateur.
Les étapes de création d’une application Visual Basic

-1- Création de -2- Définition des propriétés des objets de


l'interface utilisateur l'interface utilisateur
Propriétés Valeurs
Name TextBox1
BackColor Blue
Autosize True
-3- Écriture de code pour l'ajout de fonctionnalités Visible True
Private Sub Form1_Load(………..) Handles Form1.Load Font Microsoft sansSérif 8pts
'Ajoutez votre code ici
End Sub
-4- Test et débogage de l'application
-5- Création d'un fichier exécutable
-6- Création d'un programme d'installation
Les Feuilles de travail (Form)
 Une feuille de travail « Form » représente une fenêtre ou une boîte de dialogue qui
compose l'interface utilisateur d'une application.
 Quelques propriétés :
◦ BackColor: la couleur d'arrière-plan

◦ Font :la police du texte dans le contrôle

◦ Name: nom

◦ Size: la taille du formulaire.

◦ Text : le texte associé à ce contrôle

◦ WindowState: indique si un formulaire est réduit, agrandi ou normal. Au moment de l’exécution


Les Feuilles de travail (Form)
 Quelques événements :

◦ Closed: Se produit lorsque le formulaire est fermé

◦ KeyPress : Se produit lorsqu'une touche est enfoncée alors que le contrôle a le focus.

◦ LostFocus: Se produit lorsque le contrôle perd le focus.

◦ Load: Se produit avant l'affichage de la feuille (au moment de son chargement dans la
RAM)

◦ Shown : Se produit après l'affichage de la feuille.


Les boutons de commande (Button)
 Le contrôle Button Windows Forms permet à l'utilisateur d'effectuer une action en
cliquant dessus.
 Quelques propriétés :
◦ BackColor: Obtient ou définit la couleur d'arrière-plan du contrôle
◦ Font :Obtient ou définit la police du texte affiché par le contrôle
◦ Name: Obtient ou définit le nom du contrôle.
◦ Image: Obtient ou définit l’image affichée sur le contrôle button.
◦ Text : Obtient ou définit le texte associé à ce contrôle
Les boutons de commande (Button)
 Quelques événements :
◦ Click: Se produit suite à un clic sur le bouton
◦ DragDrop : Se produit lors d'une opération de
glisser-déplacer.
◦ LostFocus: Se produit lorsque le contrôle perd le focus.

 L’événement « Click »:

Lorsque l'utilisateur clique sur le bouton, ce dernier réagit comme s'il était enfoncé puis relâché.
Chaque fois qu'un utilisateur clique sur un bouton, le gestionnaire d'événements Click est appelé.
Private Sub BTN_Msg_Click( …….) Handles BTN_Msg.Click
'Ajoutez votre code ici
End Sub
Atelier N°1: Familiarisation EDI et Bouton
de commande
1- Utilisation de l’EDI de VB
a. Examinez un formulaire dans le Concepteur Windows Forms, ses propriétés
et l'éditeur de code
b. Examinez les paramètres des propriétés des contrôles
c. Ouvrez, fermez, rouvrez et masquez la boîte à outils

2- Utilisation de formulaire et bouton de commande


a. Créer la feuille suivante:
Atelier N°1: Familiarisation EDI et Bouton
de commande
UTILISATION DE L'INTERFACE:
1. Un clic sur les boutons de déplacement « haut », « bas », « gauche » et « droite » permet de déplacer
de 5 unités le bouton « source ».
2. Un clic sur les boutons « + » et « - » de hauteur et de largeur permet de changer la taille de 5 unités
du bouton « cible »

Indications:
o Se baser sur les valeurs des propriétés top et left pour faire le déplacement d'un contrôle et sur les
valeurs des propriétés height et Width pour agrandir un contrôle.

Vous aimerez peut-être aussi