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 contrles Module 3 : Utilisation de variables et de tableaux Module 4 : Utilisation de procdures Module 5 : Structures de dcision et boucles Module 6 : Validation des entres de lutilisateur

Plan du cours (suite)


Module 7 : Programmation oriente objet en Visual Basic .NET Module 8 : Gestion des erreurs et des exceptions Module 9 : Amlioration de linterface utilisateur Module 10 : Dploiement dapplications

Module 1 : Mise en route

Vue d'ensemble

Cration d'une interface

criture de code

Utilisation de Use Visual Visual Studio .NET Studio .NET

Concepts de base de l'environnement .NET Exploration de lenvironnement de dveloppement Cration d'un projet Visual Basic .NET

Accs aux donnes

Dbogage et dploiement

Leon : Concepts de base de l'environnement .NET


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

AIDE !

.NET
Framework ?

Visual Basic .NET ?

Prsentation de la plate-forme .NET

Outils pour les dveloppeurs Clients

Services Web XML

Serveurs

Expriences utilisateur

Fonctionnement de Microsoft .NET Framework


Services Services de de programmation programmation

.NET Framework
Applications Visual Basic Applications Visual C#

Bibliothque de classes
ADO.NET Services Web XML Types de donnes Windows Code de la plate-forme .NET

Common Language Runtime Compilation du code source en MSIL


Compilation du code source en MSIL

Applications Visual C++

Le Le compilateur compilateur JIT JIT gnre gnre du du langage langage machine machine

Prsentation de Microsoft Visual Studio .NET


Outils Outils pour pour Web Web Forms Forms Prise Prise en en charge charge de de plusieurs plusieurs langages langages de de programmation programmation Outils Outils pour pour les les services services Web Web XML XML Outils Outils pour pour Windows Windows Forms Forms

Visual Studio .NET


Gestion Gestion des des erreurs erreurs

Accs Accs aux aux donnes donnes

Design

Dveloppement

Dbogage

Dploiement

Utilisation de la page de dmarrage


Commencer Nouveauts Communaut en ligne Actualits Recherche en ligne Tlchargements Services Web XML Hbergement Web Mon profil

Prsentation d'un modle d'application


Fournit Fournit les les fichiers fichiers de de dmarrage, dmarrage, la la structure structure de de projet projet et et les les paramtres paramtres d'environnement d'environnement

Utilisation de l'Explorateur de solutions

Application pratique : Utilisation d'un projet Visual Basic .NET


Dmarrez un projet Visual Basic .NET partir dun modle d'application Windows Excutez le projet dans l'environnement de dveloppement Gnrez un fichier excutable Excutez lapplication en dehors de lenvironnement de dveloppement Visualisez les fichiers dans lExplorateur de solutions Enregistrez le projet et quittez Visual Studio .NET

Leon : Exploration de lenvironnement de dveloppement


Menu Menu principal principal Barre Barre doutils doutils Bote Bote outils outils Concepteur Concepteur Windows Windows Forms Forms

Fentre Fentre Proprits Proprits

Menus et barres d'outils


Menu Menu principal principal Barre Barre doutils doutils standard standard

Nouveau Nouveau projet projet

Annuler Annuler Enregistrer Enregistrer Form1.vb Form1.vb

La bote outils

Contrles Contrles permettant permettant de de crer crer l'interface l'interface utilisateur utilisateur

Concepteur Windows Forms

diteur de code

Liste Liste Nom Nom de de la la classe classe

Liste Liste Nom Nom de de la la mthode mthode

Fentre Proprits

Dfinit Dfinit les les proprits proprits comme comme la la taille, taille, la la lgende lgende ou ou la la couleur couleur

Autres fentres de programmation


Fentre Fentre de de programmation programmation
Liste Listedes destches tches Sortie Sortie

Objectif Objectif
Permet Permet d'organiser d'organiser et et de de grer grer les les tches tches lies lies la la cration cration d'une d'une application application Affiche Affiche des des messages messages d'tat d'tat pour pour diverses diverses fonctionnalits fonctionnalits de de l'environnement l'environnement de de dveloppement dveloppement

Permet Permet d'analyser d'analyser du du code code et et de de retrouver retrouver les les Affichage symboles qui qui reprsentent reprsentent des des lments lments de de Affichagede declasses classes symboles programmation programmation dans dans votre votre solution solution Commande Commande Explorateur Explorateurd'objets d'objets Permet Permet d'excuter d'excuter des des commandes commandes ou ou de de dboguer dboguer et et de de tester tester des des expressions expressions dans dans l'environnement l'environnement de de dveloppement dveloppement Permet Permet d'afficher d'afficher des des objets objets et et leurs leurs membres membres

Systme d'aide en ligne


Menu Menu ? ? (Aide) (Aide) Aide Aide dynamique dynamique

Application pratique : Utilisation de l'environnement de dveloppement


Ouvrez et excutez une application existante Examinez un formulaire dans le Concepteur Windows Forms et l'diteur de code Ouvrez, fermez, rouvrez et masquez la bote outils Examinez les paramtres des proprits des contrles

Utilisez l'Aide dynamique

Leon : Cration d'un projet Visual Basic .NET


Cration d'une spcification de design

Cration de l'interface utilisateur

criture de code

Test et dbogage

Gnration et dploiement

Processus de dveloppement
1 2 3 4 5 6 7 Cration d'une spcification de design Cration de l'interface utilisateur Dfinition des proprits des objets de l'interface utilisateur criture de code pour l'ajout de fonctionnalits Test et dbogage de l'application Cration d'un fichier excutable Cration d'un programme d'installation

Cration de l'interface utilisateur

Placez Placez des des contrles contrles depuis depuis la la bote bote outils outils sur sur le le formulaire formulaire

Dfinition des proprits des contrles


Prop rits Proprits
(Name) (Name) BackColor BackColor Autosize Autosize Visible Visible Border Border Font Font Text Text Textbox1 Textbox1 Blue Blue True True True True Fixed Fixed 3D 3D Microsoft Microsoft SanSerif, SanSerif, 8.2 8.2 pt pt Textbox1 Textbox1

Valeurs Valeurs

Ajout de code pour les contrles


Dans la liste Nom de la classe, cliquez sur le contrle Dans la liste Nom de la mthode, cliquez sur l'vnement 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, gnration et excution de l'application

Enregistrement Enregistrement de de l'application l'application

Excution Excution de de la la solution solution dans dans l'environnement l'environnement de de dveloppement dveloppement

Gnration Gnration d'un d'un fichier fichier excutable excutable

Module 2 : Utilisation de formulaires et de contrles

Vue d'ensemble

Cration d'une interface

criture de code

Comprhension des concepts de programmation Utilisation de Windows Forms Utilisation des contrles Prsentation de votre code

Utilisation de Visual Studio .NET

Accs aux donnes

Dbogage et dploiement

Leon : Comprhension des concepts de programmation


n o i t a m m a r Prog mentielle e n v s e s s Cla s t n e m e n v s e d o h t M s t e j Ob s t i r p o r P

Prsentation de la programmation vnementielle

Sub Sub Button1_Click Button1_Click () () 'insrer 'insrer le le code code de de 'l'vnement 'l'vnement End End Sub Sub

Classes : Modles servant la cration des objets

Classe Classe
Une Une reprsentation reprsentation symbolique symbolique d'un d'un objet objet Analogie Analogie :: un un plan plan

Objet Objet
Une Une instance instance d'une d'une classe classe Analogie Analogie :: une une maison maison conue conue 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

Prsentation des proprits, des mthodes et des vnements


Form1

Propri ts Proprits M thodes Mthodes vnements vnements

Size Size Text Text Close Close Hide Hide Click Click

Volume Volume Basses Basses Rechercher Rechercher une une station station Niveau Niveau de de pile pile faible faible

Application pratique : Proprits, mthodes et vnements


Associez chacun des objets suivants les proprits, les mthodes et les vnements appropris :
Porte Voiture Exemple : Tlphone

Proprits : Largeur, Couleur, Volume Mthodes : Sonner, RglerVolume vnements : RglageVolume, FinNumrotation

Leon : Utilisation de Windows Forms


Cration d'un formulaire Dfinition des proprits d'un formulaire Appel des mthodes Gestion des vnements de formulaire Formulaires modaux et non modaux Gestion de plusieurs formulaires

Cration d'un formulaire

Dfinition des proprits d'un formulaire


Nom Nom de de l'objet l'objet

Bouton Bouton Par Par catgorie catgorie

Bouton Bouton Alphabtique Alphabtique

Volet Volet Description Description

Si vous modifiez la proprit Name de Form1, vous devez aussi donner le nouveau nom l'objet de dmarrage de votre projet

Appel des mthodes

Mthodes Mthodes

Sub Sub Form1_Click Form1_Click Me.CenterToScreen( Me.CenterToScreen( ) ) End End Sub Sub

Gestion des vnements de formulaire

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

vnements vnements

Application pratique : Cration du code associ des vnements de formulaire


Ouvrez une nouvelle application Windows dans Visual Basic .NET Ouvrez l'diteur de code correspondant ce formulaire Crez le gestionnaire d'vnement Form1_Click Ajoutez du code au gestionnaire d'vnements Excutez 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

Leon : Utilisation des contrles


Ajout de contrles un formulaire Dfinition des proprits d'un contrle Association de code des vnements de contrle Utilisation de la fonction MessageBox

Ajout de contrles un formulaire

Dfinition des proprits d'un contrle

Vous pouvez choisir la mme valeur de proprit pour plusieurs contrles la fois Dfinissez les proprits de contrles individuels pour faciliter l'accessibilit de l'application

Association de code des vnements de contrle

Utilisation de la fonction MessageBox


Lgende Lgendeen entant tantque quechane chane

Icne Icne Texte Texteen entant tantque quechane chane

Bouton Boutonpar pardfaut dfaut

Boutons Boutons

MessageBox.Show( MessageBox.Show( ) )

Application pratique : Cration d'un message

Ouvrez une nouvelle application Windows dans Visual Basic .NET

