Vous êtes sur la page 1sur 248

Introduction à la

programmation en
Visual Basic® .NET avec
Microsoft® .NET
Plan du cours

 Module 1 : Mise en route


 Module 2 : Utilisation de formulaires et de contrôles
 Module 3 : Utilisation de variables et de tableaux
 Module 4 : Utilisation de procédures
 Module 5 : Structures de décision et boucles
 Module 6 : Validation des entrées de l’utilisateur
Plan du cours (suite)

 Module 7 : Programmation orientée objet en


Visual Basic .NET
 Module 8 : Gestion des erreurs et des exceptions
 Module 9 : Amélioration de l’interface utilisateur
 Module 10 : Déploiement d’applications
Module 1 :
Mise en route
Vue d'ensemble

Création Écriture de
d'une code
interface
 Concepts de base de
l'environnement .NET
Utilisation
Use Visual
de
Visual
Studio .NET  Exploration de
Studio .NET l’environnement de
développement

Accès Débogage
 Création d'un projet
aux données et déploiement Visual Basic .NET
Leçon : Concepts de base de l'environnement .NET

Visual Studio
.NET ?
Plate-forme AIDE !
.NET ?
.NET

Visual Basic
.NET .NET ?
Framework ?
Présentation de la plate-forme .NET

Outils pour les


développeurs
Clients

Services Web XML

Serveurs Expériences
utilisateur
Fonctionnement de Microsoft .NET Framework

Services
Services de
de programmation
programmation

.NET Framework
Applications Bibliothèque de classes
Visual Basic

ADO.NET
Services Web XML

Types de données
Windows
Code de la
plate-forme
Applications
Visual C# .NET

Le
Le compilateur
compilateur JIT
JIT génère
génère
Applications du
du langage
langage machine
machine
Visual C++
Common Language
Compilation du code source en MSIL
Runtime
Compilation du code source en MSIL
Présentation de Microsoft Visual Studio .NET

Outils
Outils pour
pour Web
Web Outils
Outils pour
pour Windows
Windows
Forms
Forms Forms
Forms

Prise
Prise en
en charge
charge Visual Studio .NET
de
de plusieurs
plusieurs Gestion
Gestion des
des
langages
langages de
de erreurs
erreurs
programmation
programmation

Outils
Outils pour
pour les
les
services
services Web
Web XML
XML Accès
Accès aux
aux données
données

Design Développement Débogage Déploiement


Utilisation de la page de démarrage

Commencer
Nouveautés
Communauté en ligne
Actualités
Recherche en ligne
Téléchargements
Services Web XML
Hébergement Web
Mon profil
Présentation d'un modèle d'application

Fournit
Fournit les
les fichiers
fichiers de
de démarrage,
démarrage,
la
la structure
structure de de projet
projet et
et les
les
paramètres
paramètres d'environnement
d'environnement
Utilisation de l'Explorateur de solutions
Application pratique : Utilisation d'un projet
Visual Basic .NET

Démarrez un projet Visual Basic .NET à partir


d’un modèle d'application Windows

Exécutez le projet dans l'environnement de


développement

Générez un fichier exécutable

Exécutez l’application en dehors de


l’environnement de développement

Visualisez les fichiers dans l’Explorateur de


solutions
Enregistrez le projet et quittez
Visual Studio .NET
Leçon : Exploration de l’environnement de
développement
Menu
Menu principal
principal
Barre
Barre d’outils
d’outils
Concepteur
Concepteur Windows
Windows Forms
Forms
Boîte
Boîte àà outils
outils

Fenêtre
Fenêtre
Propriétés
Propriétés
Menus et barres d'outils

Menu
Menu principal
principal

Barre
Barre d’outils
d’outils standard
standard

Nouveau
Nouveau projet
projet Annuler
Annuler

Enregistrer
Enregistrer Form1.vb
Form1.vb
La boîte à outils

Contrôles
Contrôles permettant
permettant
de
de créer
créer l'interface
l'interface
utilisateur
utilisateur
Concepteur Windows Forms
Éditeur de code

Liste
Liste Nom
Nom de
de lala classe
classe Liste
Liste Nom
Nom de
de lala méthode
méthode
Fenêtre Propriétés

Définit
Définit les
les propriétés
propriétés
comme
comme la la taille,
taille,
la
la légende
légende ou
ou lala couleur
couleur
Autres fenêtres de programmation

Fenêtre
Fenêtre de
de Objectif
Objectif
programmation
programmation
Permet
Permet d'organiser
d'organiser et
et de
de gérer
gérer les
les tâches
tâches liées
liées àà lala
Liste
Listedes
destâches
tâches création
création d'une
d'une application
application
Affiche
Affiche des
des messages
messages d'état
d'état pour
pour diverses
diverses
Sortie
Sortie fonctionnalités
fonctionnalités de
de l'environnement
l'environnement dede développement
développement
Permet
Permet d'analyser
d'analyser dudu code
code et
et de
de retrouver
retrouver les
les
Affichage
Affichagede
declasses
classes symboles
symboles qui
qui représentent
représentent des
des éléments
éléments dede
programmation
programmation dans
dans votre
votre solution
solution
Permet
Permet d'exécuter
d'exécuter des
des commandes
commandes ou ou de
de déboguer
déboguer
Commande
Commande et
et de
de tester
tester des
des expressions
expressions dans
dans l'environnement
l'environnement de
de
développement
développement

Explorateur
Explorateurd'objets
d'objets Permet
Permet d'afficher
d'afficher des
des objets
objets et
et leurs
leurs membres
membres
Système d'aide en ligne

Menu
Menu ?? (Aide)
(Aide) Aide
Aide dynamique
dynamique
Application pratique : Utilisation de l'environnement
de développement

Ouvrez et exécutez une application existante

Examinez un formulaire dans le Concepteur


Windows Forms et l'éditeur de code

Ouvrez, fermez, rouvrez et masquez la boîte


à outils
Examinez les paramètres des propriétés des
contrôles

Utilisez l'Aide dynamique


Leçon : Création d'un projet Visual Basic .NET

Création d'une
spécification de
design

Création de
Écriture de Test et
l'interface
code débogage
utilisateur

Génération et
déploiement
Processus de développement

1 Création d'une spécification de design

2 Création de l'interface utilisateur

3 Définition des propriétés des objets de l'interface


utilisateur
4 Écriture de code pour l'ajout de fonctionnalités

5 Test et débogage de l'application

6 Création d'un fichier exécutable

7 Création d'un programme d'installation


Création de l'interface utilisateur

Placez
Placez des
des contrôles
contrôles
depuis
depuis lala boîte
boîte àà outils
outils
sur
sur le
le formulaire
formulaire
Définition des propriétés des contrôles

Propriétés
Propriétés Valeurs
Valeurs
(Name)
(Name) Textbox1
Textbox1
BackColor
BackColor Blue
Blue
Autosize
Autosize True
True
Visible
Visible True
True
Border
Border Fixed
Fixed 3D
3D
Font
Font Microsoft
Microsoft SanSerif,
SanSerif, 8.2
8.2 pt
pt
Text
Text Textbox1
Textbox1
Ajout de code pour les contrôles

 Dans la liste Nom de la classe, cliquez sur le contrôle


 Dans la liste Nom de la méthode, cliquez sur l'événement
 Ajoutez du code entre Private Sub et End Sub

Private
Private Sub
Sub Button1_Click(.
Button1_Click(. .. .)Handles
.)Handles Button1.Click
Button1.Click
'Ajoutez
'Ajoutez votre
votre code
code ici
ici
End
End Sub
Sub
Enregistrement, génération et exécution de l'application

Enregistrement
Enregistrement de
de l'application
l'application

Exécution
Exécution de
de la
la solution
solution dans
dans
l'environnement
l'environnement de de développement
développement

Génération
Génération d'un
d'un fichier
fichier exécutable
exécutable
Module 2 :
Utilisation de
formulaires et de
contrôles
Vue d'ensemble

Création
d'une Écriture
interface de code  Compréhension des concepts
de programmation
Utilisation de  Utilisation de Windows Forms
Visual
Studio .NET
 Utilisation des contrôles
 Présentation de votre code
Accès Débogage
aux données et déploiement
Leçon : Compréhension des concepts de
programmation
a ti o n
ra m m
Prog mentielle
vén e
é
ss e s
Cla ts
e m e n
Év én
o d es
M é th

j e ts
Ob
ié tés
ro p r
P
Présentation de la programmation événementielle

Sub
Sub Button1_Click
Button1_Click (…)
(…)
'insérer
'insérer le
le code
code de
de
'l'événement
'l'événement
End
End Sub
Sub
Classes : Modèles servant à la création des objets

Classe
Classe Objet
Objet
Une
Une représentation
représentation Une
Une instance
instance d'une
d'une classe
classe
symbolique
symbolique d'un
d'un objet
objet Analogie
Analogie :: une
une maison
maison
Analogie
Analogie :: un
un plan
plan conçue
conçue àà partir
partir du
du plan
plan

Exemple
Exemple
Chaque
Chaque formulaire
formulaire d'un
d'un projet
projet Visual
Visual Basic
Basic est
est un
un
objet
objet distinct
distinct
Chaque
Chaque formulaire
formulaire est
est une
une instance
instance de
de la
la classe
classe Form
Form
Présentation des propriétés, des méthodes et des
événements

Form1

Size
Size Volume
Volume
Propriétés
Propriétés Text
Text Basses
Basses
Close
Close Rechercher
Rechercher une
une
M éthodes
Méthodes Hide
Hide station
station

ÉÉvénements
vénements Click
Click Niveau
Niveau de
de pile
pile faible
faible
Application pratique : Propriétés, méthodes et
événements
Associez à chacun des objets suivants les
propriétés, les méthodes et les événements
appropriés :
 Porte
 Voiture
 Exemple : Téléphone
 Propriétés : Largeur, Couleur, Volume
 Méthodes : Sonner, RéglerVolume
 Événements : RéglageVolume,
FinNumérotation
Leçon : Utilisation de Windows Forms

 Création d'un formulaire


 Définition des propriétés d'un formulaire
 Appel des méthodes
 Gestion des événements de formulaire
 Formulaires modaux et non modaux
 Gestion de plusieurs formulaires
Création d'un formulaire
Définition des propriétés d'un formulaire

Nom
Nom de
de l'objet
l'objet

Bouton
Bouton Par
Par catégorie
catégorie

Bouton
Bouton Alphabétique
Alphabétique

Volet
Volet Description
Description

 Si vous modifiez la propriété Name de Form1, vous devez aussi


donner le nouveau nom à l'objet de démarrage de votre projet
Appel des méthodes

Méthodes
Méthodes

Sub
Sub Form1_Click
Form1_Click
Me.CenterToScreen(
Me.CenterToScreen( ))
End
End Sub
Sub
Gestion des événements de formulaire

Zone
Zone de
de liste
liste
Nom
Nom de
de la
la classe
classe

Événements
Événements
Application pratique : Création du code associé
à des événements de formulaire

Ouvrez une nouvelle application Windows dans


Visual Basic .NET

Ouvrez l'Éditeur de code correspondant à ce


formulaire

Créez le gestionnaire d'événement


Form1_Click

Ajoutez du code au gestionnaire d'événements

Exécutez l'application et testez votre code


Formulaires modaux et non modaux

Formulaire principal

Formulaire modal

Enregistrer les fichiers


avant de quitter ?
Oui Non
Gestion de plusieurs formulaires

Form1

Ouvrir

Form2
Form2

Fermer
Leçon : Utilisation des contrôles

 Ajout de contrôles à un formulaire


 Définition des propriétés d'un contrôle
 Association de code à des événements de contrôle
 Utilisation de la fonction MessageBox
Ajout de contrôles à un formulaire
Définition des propriétés d'un contrôle

 Vous pouvez choisir la même valeur de propriété pour


plusieurs contrôles à la fois
 Définissez les propriétés de contrôles individuels pour
faciliter l'accessibilité de l'application
Association de code à des événements de contrôle
Utilisation de la fonction MessageBox

Légende
Légendeen
entant
tantque
quechaîne
chaîne

Icône
Icône
Texte
Texteen
entant
tantque
quechaîne
chaîne

Boutons
Boutons
Bouton
Boutonpar
pardéfaut
défaut

MessageBox.Show(
MessageBox.Show( ))
Application pratique : Création d'un message

Ouvrez une nouvelle application Windows dans


Visual Basic .NET

Créez l'interface utilisateur

Définissez les propriétés du formulaire et du


contrôle
Ouvrez un gestionnaire d'événements et
ajoutez du code pour créer une boîte de
message

Exécutez l'application et testez votre code


Leçon : Présentation de votre code

 Conventions d'affectation de noms


 Mise en forme et documentation du code
Conventions d'affectation de noms

 Règles d'affectation de noms


 Utilisez uniquement des lettres, des chiffres et Answer42
Answer42 
des soulignés (_) 42Answer
42Answer 
 Commencez par une lettre ou un souligné
OpenButton
OpenButton 
 N'utilisez pas de mots clés True
True 
 Principe d'affectation de noms
 Casse : Utilisez PascalCasing ou camelCasing,
selon l'élément que vous nommez BADSTYLE
BADSTYLE 
 Mécanique : Utilisez des substantifs pour les
_poorstyle
_poorstyle
BestStyle
BestStyle


objets, des verbes pour les méthodes, etc.
 Choix des mots : Soyez cohérent, utilisez les
