Vous êtes sur la page 1sur 35

Plan général du cours

 Introduction au VB.NET

 Langage Visual Basic

 Les outils de création des interfaces graphiques

 Gestion des erreurs

 Gestion des fichiers

PARTIE I
INTRODUCTION AU VB.NET

1
Plan partie 1
3

 Introduction
 Présentation de l’environnement
 Les objets
 La programmation événementielle
 La création d’applications en VB.NET
 Interface

 Code

Introduction
4

 En informatique, la programmation
événementielle est un paradigme de
programmation fondé sur les événements.

 Elle s'oppose à la programmation séquentielle.

2
Introduction
5

 Le programme sera principalement défini par


ses réactions aux différents événements qui
peuvent se produire, c'est-à-dire des
changements d'état de variable, par exemple
l'incrémentation d'une liste, un déplacement ou
un clic de souris, une saisie au clavier..

Introduction
6

 Interfaces graphiques utilisant la Windows API


 C# avec les EventHandler (voir Observateur (patron de conception) dans
la partie C#)
 Swing une bibliothèque graphique Java
 MATLAB avec Stateflow et Simulink
 Android
 Twisted
 Visual Basic

3
Introduction
7

 La programmation avec le langage VB.net est


une programmation très semblable, dans son
principe, à la programmation avec d’autres
langages.

 On obéit toujours au principe de l’analyse puis


codage.

Introduction
8

Lors de la programmation d’un logiciel en VB, les


étapes suivantes sont très importantes à suivre :
 Spécification des besoins des futurs
utilisateurs. (compréhension du problème à
résoudre)
 Spécifications fonctionnelles : comment
satisfaire aux besoins.
 Conception générale : division du logiciel en
programmes.

4
Introduction
9

 Conception détaillée : algorithme le plus


adapté pour chaque programme.

 Assemblage des différents programmes.

 Codage à l'aide du langage le plus adapté.

 Validation et qualification.

Introduction
10

 La conception est beaucoup plus importante


que le codage qui peut être sous-traité dans le
cas de gros logiciels.

5
Introduction
11

La programmation avec le langage VB.net se


base sur 2 notions :

 La programmation orientée objet

 La programmation événementielle

Environnement de VB.NET
12

 Barre de menus
 Explorateur de solution : Solution Explorer
 Boîte à outils : Toolbox
 Fenêtre de propriétés : Properties

6
Exemples d’objets de la boîte à outils
13

 Les contrôles sont des objets graphiques qui


permettent de constituer des applications à
interface Windows.
 Formulaires, Boutons, Étiquettes, les ComboBox
et les boutons radios, les CheckBox etc
 Le formulaire est le composant de base de
toute application VB.net
 Ajout d’autres contrôles par le menu
Project/Add Component

Les objets
14

 Combinaison de :
 données (propriétés)
 code (méthodes)
 Propriétés : déterminent l’aspect et le
comportement des objets.
 Objet.Propriété
 Méthodes : appliquent des actions aux objets
 Objet.NomMéthode(liste d’arguments)

7
Les propriétés
15

 Chaque objet (contrôle) de VB possède


différentes propriétés qui définissent son
aspect
 Modification des propriétés :
 Lors de la création (conception/designer) :
 utiliser la fenêtre propriétés
 Lors de l’exécution :
 nom_objet.nom_propriété = valeur

Les Méthodes
16

 Les méthodes appliquent des actions aux objets.


 Pour agir sur l’objet (appel de la méthode) :
 Nom_Objet.Nom_Méthode()
 Exemple :
 Form1.show()
 Form1.Hide()
 Indication :
 Pour chaque application, on peut définir quel formulaire
s’ouvrira le premier:
 Project /NomProjet/ properties/ onglet application
 Sélectionner dans la liste : Startup form puis le
formulaire de démarrage

8
Programmation Événementielle
17

 Paradigme(style) de programmation fondé sur les événements.


 S'oppose à la programmation séquentielle (exécution ligne par
ligne) comme le langage C.

 L’exécution du programme sera principalement défini par les


réactions aux différents événements qui peuvent se produire:
 le click sur un bouton
 un mouvement de souris ou de clavier

 La procédure événementielle porte le nom du contrôle associé au nom de


l’événement
 Button1_Click() : appel de cette procédure lors du clic sur le contrôle Button1
 Form1_load() : appel de cette procédure lors du chargement du formulaire 1
 Text_box1_KeyUp() : survient quand on relâche la touche