Crez l'interface utilisateur Dfinissez les proprits du formulaire et du contrle Ouvrez un gestionnaire d'vnements et ajoutez du code pour crer une bote de message Excutez l'application et testez votre code

Leon : Prsentation de votre code


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

Conventions d'affectation de noms


Rgles d'affectation de noms
Utilisez uniquement des lettres, des chiffres et des souligns (_) Commencez par une lettre ou un soulign N'utilisez pas de mots cls
OpenButton OpenButton True True Answer42 Answer42 42Answer 42Answer

Principe d'affectation de noms


Casse : Utilisez PascalCasing ou camelCasing, selon l'lment que vous nommez Mcanique : Utilisez des substantifs pour les objets, des verbes pour les mthodes, etc.
BADSTYLE BADSTYLE _poorstyle _poorstyle BestStyle BestStyle

Choix des mots : Soyez cohrent, utilisez les mmes termes dans les diffrents 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 concatnation


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 donnes
Cration d'une interface criture Debug de code and Deploy

Utilisation de variables Porte des variables

Utilisation de Visual Studio .NET

Conversion des types de donnes Cration et utilisation de structures Stockage de donnes dans des tableaux

Accs aux donnes

Dbogage et dploiement

Leon : Introduction aux types de donnes

e m t Sys uns m m o c r u e l a v s e p y T e c n e r f r s e Typ

s e p y t e d

Prsentation du systme de types communs


Dfinit la manire dont les types fonctionnent dans le Common Language Runtime

Systme de types communs


Types Types valeur valeur
Types de donns prdfinis Structures dfinies par l'utilisateur numrations

Types Types rfrence rfrence


Chanes Tableaux Classes

Types de donnes
Type TypeVisual Visual Basic Basic.NET .NET
Boolean Boolean Date Date Decimal Decimal Double Double Integer Integer Single Single String String

Taille Taillede de stockage stockage


2 2octets octets 8 8octets octets 16 16octets octets 8 8octets octets 4 4octets octets 4 4octets octets Varie Varie

Plage Plagedes desvaleurs valeurs


True Trueou ouFalse False De De0:00:00, 0:00:00,le le1er 1erjanvier janvier0001, 0001,23:59:59, 23:59:59, le le31 31dcembre dcembre9999 9999 Jusqu' Jusqu'29 29chiffres chiffressignificatifs significatifsavec avecdes desvaleurs valeurs 28 (signes) comprises jusqu' to 7,9228 x 10 comprises jusqu' to 7,9228 x 10 (signes) De De-4,94065645841246544E-324 -4,94065645841246544E-324 +1,79769313486231570E+308 +1,79769313486231570E+308(signes) (signes) De De-2 -2147 147483 483648 648+2 +2147 147483 483647 647(signes) (signes) De De-3,4028235E+38 -3,4028235E+381,401298E-45 1,401298E-45(signes) (signes) De De00environ environ22milliards milliardsde decaractres caractresUnicode Unicode

Choix d'un type de donnes


Type Typede de donn es donnes
Boolean Boolean

Gestion Gestion

Type Type

Exemple Exemple
True True 23 23 (Integer) (Integer) 9456,72 9456,72 (Decimal) (Decimal) 12/02/2003 12/02/2003 12:30:42 12:30:42

Conditions ConditionsTrue Trueou ouFalse False Valeur Valeur Valeur Valeur Valeur Valeur Valeur Valeur

Short, Short,Integer, Integer, Tous Tousles lesentiers entiers Long Longet etByte Byte Single, Single,Double Double Nombres Nombrescomposs composs et d'entiers etDecimal Decimal d'entierset etde defractions fractions Date Date String String Object Object Valeurs Valeurshoraires horaireset et de dedate date

Caractres Caractrespouvant pouvanttre tre Rfrence Rfrence Maison Maison imprims imprimset etaffichs affichs Pointeur Pointeurvers versla lavaleur valeur d'un d'unobjet objet Rfrence Rfrence myClass myClass myPerson myPerson

Application pratique : Choix du type de donnes

Analysez les exemples de donnes Tenez compte de la taille et du type des donnes Slectionnez le type de donnes le plus dense

Leon : Utilisation de variables


Tches Tches Attribution Attribution d'un d'un nom nom aux aux variables variables Dclaration Dclaration de de variables variables Affectation Affectation de de valeurs valeurs aux aux variables variables Utilisation Utilisation de de variables variables

Prsentation des variables


Les variables stockent des valeurs sujettes modification lorsqu'une application s'excute Une variable est compose des six lments suivants :

lment lment
Nom Nom Adresse Adresse

Description Description
Mot Motque quevous vousutilisez utilisezpour pourvous vousrfrer rfrerla lavariable variabledans dansle lecode code Emplacement Emplacementde dela lammoire mmoireo ola lavaleur valeurde dela lavariable variableest estconserve conserve

Type Typeet ettaille tailled'origine d'originedes desdonnes donnespouvant pouvanttre trestockes stockespar parla lavariable variable Typede dedonnes donnes Type Valeur Valeur Porte Porte Dure Durede devie vie Valeur Valeurau auniveau niveaude del'adresse l'adressede dela lavariable variable Ensemble Ensembledu ducode codepouvant pouvantaccder accderla lavariable variableet etl'utiliser l'utiliser Priode Priodeau aucours coursde delaquelle laquelleune unevariable variableest estvalide valideet etutilisable utilisable

Attribution d'un nom aux variables


Rgles Commencer chaque nom de variable par un caractre alphabtique ou un trait de soulignement (_) Ne pas utiliser d'espaces ni de symboles Ne pas utiliser de mots cls tels que Integer ou Date Exemples NomClient (PascalCasing) SoldeCompte (camelCasing)

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

Exemples de type rfrence


Dim Dim Dim Dim myForm myForm As As userInput userInput Form Form As As String String

Incidences de Option Explicit sur les variables


Lorsque Option Explicit est On (rglage par dfaut) Vous devez dclarer explicitement les variables avant de les utiliser Rduit les erreurs de logique et facilite la gestion du code Entrane une excution du code plus rapide Lorsque Option Explicit est Off Vous pouvez dclarer implicitement une variable par le simple fait de l'utiliser dans votre code Accrot le risque de conflits de noms et de comportements inattendus provoqus par des erreurs d'orthographe Entrane une excution du code plus lente

Affectation de valeurs aux variables


Vous pouvez effectuer les oprations suivantes : Affecter une valeur une variable aprs la dclaration de cette dernire
Dim Dim birthday birthday As As Date Date birthday birthday = = #3/9/1974# #3/9/1974#

Affecter une valeur au moment de la dclaration de cette dernire


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 proprit Renvoyer des valeurs Afficher des informations en sortie

Comparaison Variables / Constantes


Variables Variable Variables Variable
Dclaration Declare Dim l'aide Declarewith Dclaration with Dim l'aidede de l'expression l'expressionDim Dim Les changent Lesvaleurs valeurs changent Values change as Values change as lorsque l'application lorsque l'application application applicationruns runs s'excute s'excute Utilisation de la Utilisation de lammoire mmoire Uses more memory than Uses more memory than plus importante qu'avec plus importante qu'avec constants constants des desconstantes constantes

Constantes Constant Constantes Constant


Dclaration Declare Const l'aide Declarewith Dclaration with Const l'aidede de l'expression l'expressionConst Const Les restent Lesvaleurs valeurs restent Values stay the Values stay thesame sameas as identiques lorsque identiques lorsque application applicationruns runs l'application l'applications'excute s'excute Utilisation de Utilisation dela lammoire mmoire Uses less memory than Uses less memory than plus rduite qu'avec plus rduite qu'avec variables variables 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

Leon : Porte des variables


Module ou classe Public Public A As Integer Module ou classe Friend Friend B As Date Module ou classe Private Private c As String Procdure ou bloc Dim d As Integer

La Lavariable variableA A est estaccessible accessiblepartir partir de den'importe n'importequel quelprojet projetde dela lasolution solution La Lavariable variableB B est estaccessible accessible n'importe n'importeo odans dansle leprojet projet La Lavariable variablecc est estaccessible accessible n'importe n'importeo odans dansle lemodule module La Lavariable variabled d est est accessible accessible uniquement uniquementdans dansla la procdure procdureou oule lebloc bloc

Prsentation de la notion de porte


Dfinition : La porte est l'ensemble de tout le code se rfrant une variable par son nom
Facteurs qui affectent la porte
Bloc Procdure Module, classe ou structure Private Public

Endroit de dclaration de la variable Niveau d'accs du conteneur de la variable Niveau d'accs de la variable

Friend

Dclaration de variables locales


Endroit Endroitde de d claration dclaration
Bloc Bloc Procdure Procdure Dim Dim Dim Dim

Mot Motcl cl

Modificateur Modificateur d 'accs d'accs


Aucun Aucun Aucun Aucun

Port e Porte
Niveau Niveaudu dubloc bloc Niveau Niveaude dela laprocdure procdure

Exemple de variable locale : au niveau du bloc


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

Exemple de variable locale : au niveau de la procdure


Sub Sub ShowMessage_Click( ShowMessage_Click( )) Dim Dim myVariable myVariable As As String String '' Insrer du code pour Insrer du code pour ajouter ajouter des des fonctionnalits fonctionnalits End Sub End Sub

Dclaration de variables statiques


Endroit : Dclarez les variables dans un bloc ou une procdure Syntaxe : Utilisez un mot cl statique (aucun modificateur d'accs) Static nomDeLaVariable As Type Exemple

Sub Sub AddItem_Click( AddItem_Click( ) ) Static Static items items As As Integer Integer ' ' Ajouter Ajouter 1 1 au au compteur compteur items += 1 items += 1 MessageBox.Show MessageBox.Show (" ("Le Le compte compte est est actuellement actuellement de de " "& & items) items) End End Sub Sub

Dclaration de variables de module


Dclarez la variable dans un module, une classe ou une structure

Modificateur 'accs Modificateurd d'accs


Private Private Friend Friend Public Public Exemples Module Module Projet Projet Solution Solution