mêmes termes dans les différents segments de code
Mise en forme et documentation du code

 Mise en retrait du code


Sub
Sub Button1_Click
Button1_Click
Me.Close
Me.Close
End
End Sub
Sub

 Signe de continuation et concaténation


MessageBox.Show("Nom
MessageBox.Show("Nom Utilisateur
Utilisateur == "" && UserName.Text
UserName.Text && __
",
", Mot
Mot de
de passe
passe == "" && Password.Text)
Password.Text)

 Ajout de commentaires dans le code


'Rendre
'Rendre CalculationForm
CalculationForm visible
visible
Dim
Dim CalculationForm
CalculationForm as
as new
new Form2(
Form2( ))
CalculationForm.Show(
CalculationForm.Show( ))

 Ajoutez des commentaires dans le code pour en


faciliter la lecture et la mise à jour
Module 3 : Utilisation de
variables et de tableaux
Vue d'ensemble

 Introduction aux types de


données
Création
Écriture
d'une
interface
Debug de code  Utilisation de variables
and Deploy

 Portée des variables


Utilisation de
Visual
Studio .NET  Conversion des types de
données
Accès
aux données Débogage  Création et utilisation de
et déploiement
structures
 Stockage de données dans
des tableaux
Leçon : Introduction aux types de données

t y pe s
e de
t è m
Sys uns
co m m
a l e ur
p e s v
Ty ce
fé ren
e s r é
Typ
Présentation du système de types communs

Définit la manière dont les types fonctionnent dans le Common


Language Runtime

Système de types communs

Types
Types valeur
valeur Types
Types référence
référence
Types de donnés prédéfinis Chaînes
Structures définies par Tableaux
l'utilisateur
Classes
Énumérations
Types de données
Type
TypeVisual
Visual Taille
Taillede
de Plage
Plagedes
desvaleurs
valeurs
Basic
Basic.NET
.NET stockage
stockage
Boolean
Boolean 22octets
octets True
Trueou
ouFalse
False

Date
Date 88octets
octets DeDe0:00:00,
0:00:00,lele1er
1erjanvier
janvier0001,
0001,àà23:59:59,
23:59:59,
lele31
31décembre
décembre9999 9999
Decimal
Decimal 16
16octets
octets Jusqu'à
Jusqu'à29
29chiffres
chiffressignificatifs
significatifsavec
avecdes
desvaleurs
valeurs
comprises jusqu'à to 7,9228 x 10 28 (signées)
comprises jusqu'à to 7,9228 x 10 (signées)
Double
Double 88octets
octets De
De-4,94065645841246544E-324
-4,94065645841246544E-324àà
+1,79769313486231570E+308
+1,79769313486231570E+308(signées)
(signées)
Integer
Integer 44octets
octets De
De-2-2147
147483
483648
648àà+2
+2147
147483
483647
647(signées)
(signées)

Single
Single 44octets
octets De
De-3,4028235E+38
-3,4028235E+38àà1,401298E-45
1,401298E-45(signées)
(signées)

String
String Varie
Varie De
De00ààenviron
environ22milliards
milliardsde
decaractères
caractèresUnicode
Unicode
Choix d'un type de données
Type
Typede
de Gestion
Gestion Type
Type Exemple
Exemple
donn ées
données
Boolean
Boolean Conditions
ConditionsTrue
Trueou
ouFalse
False Valeur
Valeur True
True

Short,
Short,Integer,
Integer, Tous
Tousles
lesentiers
entiers Valeur
Valeur 23
23
Long
LongetetByte
Byte (Integer)
(Integer)
Single,
Single,Double
Double Nombres
Nombrescomposés
composés Valeur
Valeur 9456,72
9456,72
etetDecimal
Decimal d'entiers
d'entiersetetde
defractions
fractions (Decimal)
(Decimal)
Date
Date Valeurs
Valeurshoraires
horairesetet Valeur
Valeur 12/02/2003
12/02/2003
de
dedate
date 12:30:42
12:30:42
String
String Caractères
Caractèrespouvant
pouvantêtre
être Référence
Référence «« Maison
Maison»»
imprimés
imprimésetetaffichés
affichés
Object
Object Pointeur
Pointeurvers
verslalavaleur
valeur Référence
Référence myClass
myClass
d'un
d'unobjet
objet myPerson
myPerson
Application pratique : Choix du type de données

Analysez les exemples de données

Tenez compte de la taille et du type des


données

Sélectionnez le type de données le plus


dense
Leçon : Utilisation de variables

Tâches
Tâches

Attribution
Attribution d'un
d'un nom
nom aux
aux variables
variables

Déclaration
Déclaration de
de variables
variables

Affectation
Affectation de
de valeurs
valeurs aux
aux variables
variables

Utilisation
Utilisation de
de variables
variables
Présentation des variables

 Les variables stockent des valeurs sujettes à modification


lorsqu'une application s'exécute
 Une variable est composée des six éléments suivants :

ÉÉlément
lément Description
Description
Nom
Nom Mot
Motque
quevous
vousutilisez
utilisezpour
pourvous
vousréférer
référerààlalavariable
variabledans
danslelecode
code

Adresse
Adresse Emplacement
Emplacementde
delalamémoire
mémoireoù
oùlalavaleur
valeurde
delalavariable
variableest
estconservée
conservée

Type
Typede données Type
dedonnées Typeetettaille
tailled'origine
d'originedes
desdonnées
donnéespouvant
pouvantêtre
êtrestockées
stockéespar
parlalavariable
variable

Valeur
Valeur Valeur
Valeurau
auniveau
niveaude
del'adresse
l'adressede
delalavariable
variable

Portée
Portée Ensemble
Ensembledu
ducode
codepouvant
pouvantaccéder
accéderààlalavariable
variableetetl'utiliser
l'utiliser

Durée
Duréede
devie
vie Période
Périodeau
aucours
coursde
delaquelle
laquelleune
unevariable
variableest
estvalide
valideetetutilisable
utilisable
Attribution d'un nom aux variables

 Règles
 Commencer chaque nom de variable par un caractère
alphabétique ou un trait de soulignement (_)
 Ne pas utiliser d'espaces ni de symboles
 Ne pas utiliser de mots clés tels que Integer ou Date
 Exemples
 NomClient (PascalCasing)
 SoldeCompte (camelCasing)
Déclaration de variables

 Syntaxe
 Dim nomDeLaVariable As Type
 Exemples de type valeur
Dim
Dim numberBooks
numberBooks As
As Integer
Integer
Dim
Dim squareFootage
squareFootage As
As Single
Single

 Exemples de type référence


Dim
Dim myForm
myForm As
As Form
Form
Dim
Dim userInput
userInput As
As String
String
Incidences de Option Explicit sur les variables

 Lorsque Option Explicit est On (réglage par défaut)


 Vous devez déclarer explicitement les variables avant de
les utiliser
 Réduit les erreurs de logique et facilite la gestion du code
 Entraîne une exécution du code plus rapide
 Lorsque Option Explicit est Off
 Vous pouvez déclarer implicitement une variable par le
simple fait de l'utiliser dans votre code
 Accroît le risque de conflits de noms et de comportements
inattendus provoqués par des erreurs d'orthographe
 Entraîne une exécution du code plus lente
Affectation de valeurs aux variables

Vous pouvez effectuer les opérations suivantes :


 Affecter une valeur à une variable après la déclaration
de cette dernière
Dim
Dim birthday
birthday As
As Date
Date
birthday
birthday == #3/9/1974#
#3/9/1974#

 Affecter une valeur au moment de la déclaration de


cette dernière

Dim
Dim birthday
birthday As
As Date
Date == #3/9/1974#
#3/9/1974#
Utilisation de variables

Vous pouvez utiliser des variables pour :


 Stocker des valeurs issues d'une expression
 Stocker des informations saisies par l'utilisateur
 Stocker des objets
 Stocker des valeurs de propriété
 Renvoyer des valeurs
 Afficher des informations en sortie
Comparaison Variables / Constantes

Variables
Variable
Variables
Variable Constantes
Constant
Constantes
Constant

withààDim
Déclaration
Declare
Declarewith
Déclaration l'aide
l'aidede
Dim de withààConst
Déclaration
Declare
Declarewith
Déclaration l'aide
l'aidede
Const de
l'expressionDim
l'expression Dim l'expressionConst
l'expression Const
Les
Lesvaleurs
valeurs changent
changent Les
Lesvaleurs
valeurs restent
restent
Values
Values change
change as
as Values
Values stay
stay the
thesame
sameasas
lorsque
lorsque l'application
l'application identiques
identiques lorsque
lorsque
application
applicationrunsruns application
applicationruns
runs
s'exécute
s'exécute l'application
l'applications'exécute
s'exécute
Utilisation
Utilisation de
de lalamémoire
mémoire Utilisation
Utilisation de
delalamémoire
mémoire
Uses
Uses more
more memory
memory than
than Uses
Uses less
lessmemory
memory than
than
plus
plus importante
importante qu'avec
qu'avec plus
plus réduite
réduite qu'avec
qu'avec
constants
constants variables
variables
des
desconstantes
constantes des
desvariables
variables

Syntaxe :
Const nomDeLaConstante As Type
Application pratique : Recherche de bogues

Dim 12Count As Integer

Dim Number For Double

Const Son's Birthday As Day

Dim Error.Message As Text

Dim $CurrentExpenses With Decimal


Leçon : Portée des variables

Module ou classe Public


Public A As Integer La
Lavariable
variableAA est
estaccessible
accessibleààpartir
partir
de
den'importe
n'importequel
quelprojet
projetde
delalasolution
solution

Module ou classe Friend La


Lavariable
variableBB est
estaccessible
accessible
Friend B As Date n'importe
n'importeoù
oùdans
dansleleprojet
projet
Module ou classe Private La
Lavariable
variablecc est
estaccessible
accessible
Private c As String n'importe
n'importeoù
oùdans
danslelemodule
module

Procédure ou bloc La
Lavariable
variabledd est
est
Dim d As Integer accessible
accessible
uniquement
uniquementdans
danslala
procédure
procédureououlelebloc
bloc
Présentation de la notion de portée

Définition : La portée est l'ensemble de tout le


code se référant à une variable par son nom
Facteurs qui affectent la portée Bloc
Procédure
Endroit de déclaration
Module,
de la variable classe ou
structure
Niveau d'accès du
conteneur de la variable Private
Public
Niveau d'accès de la Friend
variable
Déclaration de variables locales

Endroit
Endroitdede Modificateur
Modificateur
Mot
Motclclé
é Portée
Portée
ddéclaration
éclaration dd'accès
'accès
Bloc
Bloc Dim
Dim Aucun
Aucun Niveau
Niveaudu
dubloc
bloc

Procédure
Procédure Dim
Dim Aucun
Aucun Niveau
Niveaude
delalaprocédure
procédure

Exemple de variable locale : au niveau du bloc


If
If xx << >> 00 Then
Then
Dim
Dim blockNumber As
blockNumber As Integer
Integer
blockNumber = x +
blockNumber = x + 1 1
End If
End If

Exemple de variable locale : au niveau de la procédure


Sub
Sub ShowMessage_Click(
ShowMessage_Click( ))
Dim
Dim myVariable
myVariable As
As String
String
'' Insérer
Insérer du code pour ajouter
du code pour ajouter des
des fonctionnalités
fonctionnalités
End Sub
End Sub
Déclaration de variables statiques

 Endroit : Déclarez les variables dans un bloc ou une procédure


 Syntaxe : Utilisez un mot clé statique (aucun modificateur d'accès)
 Static nomDeLaVariable As Type
 Exemple

Sub
Sub AddItem_Click(
AddItem_Click( ))
Static
Static items
items As
As Integer
Integer
'' Ajouter
Ajouter 11 au
au compteur
compteur
items +=
items += 11
MessageBox.Show
MessageBox.Show (" ("Le
Le compte
compte est
est actuellement
actuellement de
de "" && items)
items)
End
End Sub
Sub
Déclaration de variables de module

 Déclarez la variable dans un module, une classe ou une structure

Modificateur
Modificateurdd'accès
'accès Portée
Portée
Private
Private Module
Module
Friend
Friend Projet
Projet
Public
Public Solution
Solution

 Exemples

Private
Private myModuleMessage
myModuleMessage As
As String
String
Friend
Friend myProjectMessage
myProjectMessage As
As String
String
Public
Public mySolutionMessage
mySolutionMessage As
As String
String
Application pratique : Définition de niveaux d'accès
aux variables

Examinez le code de démarrage pour


rechercher une variable non déclarée

Déclarez la variable dans différents endroits


pour obtenir différents niveaux de portée

Déterminez quel modificateur d'accès


utiliser lors de la déclaration d'une variable
Leçon : Conversion des types de données

 Présentation des fonctions de conversion


 Conversion explicite de types de données
 Mécanisme de conversion implicite de données
Présentation des fonctions de conversion

Définition : Les fonctions de conversion permettent de


convertir explicitement une valeur d'un type de données en
un autre

Devient
Valeur Integer Valeur String
1234 CStr "1234"

Valeur Double Valeur Integer


567,9894 CInt 568

Valeur String Valeur Date


"12 février 1992" CDate #2/12/92#
Conversion explicite de types de données

Syntaxe : nomDeLaVariable =
FonctionDeConversion(Expression)
Exemple
Exemple
1 Déclarez une variable en tant que type de données String
Dim myString As String