Présentation générale du VB.NET


18

 Permet la réalisation des applications desktop avec:


 des interfaces graphiques performantes
 peu de programmation

9
Programmation Événementielle
19

- Exemple: Programme à base de la P.E

- L’exécution du programme de calcul de la somme sera


après le click sur le bouton « Calculer somme »

Création d’une application en VB.NET


20

 Elle comprend 2 étapes :


① Conception de l’interface utilisateur de
l’application (Formulaires ou IHM)
② Écriture du code pouvant réagir aux actions
effectuées à partir de l’interface utilisateur

10
Éditeur de code
21

 Un éditeur syntaxique :
 Détecte
les instructions erronées au fur et à
mesure qu’on les entre (souligné en bleu/ mis en
rouge)
 Bleu correspond aux mots clés
 Vert correspond aux commentaires (toute ligne
commençant par un guillemet simple)

Projet VB.NET
22

 Un ensemble de fichiers définissant une


application
 Les formulaires (ou windows form) :
 MyForm.vb
 MyForm.designer.vb

 Les modules de code ou de classes : .vb


 Le fichier général de description du projet :
(.vbproj)

11
Sauvegarde / Exécution
23

 Sauvegarde
 Fichiers .vb
 Fichiers .designer.vb
 Fichier .vbproj

 Compilation : Build

 Exécution : Start debugging ou F5

PARTIE II
LANGAGE VISUAL BASIC

12
Plan Partie 2
25

 Introduction
 Les variables / constantes
 Dialogue avec l’utilisateur : input/output
 Les structures de contrôles
 Les fonctions et procédures
 Portée des variables
 Les fonctions prédéfinies

Présentation du VB.net
26

 VB.net est un langage de programmation orienté


objet, très utilisé dans la programmation
événementielle. VB est l'abréviation de VISUAL
BASIC:
 BASIC → Dérivé du langage basic ( Beginner's
All purpose Symbolic Instruction Code) des
années 60
 VISUAL → Dessin et aperçu de l’interface avant
l’exécution

13
Présentation du VB.net
27

 VB n'est pas sensible à la casse (pas comme


d'autres langages comme Java et C ) : il ne fait pas
la différence entre majuscule et minuscule.

 Exemple: La variable nommée id, celle nommée


ID ou iD représentent la même variable en VB.

 Le commentaire commence par le caractère suivant


'

Présentation du VB.net
28

 Chaque instruction VB est écrite généralement dans


une ligne à part : la fin de l'instruction. Elle ne finit
pas par un ; comme en C ou Java.

14
Variables
29

 Une variable possède :


 Un identificateur (Nom)
 Un type

 Déclaration de la variable :
 Dim <Nom variable> As <Type>
 Dim age as Integer
 Dim nom as String

Types de variables
30

 Boolean = true ou false


 Integer : de –32768 à 32767
 Long : -2147483648 à 2147483647
 Single : décimaux en simple précision
 Double : décimaux en double précision
 String : jusqu’à 65000 caractères
 Date : Du 1er janvier 0001 0:00:00 (minuit) au 31
décembre 9999 23:59:59

15
Déclarations des constantes
31

 Const <Nom constante> = Expression


 Exemple :
Dim Const PI As Double = 3.14

 VB.net Comporte des constantes prédéfinies.

Tableaux
32

 Dim NomTab(BorneSup) As Type


 Dim TSemaine (7) as String

 Tsemaine(0) = "Lundi"

 Par défaut, l’indice du premier élément est 0

16
Boîte de dialogue d’affichage
33

 Permet d’afficher un message destinés à


l’utilisateur.
 Synatxes :
 Rep = MessageBox.Show(message,Caption,type_Button)
 MessageBox.Show(message,Caption,type_Button)
 Show : Methode de la classe MessageBox permet d’afficher
le message
 Message : message que l’on veut écrire il peut être du texte
ou du contenu d’une variable (Prompt)
 Caption : le texte s’affichant dans la barre de titre (Caption)
 Type_Button : Indique quel type de boîte va s’afficher (Style)
 Rep : la valeur renvoyée de type DialogResult qui indique le
numéro du bouton choisi par l'utilisateur.

Exemples de types de boîtes d’affichage