Port e Porte

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 : Dfinition de niveaux d'accs aux variables


Examinez le code de dmarrage pour rechercher une variable non dclare Dclarez la variable dans diffrents endroits pour obtenir diffrents niveaux de porte Dterminez quel modificateur d'accs utiliser lors de la dclaration d'une variable

Leon : Conversion des types de donnes


Prsentation des fonctions de conversion Conversion explicite de types de donnes Mcanisme de conversion implicite de donnes

Prsentation des fonctions de conversion


Dfinition : Les fonctions de conversion permettent de convertir explicitement une valeur d'un type de donnes en un autre Valeur Integer 1234 Valeur Double 567,9894 Valeur String "12 fvrier 1992" Devient Valeur String "1234" Valeur Integer 568 Valeur Date #2/12/92#

CStr CInt CDate

Conversion explicite de types de donnes


Syntaxe : nomDeLaVariable = FonctionDeConversion(Expression)
Exemple Exemple
1 2 Dclarez une variable en tant que type de donnes String
Dim myString As String

Dclarez une autre variable en tant que type de donnes Integer


Dim myInteger As Integer

3 4

Affectez une valeur la variable String


myString = "1234"

Convertissez la valeur String en valeur Integer


myInteger = CInt(myString)

Mcanisme de conversion implicite de donnes


Les types de donnes sont convertis automatiquement Aucune syntaxe spciale n'est ncessaire dans le code Exemple de conversion implicite de donnes :
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 squence squence est est convertie convertie implicitement implicitement ' ' en en valeur valeur Integer Integer

Inconvnients : Suceptibles de produire des rsultats inattendus Excution du code ralentie L'option Strict ne permet aucun type de conversion implicite restrictive

Leon : Cration et utilisation de structures


Informations connexes du groupe structure unique

Nom Nom de de l'employ l'employ Date Date de de naissance naissance Date Date d'embauche d'embauche Fonction Fonction

Stucture Stucture de de donnes donnes Employee Employee

Prsentation des structures


Types de donnes composites Utilises pour crer des types de valeurs dfinis par l'utilisateur Les membres peuvent tre des variables, des proprits, des mthodes ou des vnements Exemple de structure dfinie 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 prdfinies : Point, Size et Color

Dclaration de structures
Dans un module, un fichier ou une classe (pas dans une procdure) Syntaxe :
ModificateurAccs ModificateurAccs ' ' Dclarer Dclarer les les End End Structure Structure Structure Structure nomDeLaStructure nomDeLaStructure membres membres de de la la structure structure ici ici

Le modificateur daccs utilis est : Public pour un accs illimit Protected pour un accs uniquement au sein de sa propre classe Friend pour un accs partir de n'importe quel emplacement de l'application ou de l'assembly Private pour un accs uniquement au sein de son contexte de dclaration N'affectez pas de valeurs aux membres des donnes dans la dclaration

Utilisation de structures
Proc dure Procdure
Dclaration Dclaration d'une d'une structure structure Dclaration Dclaration d'une d'une variable variable du du type type de de la la structure structure dclare dclare Affectation Affectation de de valeurs valeurs aux aux donnes donnes membres membres criture criture du du code code permettant permettant d'utiliser d'utiliser les les membres membres de de la la structure structure

Application pratique : Cration et utilisation de structures


Dclarez une structure Dclarez 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 Excutez et testez l'application

Leon : Stockage de donnes dans des tableaux


Prsentation d'un tableau Dclaration d'un tableau unidimensionnel Utilisation de tableaux multidimensionnels Redimensionnement des tableaux

Prsentation d'un tableau


Dfinition : Un tableau est une squences d'lments de donnes
Tous les lments d'un tableau possdent le mme type de donnes Les lments individuels sont accessibles en utilisant des index d'entiers

(0)
Index 0 Exemple

(1)

(2)

(3)

(4)

(5)

(6)
Index 6

Pour dclarer un tableau d'entiers compos de sept lments :


Dim Dim countHouses(6) countHouses(6) As As Integer Integer

Pour accder au troisime lment du tableau :


TextBox1.Text TextBox1.Text = = CStr(countHouses(2)) CStr(countHouses(2))

Dclaration d'un tableau unidimensionnel


Vous dclarez un tableau en spcifiant les lments suivants :
Nom du tableau Taille (nombre d'lments) Type de donnes des lments du tableau Modificateur d'accs (si ncessaire) ModificateurAccs ( Size ) ModificateurAccs NomDuTableau NomDuTableau ( Size ) As As Type Type
Spcifie le type des donnes des lments du tableau Spcifie la taille du tableau Spcifie le nom du tableau Spcifie le niveau d'accs du tableau

Utilisation des tableaux multidimensionnels


Spcifiez tous les lments et les dimensions Total des lments = produit de toutes les tailles Pour dclarer une variable de tableau multidimensionnel : Ajoutez une paire de parenthses aprs le nom de la variable Utilisez des virgules l'intrieur des parenthses pour sparer les dimensions Utilisez l'instruction Dim ou un modificateur d'accs au dbut de la dclaration 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 tableauExistant( (NouvelleGrandeur NouvelleGrandeur) ) Exemple :
Dim Dim myArray(,) myArray(,) ' ' Dclarer Dclarer tableau tableau ReDim ReDim myArray(3, myArray(3, 5) 5) ' ' Redimensionner Redimensionner tableau tableau

Module 4 : Utilisation de procdures

Vue d'ensemble

Cration d'une interface

Debug de and Deploy

criture code

Cration de procdures Utilisation de procdures Utilisation de fonctions prdfinies

Utilisation de Visual Studio .NET

Accs aux donnes

Dbogage et dploiement

Leon : Cration de procdures


Prsentation des procdures Cration de procdures Sub Cration de procdures Function Dclaration d'arguments dans les procdures Utilisation d'arguments facultatifs Rutilisation du code

Prsentation des procdures


Les procdures reprsentent les instructions du code excutable dans un programme. Elles sont insres entre une instruction de dclaration et une instruction End Il existe trois types de procdures : Procdures Sub (y compris les procdures d'vnement Sub) Procdures Function Procdures Property Permettent la rutilisation du code Sont dclares en tant que procdures publiques par dfaut

Cration de procdures Sub


Les procdures Sub effectuent des actions mais ne renvoient pas de valeur la procdure appelante
[ Modificateur ] [ Modificateur d'accs d'accs ] Sub Sub NomDeLaProcdure NomDeLaProcdure _ _ [( Liste )] [( Liste des des arguments arguments )] ' ' Instructions Instructions de de la la procdure procdure 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

Cration de procdures Function


Les procdures Function effectuent des actions et peuvent retourner une valeur au programme appelant
[ Modificateur [ Modificateur [( Liste [( Liste des des ' ' ' ' d'accs ] d'accs ] Function Function NomDeLaFonction NomDeLaFonction _ _ arguments )] arguments )] As As TypeDeDonnes TypeDeDonnes

Instructions Instructions de de la la fonction, fonction, y y compris compris l'instruction l'instruction Return Return facultative facultative

End End Function Function

Exemple :
Public Public Function Function DoubleTheValue(ByVal DoubleTheValue(ByVal J J As As Double) Double) As As _ _ Double Double . .. .. . Return Return J*2 J*2 . .. .. . End End Function Function

Dclaration d'arguments dans les procdures


Les Arguments sont les donnes transmises aux procdures Vous pouvez transmettre des arguments via ByVal ou ByRef ByVal : La procdure ne peut pas modifier la valeur de la variable d'origine ByRef : La procdure peut modifier la valeur de la variable d'origine Exception : Les arguments non variables ne sont jamais modifis dans le code appelant, mme s'ils sont transmis par rfrence Dans Visual Basic .NET, la mthode de transmission par dfaut est la transmission par valeur (ByVal) Syntaxe et exemple : ([ByVal|ByRef] ) ([ByVal|ByRef] nomArgument nomArgument As As TypeDeDonnes TypeDeDonnes ) (ByVal (ByVal Name Name As As String) String)

Utilisation d'arguments facultatifs


Rgles de dclaration des arguments facultatifs : Vous devez spcifier une valeur par dfaut La valeur par dfaut 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 _ _ TypeDeDonnes = valeurParDefaut ) TypeDeDonnes = 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

Rutilisation du code
lments lments Fonction Fonction Exemples Exemples

Cre Credes desobjets objetsqui quine nedoivent doiventpas pastre tre Structure Structure tendus tendus

Module Module Classe Classe

Size Size Point Point Fournit Conversion Fournitdes desfonctions fonctionsd'utilitaire d'utilitaireet etdes desdonnes donnes Conversion globales de globales detempratures tempratures Forms tend Forms tenddes desobjets, objets,ou oupour pourles lesobjets objetsdont dontles les ressources Button ressourcesdoivent doiventtre trenettoyes nettoyes Button

Cration d'un module :


[Public|Friend] [Public|Friend] Module Module NomDuModule NomDuModule . .. .. . End End Module Module

Application pratique : Cration d'une fonction dans un module


Ouvrez un nouveau projet

Ajoutez un nouveau module au projet Crez une fonction dans le module crivez le code de la fonction

Leon : Utilisation de procdures


Utilisation des procdures Sub Utilisation des procdures Function Transmission de tableaux des procdures Cration d'une procdure Sub Main

Utilisation des procdures 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 procdures 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) < < 0 0 Then Then ... ... End End If If

Application pratique : Utilisation de la valeur de retour d'une fonction


Crez l'interface utilisateur crivez le code de l'application

Transmission de tableaux des procdures


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)

Dclarez un tableau de paramtres :


Sub Sub StudentScores(ByVal StudentScores(ByVal name name As As String, String, ByVal ByVal _ _ ParamArray scores( ) As String) ParamArray scores( ) As String) ' ' Instructions Instructions de de la la procdure procdure Sub Sub End End Sub Sub

Appelez une procdure comportant un tableau de paramtres :


StudentScores("Anne","10","26","32","15","22","16") StudentScores("Anne","10","26","32","15","22","16")