2 Déclarez une autre variable en tant que type de données


Integer
Dim myInteger As Integer

3 Affectez une valeur à la variable String


myString = "1234"
4 Convertissez la valeur String en valeur Integer
myInteger = CInt(myString)
Mécanisme de conversion implicite de données
 Les types de données sont convertis automatiquement
 Aucune syntaxe spéciale n'est nécessaire dans le code
 Exemple de conversion implicite de données :
Dim
Dim sequence
sequence As
As String
String
Dim
Dim number
number As
As Integer
Integer
'' ...
...
sequence
sequence == "1234"
"1234"
number = sequence
number = sequence
'' La
La valeur
valeur de
de la
la séquence
séquence est
est convertie
convertie implicitement
implicitement
'' en
en valeur
valeur Integer
Integer
 Inconvénients :
 Suceptibles de produire des résultats inattendus
 Exécution du code ralentie
 L'option Strict ne permet aucun type de conversion implicite restrictive
Leçon : Création et utilisation de structures

Informations connexes du groupe  structure unique

Nom
Nom de
de l'employé
l'employé

Date
Date de
de naissance
naissance
Stucture
Stucture de
de données
données
Employee
Employee
Date
Date d'embauche
d'embauche

Fonction
Fonction
Présentation des structures
 Types de données composites
 Utilisées pour créer des types de valeurs définis par l'utilisateur
 Les membres peuvent être des variables, des propriétés, des
méthodes ou des événements
 Exemple de structure définie par l'utilisateur :

Public
Public Structure
Structure Employee
Employee
Public
Public FirstName
FirstName As
As String
String
Public
Public LastName
LastName As
As String
String
Public
Public HireDate
HireDate As
As Date
Date
Public
Public JobTitle
JobTitle As
As String
String
Private
Private Salary
Salary As
As Decimal
Decimal
End
End Structure
Structure

 Exemples de structures prédéfinies : Point, Size et Color


Déclaration de structures

 Dans un module, un fichier ou une classe (pas dans une procédure)


 Syntaxe :

ModificateurAccès
ModificateurAccès Structure
Structure nomDeLaStructure
nomDeLaStructure
'' Déclarer
Déclarer les
les membres
membres de
de la
la structure
structure ici
ici
End
End Structure
Structure

 Le modificateur d’accès utilisé est :


 Public pour un accès illimité

 Protected pour un accès uniquement au sein de sa propre classe


 Friend pour un accès à partir de n'importe quel emplacement de
l'application ou de l'assembly
 Private pour un accès uniquement au sein de son contexte de
déclaration
 N'affectez pas de valeurs aux membres des données dans la
déclaration
Utilisation de structures

Proc édure
Procédure

Déclaration
Déclaration d'une
d'une structure
structure

Déclaration
Déclaration d'une
d'une variable
variable du
du type
type de
de lala
structure
structure déclarée
déclarée
Affectation
Affectation de
de valeurs
valeurs aux
aux données
données
membres
membres

Écriture
Écriture du
du code
code permettant
permettant d'utiliser
d'utiliser les
les
membres
membres dede lala structure
structure
Application pratique : Création et utilisation de
structures

Déclarez une structure

Déclarez une variable en tant que type de la


structure
Affectez des valeurs aux membres de la
structure
Écrivez le code pour utiliser les membres de
la structure

Exécutez et testez l'application


Leçon : Stockage de données dans des tableaux

 Présentation d'un tableau


 Déclaration d'un tableau unidimensionnel
 Utilisation de tableaux multidimensionnels
 Redimensionnement des tableaux
Présentation d'un tableau

 Définition : Un tableau est une séquences d'éléments de données


 Tous les éléments d'un tableau possèdent le même type de données
 Les éléments individuels sont accessibles en utilisant des index d'entiers

(0) (1) (2) (3) (4) (5) (6)

Index 0 Index 6

 Exemple
 Pour déclarer un tableau d'entiers composé de sept éléments :
Dim
Dim countHouses(6)
countHouses(6) As
As Integer
Integer
 Pour accéder au troisième élément du tableau :