34

 MessageBoxButtons.AbortRetryIgnore :
 Abandonner, Recommencer et Ignorer
 MessageBoxButtons.YesNoCancel :
 Oui, Non et Annuler
 MessageBoxButtons.YesNo :
 Oui et Non
 MessageBoxButtons.RetryCancel :
 Recommencer et Annuler
 … etc

17
Valeurs de retour du click - boîtes d’affichage
35

 Windows.Forms.DialogResult.OK : 1
 Windows.Forms.DialogResult.Cancel : 2
 Windows.Forms.DialogResult.Abort : 3
 Windows.Forms.DialogResult.Retry : 4
 Windows.Forms.DialogResult.Ignore : 5
 Windows.Forms.DialogResult.Yes : 6
 Windows.Forms.DialogResult.No : 7

Boîte de saisie
36

 Permet de saisir une information par le biais d’une


boîte de dialogue
 Syntaxe :
 Réponse = InputBox(Invite,Titre,Valeur,Xpos,Ypos)
 Invite = texte à afficher pour guider l’utilisateur (Prompt)
 Titre = titre de la fenêtre (Title)
 Valeur = valeur par défaut affiché dans la zone de saisie
(DefaultResponse)
 Réponse= contient la valeur saisie par l’utilisateur de type
String

18
Exercice 1
37

 Ecrire une application qui permet d’afficher la moyenne


d'un étudiant à un module sachant que ce module est
sanctionné par une note d'oral et une note d'écrit avec
des coefficients respectifs.
 Cet exercice nous permettra de nous familiariser avec les points
suivants :
 Déclaration des variables
 Déclaration d’une constante
 Utilisation de InputBox et MsgBox
 Utilisation de la constante prédéfinie vbYes lors du click sur un
bouton Quitter

Opérateurs
38

 Opérateurs arithmétiques :
 Opérateurs permettant d'effectuer des calculs
mathématiques.
 Opérateurs de comparaison :
 Opérateurs permettant d'effectuer des comparaisons.
 Opérateurs de concaténation :
 Opérateurs permettant de combiner des chaînes.
 Opérateurs logiques :
 Opérateurs permettant d'effectuer des opérations logiques.

19
Opérateurs arithmétiques
39

 +: addition classique
 - : soustraction
 * : multiplication
 / : diviser deux nombres et renvoie en résultat un
nombre à virgule flottante (Double)
 \ : Diviser deux nombres et renvoie un nombre
entier
 ^ : Permet d'élever un nombre à une puissance.
 Mod : Permet de diviser deux nombres en ne
renvoyant que le reste

Opérateurs de comparaison
40

 < : inférieur à,
 <= : inférieur ou égal à
 > : supérieur à
 >= : supérieur ou égal à
 = : égal à
 <> : différent de
 Exemple: prix_vente > 120
 Peut être évalué à vrai (True) ou à faux (False) selon que
la valeur de la variable prix_vente est supérieure à 120

20
Opérateurs de concaténation
41

 L'opérateur & permet de réunir à la suite des


chaînes de caractères
 Si on l'utilise avec une chaîne et un nombre, le
nombre est automatiquement converti en
chaîne
 Exemple
MsgBox ("nom Faculté : " & nomFaculté)
Str1 = nomFaculté & " " & adresseFaculté

Opérateurs logiques
42

 And, Or, Not


 Condition composée :
 une expression composée de conditions simples reliés par
des opérateurs logiques.
 Exemple:
 (prix_vente > 120) Or Not bon_état
 Type de prix_vente, bon_état ??
 Priorité des opérateurs
 Not > And > Or

21
Les structures de contrôle
43

 Branchement Conditionnel

 Choix multiple

Branchement Conditionnel
44

 If Condition Then
[Instructions]
End If
 If Condition Then
[Instructions]
Else
[Instructions]
End if
 If condition1 Then
<instructions 1>
ElseIf condition2 Then
<instructions 2>
Else
<instructions 3>
End If

22
Exercice 2
45

 Ecrire un programme permettant la saisie d’une


note et son affichage. Afficher en plus
l’appréciation de la note saisie.
 Vérifier si la note est comprise entre 0 et 20. Une
note incorrecte ne doit pas être affichée (message
d’erreur).
 Afficher l’appréciation en fonction de la note
obtenue (<10 : note éliminatoire, 10 : passable,
12 : assez bien, 14 : bien, 16 : très bien).