Cration d'une procdure Sub Main


Sub Main : Point de dpart de votre application Application.Run : Dmarre l'application Application.Exit : Quitte l'application

Application pratique : Cration d'une procdure Sub Main


Dclarez des variables au niveau du module Crez une procdure Sub Main et dfinissez-la comme objet de dmarrage crivez le code correspondant au formulaire Selection crivez le code pour quitter l'application Testez l'application

Leon : Utilisation de fonctions prdfinies


Utilisation de la fonction InputBox Utilisation des fonctions de date et d'heure Utilisation des fonctions de chane Utilisation des fonctions de format Utilisation des fonctions financires

Utilisation de la fonction InputBox


Affiche une invite dans une bote de dialogue, puis renvoie l'entre utilisateur sous la forme d'une chane
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 dure donne une date
DateAdd(DateInterval.Day, DateAdd(DateInterval.Day, 10, 10, billDate) billDate)

DateDiff : Dtermine le nombre de dures spcifies qui existent entre deux valeurs date/heure
DateDiff(DateInterval.Day, DateDiff(DateInterval.Day, Now, Now, secondDate) secondDate)

Utilisation des fonctions de chane


Extraient uniquement une partie d'une chane Renvoient des informations concernant une chane 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 diffrents formats sans qu'il soit ncessaire 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 financires


Effectuent des calculs et ralisent des oprations lis aux finances, tels que les taux dintrt 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 dcision et boucles

Vue d'ensemble

Cration dune interface

Debug de and Deploy

criture code

Utilisation dexpressions conditionnelles Utilisation de structures de dcision Utilisation de structures de boucles conditionnelles

Utilisation de Visual Studio .NET

Accs aux donnes

Dbogage et dploiement

Leon : Utilisation dexpressions conditionnelles


Prsentation des expressions conditionnelles Utilisation doprateurs arithmtiques Utilisation doprateurs de comparaison Utilisation doprateurs logiques Association doprateurs logiques et doprateurs de comparaison

Prsentation des expressions conditionnelles


Expressions conditionnelles : Incluent une condition tester True ou False Incluent un oprateur permettant de spcifier de quel test de la condition il sagit
MotDePasseEntr MotDePasseEntr = = MotDePasseStock MotDePasseStock

True

False Si le mot de passe est correct, la condition est True

Utilisation doprateurs arithmtiques


Symboles valuant des expressions conditionnelles Peuvent effectuer des oprations arithmtiques Syntaxe :
expression1 expression1 oprateur oprateur arithmtique arithmtique expression2 expression2

Exemple :
Dim Dim x x= = x x= = x x= = x x= = x x= = x x As As Integer Integer 52 52 * * 17 17 120 120 / /4 4 67 67 + + 34 34 32 32 12 12 23 23 ^ ^3 3

Utilisation doprateurs de comparaison


Symboles valuant des expressions conditionnelles et renvoyant une valeur de type Boolean Peuvent comparer des nombres et des chanes Syntaxe :
expression1 expression1 oprateur oprateur 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 doprateurs logiques


Les oprateurs logiques procdent une valuation logique des expressions et renvoient une valeur de type Boolean Syntaxe :
expression1 expression1 oprateur oprateur logique logique expression2 expression2

Exemple :
OrderedLastMonth OrderedLastMonth And And OrderDelivered OrderDelivered

Association doprateurs logiques et doprateurs de comparaison


Vous pouvez combiner des oprateurs de comparaison avec des oprateurs logiques laide dinstructions conditionnelles Exemple :
Oprateurs de comparaison Oprateur logique

LateActiveCustomer LateActiveCustomer = = DaysOverDue DaysOverDue >= >= 60 60 And And ActiveCustomer ActiveCustomer

Application pratique : valuation dexpressions conditionnelles


Utilisez lapplication exemple pour calculer les rsultats de ces expressions :
TestString TestString= =TestString TestString TestString TestString= =Teststring Teststring TestString TestString< <TestString TestString Test Test< <TestString TestString 100 100> >10 10 10 10< <10 10 10 10<= <=10 10 0 0And And0 0 -1 -1And And0 0 -1 -1And And-1 -1 -1 -1Or Or-1 -1 -1 -1Xor Xor-1 -1 -1 -1Xor Xor0 0 0 0Xor Xor0 0

Leon : Utilisation de structures de dcision


IfThen
If If Ventes Ventes > > 10000 10000 Then Then Prime Prime = = 0.10 0.10 * * Ventes Ventes End End If If

IfThenElse
If If Ventes Ventes > > 10000 10000 Then Then Prime Prime = = 0.10 0.10 * * Ventes Ventes Else Else Prime Prime = =0 0 End End If If

IfThenElseIf
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

Select Case
Select Select Case Case Rank Rank Case Case 1 1 Prime Prime = =0 0 Case Case 2, 2, 3 3 Prime Prime = = 0.05 0.05 Case Case 4 4 to to 6 6 Prime Prime = = 0.10 0.10 Case Case Else Else Prime Prime = = 0.15 0.15 End End Select Select

* * Ventes Ventes * * Ventes Ventes * * Ventes Ventes

Utilisation dinstructions IfThen


utiliser pour une dcision True ou False Si la condition est True, les instructions suivant linstruction If sont excutes Si la condition est False, les instructions suivant linstruction If ne sont pas excutes
If If Ventes Ventes > > 10000 10000 Then Then Prime Prime = = 0.10 0.10 * * Ventes Ventes End End If If

Utilisation dinstructions IfThenElse


utiliser avec une dcision offrant au moins deux choix Chaque instruction If doit avoir une instruction End If correspondante Si la condition est True, les instructions suivant linstruction If sont excutes Si la condition est False, les instructions suivant linstruction If ne sont pas excutes
If If Ventes Ventes > > 10000 10000 Then Then Prime Prime = = 0.10 0.10 * * Ventes Ventes Else Else Prime Prime = =0 0 End End If If

Utilisation dinstructions IfThenElseIf


utiliser pour imbriquer des instructions de dcision Chaque instruction If doit avoir une instruction End If correspondante Les instructions ElseIf nont pas leur propre End If Les instructions ElseIf ne peuvent pas suivre Else Si la condition est True, les instructions suivant If sont excutes
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 dinstructions Select Case


Slectionnent un bloc de code excuter partir dune liste de choix possibles utiliser comme alternative aux instructions imbriques et complexes IfThenElse Si plusieurs instructions Case sont vraies, seules les instructions appartenant la premire instruction Case vraie sont excutes
Select Select Case Case Rank Rank Case Case 1 1 Prime Prime = = Case Case 2, 2, 3 3 Prime Prime = = Case Case 4 4 to to 6 6 Prime Prime = = Case Case Else Else Prime Prime = = End End Select Select

0 0 0.05 0.05 * * Ventes Ventes 0.10 0.10 * * Ventes Ventes 0.15 0.15 * * Ventes Ventes

Principes de slection dune structure de dcision


Utiliser les instructions IfThen pour contrler lexcution dun bloc de code unique Utiliser les instructions IfThenElse pour contrler lexcution de deux sections de code sexcluant mutuellement Utiliser les instructions Select Case lorsque vous avez une liste de valeurs possibles votre disposition

Leon : Utilisation de structures de boucles conditionnelles


Utilisation dinstructions ForNext Utilisation dinstructions For EachNext Utilisation dinstructions DoLoop Utilisation de linstruction Exit

Utilisation dinstructions ForNext


utiliser lorsque vous savez le nombre de fois que vous voulez rpter lexcution du code
For For NamePos NamePos = =0 0 to to 4 4 MessageBox.Show(Names(NamePos)) MessageBox.Show(Names(NamePos)) Next Next ' ' Dans Dans lordre lordre inverse inverse For For NamePos NamePos = =4 4 to to 0 0 Step Step -1 -1 MessageBox.Show(Names(NamePos)) MessageBox.Show(Names(NamePos)) Next Next

Utilisation dinstructions For EachNext


Une collection est un ensemble dobjets regroups auquel on fait rfrence en tant quunit. Par exemple : les lments dune zone de liste font partie dune collection Items chaque formulaire possde une collection Controls reprsentant tous les contrles du formulaire Les instructions For Each Next sont utilises pour effectuer des boucles parmi les lments dune 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 dinstructions DoLoop


DoLoop Until
Excute le code dans la boucle, puis value la condition. Se rpte jusqu ce que la condition soit dclare True

Do UntilLoop
Excute le code dans la boucle uniquement si la condition est dclare False ; elle se rpte jusqu ce que lexpression en test soit dclare True

DoLoop While
Excute le code dans la boucle, puis value la condition. Se rpte jusqu ce que la condition soit dclare False

Do WhileLoop
Excute le code dans la boucle uniquement si la condition est dclare True ; elle se rpte jusqu ce que lexpression en test soit dclare False

Utilisation de linstruction Exit


utiliser pour quitter les boucles Do ou For plus tt lorsquune condition est remplie
Do Do Until Until y y= = -1 -1 If If x x< <0 0 Then Then Exit Exit x x= = Sqrt Sqrt (x) (x) If If y y> >0 0 Then Then Exit Exit y y= =y y+ +3 3 If If z z= =0 0 Then Then Exit Exit z z= =x x/ /y y Loop Loop

Do Do Do Do Do Do

Module 6 : Validation des entres de l'utilisateur

Vue d'ensemble

Cration d'une interface

criture Debug de code and Deploy


Utilisation de Visual Studio .NET

Limitation des entres de l'utilisateur Validation des donnes de champs Validation des donnes de formulaires

Accs aux donnes

Dbogage et dploiement

Leon : Limitation des entres de l'utilisateur


Directives pour la validation des entres de l'utilisateur Prsentation de la validation intrinsque Utilisation des proprits TextBox Utilisation du contrle Masked Edit

Directives pour la validation des entres de l'utilisateur