TextBox1.Text
TextBox1.Text == CStr(countHouses(2))
CStr(countHouses(2))
Déclaration d'un tableau unidimensionnel

 Vous déclarez un tableau en spécifiant les éléments suivants :


 Nom du tableau
 Taille (nombre d'éléments)
 Type de données des éléments du tableau
 Modificateur d'accès (si nécessaire)

ModificateurAccès
ModificateurAccès NomDuTableau(Size)
NomDuTableau(Size) As
As Type
Type

Spécifie le type des données


des éléments du tableau

Spécifie la taille du tableau


Spécifie le nom du tableau
Spécifie le niveau d'accès du tableau
Utilisation des tableaux multidimensionnels

 Spécifiez tous les éléments et les dimensions


 Total des éléments = produit de toutes les tailles
 Pour déclarer une variable de tableau multidimensionnel :
 Ajoutez une paire de parenthèses après le nom de la
variable
 Utilisez des virgules à l'intérieur des parenthèses pour
séparer les dimensions
 Utilisez l'instruction Dim ou un modificateur d'accès au
début de la déclaration
 Exemple :
Public
Public ThreeDimensions(3,9,14)
ThreeDimensions(3,9,14) As
As Double
Double
'' Tableau
Tableau tridimensionnel
tridimensionnel
Redimensionnement des tableaux

 Vous pouvez redimensionner un tableau à tout moment


 Utilisez l'instruction ReDim
 Syntaxe :

ReDim
ReDim tableauExistant(NouvelleGrandeur)
tableauExistant(NouvelleGrandeur)

 Exemple :
Dim
Dim myArray(,)
myArray(,) '' Déclarer
Déclarer tableau
tableau
ReDim
ReDim myArray(3,
myArray(3, 5)
5) '' Redimensionner
Redimensionner tableau
tableau
Module 4 :
Utilisation de
procédures
Vue d'ensemble

Création
d'une
Écriture
Debug
interface and Deployde code
 Création de procédures
Utilisation
de Visual
 Utilisation de procédures
Studio .NET
 Utilisation de fonctions
Accès prédéfinies
aux données Débogage
et déploiement
Leçon : Création de procédures

 Présentation des procédures


 Création de procédures Sub
 Création de procédures Function
 Déclaration d'arguments dans les procédures
 Utilisation d'arguments facultatifs
 Réutilisation du code
Présentation des procédures

 Les procédures représentent les instructions du code


exécutable dans un programme. Elles sont insérées entre
une instruction de déclaration et une instruction End
 Il existe trois types de procédures :
 Procédures Sub
(y compris les procédures d'événement Sub)
 Procédures Function
 Procédures Property
 Permettent la réutilisation du code
 Sont déclarées en tant que procédures publiques par défaut
Création de procédures Sub

Les procédures Sub effectuent des actions mais ne


renvoient pas de valeur à la procédure appelante

[Modificateur
[Modificateur d'accès]
d'accès] Sub
Sub NomDeLaProcédure
NomDeLaProcédure __
[(Liste
[(Liste des
des arguments)]
arguments)]
'' Instructions
Instructions de
de la
la procédure
procédure Sub
Sub
End
End Sub
Sub

Exemple :
Private
Private Sub
Sub AboutHelp(
AboutHelp( ))
MessageBox.Show("MonProgramme
MessageBox.Show("MonProgramme V1.0",
V1.0", "Aide
"Aide de
de
MonProgramme")
MonProgramme")
End
End Sub
Sub
Création de procédures Function

Les procédures Function effectuent des actions et


peuvent retourner une valeur au programme appelant
[Modificateur
[Modificateur d'accès]
d'accès] Function
Function NomDeLaFonction
NomDeLaFonction __
[(Liste
[(Liste des
des arguments)]
arguments)] As
As TypeDeDonnées
TypeDeDonnées
'' Instructions
Instructions de
de la
la fonction,
fonction, yy compris
compris l'instruction
l'instruction
'' Return
Return facultative
facultative
End
End Function
Function

Exemple :
Public
Public Function
Function DoubleTheValue(ByVal
DoubleTheValue(ByVal JJ As
As Double)
Double) As
As __
Double
Double
.. .. ..
Return
Return J*2
J*2
.. .. ..
End
End Function
Function
Déclaration d'arguments dans les procédures
 Les Arguments sont les données transmises aux procédures
 Vous pouvez transmettre des arguments via ByVal ou ByRef
 ByVal : La procédure ne peut pas modifier la valeur de la variable
d'origine
 ByRef : La procédure peut modifier la valeur de la variable
d'origine
 Exception : Les arguments non variables ne sont jamais modifiés
dans le code appelant, même s'ils sont transmis par référence
 Dans Visual Basic .NET, la méthode de transmission par défaut est
la transmission par valeur (ByVal)
 Syntaxe et exemple :

([ByVal|ByRef]
([ByVal|ByRef] nomArgument
nomArgument As
As TypeDeDonnées)
TypeDeDonnées)
(ByVal
(ByVal Name
Name As
As String)
String)
Utilisation d'arguments facultatifs

 Règles de déclaration des arguments facultatifs :


 Vous devez spécifier une valeur par défaut
 La valeur par défaut doit être une expression de constante
 Chaque argument qui suit un argument facultatif doit
également être facultatif
 Syntaxe :
(Optional
(Optional [ByVal|ByRef]
[ByVal|ByRef] nomArgument
nomArgument As
As __
TypeDeDonnées=valeurParDefaut)
TypeDeDonnées=valeurParDefaut)

 Exemple :
Function
Function Add
Add (ByVal
(ByVal value1
value1 As
As Integer,
Integer, ByVal
ByVal value2
value2 As
As __
Integer,
Integer, Optional
Optional ByVal
ByVal value3
value3 As
As Integer
Integer == 0)
0) As
As Integer
Integer
Réutilisation du code

ÉÉléments
léments Fonction
Fonction Exemples
Exemples
Crée
Créedes
desobjets
objetsqui
quine
nedoivent
doiventpas
pasêtre
être Size
Size
Structure
Structure étendus Point
étendus Point
Module
Fournit
Fournitdes
desfonctions
fonctionsd'utilitaire
d'utilitaireetetdes données Conversion
desdonnées Conversion
Module globales
globales de
detempératures
températures
Étend
Étenddes
desobjets,
objets,ou
oupour
pourleslesobjets
objetsdont
dontles
les Forms
Forms
Classe
Classe ressources
ressourcesdoivent
doiventêtre
êtrenettoyées
nettoyées Button
Button

 Création d'un module :


[Public|Friend]
[Public|Friend] Module
Module NomDuModule
NomDuModule
.. .. ..
End
End Module
Module
Application pratique : Création d'une fonction dans
un module

Ouvrez un nouveau projet

Ajoutez un nouveau module au projet

Créez une fonction dans le module

Écrivez le code de la fonction


Leçon : Utilisation de procédures

 Utilisation des procédures Sub


 Utilisation des procédures Function
 Transmission de tableaux à des procédures
 Création d'une procédure Sub Main
Utilisation des procédures Sub

Public
Public Sub
Sub Hello(ByVal
Hello(ByVal name
name As
As String)
String)
MessageBox.Show("Bonjour
MessageBox.Show("Bonjour "" && Name)
Name)
End
End Sub
Sub

Sub
Sub Test(
Test( ))
Hello("John")
Hello("John")
End
End Sub
Sub
Utilisation des procédures Function

 Appel d'une fonction


 Vous devez inclure le nom de la fonction à droite d'une
instruction d'assignation
Dim
Dim celsiusTemperature
celsiusTemperature As
As Single
Single
celsiusTemperature
celsiusTemperature == FtoC(80)
FtoC(80)
 Vous devez utiliser le nom de la fonction dans une
expression
If
If FtoC(userValue)
FtoC(userValue) << 00 Then
Then
...
...
End
End If
If
Application pratique : Utilisation de la valeur de
retour d'une fonction

Créez l'interface utilisateur

Écrivez le code de l'application


Transmission de tableaux à des procédures

 Transmettez un tableau comme vous transmettez d'autres


arguments :
Sub
Sub PassArray(ByVal
PassArray(ByVal testScores
testScores As
As Integer(
Integer( ))
))
...
...
End
End Sub
Sub
Dim
Dim scores(
scores( )) As
As Integer
Integer == {80,
{80, 92,
92, 73}
73}
PassArray(scores)
PassArray(scores)
 Déclarez un tableau de paramètres :
Sub
Sub StudentScores(ByVal
StudentScores(ByVal name
name As
As String,
String, ByVal
ByVal __
ParamArray
ParamArray scores(
scores( )) As
As String)
String)
'' Instructions
Instructions de
de la
la procédure
procédure Sub
Sub
End
End Sub
Sub
 Appelez une procédure comportant un tableau de paramètres :
StudentScores("Anne","10","26","32","15","22","16")
StudentScores("Anne","10","26","32","15","22","16")
Création d'une procédure Sub Main

 Sub Main : Point de départ de votre application


 Application.Run : Démarre l'application
 Application.Exit : Quitte l'application
Application pratique : Création d'une procédure
Sub Main

Déclarez des variables au niveau du


module

Créez une procédure Sub Main et


définissez-la comme objet de démarrage
Écrivez le code correspondant au
formulaire Selection

Écrivez le code pour quitter l'application

Testez l'application
Leçon : Utilisation de fonctions prédéfinies

 Utilisation de la fonction InputBox


 Utilisation des fonctions de date et d'heure
 Utilisation des fonctions de chaîne
 Utilisation des fonctions de format
 Utilisation des fonctions financières
Utilisation de la fonction InputBox

 Affiche une invite dans une boîte de dialogue, puis renvoie


l'entrée utilisateur sous la forme d'une chaîne
Dim
Dim FileName
FileName As
As String
String
FileName
FileName == InputBox("Veuillez
InputBox("Veuillez entrer
entrer un
un nom
nom de
de
fichier",
fichier", "Recherche")
"Recherche")
Utilisation des fonctions de date et d'heure

 Effectuent des calculs impliquant des dates et des


heures
 Exemples :
 DateAdd : Ajoute ou retranche une durée donnée à
une date
DateAdd(DateInterval.Day,
DateAdd(DateInterval.Day, 10,
10, billDate)
billDate)

 DateDiff : Détermine le nombre de durées spécifiées


qui existent entre deux valeurs date/heure
DateDiff(DateInterval.Day,
DateDiff(DateInterval.Day, Now,
Now, secondDate)
secondDate)
Utilisation des fonctions de chaîne

 Extraient uniquement une partie d'une chaîne


 Renvoient des informations concernant une chaîne
 Affichent des informations dans un format donné
 Exemples :
 Trim
NewString
NewString == Trim(MyString)
Trim(MyString)

 Len
Length
Length == Len(customerName)
Len(customerName)

 Left
Microsoft.VisualBasic.Left(customerName,
Microsoft.VisualBasic.Left(customerName, 5)
5)
Utilisation des fonctions de format

 Mettent en forme les nombres, les dates et les heures selon


les standards reconnus
 Affichent les différents formats sans qu'il soit nécessaire de
modifier le code pour chaque nationalité ou pays
 Exemples :
 FormatCurrency
FormatCurrency(amountOwed,
FormatCurrency(amountOwed, ,, ,, TriState.True,TriState.True)
TriState.True,TriState.True)

 FormatDateTime

FormatDateTime(myDate,
FormatDateTime(myDate, DateFormat.LongDate)
DateFormat.LongDate)
Utilisation des fonctions financières

 Effectuent des calculs et réalisent des opérations liés


aux finances, tels que les taux d’intérêt
 Exemples :
 Pmt
payment
payment == Pmt(0.0083,
Pmt(0.0083, 24,
24, -5000,
-5000, 0,
0, DueDate.BegOfPeriod)
DueDate.BegOfPeriod)

 Rate
ratePerPeriod
ratePerPeriod == Rate(24,
Rate(24, 228,
228, -5000,
-5000, 0,
0, DueDate.BegOfPeriod,
DueDate.BegOfPeriod, __
0.8)*100
0.8)*100
Module 5 : Structures de
décision et boucles
Vue d'ensemble

Création
d’une
Écriture  Utilisation d’expressions
Debug
interface and Deploy
de code conditionnelles
Utilisation de  Utilisation de structures de
Visual
Studio .NET décision
 Utilisation de structures de
Accès aux
données Débogage et
boucles conditionnelles
déploiement
Leçon : Utilisation d’expressions conditionnelles

 Présentation des expressions conditionnelles


 Utilisation d’opérateurs arithmétiques
 Utilisation d’opérateurs de comparaison
 Utilisation d’opérateurs logiques
 Association d’opérateurs logiques et d’opérateurs de
comparaison
Présentation des expressions conditionnelles

 Expressions conditionnelles :
 Incluent une condition à tester True ou False
 Incluent un opérateur permettant de spécifier de quel
test de la condition il s’agit

MotDePasseEntré
MotDePasseEntré
== True
MotDePasseStocké
MotDePasseStocké

False
Si le mot de passe est correct, la condition est True
Utilisation d’opérateurs arithmétiques

 Symboles évaluant des expressions conditionnelles


 Peuvent effectuer des opérations arithmétiques
 Syntaxe :
expression1
expression1 opérateur
opérateur arithmétique
arithmétique expression2
expression2

 Exemple :
Dim
Dim xx As
As Integer
Integer
xx == 52
52 ** 17
17
xx == 120
120 // 44
xx == 67
67 ++ 34
34
xx == 32
32 –– 12
12
xx == 23
23 ^^ 33
Utilisation d’opérateurs de comparaison

 Symboles évaluant des expressions conditionnelles et


renvoyant une valeur de type Boolean
 Peuvent comparer des nombres et des chaînes

 Syntaxe :
expression1
expression1 opérateur
opérateur de
de comparaison
comparaison expression2
expression2

 Exemple :
Dim
Dim Quantity
Quantity As
As Integer
Integer
Dim
Dim LargeOrder
LargeOrder As
As Boolean
Boolean
LargeOrder
LargeOrder == Quantity
Quantity >> 1000
1000
Utilisation d’opérateurs logiques

 Les opérateurs logiques procèdent à une évaluation


logique des expressions et renvoient une valeur de
type Boolean
 Syntaxe :
expression1
expression1 opérateur
opérateur logique
logique expression2
expression2

 Exemple :

OrderedLastMonth
OrderedLastMonth And
And OrderDelivered
OrderDelivered
Association d’opérateurs logiques et d’opérateurs
de comparaison

 Vous pouvez combiner des opérateurs de


comparaison avec des opérateurs logiques à l’aide
d’instructions conditionnelles
 Exemple : Opérateurs de Opérateur logique
comparaison

LateActiveCustomer
LateActiveCustomer == DaysOverDue
DaysOverDue >=
>= 60
60 And
And ActiveCustomer
ActiveCustomer
Application pratique : Évaluation d’expressions
conditionnelles

 Utilisez l’application exemple pour


calculer les résultats de ces expressions :

TestString
TestString==TestString
TestString 00And
And00

TestString
TestString==Teststring
Teststring -1
-1And
And00

TestString
TestString<<TestString
TestString -1
-1And
And-1
-1

Test
Test<<TestString
TestString -1
-1Or
Or-1
-1

100
100>>10
10 -1
-1Xor
Xor-1
-1

10
10<<10
10 -1
-1Xor
Xor00

10
10<=
<=10
10 00Xor
Xor00
Leçon : Utilisation de structures de décision

 If…Then  If…Then…Else
If
If Ventes
Ventes >> 10000
10000 Then
Then If
If Ventes
Ventes >> 10000
10000 Then
Then
Prime
Prime == 0.10
0.10 ** Prime
Prime == 0.10
0.10 ** Ventes
Ventes
Ventes
Ventes Else
Else
End
End If
If Prime
Prime == 00
End
End If
If

 If…Then…ElseIf  Select Case


If
If Ventes
Ventes >> 10000
10000 Then
Then Select
Select Case
Case Rank
Rank
Prime
Prime == 0.10
0.10 ** Ventes
Ventes Case
Case 11
ElseIf
ElseIf Ventes
Ventes >> 5000
5000 Then
Then Prime
Prime == 00
Prime
Prime == 0.05
0.05 ** Ventes
Ventes Case
Case 2,
2, 33
Else
Else Prime
Prime == 0.05
0.05 ** Ventes
Ventes
Prime
Prime == 0.02
0.02 ** Ventes
Ventes Case
Case 44 to
to 66
End
End If
If Prime
Prime == 0.10
0.10 ** Ventes
Ventes
Case
Case Else
Else
Prime
Prime == 0.15
0.15 ** Ventes
Ventes
End
End Select
Select
Utilisation d’instructions If…Then

 À utiliser pour une décision True ou False


 Si la condition est True, les instructions suivant
l’instruction If sont exécutées
 Si la condition est False, les instructions suivant
l’instruction If ne sont pas exécutées

If
If Ventes
Ventes >> 10000
10000 Then
Then
Prime
Prime == 0.10
0.10 ** Ventes
Ventes
End
End If
If
Utilisation d’instructions If…Then…Else

 À utiliser avec une décision offrant au moins deux choix


 Chaque instruction If doit avoir une instruction End If
correspondante
 Si la condition est True, les instructions suivant
l’instruction If sont exécutées
 Si la condition est False, les instructions suivant
l’instruction If ne sont pas exécutées
If
If Ventes
Ventes >> 10000
10000 Then
Then
Prime
Prime == 0.10
0.10 ** Ventes
Ventes
Else
Else
Prime
Prime == 00
End
End If
If
Utilisation d’instructions If…Then…ElseIf

 À utiliser pour imbriquer des instructions de décision


 Chaque instruction If doit avoir une instruction End If
correspondante
 Les instructions ElseIf n’ont pas leur propre End If
 Les instructions ElseIf ne peuvent pas suivre Else
 Si la condition est True, les instructions suivant If sont
exécutées
If
If Ventes
Ventes >> 10000
10000 Then
Then
Prime
Prime == 0.10
0.10 ** Ventes
Ventes
ElseIf
ElseIf Ventes
Ventes >> 5000
5000 Then
Then
Prime
Prime == 0.05
0.05 ** Ventes
Ventes
Else
Else
Prime
Prime == 0.02
0.02 ** Ventes
Ventes
End
End If
If
Utilisation d’instructions Select Case

 Sélectionnent un bloc de code à exécuter à partir d’une liste de


choix possibles
 À utiliser comme alternative aux instructions imbriquées et
complexes If…Then…Else
 Si plusieurs instructions Case sont vraies, seules les instructions
appartenant à la première instruction Case vraie sont exécutées

Select
Select Case
Case Rank
Rank
Case
Case 11
Prime
Prime == 00
Case
Case 2,
2, 33
Prime
Prime == 0.05
0.05 ** Ventes
Ventes
Case
Case 44 to
to 66
Prime
Prime == 0.10
0.10 ** Ventes
Ventes
Case
Case Else
Else
Prime
Prime == 0.15
0.15 ** Ventes
Ventes
End
End Select
Select
Principes de sélection d’une structure de décision

 Utiliser les instructions If…Then pour contrôler


l’exécution d’un bloc de code unique
 Utiliser les instructions If…Then…Else pour contrôler
l’exécution de deux sections de code s’excluant
mutuellement
 Utiliser les instructions Select Case lorsque vous avez
une liste de valeurs possibles à votre disposition
Leçon : Utilisation de structures de boucles
conditionnelles

 Utilisation d’instructions For…Next


 Utilisation d’instructions For Each…Next
 Utilisation d’instructions Do…Loop
 Utilisation de l’instruction Exit
Utilisation d’instructions For…Next

 À utiliser lorsque vous savez le nombre de fois que


vous voulez répéter l’exécution du code
For
For NamePos
NamePos == 00 to
to 44
MessageBox.Show(Names(NamePos))
MessageBox.Show(Names(NamePos))
Next
Next
'' Dans
Dans l’ordre
l’ordre inverse
inverse
For
For NamePos
NamePos == 44 to
to 00 Step
Step -1
-1
MessageBox.Show(Names(NamePos))
MessageBox.Show(Names(NamePos))
Next
Next
Utilisation d’instructions For Each…Next

 Une collection est un ensemble d’objets regroupés auquel on fait


référence en tant qu’unité. Par exemple :
 les éléments d’une zone de liste font partie d’une collection Items
 chaque formulaire possède une collection Controls représentant
tous les contrôles du formulaire
 Les instructions For Each … Next sont utilisées pour effectuer des
boucles parmi les éléments d’une collection

Sub
Sub LightBlueBackground
LightBlueBackground (.
(. .. .)
.)
Dim
Dim ThisControl
ThisControl As
As System.Windows.Forms.Control
System.Windows.Forms.Control
For
For Each
Each ThisControl
ThisControl In
In ThisForm.Controls
ThisForm.Controls
ThisControl.BackColor
ThisControl.BackColor == System.Drawing.Color.LightBlue
System.Drawing.Color.LightBlue
Next
Next ThisControl
ThisControl
End
End Sub
Sub
Utilisation d’instructions Do…Loop

 Do…Loop Until
 Exécute le code dans la boucle, puis évalue la condition. Se répète
jusqu’à ce que la condition soit déclarée True
 Do Until…Loop
 Exécute le code dans la boucle uniquement si la condition est
déclarée False ; elle se répète jusqu’à ce que l’expression en test
soit déclarée True
 Do…Loop While
 Exécute le code dans la boucle, puis évalue la condition. Se répète
jusqu’à ce que la condition soit déclarée False
 Do While…Loop
 Exécute le code dans la boucle uniquement si la condition est
déclarée True ; elle se répète jusqu’à ce que l’expression en test
soit déclarée False
Utilisation de l’instruction Exit

 À utiliser pour quitter les boucles Do ou For plus tôt


lorsqu’une condition est remplie

Do Until yy == -1
Do Until -1
If
If xx << 00 Then
Then Exit
Exit Do
Do
xx == Sqrt
Sqrt (x)
(x)
If
If yy >> 00 Then
Then Exit
Exit Do
Do
yy == yy ++ 33
If
If zz == 00 Then
Then Exit
Exit Do
Do
zz == xx // yy
Loop
Loop
Module 6 : Validation
des entrées de
l'utilisateur
Vue d'ensemble

Création
d'une Écriture  Limitation des entrées de
interface
Debug
and Deployde code
l'utilisateur

Utilisation
 Validation des données de
de Visual
Studio .NET
champs
 Validation des données de
Accès
aux données Débogage
formulaires
et déploiement
Leçon : Limitation des entrées de l'utilisateur

 Directives pour la validation des entrées de l'utilisateur


 Présentation de la validation intrinsèque
 Utilisation des propriétés TextBox
 Utilisation du contrôle Masked Edit
Directives pour la validation des entrées de
l'utilisateur

Directives
Directives

 Empêcher les utilisateurs d'entrer des données non


valides lorsque cela est possible
 Guider les utilisateurs tout au long du processus de
saisie des données valides
 Permettre aux utilisateurs d'entrer leurs données
quand et comme ils le souhaitent
 Penser aux implications liées à la validation lors de
la conception de l'application
 Placer le code de validation à l'emplacement
approprié selon le design de votre application
Présentation de la validation intrinsèque

 Définition : Propriétés et méthodes intégrées au contrôle que vous


pouvez utiliser pour restreindre et valider les entrées de l'utilisateur
 Contrôles courants qui offrent une validation intrinsèque :

Contrôle
Contrôle Technique
Techniquede
devalidation
validation
RadioButton
RadioButton Restreint
Restreintles
lesentrées
entréesààOn
Onou
ouOff
Off
CheckBox
CheckBox Restreint
Restreintles
lesentrées
entréesààChecked
Checkedou
ouUnchecked
Unchecked

CheckedListBox Fournit
CheckedListBox Fournitune
uneliste
listed'entrées
d'entréesvalides
valides
ListBox
ListBox Fournit
Fournitune
uneliste
listed'entrées
d'entréesvalides
valides(graphiques
(graphiquesetettexte)
texte)
DateTimePicker
DateTimePicker Restreint
Restreintles
lesentrées
entréesààdes
desdates
datesou
ouààdes
desheures
heures
MonthCalendar
MonthCalendar Restreint
Restreintles
lesentrées
entréesààune
uneplage
plagede
dedates
dates
TextBox
TextBox Définit
Définitdes
despropriétés
propriétéspour
pourrestreindre
restreindreou
oumodifier
modifierles
lesentrées
entrées
Utilisation des propriétés TextBox

 Vous pouvez utiliser les propriétés ci-dessous pour


restreindre ou modifier les entrées utilisateur des
contrôles TextBox :
Contrôle
Contrôle Technique
Techniquede
devalidation
validation
Cache
Cacheou
oumasque
masqueles
lescaractères
caractèresentrés
entrésdans
dansune
unezone
zonede
de
PasswordChar
PasswordChar texte
texte

Définit
Définitun
unnombre
nombremaximal
maximalde
decaractères
caractèresààentrer
entrerdans
dansune
une
MaxLength
MaxLength zone de texte
zone de texte

ReadOnly
ReadOnly Fournit
Fournitune
uneréponse
réponseprédéterminée
prédéterminéevalide
valide

Définit
Définittous
tousles
lescaractères
caractèresd'une
d'unezone
zonede
detexte
texteen
enmajuscules
majuscules
CharacterCasing
CharacterCasing ou en minuscules
ou en minuscules
Utilisation du contrôle Masked Edit

Proc édure
Procédure

Ajout
Ajoutdu
ducontrôle
contrôleMasked
MaskedEdit
Editààlalaboîte
boîteààoutils
outils

Ajout
Ajoutd'un
d'uncontrôle
contrôleMasked
MaskedEdit
Editààun
unformulaire
formulaire

Définition
Définitiondes
despropriétés
propriétésdu
ducontrôle
contrôle

Accès
Accèsaux
auxdonnées
donnéesentrées
entréespar
parl'utilisateur
l'utilisateuret
etmise
mise
en
enforme
forme
Application pratique : Utilisation du contrôle Masked
Edit

Ajoutez le contrôle Masked Edit à la


boîte à outils
Ajoutez le contrôle Masked Edit à un
formulaire

Modifiez la propriété Mask

Modifiez la propriété Format

Accédez aux données utilisateur et


affichez-les
Leçon : Validation des données de champs

 Utilisation de fonctions booléennes


 Utilisation du composant ErrorProvider
 Réglage du focus sur les contrôles et le texte
 Modification des entrées de l'utilisateur
 Utilisation des événements de validation
Utilisation de fonctions booléennes

Fonctions
Fonctions booléennes
booléennes courantes
courantes
Fonction
Fonction Description
Description
Renvoie
Renvoieune
unevaleur
valeurbooléenne
booléennequi
quiindique
indiquesisiune
une
IsNumeric
IsNumeric expression
expressionest
estreconnue
reconnueen
entant
tantque
quenombre
nombre
Renvoie
Renvoieune
unevaleur
valeurbooléenne
booléennequi
quiindique
indiquesisiune
une
IsDate
IsDate expression
expressionévalue
évalueune
unedate
datevalide
valide

Exemple
Exemple
If
If IsNumeric(TextBox1.Text)
IsNumeric(TextBox1.Text) Then
Then
MessageBox.Show("La
MessageBox.Show("La zone
zone de
de texte
texte contient
contient un
un
nombre.")
nombre.")
End
End If
If
Utilisation du composant ErrorProvider

 Ajout d'un composant ErrorProvider à un formulaire


 Disponible sous l'onglet Windows Forms de la boîte à outils
 Appel de la méthode SetError
 Le premier paramètre spécifie l'emplacement de l'icône et le second, le
message d'erreur à afficher :

ErrorProvider1.SetError
ErrorProvider1.SetError (Textbox1,
(Textbox1, "Veuillez
"Veuillez entrer
entrer une
une date
date
valide.")
valide.")

 Si l'utilisateur entre des données non valides, une icône d'erreur apparaît sur le
formulaire :
Réglage du focus sur les contrôles et le texte

 Pour quelles raisons définir le focus ?


 Lorsqu'un contrôle possède le focus, l'utilisateur peut y entrer des
données à l'aide de la souris ou du clavier
 Lorsqu'un utilisateur entre des données non valides, vous pouvez
conserver le focus sur le contrôle approprié jusqu'à ce que l'erreur
soit corrigée
 Exemples
 Pour définir le focus sur un contrôle TextBox, utilisez la méthode
Focus :
TextBox1.Focus(
TextBox1.Focus( ))
 Pour sélectionner tout le texte d'un contrôle, utilisez SelectAll :
TextBox1.SelectAll(
TextBox1.SelectAll( ))
Modification des entrées de l'utilisateur

 Vous pouvez modifier des entrées de l'utilisateur à


l'aide des fonctions suivantes :
Fonction
Fonction Description
Description
UCase
UCase Convertit
Convertitune
unechaîne
chaînespécifiée
spécifiéeen
enmajuscules
majuscules

LCase
LCase Convertit
Convertitune
unechaîne
chaînespécifiée
spécifiéeen
enminuscules
minuscules

Élimine
Élimineles
lesespaces
espacesààgauche
gaucheetetààdroite
droitedans
dansune
une
Trim
Trim chaîne
chaînespécifiée
spécifiée
 Exemple
Dim
Dim LowerCase,
LowerCase, UpperCase
UpperCase As
As String
String
LowerCase
LowerCase == "" Bonjour
Bonjour le
le monde
monde 1234"
1234" '' Chaîne
Chaîne àà convertir
convertir
UpperCase
UpperCase == UCase(LowerCase)
UCase(LowerCase) '' Retourne
Retourne "BONJOUR
"BONJOUR LE
LE MONDE
MONDE
1234"
1234"
Utilisation des événements de validation

 Utilisez la propriété CausesValidation pour déclencher l'événement


Validating
 Événement Validating
Private
Private Sub
Sub WarehouseTextbox_Validating(.
WarehouseTextbox_Validating(. .. .)
.)
If
If WarehouseTextbox.Text
WarehouseTextbox.Text == ""
"" Then
Then
infoErrorProvider.SetError(WarehouseTextbox,
infoErrorProvider.SetError(WarehouseTextbox, __
"Veuillez
"Veuillez entrer
entrer un
un emplacement
emplacement pour
pour
l'entrepôt.")
l'entrepôt.")
e.Cancel
e.Cancel == True
True
End
End If
If
End
End Sub
Sub

 Événement Validated
Private
Private Sub
Sub WarehouseTextbox_Validated(.
WarehouseTextbox_Validated(. .. .)
.)
infoErrorProvider.SetError(WarehouseTextbox,
infoErrorProvider.SetError(WarehouseTextbox, "")
"")
End
End Sub
Sub
Application pratique : Validation des données de
champs

Écrivez du code pour l'événement Validating


afin de tester les données

Utilisez le composant ErrorProvider pour


avertir l'utilisateur d'une erreur

Écrivez du code pour l'événement Validated


afin de réinitialiser le composant ErrorProvider

Testez l'application
Leçon : Validation des données de formulaires

 Validation de plusieurs champs d'un formulaire


 Désignation des boutons d'acceptation et d'annulation
 Questions sur la sécurité
Validation de plusieurs champs d'un formulaire

 Repères visuels destinés à l'utilisateur


 Exemple
Désactivation du bouton OK jusqu'à ce que l'utilisateur ait
entré des données dans tous les champs requis

 Validation de tous les champs du formulaire en même temps


 Exemple
Placement de tout le code de validation dans le gestionnaire
d’événements Click du bouton OK
Désignation des boutons d'acceptation et
d'annulation

 Définissez la propriété AcceptButton du formulaire


 Définissez la propriété CancelButton du formulaire
 Exemples
 Désignation du bouton
OKButton en tant que
bouton d'acceptation

 Désignation du bouton
EscapeButton en tant
que bouton d'annulation
Questions sur la sécurité

 Authentification des utilisateurs


 Vérification de l'utilisateur Windows actuel
 Utilisez la propriété UserName de l'objet
SystemInformation
 Exemple

MessageBox.Show("
MessageBox.Show(" Vous
Vous êtes
êtes "" && SystemInformation.UserName)
SystemInformation.UserName)
 Sécurisation de votre code
Module 7 :
Programmation orientée
objet en
Visual Basic .NET
Vue d'ensemble

Création
Écriture
 Compréhension des
d'une
interface
Debug
de code
and Deploy
classes

Utilisation
 Utilisation des classes
de Visual
Studio .NET  Utilisation des
membres partagés
Accès
aux données Débogage
et déploiement
 Héritage,
polymorphisme et
espaces de noms
Leçon : Compréhension des classes

c ti o n
tra
abs
a s s e
cl a t i on
p s u l
e n ca

ob j e t
Présentation d'une classe

 Une classe est un plan qui décrit un objet et qui définit des
attributs et des opérations pour celui-ci
 Les classes utilisent l'abstraction pour rendre uniquement
disponibles les objets essentiels à la définition de l'objet
 Les classes utilisent l'encapsulation pour appliquer une
abstraction

Ce que l'utilisateur voit : Ce qui est encapsulé :


//verify language
//authenticate PIN
//validate account bal
//adjust account bal
Présentation d'un objet

 Un objet est une instance spécifique d'une classe


 Les objects possèdent les caractéristiques suivantes :
 Identité : Les objets peuvent être distingués les uns des autres
 Comportement : Les objets peuvent effectuer des tâches
 État : Les objets stockent des informations qui peuvent changer au fil
du temps

Classe
Classe
Objet
Objet
12

Objet
Objet
123

245
245
Utilisation de l'Explorateur d'objets

Volet Volet
Volet
Volet
Objets Membres
Membres
Objets

Volet
Volet
Description
Description
Leçon : Utilisation des classes

 Création d'une classe


 Ajout de données membres d'instance
 Ajout de méthodes
 Ajout de propriétés
 Création d'une instance d'une classe
 Utilisation des constructeurs
 Utilisation des destructeurs
Création d'une classe

 Créez une classe à l'aide de la commande Ajouter une


classe du menu Projet
 Exemple de classe appelée BankAccount :
Public
Public Class BankAccount
Class Class1
BankAccount
Class1

End
End Class
Class
Ajout de données membres d'instance

 Ajout d'une donnée membre appelée balance


Public
Public Class
Class BankAccount
BankAccount
Private
Private balance
balance As
As Double
Double

End
End Class
Class

Mot
Motclclé
é DDéfinition
éfinition
Public
Public Accessible
Accessibleààpartir
partirde
den'importe
n'importequel
quelemplacement
emplacement
Private
Private Accessible
Accessibleuniquement
uniquementau
ausein
seindu
dutype
type
Protected
Protected Accessible
Accessibleuniquement
uniquementpar
parles
lesclasses
classesqui
quihéritent
héritentde
delalaclasse
classe
Ajout de méthodes

 Ajout d'une méthode appelée Deposit


Public
Public Class
Class BankAccount
BankAccount

Private
Private balance
balance As
As Double
Double

Public
Public Sub
Sub Deposit(ByVal
Deposit(ByVal amount
amount As
As Double)
Double)
balance
balance +=amount
+=amount
End
End Sub
Sub

End
End Class
Class

 Méthodes surchargées : deux ou plusieurs méthodes


portant le même nom, mais des signatures différentes
Exemple : MessageBox.Show
Ajout de propriétés

 Ajout d'une propriété :


Public
Public Class
Class BankAccount
BankAccount
Private
Private customerName
customerName As
As String
String

Public
Public Property
Property Name(
Name( )) As
As String
String
Get
Get
Return
Return customerName
customerName
End
End Get
Get
Set(ByVal
Set(ByVal Value
Value As
As String)
String)
customerName
customerName == Value
Value
End
End Set
Set
End
End Property
Property

End
End Class
Class
Création d'une instance d'une classe

 Utilisation du mot clé New pour créer une instance de


la classe BankAccount :

Module
Module Bank
Bank

Sub
Sub Main
Main
Dim
Dim account
account As
As New
New BankAccount(
BankAccount( ))
account.Deposit(500.00)
account.Deposit(500.00)
End
End Sub
Sub

End
End Module
Module
Application pratique : Création d'une classe

 Au cours de cette application pratique,


vous allez créer une classe BankAccount
et y ajouter des méthodes et des propriétés
Utilisation des constructeurs

 Exécute le code lorsque l'objet est instancié

Public
Public Sub
Sub New(
New( ))
'' Effectue
Effectue une
une initialisation
initialisation simple
simple
intValue
intValue == 11
End
End Sub
Sub

 Peut surcharger, mais n'utilise pas le mot clé Overloads


Public
Public Sub
Sub New(ByVal
New(ByVal ii As
As Integer)
Integer)
'' Surchargé
Surchargé sans
sans le
le mot
mot clé
clé Overloads
Overloads
'' Effectue
Effectue une
une initialisation
initialisation plus
plus complexe
complexe
value
value == ii
End
End Sub
Sub
Utilisation des destructeurs

 Utilisés pour le nettoyage des ressources


 Appelés au moment de l'exécution avant la destruction
de l’objet
 Important : La destruction peut ne pas avoir lieu
immédiatement

Protected
Protected Overrides
Overrides Sub
Sub Finalize(
Finalize( ))
'' Peut
Peut fermer
fermer des
des connexions
connexions ou
ou d'autres
d'autres ressources
ressources
conn.Close
conn.Close
End
End Sub
Sub
Leçon : Utilisation des membres partagés

 Utilisation des données membres partagées


 Utilisation des méthodes partagées
Utilisation des données membres partagées

 Les données membres partagées permettent à


plusieurs instances d'une classe de faire référence à
une même variable de niveau classe
Class
Class SavingsAccount
SavingsAccount
Public
Public Shared
Shared InterestRate
InterestRate As
As Double
Double
Public
Public Name
Name As
As String,
String, Balance
Balance As
As Double
Double
.. .. ..

End
End Class
Class

SavingsAccount.InterestRate
SavingsAccount.InterestRate == 0.03
0.03
Utilisation des méthodes partagées

 Peuvent être utilisées sans déclarer une instance de


classe
 Ne peuvent accéder qu'aux données partagées
'Code
'Code de
de classe
classe de
de test
test
Public
Public Shared
Shared Function
Function GetComputerName(
GetComputerName( )) As
As String
String
...
...
End
End Function
Function

'Code
'Code client
client
MessageBox.Show(TestClass.GetComputerName(
MessageBox.Show(TestClass.GetComputerName( ))
))
Application pratique : Création de méthodes
partagées

 Au cours de cette application pratique,


vous allez effectuer les tâches suivantes :
 Création d'une classe
 Ajout de méthodes partagées
 Utilisation de méthodes partagées
Leçon : Héritage, polymorphisme et espaces de noms

t a g e
héri h is m e
m o rp s e s
po ly c l as
e s e t
c t u r
st r u s
e n o m
c e s d
espa
Présentation de l'héritage

 L'héritage spécifie une relation « de type »


 Plusieurs classes partagent les mêmes attributs et
opérations, ce qui permet une réutilisation efficace du
code
Classe de base
 Exemples : Person
 Un client « est un type de » de personne (Personne)
 Un employé « est un type de » de personne

Classes dérivées Customer Employee


(Client) (Employé)
Héritage d'une classe

 Une classe dérivée hérite d'une classe de base


 Les propriétés, méthodes, données membres,
événements et gestionnaires d'événements peuvent
être hérités (selon la portée)
 Mots clés
 Inherits : Hérite de la classe de base
 NotInheritable : Ne peut pas être héritée
 MustInherit : Les instances de la classe ne peuvent
pas être créées ; doit être héritée comme une classe de
base
Présentation du polymorphisme

 Le nom de la méthode réside dans la classe de base


 Les implémentations de la méthode résident dans les
classes dérivées

BaseTax
BaseTax
CalculateTax(
CalculateTax( ))

CountyTax
CountyTax CityTax
CityTax
CalculateTax(
CalculateTax( )) CalculateTax(
CalculateTax( ))
Comparaison entre classes et structures

Classes
Classes Structures
Structures
Peuvent
Peuventdéfinir définirdes
desdonnées
donnéesmembres,
membres, Peuvent
Peuventdéfinir
définirdes
desdonnée
donnéemembres,
membres,
des
despropriétés
propriétésetetdes
desméthodes
méthodes des
despropriétés
propriétésetetdes
desméthodes
méthodes
Prennent
Prennenten encharge
chargeleslesconstructeurs
constructeurs Aucun
Aucunconstructeur
constructeurpar
pardéfaut
défautetetaucune
aucune
etetl'initialisation
l'initialisationdes
desmembres
membres initialisation
initialisationdes
desmembres
membres
Prennent
Prennenten encharge
chargelalaméthode
méthode Ne
Neprennent
prennentpas
pasen
encharge
chargelalaméthode
méthode
Finalize
Finalize Finalize
Finalize
Extensibles
Extensiblespar parhéritage
héritage Ne
Neprennent
prennentpas
pasen
encharge
chargel'héritage
l'héritage
Type
Typede
dedonnées
donnéesréférence
référence Type
Typede
dedonnées
donnéesvaleur
valeur
Organisation des classes en espaces de noms

 Les espaces de noms servent de système


d'organisation
 Les espaces de noms fournissent des noms qualifiés
complets pour les classes
 Exemple : System.Windows.Forms.Button
 Pour importer un espace de noms :
 Au niveau du projet, vous devez inclure une référence à
la DLL qui contient l'espace de noms
 Vous devez utiliser le mot clé Imports
Module 8 :
Gestion des erreurs
et des exceptions
Vue d'ensemble

Création
d'une Écriture
interface de code
 Types d'erreurs
Utilisation  Utilisation du débogueur
de Visual
Studio .NET
 Gestion des exceptions
Accès Débogage
aux données
et déploiement
Leçon : Types d'erreurs

 Présentation des erreurs de syntaxe


 Présentation des erreurs d'exécution
 Présentation des erreurs de logique
Présentation des erreurs de syntaxe

Erreur
Erreur de
de syntaxe
syntaxe
Erreur
Erreur de
de syntaxe
syntaxe

Affichage des erreurs dans la fenêtre Liste des tâches :


Présentation des erreurs d'exécution

Vitesse
Vitesse == Kilomètres/Heures
Kilomètres/Heures
'' Si
Si lala variable Heures == 0,
variable Heures 0, la
la division
division
nn''est
est pas
pas une
une opération
opération valide,
valide, même
même si
si
ll''instruction
instruction elle-même
elle-même est
est
syntaxiquement
syntaxiquement correcte
correcte
Présentation des erreurs de logique

 Définition : Une erreur qui entraîne la production de


résultats incorrects par une application
 Peut ne pas générer de message d'erreur
 Peut être recherchée en testant l'application et en
analysant ses résultats
Dim
Dim xx As
As Integer
Integer == 22
Do
Do While
While xx << 10
10
'' Instructions
Instructions du
du code
code
xx -=
-= 11
Loop
Loop
Leçon : Utilisation du débogueur

 Présentation du mode arrêt


 Utilisation des points d'arrêt
 Modification des points d'arrêt
 Barre d'outils Déboguer
 Procédure d'analyse pas à pas du code
 Utilisation des fenêtres de débogage
 Utilisation de la fenêtre Commande
Présentation du mode arrêt

 Permet d'interrompre le fonctionnement d'une application


 Vous pouvez effectuer les opérations suivantes lorsque
vous êtes en mode arrêt :
 Parcourir votre code ligne après ligne
 Déterminer les procédures actives qui ont été appelées
 Contrôler les valeurs des variables, des propriétés et des
expressions
 Utiliser les fenêtres de débogage pour modifier les valeurs
des variables et des propriétés
 Modifier le flux du programme
 Exécuter les instructions du code
Utilisation des points d'arrêt

 Un point d'arrêt est un marqueur intégré à votre code qui permet à


Visual Basic d'interrompre l'exécution du code sur une ligne spécifique
 Vous ne pouvez pas placer un point d'arrêt dans du code non
exécutable

Points
Points d'arrêt
d'arrêt
Modification des points d'arrêt

Propriété
Propriété
Condition
Condition

Propriété
Propriété
Nombre
Nombre
d'accès
d'accès
Barre d'outils Déboguer

Arrêter Afficher
Afficher
Démarrer
Démarrer Arrêter le
le l'instruction
l'instruction
Pas
Pas àà pas
pas Affichage
Affichage
débogage
débogage suivante principal
principal hexadécimal
hexadécimal
suivante

Interrompre
Interrompre Redémarrer Pas
Pas àà pas
pas Pas
Pas àà pas
pas Points
tout
tout Redémarrer détaillé
détaillé sortant
sortant Points d'arrêt
d'arrêt
Procédure d'analyse pas à pas du code

 Pas à pas détaillé et Pas à pas principal : Exécutent la


ligne de code suivante. Si la ligne contient un appel de
procédure :
 Pas à pas détaillé : Exécute uniquement l'appel, puis
s'arrête à la première ligne de code dans la procédure
 Pas à pas principal : Exécute l'intégralité de la
procédure, puis s'arrête à la première ligne de code hors
procédure
 Pas à pas sortant : Reprend l'exécution de votre code
jusqu'au retour de la procédure, puis s'arrête au point de
retour dans la procédure appelante
 Exécuter jusqu'au curseur : Le débogueur exécute votre
application jusqu'à ce qu'il atteigne le point d'insertion
que vous avez défini
Utilisation des fenêtres de débogage

Fenêtre
Fenêtre Utilisation
Utilisation
Permet
Permetd'afficher
d'afficherdes
desvariables
variablesdans
dansl'instruction
l'instruction
Automatique en cours et dans les trois instructionssuivant
Automatique en cours et dans les trois instructions suivantet et
précédant l'instruction en cours
précédant l'instruction en cours

Pile
Piledes
des Permet
Permetd'afficher
d'afficherl'historique
l'historiquedes
desappels
appelsààlalaligne
ligne
appels
appels de code en cours de débogage
de code en cours de débogage

Variables
Variables Permet
Permetd'afficher
d'afficheret
etde
demodifier
modifierles
lesvariables
variables
locales
locales locales
locales
Permet
Permetdedecréer
créervotre
votreliste
listepersonnalisée
personnaliséedede
variables
variablesou
oud'expressions
d'expressionsààcontrôler
contrôler
Espion
Espion Permet
Permetdedevisualiser
visualiseret
etmanipuler
manipulertoutes
toutesles
les
expressions espionnes
expressions espionnes
Utilisation de la fenêtre Commande

 Utilisez la fenêtre Commande pour :


 Émettre des commandes (mode Commande)
 Déboguer et évaluer des expressions (mode Immédiat)

Tâche
Tâche Solution
Solution Exemple
Exemple
Faites
Faitesprécéder
précéderl'expression
l'expressiond'un
d'un
Évaluation
Évaluationdes
desexpressions
expressions point d'interrogation (?) ?myVariable
?myVariable
point d'interrogation (?)

Passage
Passagedu
dumode
modeCommande
Commande Tapez
Tapezimmed
immeddans
danslalafenêtre
fenêtresans
sans immed
en mode Immédiat lelesigne Supérieur à (>)
signe Supérieur à (>) immed
en mode Immédiat

Passage
Passagedu
dumode
modeImmédiat
Immédiaten
en Tapez >cmd dans la fenêtre
Tapez >cmd dans la fenêtre >cmd
>cmd
mode Commande
mode Commande
Passage
Passageprovisoire
provisoireen
enmode
mode Tapez
Tapezlalacommande
commandedans danslala >alias
>alias
Commande
Commandelors
lorsd'un
d'untravail en fenêtre
travailen fenêtreet
etfaites-la
faites-laprécéder
précéderd'un
d'un
mode signe Supérieur à (>)
modeImmédiat
Immédiat signe Supérieur à (>)
Application pratique : Débogage du code

Examinez le code dans le


gestionnaire d'événements Click

Générez et exécutez l'application

Utilisez les outils de débogage pour


localiser l'erreur de logique
Suggérez une méthode pour corriger
l'erreur
Leçon : Gestion des exceptions

 Classe Exception
 Présentation de la gestion structurée des exceptions
 Utilisation de l'instruction Try…Catch
 Utilisation du bloc Finally
 Procédure de déclenchement des exceptions
 Principes d'utilisation de la gestion structurée des
exceptions
Classe Exception

 .NET Framework fournit le modèle objet d'exception suivant :


Exception
Exception
SystemException
SystemException
OutOfMemoryException
OutOfMemoryException
IOException
IOException
FileNotFoundException
FileNotFoundException

ApplicationException
ApplicationException

 Les classes d'exception vous permettent d'extraire des informations


sur toutes les exceptions rencontrées
 Les propriétés de la classe de base Exception vous permettent
d'analyser les exceptions
 Propriétés principales : StackTrace, Message, HelpLink et Source
Présentation de la gestion structurée des exceptions

 Détecte et répond à des erreurs lors de l'exécution d'une


application
 Utilisez l'instruction Try…Catch…Finally pour encapsuler
et protéger des blocs de code pouvant potentiellement
provoquer des erreurs
 Chaque bloc possède un ou plusieurs gestionnaires
associés
 Chaque gestionnaire spécifie une forme de condition de
filtre sur le type d'exception qu'il gère
 Avantages :
 Permet de séparer le code de gestion des erreurs du code
de logique
 Facilite la lecture, le débogage et la gestion du code
Utilisation de l'instruction Try…Catch

 Placez les sections du code suceptibles de lever des


exceptions dans un bloc Try
 Gérez les exceptions dans un bloc Catch distinct
Try
Try
fs
fs == New
New FileStream("data.txt",
FileStream("data.txt", __ Logique
Logique du
du programme
programme
FileMode.Open)
FileMode.Open)
Catch
Catch ex
ex As
As FileNotFoundException
FileNotFoundException
MessageBox.Show("Fichier
MessageBox.Show("Fichier introuvable")
introuvable") Gestion
Gestion des
des exceptions
exceptions

Catch
Catch ex
ex As
As Exception
Exception
MessageBox.Show(ex.Message)
MessageBox.Show(ex.Message)
End
End Try
Try
Utilisation du bloc Finally

 Bloc de code facultatif qui, s'il est inclu, est toujours exécuté
 Placez dans le bloc Finally le code de nettoyage, tel que le
code pour la fermeture de fichiers
Try
Try
fs
fs == New
New FileStream("data.txt",
FileStream("data.txt", FileMode.Open)
FileMode.Open)
Catch
Catch ex
ex As
As FileNotFoundException
FileNotFoundException
MessageBox.Show("Fichier
MessageBox.Show("Fichier de
de données
données manquant")
manquant")
Catch
Catch ex
ex As
As Exception
Exception
MessageBox.Show(ex.Message)
MessageBox.Show(ex.Message)
Finally
Finally
If
If Not
Not (fs
(fs Is
Is Nothing)
Nothing) Then
Then fs.Close(
fs.Close( ))
End
End Try
Try
Procédure de déclenchement des exceptions

 L'instruction Throw crée une exception que vous


pouvez gérer à l'aide du code de gestion structurée des
exceptions

If
If (day
(day << 1)
1) Or
Or (day
(day >> 365)
365) Then
Then
Throw
Throw New
New ArgumentOutOfRangeException(
ArgumentOutOfRangeException( ))
Else
Else
...
...
End
End If
If
Principes d'utilisation de la gestion structurée des
exceptions

N'utilisez pas la gestion structurée des exceptions pour les erreurs qui
ne sont pas suceptibles de se produire régulièrement. Utilisez d'autres
blocs de code pour résoudre ces erreurs
 If…End If, etc.


Utilisez la valeur de retour pour les erreurs courantes


 Exemple : Les méthodes de lecture d'E/S sur fichier ne lèvent

pas une exception de fin de fichier

Levez toujours des exceptions dans les blocs Catch qui vont de la
plus spécifique à la moins spécifique
Module 8 :
Gestion des erreurs
et des exceptions
Vue d'ensemble

Création
d'une Écriture
interface de code
 Types d'erreurs
Utilisation  Utilisation du débogueur
de Visual
Studio .NET
 Gestion des exceptions
Accès Débogage
aux données
et déploiement
Leçon : Types d'erreurs

 Présentation des erreurs de syntaxe


 Présentation des erreurs d'exécution
 Présentation des erreurs de logique
Présentation des erreurs de syntaxe

Erreur
Erreur de
de syntaxe
syntaxe
Erreur
Erreur de
de syntaxe
syntaxe

Affichage des erreurs dans la fenêtre Liste des tâches :


Présentation des erreurs d'exécution

Vitesse
Vitesse == Kilomètres/Heures
Kilomètres/Heures
'' Si
Si lala variable Heures == 0,
variable Heures 0, la
la division
division
nn''est
est pas
pas une
une opération
opération valide,
valide, même
même si
si
ll''instruction
instruction elle-même
elle-même est
est
syntaxiquement
syntaxiquement correcte
correcte
Présentation des erreurs de logique

 Définition : Une erreur qui entraîne la production de


résultats incorrects par une application
 Peut ne pas générer de message d'erreur
 Peut être recherchée en testant l'application et en
analysant ses résultats
Dim
Dim xx As
As Integer
Integer == 22
Do
Do While
While xx << 10
10
'' Instructions
Instructions du
du code
code
xx -=
-= 11
Loop
Loop
Leçon : Utilisation du débogueur

 Présentation du mode arrêt


 Utilisation des points d'arrêt
 Modification des points d'arrêt
 Barre d'outils Déboguer
 Procédure d'analyse pas à pas du code
 Utilisation des fenêtres de débogage
 Utilisation de la fenêtre Commande
Présentation du mode arrêt

 Permet d'interrompre le fonctionnement d'une application


 Vous pouvez effectuer les opérations suivantes lorsque
vous êtes en mode arrêt :
 Parcourir votre code ligne après ligne
 Déterminer les procédures actives qui ont été appelées
 Contrôler les valeurs des variables, des propriétés et des
expressions
 Utiliser les fenêtres de débogage pour modifier les valeurs
des variables et des propriétés
 Modifier le flux du programme
 Exécuter les instructions du code
Utilisation des points d'arrêt

 Un point d'arrêt est un marqueur intégré à votre code qui permet à


Visual Basic d'interrompre l'exécution du code sur une ligne spécifique
 Vous ne pouvez pas placer un point d'arrêt dans du code non
exécutable

Points
Points d'arrêt
d'arrêt
Modification des points d'arrêt

Propriété
Propriété
Condition
Condition

Propriété
Propriété
Nombre
Nombre
d'accès
d'accès
Barre d'outils Déboguer

Arrêter Afficher
Afficher
Démarrer
Démarrer Arrêter le
le l'instruction
l'instruction
Pas
Pas àà pas
pas Affichage
Affichage
débogage
débogage suivante principal
principal hexadécimal
hexadécimal
suivante

Interrompre
Interrompre Redémarrer Pas
Pas àà pas
pas Pas
Pas àà pas
pas Points
tout
tout Redémarrer détaillé
détaillé sortant
sortant Points d'arrêt
d'arrêt
Procédure d'analyse pas à pas du code

 Pas à pas détaillé et Pas à pas principal : Exécutent la


ligne de code suivante. Si la ligne contient un appel de
procédure :
 Pas à pas détaillé : Exécute uniquement l'appel, puis
s'arrête à la première ligne de code dans la procédure
 Pas à pas principal : Exécute l'intégralité de la
procédure, puis s'arrête à la première ligne de code hors
procédure
 Pas à pas sortant : Reprend l'exécution de votre code
jusqu'au retour de la procédure, puis s'arrête au point de
retour dans la procédure appelante
 Exécuter jusqu'au curseur : Le débogueur exécute votre
application jusqu'à ce qu'il atteigne le point d'insertion
que vous avez défini
Utilisation des fenêtres de débogage

Fenêtre
Fenêtre Utilisation
Utilisation
Permet
Permetd'afficher
d'afficherdes
desvariables
variablesdans
dansl'instruction
l'instruction
Automatique en cours et dans les trois instructionssuivant
Automatique en cours et dans les trois instructions suivantet et
précédant l'instruction en cours
précédant l'instruction en cours

Pile
Piledes
des Permet
Permetd'afficher
d'afficherl'historique
l'historiquedes
desappels
appelsààlalaligne
ligne
appels
appels de code en cours de débogage
de code en cours de débogage

Variables
Variables Permet
Permetd'afficher
d'afficheret
etde
demodifier
modifierles
lesvariables
variables
locales
locales locales
locales
Permet
Permetdedecréer
créervotre
votreliste
listepersonnalisée
personnaliséedede
variables
variablesou
oud'expressions
d'expressionsààcontrôler
contrôler
Espion
Espion Permet
Permetdedevisualiser
visualiseret
etmanipuler
manipulertoutes
toutesles
les
expressions espionnes
expressions espionnes
Utilisation de la fenêtre Commande

 Utilisez la fenêtre Commande pour :


 Émettre des commandes (mode Commande)
 Déboguer et évaluer des expressions (mode Immédiat)

Tâche
Tâche Solution
Solution Exemple
Exemple
Faites
Faitesprécéder
précéderl'expression
l'expressiond'un
d'un
Évaluation
Évaluationdes
desexpressions
expressions point d'interrogation (?) ?myVariable
?myVariable
point d'interrogation (?)

Passage
Passagedu
dumode
modeCommande
Commande Tapez
Tapezimmed
immeddans
danslalafenêtre
fenêtresans
sans immed
en mode Immédiat lelesigne Supérieur à (>)
signe Supérieur à (>) immed
en mode Immédiat

Passage
Passagedu
dumode
modeImmédiat
Immédiaten
en Tapez >cmd dans la fenêtre
Tapez >cmd dans la fenêtre >cmd
>cmd
mode Commande
mode Commande
Passage
Passageprovisoire
provisoireen
enmode
mode Tapez
Tapezlalacommande
commandedans danslala >alias
>alias
Commande
Commandelors
lorsd'un
d'untravail en fenêtre
travailen fenêtreet
etfaites-la
faites-laprécéder
précéderd'un
d'un
mode signe Supérieur à (>)
modeImmédiat
Immédiat signe Supérieur à (>)
Application pratique : Débogage du code

Examinez le code dans le


gestionnaire d'événements Click

Générez et exécutez l'application

Utilisez les outils de débogage pour


localiser l'erreur de logique
Suggérez une méthode pour corriger
l'erreur
Leçon : Gestion des exceptions

 Classe Exception
 Présentation de la gestion structurée des exceptions
 Utilisation de l'instruction Try…Catch
 Utilisation du bloc Finally
 Procédure de déclenchement des exceptions
 Principes d'utilisation de la gestion structurée des
exceptions
Classe Exception

 .NET Framework fournit le modèle objet d'exception suivant :


Exception
Exception
SystemException
SystemException
OutOfMemoryException
OutOfMemoryException
IOException
IOException
FileNotFoundException
FileNotFoundException

ApplicationException
ApplicationException

 Les classes d'exception vous permettent d'extraire des informations


sur toutes les exceptions rencontrées
 Les propriétés de la classe de base Exception vous permettent
d'analyser les exceptions
 Propriétés principales : StackTrace, Message, HelpLink et Source
Présentation de la gestion structurée des exceptions

 Détecte et répond à des erreurs lors de l'exécution d'une


application
 Utilisez l'instruction Try…Catch…Finally pour encapsuler
et protéger des blocs de code pouvant potentiellement
provoquer des erreurs
 Chaque bloc possède un ou plusieurs gestionnaires
associés
 Chaque gestionnaire spécifie une forme de condition de
filtre sur le type d'exception qu'il gère
 Avantages :
 Permet de séparer le code de gestion des erreurs du code
de logique
 Facilite la lecture, le débogage et la gestion du code
Utilisation de l'instruction Try…Catch

 Placez les sections du code suceptibles de lever des


exceptions dans un bloc Try
 Gérez les exceptions dans un bloc Catch distinct
Try
Try
fs
fs == New
New FileStream("data.txt",
FileStream("data.txt", __ Logique
Logique du
du programme
programme
FileMode.Open)
FileMode.Open)
Catch
Catch ex
ex As
As FileNotFoundException
FileNotFoundException
MessageBox.Show("Fichier
MessageBox.Show("Fichier introuvable")
introuvable") Gestion
Gestion des
des exceptions
exceptions

Catch
Catch ex
ex As
As Exception
Exception
MessageBox.Show(ex.Message)
MessageBox.Show(ex.Message)
End
End Try
Try
Utilisation du bloc Finally

 Bloc de code facultatif qui, s'il est inclu, est toujours exécuté
 Placez dans le bloc Finally le code de nettoyage, tel que le
code pour la fermeture de fichiers
Try
Try
fs
fs == New
New FileStream("data.txt",
FileStream("data.txt", FileMode.Open)
FileMode.Open)
Catch
Catch ex
ex As
As FileNotFoundException
FileNotFoundException
MessageBox.Show("Fichier
MessageBox.Show("Fichier de
de données
données manquant")
manquant")
Catch
Catch ex
ex As
As Exception
Exception
MessageBox.Show(ex.Message)
MessageBox.Show(ex.Message)
Finally
Finally
If
If Not
Not (fs
(fs Is
Is Nothing)
Nothing) Then
Then fs.Close(
fs.Close( ))
End
End Try
Try
Procédure de déclenchement des exceptions

 L'instruction Throw crée une exception que vous


pouvez gérer à l'aide du code de gestion structurée des
exceptions

If
If (day
(day << 1)
1) Or
Or (day
(day >> 365)
365) Then
Then
Throw
Throw New
New ArgumentOutOfRangeException(
ArgumentOutOfRangeException( ))
Else
Else
...
...
End
End If
If
Principes d'utilisation de la gestion structurée des
exceptions

N'utilisez pas la gestion structurée des exceptions pour les erreurs qui
ne sont pas suceptibles de se produire régulièrement. Utilisez d'autres
blocs de code pour résoudre ces erreurs
 If…End If, etc.


Utilisez la valeur de retour pour les erreurs courantes


 Exemple : Les méthodes de lecture d'E/S sur fichier ne lèvent

pas une exception de fin de fichier

Levez toujours des exceptions dans les blocs Catch qui vont de la
plus spécifique à la moins spécifique
Module 9 :
Amélioration de
l'interface utilisateur
Vue d'ensemble

Création d'une
interface Écriture
de code

 Création de menus
Utilisation de
Visual  Création de barres
Studio .NET
d'état
 Création de barres
Accès
aux données Débogage d'outils
et déploiement
Leçon : Création de menus

 Terminologie des menus


 Principes de création des menus
 Création d'un menu
 Modification des éléments de menu
 Amélioration de votre menu
Terminologie des menus

En-tête
En-tête de
de menu
menu

Éléments
Éléments de
de
menu
menu

Sous-menu
Sous-menu
Principes de création des menus

Principe
Principe Exemple
Exemple
Utilisez
Utilisezune
unelettre
lettremajuscule
majusculecomme
comme
première
Fichier,
Fichier,Edition,
Edition,??(Aide)
(Aide)
premièrelettre
lettredudunom
nomdes
deséléments
élémentsde
demenu
menu

Affectez
Affectezune
unetouche
touched'accès
d'accèsrapide
rapideunique
unique
ààchaque élément de menu
Fichier,
Fichier,Edition,
Edition,??(Aide)
(Aide)
chaque élément de menu

Utilisez
FileItem,
FileItem,EditItem,
EditItem,
Utilisezdes
desconventions
conventionsd'appellation
d'appellationcohérentes
cohérentes HelpItem
HelpItem
Placez
Placezdes
despoints
pointsdedesuspension
suspension(.(.. ..).)derrière
derrièreles
les
commandes
commandesde demenu
menuqui quirequièrent
requièrentplusplus Enregistrer
Enregistrersous…
sous…
d'informations
d'informationsde
delalapart
partde
del'utilisateur
l'utilisateur
Création d'un menu

Ajoutez un contrôle MainMenu au formulaire

Créez la structure du menu en ajoutant des


éléments de menu

Ajoutez des fonctionnalités aux éléments de


menu
Modification des éléments de menu

Modification
Modification ÉÉtapes
tapes
souhaitée
souhaitée
Dans
DansleleConcepteur
Concepteurde demenus,
menus,cliquez
cliquezsur
surl'élément
l'élémentde
demenu
menu
Déplacer
Déplacer etetdéplacez-le
déplacez-levers
versson
sonnouvel
nouvelemplacement
emplacement

Cliquez
Cliquezavec
aveclelebouton
boutondroit
droitsur
surl'élément
l'élémentde
demenu,
menu,puis
puis
Supprimer
Supprimer cliquez sur Supprimer
cliquez sur Supprimer

Utilisez
Utilisezlalafenêtre
fenêtrePropriétés
Propriétéspour
pourmodifier
modifierlalapropriété
propriétéText,
Text,
Modifier
Modifier etetutilisez
utilisezl'Éditeur
l'Éditeurde
denoms
nomspour
pourmodifier
modifierlalapropriété
propriétéName
Name
Définissez
Définissezlalapropriété
propriétéEnabled
Enabledde
del'élément
l'élémentde
demenu
menuààlala
Désactiver
Désactiver valeur
valeurFalse
False

Définissez
Définissezlalapropriété
propriétéVisible
Visiblede
del'élément
l'élémentde
demenu
menuààlala
Masquer
Masquer valeur
valeurFalse
False
Amélioration de votre menu
Coche
Coche

Touche
Touche de
de
raccourci
raccourci

Barre
Barre
séparatrice
séparatrice

Touche
Touche d'accès
d'accès rapide
rapide
Leçon : Création de barres d'état

 Création d'une barre d'état


 Ajout de panneaux à une barre d'état
 Définition du texte des panneaux au moment de
l'exécution

Panneaux
Panneaux de de
barre
barre d'état
d'état
Barre
Barre d'état
d'état
Création d'une barre d'état

Proc édure
Procédure

Ouvrez
Ouvrezleleformulaire
formulaireauquel
auquelvous
voussouhaitez
souhaitez
ajouter
ajouterlalabarre
barred'état
d'état

ÀÀpartir
partirde
delalaboîte
boîteààoutils,
outils,ajoutez
ajoutezun
un
contrôle
contrôleStatusBar
StatusBarauauformulaire
formulaire

Définissez
Définissezles
lespropriétés
propriétésStatusBar
StatusBar

Ajoutez
Ajoutezlelenombre
nombresouhaité
souhaitéde
depanneaux
panneaux
ààlalabarre
barred'état
d'état
Ajout de panneaux à une barre d'état

Proc édure
Procédure
Ouvrez
Ouvrezlalafenêtre
fenêtrePropriétés
Propriétéspour
pourlelecontrôle
contrôle
StatusBar
StatusBar

Définissez
Définissezlalapropriété
propriétéShowPanels
ShowPanelsààlala
valeur
valeurTrue
True

Dans
Danslalapropriété
propriétéPanels,
Panels,ouvrez
ouvrez
l'Éditeur
l'Éditeurde
decollections
collectionsStatusBarPanel
StatusBarPanel

Utilisez
Utilisezles
lesboutons
boutonsAjouter
Ajouteret
etSupprimer
Supprimerpour
pourajouter
ajouter
ààet
etsupprimer
supprimerdes
desboutons
boutonsdu
ducontrôle
contrôleStatusBar
StatusBar

Définissez
Définissezles
lespropriétés
propriétésdes
despanneaux
panneaux
Définition du texte des panneaux au moment de
l'exécution

 Référez-vous au panneau de la propriété que vous


voulez définir à l'aide de l'index du panneau

StatusBar1.Panels(0).Text
StatusBar1.Panels(0).Text == Now(
Now( ))
StatusBar1.Panels(1).Text
StatusBar1.Panels(1).Text == "Prêt"
"Prêt"

StatusBar1.Panels(0).Alignment
StatusBar1.Panels(0).Alignment == __
HorizontalAlignment.Center
HorizontalAlignment.Center
Leçon : Création de barres d'outils

 Création d'une barre d'outils


 Ajout de boutons à une barre d'outils
 Ajout d'icônes aux boutons d'une barre d'outils
 Écriture de code pour l'événement ButtonClick
Création d'une barre d'outils

Proc édure
Procédure
Ajoutez
Ajoutez un
uncontrôle
contrôleToolBar
ToolBarau
auformulaire
formulaire
ààpartir
partirde
delalaboîte
boîteààoutils
outils

Définissez
Définissezles
lespropriétés
propriétésToolBar
ToolBar

Ajoutez
Ajoutez des
desboutons
boutonsààlalabarre
barred'outils
d'outils

Définissez
Définissezles
lespropriétés
propriétésToolBarButton
ToolBarButton

Si
Sivous
vouslelesouhaitez,
souhaitez,affectez
affectez des
desimages
imagesààchacun
chacun
des
desboutons
boutonsde delalabarre
barred'outils
d'outils

Écrivez
Écrivezlelecode
codepour
pourles
lesboutons
boutonsde
delalabarre
barred'outils
d'outils
Ajout de boutons à une barre d'outils

Proc édure
Procédure

Ouvrez
Ouvrezlalafenêtre
fenêtrePropriétés
Propriétésdu
ducontrôle
contrôleToolBar
ToolBar

Dans
Danslalapropriété
propriétéButtons,
Buttons,ouvrez
ouvrez
l'Éditeur
l'Éditeurde
decollections
collectionsToolBarButton
ToolBarButton

Utilisez
Utilisezles
lesboutons
boutonsAjouter
Ajouteret
etSupprimer
Supprimerpour
pourajouter
ajouter
des
desboutons
boutonsde
debarre
barred'outils
d'outilset
eten
ensupprimer
supprimer

Dans
Dansl'Éditeur
l'Éditeurde
decollections
collectionsToolBarButton,
ToolBarButton,
définissez
définissezleslespropriétés
propriétésdes
desboutons
boutons
Ajout d'icônes aux boutons d'une barre d'outils

Proc édure
Procédure
Ajoutez
Ajoutez un
uncomposant
composantImageList
ImageListau
auformulaire
formulaire
ààpartir
partirde
delalaboîte
boîteààoutils
outils

Ajoutez
Ajoutez des
desimages
imagesau
aucomposant
composantImageList
ImageList

Définissez
Définissezlalapropriété
propriétéImageList
ImageListdu
ducontrôle
contrôleToolBar
ToolBar

Ajoutez
Ajoutez des
desboutons
boutonsau
aucontrôle
contrôleToolBar
ToolBar

Dans
Dansl'Éditeur
l'Éditeurde
decollections
collectionsToolBarButton,
ToolBarButton,
définissez
définissezlalapropriété
propriétéImageIndex
ImageIndexde
dechaque
chaquebouton
bouton
Écriture de code pour l'événement ButtonClick

 Tous les boutons d'une barre d'outils partagent un seul événement


Click
 Utilisez une commande Select Case ainsi que la classe
ToolBarButtonClickEventArgs afin d'identifier le bouton sur lequel
l'utilisateur a cliqué
Protected
Protected Sub
Sub ToolBar1_ButtonClick(ByVal
ToolBar1_ButtonClick(ByVal sender
sender __ As
As
Object,ByVal e As ToolBarButtonClickEventArgs)
Object,ByVal e As ToolBarButtonClickEventArgs)
Select
Select Case
Case ToolBar1.Buttons.IndexOf(e.Button)
ToolBar1.Buttons.IndexOf(e.Button)
Case
Case 00
MessageBox.Show("L'utilisateur
MessageBox.Show("L'utilisateur aa cliquécliqué sur
sur le
le
premier
premier bouton
bouton de
de la
la barre
barre d'outils")
d'outils")
Case
Case 11
MessageBox.Show("L'utilisateur
MessageBox.Show("L'utilisateur aa cliquécliqué sur
sur le
le
deuxième bouton de la barre d'outils")
deuxième bouton de la barre d'outils")
End
End Select
Select
End
End Sub
Sub
Module 12 :
Déploiement
d'applications
Vue d'ensemble

Création
d'une Écriture
interface de code  Introduction au
déploiement

Utilisation
 Déploiement d'une
de Visual application Windows
Studio .NET

Accès Débogage
aux données Debug
et déploiement
and Deploy
Leçon : Introduction au déploiement

 Présentation des assemblys


 Déroulement du déploiement dans Visual Studio .NET
 Choix du type de projet
Présentation des assemblys

 Le code doit être empaqueté dans une unité fonctionnelle,


appelée un assembly, avant d'être exécuté par le Common
Language Runtime
 Les assemblys contiennent toutes les informations
nécessaires au déploiement et à la gestion des versions
Assembly
Assembly sous
sous forme
forme
Assembly
Assembly sous
sous forme
forme de plusieurs fichiers
de plusieurs fichiers
d'un seul fichier
d'un seul fichier

Moo.dll Graphic.jpg Logo.bmp

Boo.dll

Manifeste Manifeste
Déroulement du déploiement dans
Visual Studio .NET

 Options d'empaquetage
 Sous forme de fichiers exécutables portables
(fichiers .dll et .exe)
 Sous forme de fichiers cabinet ( .cab)
 Sous forme de package Windows Installer
 Déploiement
 Repose sur la technologie Windows Installer
 Autres modes de déploiement
 XCOPY
 Commande Copier un projet
Choix du type de projet

Projet de configuration
 Crée un fichier Windows Installer (fichier .msi)
Projet de configuration Web
 Crée un fichier Windows Installer pour une application Web
(fichier .msi)
Projet de module de fusion
 Empaquette des composants qui peuvent être partagés par
plusieurs applications (fichier .msm)
Projet CAB
 Crée un fichier .cab pour le téléchargement vers un navigateur Web
Leçon : Déploiement d'une application Windows

Créez
Créez un
un projet
projet de
de configuration
configuration

Définissez
Définissez les
les propriétés
propriétés du
du projet
projet

Personnalisez
Personnalisez le
le projet
projet de
de configuration
configuration

Générez
Générez l'application
l'application

Distribuez
Distribuez et
et installez
installez l'application
l'application
Création d'un projet de configuration
Windows Installer
Définition des propriétés d'un projet

 Fenêtre Propriétés
 Définissez des propriétés générales
 Exemples : Author, Manufacturer, ProductName
 Boîte de dialogue Propriétés de déploiement
 Définissez des propriétés spécifiques à la configuration
 Exemples : Programme d'amorçage, Compression, Nom
du fichier de sortie et Fichiers du package
 Lorsque vous effectuez une première installation sur des
versions de Windows antérieures à Windows XP, vous devez
inclure le programme d'amorçage dans le programme
d'installation
Éditeurs de déploiement

 Utilisez les éditeurs de déploiement pour configurer le


programme d'installation que vous créez
 Éditeur du système de fichiers
 Éditeur du Registre
 Éditeur des types de fichiers
 Éditeur de l'interface utilisateur
 Éditeur des actions personnalisées
 Éditeur des conditions de lancement
Utilisation de l'Éditeur du système de fichiers

 Offre une représentation du système de fichiers sur un


ordinateur de destination
 S'appuie sur le concept de dossiers virtuels pour
s'assurer que les fichiers sont installés à l'endroit
précis où vous le voulez
Génération du projet de configuration

 .NET Framework doit être installé sur n'importe quel


ordinateur qui exécutera une application créée à l'aide
de Visual Studio .NET
 Pour installer .NET Framework, utilisez le programme
d'installation redistribuable Dotnetfx.exe

Vous aimerez peut-être aussi