Choix Multiple
46

 Select Case Expression


Case Listevaleurs1
[Instructions]
Case Listevaleurs2
[Instructions]
Case Else
[Instructions]
End Select
 Listevaleurs peut être :
 Une suite de valeurs : 1, 3,5,7
 Une fourchette : 0 To 9
 Une plage : Is>=10

23
Exercice 3
47

 En utilisant l’instruction Select case, écrire un programme qui


permet d’afficher la moyenne d'un étudiant à un module sachant
que ce module est sanctionné par une note d'oral et une note d'écrit
avec des coefficients respectifs.
 Vérifier si les notes comprises entre 0 et 20. Une note incorrecte ne
doit pas être affichée (message d’erreur).
 Afficher en plus l’appréciation de la moyenne.
 Afficher l’appréciation en fonction de la moyenne obtenue (<10 :
note éliminatoire, 10 : passable, 12 : assez bien, 14 : bien, 16 :
très bien).

Boucle For
48

 For Compteur = Début To Fin Step Pas


[instructions]
Next Compteur

 Par défaut, Pas = 1


Sub main()
Dim tab (5) As Integer
Dim i,s As Integer
For i= 0 To 4
tab(i) = InputBox("Nombre: " & i)
s += tab(i)
Next i
End Sub

24
Do While
49

 Do While Condition
[Instructions]
Loop
 La condition est testée au début

 Do
[Instructions]
Loop While Condition
 La condition est testée à la fin de la boucle

Exercice 4
51

 Écrire un programme qui permet de saisir les


températures des sept jours de la semaine et de
donner la moyenne, le maximum et le minimum de ces
températures.
 Nous considérons qu’une température devrait être
comprise entre -50° et +50°. Nous imposons
que les températures saisies soient correctes. Ainsi,
il faut re-saisir la température jusqu’à ce qu’elle soit
correcte.

25
Les enregistrements : Structure
52

 Permet de regrouper des données de différents


types sous un seul nom.
 Permet de créer des types personnalisés de
données.
 Exemple de définition d’un modèle de structure
Structure Etudiant
Dim ID As Integer
Dim Nom As String
Dim Prenom As String
Dim Note As Double
End Structure
 /!\ Une structure doit être déclarée dans la partie de
déclarations globale d’un module ou d’un formulaire
et non pas à l’intérieur d’une procédure ou fonction.

Structure (suite)
53

 Déclaration d’une variable de type Etudiant


 Dim e1 as Etudiant
 Accès aux champs d’une structure
 e1.ID = 1238
ou
With e1
.ID = 1238
.Nom = "MEKKAOUI"
.Prenom = "Ahmed"
.Note = 15
End With

26
Structure (suite)
54

 Déclaration d’un tableau de type Etudiant


 Dim TE(100) as Etudiant
 Accès aux champs des éléments du tableau
 WithTE(0)
.ID = 1238
.Nom = "MEKKAOUI"
.Prenom = "Ahmed"
.Note = 15
End With

Structure: Exercice d’application


55

Créer une application qui permet


d’enregistrer des Etudiants
 Ajouter un formulaire contenant :
 Des zones de texte pour saisir
les différentes infos de l’étudiant.
 Des boutons pour:
 Sauvegarder les données
dans un tableau d’enregistrement
 Calculer la note moyenne, max et min de
la classe.
 Afficher l’appréciation de la note de
chaque étudiant (dans ListBox)

27
Procédures
56

 Ne retourne pas de valeur


 Syntaxe :
Sub Nom_procédure([BYVAL] variable as
Type,[BYREF] variable As Type)
// déclarations
// instructions
End sub

BYVAL : paramètre est passé par valeur ou par


copie
BYREF : paramètre est passé par adresse ou
référence

Fonctions
57

 La fonction renvoie une valeur utilisable


 Syntaxe :
Function Nom_fonction([BYVAL] variable
as Type,[BYREF] variable As Type)
//déclarations
//instructions
Return variable_calculée
End Function

28
Appel des procédures et fonctions
58

 L’appel se fait par son nom suivi de la liste des


paramètres effectifs
 Nom_procedure (valeur1,valeur2,..)
 Variable = Nom_fonction(valeur1,valeur2,..)

Exercice 5
59

1. Écrire une procédure qui permet de