Directives Directives
Empcher les utilisateurs d'entrer des donnes non valides lorsque cela est possible Guider les utilisateurs tout au long du processus de saisie des donnes valides Permettre aux utilisateurs d'entrer leurs donnes quand et comme ils le souhaitent Penser aux implications lies la validation lors de la conception de l'application Placer le code de validation l'emplacement appropri selon le design de votre application

Prsentation de la validation intrinsque


Dfinition : Proprits et mthodes intgres au contrle que vous pouvez utiliser pour restreindre et valider les entres de l'utilisateur Contrles courants qui offrent une validation intrinsque :

Contrle Contrle
RadioButton RadioButton CheckBox CheckBox

Technique Techniquede devalidation validation


Restreint Restreintles lesentres entresOn Onou ouOff Off Restreint Restreintles lesentres entresChecked Checkedou ouUnchecked Unchecked

CheckedListBox Fournitune uneliste listed'entres d'entresvalides valides CheckedListBox Fournit ListBox ListBox DateTimePicker DateTimePicker MonthCalendar MonthCalendar TextBox TextBox Fournit Fournitune uneliste listed'entres d'entresvalides valides(graphiques (graphiqueset ettexte) texte) Restreint Restreintles lesentres entresdes desdates datesou oudes desheures heures Restreint Restreintles lesentres entresune uneplage plagede dedates dates Dfinit Dfinitdes desproprits propritspour pourrestreindre restreindreou oumodifier modifierles lesentres entres

Utilisation des proprits TextBox


Vous pouvez utiliser les proprits ci-dessous pour restreindre ou modifier les entres utilisateur des contrles TextBox :
Contrle Contrle
PasswordChar PasswordChar MaxLength MaxLength ReadOnly ReadOnly

Technique Techniquede devalidation validation


Cache Cacheou oumasque masqueles lescaractres caractresentrs entrsdans dansune unezone zonede de texte texte Dfinit Dfinitun unnombre nombremaximal maximalde decaractres caractresentrer entrerdans dansune une zone de texte zone de texte Fournit Fournitune unerponse rponseprdtermine prdterminevalide valide

Dfinit Dfinittous tousles lescaractres caractresd'une d'unezone zonede detexte texteen enmajuscules majuscules CharacterCasing CharacterCasing ou en minuscules ou en minuscules

Utilisation du contrle Masked Edit


Proc dure Procdure
Ajout Ajoutdu ducontrle contrleMasked MaskedEdit Edit la labote bote outils outils

Ajout Ajoutd'un d'uncontrle contrleMasked MaskedEdit Edit un unformulaire formulaire Dfinition Dfinitiondes desproprits propritsdu ducontrle contrle Accs Accsaux auxdonnes donnesentres entrespar parl'utilisateur l'utilisateuret etmise mise en enforme forme

Application pratique : Utilisation du contrle Masked Edit


Ajoutez le contrle Masked Edit la bote outils Ajoutez le contrle Masked Edit un formulaire Modifiez la proprit Mask Modifiez la proprit Format Accdez aux donnes utilisateur et affichez-les

Leon : Validation des donnes de champs


Utilisation de fonctions boolennes Utilisation du composant ErrorProvider Rglage du focus sur les contrles et le texte Modification des entres de l'utilisateur Utilisation des vnements de validation

Utilisation de fonctions boolennes


Fonctions Fonctions boolennes boolennes courantes courantes
Fonction Fonction
IsNumeric IsNumeric IsDate IsDate

Description Description
Renvoie Renvoieune unevaleur valeurboolenne boolennequi quiindique indiquesi siune une expression expressionest estreconnue reconnueen entant tantque quenombre nombre Renvoie Renvoieune unevaleur valeurboolenne boolennequi quiindique indiquesi siune une expression expressionvalue 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 bote outils

Appel de la mthode SetError


Le premier paramtre spcifie l'emplacement de l'icne 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 donnes non valides, une icne d'erreur apparat sur le formulaire :

Rglage du focus sur les contrles et le texte


Pour quelles raisons dfinir le focus ? Lorsqu'un contrle possde le focus, l'utilisateur peut y entrer des donnes l'aide de la souris ou du clavier Lorsqu'un utilisateur entre des donnes non valides, vous pouvez conserver le focus sur le contrle appropri jusqu' ce que l'erreur soit corrige Exemples Pour dfinir le focus sur un contrle TextBox, utilisez la mthode Focus : TextBox1.Focus( TextBox1.Focus( ) ) Pour slectionner tout le texte d'un contrle, utilisez SelectAll : TextBox1.SelectAll( TextBox1.SelectAll( ) )

Modification des entres de l'utilisateur


Vous pouvez modifier des entres de l'utilisateur l'aide des fonctions suivantes :
Fonction Fonction
UCase UCase LCase LCase Trim Trim

Description Description
Convertit Convertitune unechane chanespcifie spcifieen enmajuscules majuscules Convertit Convertitune unechane chanespcifie spcifieen enminuscules minuscules limine limineles lesespaces espaces gauche gaucheet et droite droitedans dansune une chane chanespcifie spcifie

Exemple
Dim Dim LowerCase, LowerCase, UpperCase UpperCase As As String String LowerCase LowerCase = =" " Bonjour Bonjour le le monde monde 1234" 1234" ' ' Chane Chane convertir convertir UpperCase UpperCase = = UCase(LowerCase) UCase(LowerCase) ' ' Retourne Retourne "BONJOUR "BONJOUR LE LE MONDE MONDE 1234" 1234"

Utilisation des vnements de validation


Utilisez la proprit CausesValidation pour dclencher l'vnement Validating vnement 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'entrept.") l'entrept.") e.Cancel e.Cancel = = True True End End If If End End Sub Sub

vnement Validated
Private Private Sub Sub WarehouseTextbox_Validated(. WarehouseTextbox_Validated(. . . .) .) infoErrorProvider.SetError(WarehouseTextbox, infoErrorProvider.SetError(WarehouseTextbox, "") "") End End Sub Sub

Application pratique : Validation des donnes de champs


crivez du code pour l'vnement Validating afin de tester les donnes Utilisez le composant ErrorProvider pour avertir l'utilisateur d'une erreur crivez du code pour l'vnement Validated afin de rinitialiser le composant ErrorProvider

Testez l'application

Leon : Validation des donnes de formulaires


Validation de plusieurs champs d'un formulaire Dsignation des boutons d'acceptation et d'annulation Questions sur la scurit

Validation de plusieurs champs d'un formulaire


Repres visuels destins l'utilisateur Exemple Dsactivation du bouton OK jusqu' ce que l'utilisateur ait entr des donnes dans tous les champs requis

Validation de tous les champs du formulaire en mme temps Exemple Placement de tout le code de validation dans le gestionnaire dvnements Click du bouton OK

Dsignation des boutons d'acceptation et d'annulation


Dfinissez la proprit AcceptButton du formulaire Dfinissez la proprit CancelButton du formulaire Exemples Dsignation du bouton OKButton en tant que bouton d'acceptation

Dsignation du bouton EscapeButton en tant que bouton d'annulation

Questions sur la scurit

Authentification des utilisateurs Vrification de l'utilisateur Windows actuel Utilisez la proprit UserName de l'objet SystemInformation Exemple
MessageBox.Show(" MessageBox.Show(" Vous Vous tes tes "" & & SystemInformation.UserName) SystemInformation.UserName)

Scurisation de votre code

Module 7 : Programmation oriente objet en Visual Basic .NET

Vue d'ensemble

Cration d'une interface

criture Debug de code and Deploy


Utilisation de Visual Studio .NET

Comprhension des classes Utilisation des classes Utilisation des membres partags Hritage, polymorphisme et espaces de noms

Accs aux donnes

Dbogage et dploiement

Leon : Comprhension des classes

n o i t c a r t abs e s s a cl n o i t a l u s p a c n e t e j b o

Prsentation d'une classe


Une classe est un plan qui dcrit un objet et qui dfinit des attributs et des oprations pour celui-ci Les classes utilisent l'abstraction pour rendre uniquement disponibles les objets essentiels la dfinition 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

Prsentation d'un objet


Un objet est une instance spcifique d'une classe Les objects possdent les caractristiques suivantes : Identit : Les objets peuvent tre distingus les uns des autres Comportement : Les objets peuvent effectuer des tches tat : Les objets stockent des informations qui peuvent changer au fil du temps
Classe Classe
12

Objet Objet Objet Objet

123

245 245

Utilisation de l'Explorateur d'objets

Volet Volet Objets Objets

Volet Volet Membres Membres

Volet Volet Description Description

Leon : Utilisation des classes


Cration d'une classe Ajout de donnes membres d'instance Ajout de mthodes Ajout de proprits Cration d'une instance d'une classe Utilisation des constructeurs Utilisation des destructeurs

Cration d'une classe


Crez une classe l'aide de la commande Ajouter une classe du menu Projet Exemple de classe appele BankAccount :
Public BankAccount Public Class Class Class1 BankAccount Class1 End End Class Class

Ajout de donnes membres d'instance


Ajout d'une donne membre appele balance
Public Public Class Class BankAccount BankAccount Private Private balance balance As As Double Double End End Class Class

Mot Motcl cl
Public Public Private Private Protected Protected

D finition Dfinition
Accessible Accessible partir partirde den'importe n'importequel quelemplacement emplacement Accessible Accessibleuniquement uniquementau ausein seindu dutype type Accessible Accessibleuniquement uniquementpar parles lesclasses classesqui quihritent hritentde dela laclasse classe

Ajout de mthodes
Ajout d'une mthode appele 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

Mthodes surcharges : deux ou plusieurs mthodes portant le mme nom, mais des signatures diffrentes Exemple : MessageBox.Show

Ajout de proprits
Ajout d'une proprit :
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

Cration d'une instance d'une classe


Utilisation du mot cl New pour crer 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 : Cration d'une classe


Au cours de cette application pratique, vous allez crer une classe BankAccount et y ajouter des mthodes et des proprits

Utilisation des constructeurs


Excute le code lorsque l'objet est instanci
Public Public Sub Sub New( New( ) ) ' ' Effectue Effectue une une initialisation initialisation simple simple intValue intValue = =1 1 End End Sub Sub

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


Public Public Sub Sub New(ByVal New(ByVal i i 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 = =i i End End Sub Sub

Utilisation des destructeurs


Utiliss pour le nettoyage des ressources Appels au moment de l'excution avant la destruction de lobjet Important : La destruction peut ne pas avoir lieu immdiatement
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

Leon : Utilisation des membres partags


Utilisation des donnes membres partages Utilisation des mthodes partages

Utilisation des donnes membres partages


Les donnes membres partages permettent plusieurs instances d'une classe de faire rfrence une mme 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 mthodes partages


Peuvent tre utilises sans dclarer une instance de classe Ne peuvent accder qu'aux donnes partages
'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 : Cration de mthodes partages


Au cours de cette application pratique, vous allez effectuer les tches suivantes : Cration d'une classe Ajout de mthodes partages Utilisation de mthodes partages

Leon : Hritage, polymorphisme et espaces de noms

e g a t e hri m s i h p r s o e m s y s l a l po c t e s e r u t c u st r s m o n e d s e c espa

Prsentation de l'hritage
L'hritage spcifie une relation de type Plusieurs classes partagent les mmes attributs et oprations, ce qui permet une rutilisation efficace du code
Classe de base

Exemples :
Un client est un type de de personne Un employ est un type de de personne

Person (Personne)

Classes drives

Customer (Client)

Employee (Employ)

Hritage d'une classe


Une classe drive hrite d'une classe de base Les proprits, mthodes, donnes membres, vnements et gestionnaires d'vnements peuvent tre hrits (selon la porte) Mots cls Inherits : Hrite de la classe de base NotInheritable : Ne peut pas tre hrite MustInherit : Les instances de la classe ne peuvent pas tre cres ; doit tre hrite comme une classe de base

Prsentation du polymorphisme
Le nom de la mthode rside dans la classe de base Les implmentations de la mthode rsident dans les classes drives
BaseTax BaseTax CalculateTax( CalculateTax( ))

CountyTax CountyTax CalculateTax( CalculateTax( ))

CityTax CityTax CalculateTax( CalculateTax( ))

Comparaison entre classes et structures

Classes Classes
Peuvent Peuventdfinir dfinirdes desdonnes donnesmembres, membres, des desproprits propritset etdes desmthodes mthodes Prennent Prennenten encharge chargeles lesconstructeurs constructeurs et etl'initialisation l'initialisationdes desmembres membres Prennent Prennenten encharge chargela lamthode mthode Finalize Finalize Extensibles Extensiblespar parhritage hritage Type Typede dedonnes donnesrfrence rfrence

Structures Structures
Peuvent Peuventdfinir dfinirdes desdonne donnemembres, membres, des desproprits propritset etdes desmthodes mthodes Aucun Aucunconstructeur constructeurpar pardfaut dfautet etaucune aucune initialisation initialisationdes desmembres membres Ne Neprennent prennentpas pasen encharge chargela lamthode mthode Finalize Finalize Ne Neprennent prennentpas pasen encharge chargel'hritage l'hritage Type Typede dedonnes donnesvaleur valeur

Organisation des classes en espaces de noms


Les espaces de noms servent de systme d'organisation Les espaces de noms fournissent des noms qualifis complets pour les classes Exemple : System.Windows.Forms.Button Pour importer un espace de noms : Au niveau du projet, vous devez inclure une rfrence 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

Cration d'une interface

criture de code

Types d'erreurs Utilisation du dbogueur Gestion des exceptions

Utilisation de Visual Studio .NET

Accs aux donnes

Dbogage et dploiement

Leon : Types d'erreurs


Prsentation des erreurs de syntaxe Prsentation des erreurs d'excution Prsentation des erreurs de logique

Prsentation des erreurs de syntaxe


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

Affichage des erreurs dans la fentre Liste des tches :

Prsentation des erreurs d'excution


Vitesse Vitesse = = Kilomtres/Heures Kilomtres/Heures ' ' Si Si la la variable variable Heures Heures = = 0, 0, la la division division n est pas pas une une opration opration valide, valide, mme mme si si n''est l instruction elle-mme elle-mme est est l''instruction
syntaxiquement syntaxiquement correcte correcte

Prsentation des erreurs de logique


Dfinition : Une erreur qui entrane la production de rsultats incorrects par une application Peut ne pas gnrer de message d'erreur Peut tre recherche en testant l'application et en analysant ses rsultats
Dim Dim x x As As Do Do While While ' ' x x Integer Integer = = 2 2 x x < < 10 10

Instructions Instructions du du code code -= -= 1 1

Loop Loop

Leon : Utilisation du dbogueur


Prsentation du mode arrt Utilisation des points d'arrt Modification des points d'arrt Barre d'outils Dboguer Procdure d'analyse pas pas du code Utilisation des fentres de dbogage Utilisation de la fentre Commande

Prsentation du mode arrt


Permet d'interrompre le fonctionnement d'une application Vous pouvez effectuer les oprations suivantes lorsque vous tes en mode arrt : Parcourir votre code ligne aprs ligne Dterminer les procdures actives qui ont t appeles Contrler les valeurs des variables, des proprits et des expressions Utiliser les fentres de dbogage pour modifier les valeurs des variables et des proprits Modifier le flux du programme Excuter les instructions du code

Utilisation des points d'arrt


Un point d'arrt est un marqueur intgr votre code qui permet Visual Basic d'interrompre l'excution du code sur une ligne spcifique Vous ne pouvez pas placer un point d'arrt dans du code non excutable

Points Points d'arrt d'arrt

Modification des points d'arrt

Proprit Proprit Condition Condition

Proprit Proprit Nombre Nombre d'accs d'accs

Barre d'outils Dboguer

Dmarrer Dmarrer

Arrter Arrter le le dbogage dbogage

Afficher Afficher l'instruction l'instruction suivante suivante

Pas Pas pas pas principal principal

Affichage Affichage hexadcimal hexadcimal

Interrompre Interrompre tout tout

Redmarrer Redmarrer

Pas Pas pas pas dtaill dtaill

Pas Pas pas pas sortant sortant

Points Points d'arrt d'arrt

Procdure d'analyse pas pas du code


Pas pas dtaill et Pas pas principal : Excutent la ligne de code suivante. Si la ligne contient un appel de procdure : Pas pas dtaill : Excute uniquement l'appel, puis s'arrte la premire ligne de code dans la procdure Pas pas principal : Excute l'intgralit de la procdure, puis s'arrte la premire ligne de code hors procdure Pas pas sortant : Reprend l'excution de votre code jusqu'au retour de la procdure, puis s'arrte au point de retour dans la procdure appelante Excuter jusqu'au curseur : Le dbogueur excute votre application jusqu' ce qu'il atteigne le point d'insertion que vous avez dfini

Utilisation des fentres de dbogage


Fentre Fentre Utilisation Utilisation

Permet Permetd'afficher d'afficherdes desvariables variablesdans dansl'instruction l'instruction en cours et dans les trois instructions Automatique suivantet et Automatique en cours et dans les trois instructionssuivant prcdant l'instruction en cours prcdant l'instruction en cours
Pile Piledes des appels appels Variables Variables locales locales

Permet Permetd'afficher d'afficherl'historique l'historiquedes desappels appels la laligne ligne de code en cours de dbogage de code en cours de dbogage Permet Permetd'afficher d'afficheret etde demodifier modifierles lesvariables variables locales locales Permet Permetde decrer crervotre votreliste listepersonnalise personnalisede de variables variablesou oud'expressions d'expressions contrler contrler Permet Permetde devisualiser visualiseret etmanipuler manipulertoutes toutesles les expressions espionnes expressions espionnes

Espion Espion

Utilisation de la fentre Commande


Utilisez la fentre Commande pour : mettre des commandes (mode Commande) Dboguer et valuer des expressions (mode Immdiat)
Tche Tche
valuation valuationdes desexpressions expressions Passage Passagedu dumode modeCommande Commande en mode Immdiat en mode Immdiat

Solution Solution
Faites Faitesprcder prcderl'expression l'expressiond'un d'un point d'interrogation (?) point d'interrogation (?)

Exemple Exemple
?myVariable ?myVariable

Tapez Tapezimmed immeddans dansla lafentre fentresans sans immed immed le signe Suprieur (>) le signe Suprieur (>) >cmd >cmd >alias >alias

Passage Passagedu dumode modeImmdiat Immdiaten en Tapez >cmd dans la fentre Tapez >cmd dans la fentre mode Commande mode Commande Passage Tapez Passageprovisoire provisoireen enmode mode Tapezla lacommande commandedans dansla la fentre et faites-la prcder Commande lors d'un travail en d'un Commande lors d'un travail en fentre et faites-la prcderd'un signe Suprieur (>) mode signe Suprieur (>) modeImmdiat Immdiat

Application pratique : Dbogage du code


Examinez le code dans le gestionnaire d'vnements Click Gnrez et excutez l'application Utilisez les outils de dbogage pour localiser l'erreur de logique Suggrez une mthode pour corriger l'erreur

Leon : Gestion des exceptions


Classe Exception Prsentation de la gestion structure des exceptions Utilisation de l'instruction TryCatch Utilisation du bloc Finally Procdure de dclenchement des exceptions Principes d'utilisation de la gestion structure des exceptions

Classe Exception
.NET Framework fournit le modle 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 rencontres Les proprits de la classe de base Exception vous permettent d'analyser les exceptions Proprits principales : StackTrace, Message, HelpLink et Source

Prsentation de la gestion structure des exceptions


Dtecte et rpond des erreurs lors de l'excution d'une application Utilisez l'instruction TryCatchFinally pour encapsuler et protger des blocs de code pouvant potentiellement provoquer des erreurs Chaque bloc possde un ou plusieurs gestionnaires associs Chaque gestionnaire spcifie une forme de condition de filtre sur le type d'exception qu'il gre Avantages : Permet de sparer le code de gestion des erreurs du code de logique Facilite la lecture, le dbogage et la gestion du code

Utilisation de l'instruction TryCatch


Placez les sections du code suceptibles de lever des exceptions dans un bloc Try Grez les exceptions dans un bloc Catch distinct
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 introuvable") introuvable") Catch Catch ex ex As As Exception Exception MessageBox.Show(ex.Message) MessageBox.Show(ex.Message) End End Try Try
Gestion Gestion des des exceptions exceptions Logique Logique du du programme programme

Utilisation du bloc Finally


Bloc de code facultatif qui, s'il est inclu, est toujours excut 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 donnes donnes 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

Procdure de dclenchement des exceptions


L'instruction Throw cre une exception que vous pouvez grer l'aide du code de gestion structure des exceptions
If If (day (day < < 1) 1) Else Else ... ... End End If If Or Or (day (day > > 365) 365) Then Then

Throw Throw New New ArgumentOutOfRangeException( ArgumentOutOfRangeException( ) )

Principes d'utilisation de la gestion structure des exceptions


N'utilisez pas la gestion structure des exceptions pour les erreurs qui ne sont pas suceptibles de se produire rgulirement. Utilisez d'autres blocs de code pour rsoudre ces erreurs IfEnd If, etc. Utilisez la valeur de retour pour les erreurs courantes Exemple : Les mthodes de lecture d'E/S sur fichier ne lvent pas une exception de fin de fichier Levez toujours des exceptions dans les blocs Catch qui vont de la plus spcifique la moins spcifique

Module 8 : Gestion des erreurs et des exceptions

Vue d'ensemble

Cration d'une interface

criture de code

Types d'erreurs Utilisation du dbogueur Gestion des exceptions

Utilisation de Visual Studio .NET

Accs aux donnes

Dbogage et dploiement

Leon : Types d'erreurs


Prsentation des erreurs de syntaxe Prsentation des erreurs d'excution Prsentation des erreurs de logique

Prsentation des erreurs de syntaxe


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

Affichage des erreurs dans la fentre Liste des tches :

Prsentation des erreurs d'excution


Vitesse Vitesse = = Kilomtres/Heures Kilomtres/Heures ' ' Si Si la la variable variable Heures Heures = = 0, 0, la la division division n est pas pas une une opration opration valide, valide, mme mme si si n''est l instruction elle-mme elle-mme est est l''instruction
syntaxiquement syntaxiquement correcte correcte

Prsentation des erreurs de logique


Dfinition : Une erreur qui entrane la production de rsultats incorrects par une application Peut ne pas gnrer de message d'erreur Peut tre recherche en testant l'application et en analysant ses rsultats
Dim Dim x x As As Do Do While While ' ' x x Integer Integer = = 2 2 x x < < 10 10

Instructions Instructions du du code code -= -= 1 1

Loop Loop

Leon : Utilisation du dbogueur


Prsentation du mode arrt Utilisation des points d'arrt Modification des points d'arrt Barre d'outils Dboguer Procdure d'analyse pas pas du code Utilisation des fentres de dbogage Utilisation de la fentre Commande

Prsentation du mode arrt


Permet d'interrompre le fonctionnement d'une application Vous pouvez effectuer les oprations suivantes lorsque vous tes en mode arrt : Parcourir votre code ligne aprs ligne Dterminer les procdures actives qui ont t appeles Contrler les valeurs des variables, des proprits et des expressions Utiliser les fentres de dbogage pour modifier les valeurs des variables et des proprits Modifier le flux du programme Excuter les instructions du code

Utilisation des points d'arrt


Un point d'arrt est un marqueur intgr votre code qui permet Visual Basic d'interrompre l'excution du code sur une ligne spcifique Vous ne pouvez pas placer un point d'arrt dans du code non excutable

Points Points d'arrt d'arrt

Modification des points d'arrt

Proprit Proprit Condition Condition

Proprit Proprit Nombre Nombre d'accs d'accs

Barre d'outils Dboguer

Dmarrer Dmarrer

Arrter Arrter le le dbogage dbogage

Afficher Afficher l'instruction l'instruction suivante suivante

Pas Pas pas pas principal principal

Affichage Affichage hexadcimal hexadcimal

Interrompre Interrompre tout tout

Redmarrer Redmarrer

Pas Pas pas pas dtaill dtaill

Pas Pas pas pas sortant sortant

Points Points d'arrt d'arrt

Procdure d'analyse pas pas du code


Pas pas dtaill et Pas pas principal : Excutent la ligne de code suivante. Si la ligne contient un appel de procdure : Pas pas dtaill : Excute uniquement l'appel, puis s'arrte la premire ligne de code dans la procdure Pas pas principal : Excute l'intgralit de la procdure, puis s'arrte la premire ligne de code hors procdure Pas pas sortant : Reprend l'excution de votre code jusqu'au retour de la procdure, puis s'arrte au point de retour dans la procdure appelante Excuter jusqu'au curseur : Le dbogueur excute votre application jusqu' ce qu'il atteigne le point d'insertion que vous avez dfini

Utilisation des fentres de dbogage


Fentre Fentre Utilisation Utilisation

Permet Permetd'afficher d'afficherdes desvariables variablesdans dansl'instruction l'instruction en cours et dans les trois instructions Automatique suivantet et Automatique en cours et dans les trois instructionssuivant prcdant l'instruction en cours prcdant l'instruction en cours
Pile Piledes des appels appels Variables Variables locales locales

Permet Permetd'afficher d'afficherl'historique l'historiquedes desappels appels la laligne ligne de code en cours de dbogage de code en cours de dbogage Permet Permetd'afficher d'afficheret etde demodifier modifierles lesvariables variables locales locales Permet Permetde decrer crervotre votreliste listepersonnalise personnalisede de variables variablesou oud'expressions d'expressions contrler contrler Permet Permetde devisualiser visualiseret etmanipuler manipulertoutes toutesles les expressions espionnes expressions espionnes

Espion Espion

Utilisation de la fentre Commande


Utilisez la fentre Commande pour : mettre des commandes (mode Commande) Dboguer et valuer des expressions (mode Immdiat)
Tche Tche
valuation valuationdes desexpressions expressions Passage Passagedu dumode modeCommande Commande en mode Immdiat en mode Immdiat

Solution Solution
Faites Faitesprcder prcderl'expression l'expressiond'un d'un point d'interrogation (?) point d'interrogation (?)

Exemple Exemple
?myVariable ?myVariable

Tapez Tapezimmed immeddans dansla lafentre fentresans sans immed immed le signe Suprieur (>) le signe Suprieur (>) >cmd >cmd >alias >alias

Passage Passagedu dumode modeImmdiat Immdiaten en Tapez >cmd dans la fentre Tapez >cmd dans la fentre mode Commande mode Commande Passage Tapez Passageprovisoire provisoireen enmode mode Tapezla lacommande commandedans dansla la fentre et faites-la prcder Commande lors d'un travail en d'un Commande lors d'un travail en fentre et faites-la prcderd'un signe Suprieur (>) mode signe Suprieur (>) modeImmdiat Immdiat

Application pratique : Dbogage du code


Examinez le code dans le gestionnaire d'vnements Click Gnrez et excutez l'application Utilisez les outils de dbogage pour localiser l'erreur de logique Suggrez une mthode pour corriger l'erreur

Leon : Gestion des exceptions


Classe Exception Prsentation de la gestion structure des exceptions Utilisation de l'instruction TryCatch Utilisation du bloc Finally Procdure de dclenchement des exceptions Principes d'utilisation de la gestion structure des exceptions

Classe Exception
.NET Framework fournit le modle 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 rencontres Les proprits de la classe de base Exception vous permettent d'analyser les exceptions Proprits principales : StackTrace, Message, HelpLink et Source

Prsentation de la gestion structure des exceptions


Dtecte et rpond des erreurs lors de l'excution d'une application Utilisez l'instruction TryCatchFinally pour encapsuler et protger des blocs de code pouvant potentiellement provoquer des erreurs Chaque bloc possde un ou plusieurs gestionnaires associs Chaque gestionnaire spcifie une forme de condition de filtre sur le type d'exception qu'il gre Avantages : Permet de sparer le code de gestion des erreurs du code de logique Facilite la lecture, le dbogage et la gestion du code

Utilisation de l'instruction TryCatch


Placez les sections du code suceptibles de lever des exceptions dans un bloc Try Grez les exceptions dans un bloc Catch distinct
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 introuvable") introuvable") Catch Catch ex ex As As Exception Exception MessageBox.Show(ex.Message) MessageBox.Show(ex.Message) End End Try Try
Gestion Gestion des des exceptions exceptions Logique Logique du du programme programme