Permuter les deux arguments passés en
paramètre.
2. Écrire 3 fonctions qui permet de déterminer
et retourner le minimum, le max et la
moyenne d’une liste de valeurs.
3. Ecrire une fonction qui permet de retourner
une liste des nombres paires. Faire pareil
pour les nombres impaires.

29
Portée des variables
60

 La portée des variables diffère selon le lieu de


déclaration.
 On distingue trois possibilités :
 Niveau Procédure/Fonction
 Niveau Formulaire

 Niveau module

Niveau Procédure
61

 La variable est locale.


 Elle est valide que pour cette procédure.
 Elle est déclarée à l’intérieur de la procédure
par la syntaxe suivante :
 Dim <Nom variable > as <Type>

30
Niveau Formulaire
62

 Les variables déclarées dans la section


Déclarations d’un formulaire peuvent être Private
ou Public
 Private : disponible seulement pour toutes les
procédures du formulaire, et ce par la syntaxe
suivante :
 Private <Nom_variable> as <Type>
 Public : utilisables dans toute l’application, et ce
par la syntaxe suivante :
 Public <Nom_variable> as <Type>
 Il faut spécifier le nom du fromulaire si on veut utiliser la
variable en dehors du fromulaire.
 Exemple :
nom_formulaire.nom_variable

Niveau module
63

 Les variables déclarées dans la section


Déclarations du module peuvent être Private
ou Public
 Déclarations:
 Public <Nom_variable> as <Type>
 Disponible dans toute l’application
 Private <Nom_variable> as <Type>
 Disponible uniquement pour les procédures du
module.

31
Exemple 4
64

 Créez une application avec deux formulaires et


un module
 Insérez une zone de texte et un bouton dans
chacun des formulaires.
 Déclarez et initialisez une variable var1 dans le
module
 Essayer d’afficher cette variable dans la zone de
texte du premier formulaire
 Déclarez une variable var2 dans le 1er
formulaire
 Affichez le contenu de la zone de texte du
premier formulaire dans le deuxième, en utilisant
var2 comme variable intermédiaire.

Portées des procédures et Fonctions


65

 Private : signifie que la fonction [procédure] est


utilisable par toutes les procédures et les
fonctions du même module (lieu de sa
définition).

 Public : signifie que la fonction [procédure] peut


être appelée par toutes les procédures et les
fonctions du projet.

32
Exercice 6 : suite du TP2
66

 Reprendre l’exercice ‘Structure


Etudiant’
 Utiliser les fonctions ou procédures
pour implémenter les fonctionnalités
demandées.
 Ajouter des boutons pour :
 Trier la liste des notes par ordre
croissant
 Effectuer des statistiques :
 Minimum
 Maximum
 Moyenne
 Les fonctions ou procédures doivent
être définies dans un module.

Traitement des chaînes de


67
caractères (le type String)
 Les méthodes de l'objet String
 ToUpper:
 Mettre en majuscules une chaîne de caractères
 ToLower :
 Mettre en minuscule
 Trim :
 Permet de supprimer des caractères
 Length :
 Taille d'une chaîne en nombre de caractères
 Concat :
 Mettre bout à bout

33
Traitement des chaînes de
68
caractères (le type String)
Exemples
 Dim Message as string
Message = " bonjour 2ap "
Message = Message.ToUpper()
 => Message = " BONJOUR 2AP "
Message = Message.Trim(" ")
 => Message = "BONJOUR 2AP"
 Dim A,B,C as string
A = "KAMALI "
B = "Ahmed"
C = string.concat(A,B)
 => C = "KAMALI Ahmed"

Les fonctions mathématiques


69

Dim R as double
R = Math.Min(2,3) => R = 2
R = Math.Max(2,3) => R = 3
R = Math.Pow(2,3) => R = 8
R = Math.sqrt(9) => R = 3
R = Math.abs(-7) => R = 7

34
Autres fonctions
70

 IsNumeric() : permet de déterminer si le contenu


d'une variable est un nombre
 Exemple :
Dim MyVar as String
Dim R as Boolean
MyVar ="45"
R = IsNumeric (MyVar) => R = True
MyVar = "45 kg"
R = IsNumeric(MyVar) => R = False
 Val() : renvoie un nombre si la chaîne passée en
argument est composée de chiffres.
 Dim n as Integer
 n = Val("10") => n = 10

35

Vous aimerez peut-être aussi