Utilisation du bloc Finally


Bloc de code facultatif qui, s'il est inclu, est toujours excut 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 donnes donnes 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

Procdure de dclenchement des exceptions


L'instruction Throw cre une exception que vous pouvez grer l'aide du code de gestion structure des exceptions
If If (day (day < < 1) 1) Else Else ... ... End End If If Or Or (day (day > > 365) 365) Then Then

Throw Throw New New ArgumentOutOfRangeException( ArgumentOutOfRangeException( ) )

Principes d'utilisation de la gestion structure des exceptions


N'utilisez pas la gestion structure des exceptions pour les erreurs qui ne sont pas suceptibles de se produire rgulirement. Utilisez d'autres blocs de code pour rsoudre ces erreurs IfEnd If, etc. Utilisez la valeur de retour pour les erreurs courantes Exemple : Les mthodes de lecture d'E/S sur fichier ne lvent pas une exception de fin de fichier Levez toujours des exceptions dans les blocs Catch qui vont de la plus spcifique la moins spcifique

Module 9 : Amlioration de l'interface utilisateur

Vue d'ensemble

Cration d'une interface

criture de code

Cration de menus
Utilisation de Visual Studio .NET

Cration de barres d'tat Cration de barres d'outils

Accs aux donnes

Dbogage et dploiement

Leon : Cration de menus


Terminologie des menus Principes de cration des menus Cration d'un menu Modification des lments de menu Amlioration de votre menu

Terminologie des menus


En-tte En-tte de de menu menu

lments lments de de menu menu

Sous-menu Sous-menu

Principes de cration des menus

Principe Principe
Utilisez Utilisezune unelettre lettremajuscule majusculecomme comme premire premirelettre lettredu dunom nomdes deslments lmentsde demenu menu Affectez Affectezune unetouche touched'accs d'accsrapide rapideunique unique chaque lment de menu chaque lment de menu Utilisez Utilisezdes desconventions conventionsd'appellation d'appellationcohrentes cohrentes Placez Placezdes despoints pointsde desuspension suspension(.(.. ..).)derrire derrireles les commandes commandesde demenu menuqui quirequirent requirentplus plus d'informations d'informationsde dela lapart partde del'utilisateur l'utilisateur

Ex emple Exemple
Fichier, Fichier,Edition, Edition,? ?(Aide) (Aide) Fichier, Fichier,Edition, Edition,? ?(Aide) (Aide) FileItem, FileItem,EditItem, EditItem, HelpItem HelpItem Enregistrer Enregistrersous sous

Cration d'un menu

Ajoutez un contrle MainMenu au formulaire

Crez la structure du menu en ajoutant des lments de menu Ajoutez des fonctionnalits aux lments de menu

Modification des lments de menu


Modification Modification souhait e souhaite
Dplacer Dplacer Supprimer Supprimer Modifier Modifier Dsactiver Dsactiver Masquer Masquer

tapes tapes
Dans Dansle leConcepteur Concepteurde demenus, menus,cliquez cliquezsur surl'lment l'lmentde demenu menu et etdplacez-le dplacez-levers versson sonnouvel nouvelemplacement emplacement Cliquez Cliquezavec avecle lebouton boutondroit droitsur surl'lment l'lmentde demenu, menu,puis puis cliquez sur Supprimer cliquez sur Supprimer Utilisez Utilisezla lafentre fentreProprits Propritspour pourmodifier modifierla laproprit propritText, Text, et etutilisez utilisezl'diteur l'diteurde denoms nomspour pourmodifier modifierla laproprit propritName Name Dfinissez Dfinissezla laproprit propritEnabled Enabledde del'lment l'lmentde demenu menula la valeur False valeur False Dfinissez Dfinissezla laproprit propritVisible Visiblede del'lment l'lmentde demenu menula la valeur valeurFalse False

Amlioration de votre menu


Coche Coche

Touche Touche de de raccourci raccourci

Barre Barre sparatrice sparatrice

Touche Touche d'accs d'accs rapide rapide

Leon : Cration de barres d'tat


Cration d'une barre d'tat Ajout de panneaux une barre d'tat Dfinition du texte des panneaux au moment de l'excution

Panneaux Panneaux de de barre barre d'tat d'tat Barre Barre d'tat d'tat

Cration d'une barre d'tat


Proc dure Procdure
Ouvrez Ouvrezle leformulaire formulaireauquel auquelvous voussouhaitez souhaitez ajouter ajouterla labarre barred'tat d'tat partir partirde dela labote bote outils, outils,ajoutez ajoutezun un contrle contrleStatusBar StatusBarau auformulaire formulaire Dfinissez Dfinissezles lesproprits propritsStatusBar StatusBar Ajoutez Ajoutezle lenombre nombresouhait souhaitde depanneaux panneaux la labarre barred'tat d'tat

Ajout de panneaux une barre d'tat


Proc dure Procdure
Ouvrez Ouvrezla lafentre fentreProprits Propritspour pourle lecontrle contrle StatusBar StatusBar Dfinissez Dfinissezla laproprit propritShowPanels ShowPanels la la valeur valeurTrue True Dans Dansla laproprit propritPanels, Panels,ouvrez ouvrez l'diteur l'diteurde decollections collectionsStatusBarPanel StatusBarPanel Utilisez Utilisezles lesboutons boutonsAjouter Ajouteret etSupprimer Supprimerpour pourajouter ajouter et etsupprimer supprimerdes desboutons boutonsdu ducontrle contrleStatusBar StatusBar Dfinissez Dfinissezles lesproprits propritsdes despanneaux panneaux

Dfinition du texte des panneaux au moment de l'excution


Rfrez-vous au panneau de la proprit que vous voulez dfinir 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 = = "Prt" "Prt" StatusBar1.Panels(0).Alignment StatusBar1.Panels(0).Alignment = =_ _ HorizontalAlignment.Center HorizontalAlignment.Center

Leon : Cration de barres d'outils


Cration d'une barre d'outils Ajout de boutons une barre d'outils Ajout d'icnes aux boutons d'une barre d'outils criture de code pour l'vnement ButtonClick

Cration d'une barre d'outils


Proc dure Procdure
Ajoutez Ajoutez un uncontrle contrleToolBar ToolBarau auformulaire formulaire partir partirde dela labote bote outils outils Dfinissez Dfinissezles lesproprits propritsToolBar ToolBar Ajoutez Ajoutez des desboutons boutons la labarre barred'outils d'outils Dfinissez Dfinissezles lesproprits propritsToolBarButton ToolBarButton Si Sivous vousle lesouhaitez, souhaitez,affectez affectez des desimages images chacun chacun des desboutons boutonsde dela labarre barred'outils d'outils crivez crivezle lecode codepour pourles lesboutons boutonsde dela labarre barred'outils d'outils

Ajout de boutons une barre d'outils


Proc dure Procdure
Ouvrez Ouvrezla lafentre fentreProprits Propritsdu ducontrle contrleToolBar ToolBar

Dans Dansla laproprit propritButtons, 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, dfinissez dfinissezles lesproprits propritsdes desboutons boutons

Ajout d'icnes aux boutons d'une barre d'outils


Proc dure Procdure
Ajoutez Ajoutez un uncomposant composantImageList ImageListau auformulaire formulaire partir partirde dela labote bote outils outils Ajoutez Ajoutez des desimages imagesau aucomposant composantImageList ImageList Dfinissez Dfinissezla laproprit propritImageList ImageListdu ducontrle contrleToolBar ToolBar Ajoutez Ajoutez des desboutons boutonsau aucontrle contrleToolBar ToolBar Dans Dansl'diteur l'diteurde decollections collectionsToolBarButton, ToolBarButton, dfinissez dfinissezla laproprit propritImageIndex ImageIndexde dechaque chaquebouton bouton

criture de code pour l'vnement ButtonClick


Tous les boutons d'une barre d'outils partagent un seul vnement 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 0 0 MessageBox.Show("L'utilisateur MessageBox.Show("L'utilisateur a a cliqu cliqu sur sur premier premier bouton bouton de de la la barre barre d'outils") d'outils") Case Case 1 1 MessageBox.Show("L'utilisateur MessageBox.Show("L'utilisateur a a cliqu cliqu sur sur deuxime bouton de la barre d'outils") deuxime bouton de la barre d'outils") End End Select Select End End Sub Sub

le le

le le

Module 12 : Dploiement d'applications

Vue d'ensemble

Cration d'une interface

criture de code

Introduction au dploiement Dploiement d'une application Windows

Utilisation de Visual Studio .NET

Accs aux donnes

Dbogage Debug et dploiement


and Deploy

Leon : Introduction au dploiement


Prsentation des assemblys Droulement du dploiement dans Visual Studio .NET Choix du type de projet

Prsentation des assemblys


Le code doit tre empaquet dans une unit fonctionnelle, appele un assembly, avant d'tre excut par le Common Language Runtime Les assemblys contiennent toutes les informations ncessaires au dploiement et la gestion des versions
Assembly Assembly sous sous forme forme d'un seul fichier d'un seul fichier
Moo.dll

Assembly Assembly sous sous forme forme de plusieurs fichiers de plusieurs fichiers

Graphic.jpg

Logo.bmp

Boo.dll Manifeste Manifeste

Droulement du dploiement dans Visual Studio .NET


Options d'empaquetage Sous forme de fichiers excutables portables (fichiers .dll et .exe) Sous forme de fichiers cabinet ( .cab) Sous forme de package Windows Installer Dploiement Repose sur la technologie Windows Installer Autres modes de dploiement XCOPY Commande Copier un projet

Choix du type de projet


Projet de configuration Cre un fichier Windows Installer (fichier .msi) Projet de configuration Web Cre un fichier Windows Installer pour une application Web (fichier .msi) Projet de module de fusion Empaquette des composants qui peuvent tre partags par plusieurs applications (fichier .msm) Projet CAB Cre un fichier .cab pour le tlchargement vers un navigateur Web

Leon : Dploiement d'une application Windows

Crez Crez un un projet projet de de configuration configuration Dfinissez Dfinissez les les proprits proprits du du projet projet Personnalisez Personnalisez le le projet projet de de configuration configuration Gnrez Gnrez l'application l'application Distribuez Distribuez et et installez installez l'application l'application

Cration d'un projet de configuration Windows Installer

Dfinition des proprits d'un projet


Fentre Proprits Dfinissez des proprits gnrales Exemples : Author, Manufacturer, ProductName Bote de dialogue Proprits de dploiement Dfinissez des proprits spcifiques la configuration Exemples : Programme d'amorage, Compression, Nom du fichier de sortie et Fichiers du package Lorsque vous effectuez une premire installation sur des versions de Windows antrieures Windows XP, vous devez inclure le programme d'amorage dans le programme d'installation

diteurs de dploiement
Utilisez les diteurs de dploiement pour configurer le programme d'installation que vous crez diteur du systme de fichiers diteur du Registre diteur des types de fichiers diteur de l'interface utilisateur diteur des actions personnalises diteur des conditions de lancement

Utilisation de l'diteur du systme de fichiers


Offre une reprsentation du systme de fichiers sur un ordinateur de destination S'appuie sur le concept de dossiers virtuels pour s'assurer que les fichiers sont installs l'endroit prcis o vous le voulez

Gnration du projet de configuration

.NET Framework doit tre install sur n'importe quel ordinateur qui excutera une application cre l'aide de Visual Studio .NET Pour installer .NET Framework, utilisez le programme d'installation redistribuable Dotnetfx.exe