Вы находитесь на странице: 1из 30

Professeur M.

QBADOU

VB.NET

Programmation Evnementielle

VB.NET
Cours

Applications
1

VB.NET

OBJECTIFS

Professeur M.QBADOU

Apprendre dvelopper et dployer des applications


consoles et des applications Windows :

Etudier les lments du langage VB.Net,

Construire des applications selon l'approche objet (POO) : crer et


utiliser des classes, Encapsulation, Surcharge, redfinition,
Constructeurs, destructeurs, Hritage et polymorphisme

Utiliser les contrles WindowsForms et les WPF pour crer


l'interface utilisateur. Notion d'vnement.

Programmer laccs aux donnes : Fichiers et Bases de donnes

Se familiariser avec lIDE de Visual Studio

Crer et Grer un projet,

Compiler, excuter et dboguer dun projet.

VB.NET

SOMMAIRE

Professeur M.QBADOU

Chap. I

: les bases du langage Vb

Elments du langage VB
Exemples dapplications consoles
Chap. II : interfaces graphiques avec VB.NET
Contrles standards

Exemples dapplications Windows Forms


Gestion des vnements
3

Chap. III : Accs aux bases de donnes

Professeur M.QBADOU

VB.NET

Chap. I
Elments du
langage
VB.NET

VB.NET

II. Elments du langage VB.NET

Professeur M.QBADOU

Sommaire
Notion de donnes et de types
Les Instructions Entre/Sortie
Lopration daffectation et oprateurs
Les structures de contrle
Conditionnelle, slective, rptitives
Structure dun module VB.NET

Compilation et excution d'un programme VB.NET


Les tableaux de donnes

Gestion des exceptions


5

Fonctions et procdures

VB.NET

II. Elments du langage VB.NET

II.1. Notion de donne et de type

Professeur M.QBADOU

Les types de donnes prdfinis

Type
VB

Type .NET
quivalent

Dclaration de variable/Constante

Taille
(en Octets)

Dim nomVar As Type [= val_Init]


Const nomCst As Type = valeur

Boolean

System.Boolean

Byte

System.Byte

Char

System.Char

Date

System.DateTime

Decimal System.Decimal

16

Double

System.Double

Integer

System.Int32

Long

System.Int64

Object

System.Object

Short

System.Int16

Single

System.Single

String

System.String

Notation des donnes littrales


Integer 145, -7, &FF
Long

100000L

Double

134.789, -45E-18

Single

134.789F, -4.5E-18F

Decimal

100000D

Char

"A"c

String

"aujourd'hui"

Boolean

true, false

Date

New Date(2003, 1, 27)

les types VB et leurs quivalents dans.NET sont interchangeables.

VB.NET

II. Elments du langage VB.NET

conversions entre nombres et chanes


nombre.ToString ou "" & nombre ou CType(nombre,String)
Professeur M.QBADOU

objet.ToString
Integer.Parse(chaine) ou Int32.Parse(chaine)

Long.Parse(chaine) ou Int64.Parse
Double.Parse(chane)
Single.Parse(chane)

La conversion d'une chane vers un nombre peut gnrer une erreur


appele exception (si la chane ne reprsente pas un nombre valide).Cette
erreur peut tre gre par la clause try catch end try suivante :
try
appel de la fonction susceptible de gnrer l'exception
catch e as Exception

traitement de l'exception e
7

end try

VB.NET

II. Elments du langage VB.NET

Exemple
Option Strict On ' directive
Professeur M.QBADOU

' espaces de noms imports

Imports System.Console

Dim i1 As Integer
Try
i1 = Integer.Parse("10.67") 'chane-->int

afficher(i1.ToString)
Catch e As Exception
Public Sub afficher(ByVal S As String)
afficher("Erreur [10.67] : " + e.Message)
WriteLine("S=" + S)
End Try
End Sub
' chane --> double
Sub Main()' procdure principale
Dim d1 As Double
' donnes locales
Try
Dim l as long=100
d1 = Double.Parse(" 100.87 ")
Const i As Integer = 10
afficher("" & d1)
Const f As Single = 45.78F
Catch e As Exception
' nombre --> chane
afficher("Erreur [100.87] : " +e.Message)
afficher(CType(i, String))
End Try
afficher(CType(l, String))
End Sub
afficher(CType(f, String))
End Module

Module TestConversion

VB.NET

II. Elments du langage VB.NET

II.2. Les instructions lmentaires

Professeur M.QBADOU

On distingue deux types dinstruction :


les instructions lmentaires

les instructions de contrle du droulement du programme.

UC - Mmoire
Clavier

Ecran

4
5
1. lecture d'informations provenant du clavier

Disque

2. traitement d'informations(calculs)
3. criture d'informations l'cran

4. lecture d'informations provenant d'un fichier disque


9

5. criture d'informations dans un fichier disque

VB.NET

II. Elments du langage VB.NET

II.2.1. Ecriture sur cran

Professeur M.QBADOU

Il existe diffrentes instructions d'criture l'cran :


Console.Out.WriteLine(expression)
Console.Out.Write(expression)
Console.WriteLine(expression)
Console.Write(expression)
Console.Error.WriteLine (expression)
Console.Error.Write (expression)

expression est toute donne qui peut tre convertie en chane de


caractres pour tre affich l'cran.
La classe System.Console donne accs aux oprations d'criture
cran (Write, WriteLine).
La classe System.Console a deux proprits(objets) Out et Error qui
10

sont des flux d'criture de type StreamWriter

VB.NET

II. Elments du langage VB.NET

Professeur M.QBADOU

II.2.2. Lecture de donnes du clavier


l'objet Console.In de type StreamReader permet de lire une ligne de texte
partir du clavier par la mthode ReadLine :

11

Dim ligne as string=Console.in.ReadLine()


Dim ligne as string=Console.ReadLine()

Exemple : Saisie et affichage des donnes dune personne


Imports System.Console
Module EntreeSortie

Catch e As FormatException
WriteLine(e.Message)

Sub Main()
End Try
Dim nom As String
WriteLine("Nom : " + nom)
Dim adresse As String
WriteLine("Adresse:"+ adresse)
Dim age As Byte
WriteLine("Age:"+age.ToString)
Write("nom : ") : nom = ReadLine()
ReadLine()
Write("Adresse: ") : adresse= ReadLine()
End Sub
Try
End Module
Write("Age : ")
age = Byte.Parse(ReadLine())

VB.NET

II. Elments du langage VB.NET

II.2.3. Opration dAffectation


Permet dassigner la valeur dune expression une variable par :
Professeur M.QBADOU

nomVar = expression

12

L'expression peut tre de type : arithmtique, boolenne, caractres,

Liste des oprateurs et priorit :


Catgorie

Oprateurs

Arithmtique

^, , *, /, \,
Mod , +

Affectation

=, ^= , *= , /=, \=, +=,


-=, &=

Relationnelle

=, <>, <, >, <=, >=, Like,


Is,TypeOf...Is

Concatnation

&,+

Logique/
binaire

Not, And, Or, Xor,


AndAlso, OrElse

Autres

AddressOf , GetType

Priorit
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Oprateurs
()
^
Unaire : - , +
*, /
\
Mod
+, &
<<, >>
=, <>,<,>, <=, >=, Like, Is,TypeOf...Is
Not
And, AndAlso
Or, OrElse
Xor

VB.NET

II. Elments du langage VB.NET

II.2.4. Fonctions standards


Fonctions mathmatiques :
Professeur M.QBADOU

Fonctions et constantes
Cos, Sin, Tan, Acos, Asin, Atan2,
Cosh, Sinh, tanh,
Sqrt, Pow, Exp, Log, Log10,
Abs, Floor, Ceiling Round,
Max, Min,

Fonctions dfinies dans la classe Math.


Exemple :
Dim r1, r2 As Double

r2 = Math.Sqrt(Math.E^9)
r1 = Math.Cos(Math.PI/3)

Fonctions sur les chanes :


Fonction

Description

StrComp
InStrRev, StrReverse

Comparer deux chanes.


Inverser une chane.

Format, LCase, Ucase

Convertir en minuscules ou en majuscules.

Len

Trouver la longueur d'une chane.

InStr, Left, LTrim, Mid, Right, RTrim, Trim Manipuler des chanes.

13

Asc, AscW, Chr, ChrW

Travailler avec des valeurs ASCII et ANSI.

Replace

Remplacer une sous-chane spcifie.

Filter

Retourner un tableau de chanes bas sur un filtre.

Split, Join

Retourner un nombre spcifi de sous-chanes.

VB.NET

II. Elments du langage VB.NET

II.3. Les instructions de contrle de lexcution

Professeur M.QBADOU

II.3.1. Structure conditionnelle

14

if condition then
actions_si_vrai
[else
actions_sinon]
end if

Condition

Action

II.3.2. Structure slective


select case expression
case Val_1
Action_1
case Val_2
Action_2
...
[case else
Actions_sinon]
end select

Val_i peut avoir les formes suivantes:


val1 to val2
val1[,val2,val3,]
is > val1
idem avec les operateurs =,<,<=,>,>=,<>

VB.NET

II. Elments du langage VB.NET

II.3.3. Structure rptitives


I val1val2 [, pas]

Professeur M.QBADOU

a. Nombre de rptions connu


For compteur [As Type]=val1 To val2 [Step pas]
Actions
Next [compteur]

Action

...

For Each element [ As Type ] In groupe


[ actions ]
Next [ element ]

b. Nombre de rptions inconnu


Do { While | Until } condition
[ blocAction]
Loop
Do
15

[blocAction]
Loop { While | Until } condition

Condition
Action
Action
...
Condition

...

VB.NET

II. Elments du langage VB.NET

Professeur M.QBADOU

II.3.4. Actions de rupture


Exit for
Exit do
Environment.Exit(0)

II.4. Structure dun programme VB.NET


Un programme VB.NET peut avoir la structure simple suivante :
Exemple
' options
Option
' espaces de noms
Imports ....
Module nomDuModule
Sub main()
....
End Sub
End Module

Option Explicit On
Imports System.Console
Imports System.IO
Module Essai
Dim rep As DirectoryInfo
Sub Main()
WriteLine(Environment.GetEnvironmentVariable("windir"))
rep=New DirectoryInfo(Environment.CurrentDirectory())
WriteLine(rep.FullName)
ReadKey()

16

End Sub
End Module

Professeur M.QBADOU

VB.NET

II. Elments du langage VB.NET

Arguments du programme principal


La procdure principale Main peut admettre comme paramtre un tableau
de chanes :
Sub main(ByVal args() As String)
args est un tableau de chanes qui reoit les arguments passs sur la ligne
de commande lors de l'appel du programme :
args.Length est le nombre d'lments du tableau args

args(i) est l'lment i du tableau


Exemple
Imports System.Console
Module Test_arg
Sub main(ByVal args() As String)
writeline("Il y a " & args.length & " arguments")
For i as integer = 0 To args.Length 1
WriteLine("argument n " & i & "=" & args(i))
Next i
End Sub

17

End Module

VB.NET

II. Elments du langage VB.NET

II.6. Les tableaux de donnes

Professeur M.QBADOU

Un tableau VB.NET est un objet permettant de rassembler sous un mme


identificateur des donnes de mme type. Sa dclaration est la suivante :
' Tableau une dimension
Dim nomTab(n) as Type
Dim nomTab() as type=New type(n) {}

Dim nomTab() as type={v0,v1,...,vn}


' Tableau deux dimension
Dim nomTab(n,m) as Type

Dim nomTab(,) as Type=New Type(n,m) {}


Dim nomTab(,) As Type= {{v00, v01,}, {v10, v11,},}
' Tableau de tableaux

Dim Tableau(n)() as Type


18

Dim Tableau()() as Type=new Type(n)()

VB.NET

II. Elments du langage VB.NET

Exemple

Professeur M.QBADOU

Option Strict On

19

Imports System.Console
Module testTableaux
Sub main()
' un premier tableau une dim
Dim tab0(5) As Integer,i as Integer, j as Integer
For i = 0 To UBound(tab0)
tab0(i) = i
Next
For i = 0 To UBound(tab0)
WriteLine("tab0(" + i.ToString + ")=" + tab0(i).tostring)
Next
' un second tableau 1 dim
Dim tab1() As Integer = New Integer(5) {}
For i 0 To tab1.Length - 1
tab1(i) = i * 10
Next

VB.NET

II. Elments du langage VB.NET

Exemple(suite)
For i = 0 To tab1.Length - 1
Professeur M.QBADOU

WriteLine("tab1(" + i.ToString + ")=" + tab1(i).tostring)


Next
' un premier tableau 2 dim
Dim tab2(2, 1) As Integer
For i 0 To UBound(tab2)

For j = 0 To tab2.GetLength(1) - 1
tab2(i, j) = i * 10 + j
Next
Next

For i = 0 To UBound(tab2)
For j = 0 To tab2.GetLength(1) - 1
WriteLine("tab2(" + i.ToString + "," + j.ToString + ")=" + tab2(i, j).tostring)
Next
Next
20

VB.NET

II. Elments du langage VB.NET

Professeur M.QBADOU

Exemple(suite)

21

Dim tab3(,) As Integer = New Integer(2, 1) {}


For i = 0 To tab3.GetLength(0) - 1
For j = 0 To tab3.GetLength(1) - 1
tab3(i, j) = i * 100 + j
Next
Next
For i = 0 To tab3.GetLength(0) - 1
For j = 0 To tab3.GetLength(1) - 1
WriteLine("tab3(" + i.ToString + "," + j.ToString + ")=" + tab3(i, j).tostring)
Next
Next
Dim tab5(,) As Double = {{0.5, 1.7}, {8.4, -6}} ' un tableau 2 dimensions initialis
For i = 0 To tab5.GetLength(0) - 1
For j = 0 To tab5.GetLength(1) - 1
WriteLine("Tab5[" & i & "," & j & "]=" & tab5(i, j))
Next
Next

VB.NET

II. Elments du langage VB.NET

Exemple(fin)
Dim noms()() As String = New String(3)() {} ' un tableau de tableaux de texte
Professeur M.QBADOU

For i = 0 To noms.Length- 1

noms(i) =New String(i) {}


For j = 0 To noms(i).Length - 1
noms(i)(j) = "nom" & i & j
Next
Next
For i = 0 To noms.Length- 1
For j = 0 To noms(i).Length - 1

WriteLine("noms[" & i & "][" & j & "]=" & noms(i)(j))


Next
Next
End Sub

End Module
22

VB.NET

II. Elments du langage VB.NET

II.7. Gestion des exceptions

Professeur M.QBADOU

La gestion d'une exception se fait selon le schma suivant :

23

try
Lobjet e de la classe Exception fournie :
Action exception
La proprit Message contenant le dtail l'erreur
catch e as Exception
traiter l'exception e
La mthode ToString qui rend un texte indiquant le
[finally
type de l'exception et la valeur de la proprit
Action excute toujours]
end try
Message.

Exemple: Exception gnre par l'utilisation d'un lment de tableau inexistant


Imports System.Console
' gnration d'une exception
Module Tab_Exception
Try
Sub Main()
tab(10) = 6
Dim tab() As Integer = {0, 1, 2, 3}
Catch e As Exception
For I as Integer= 0 To tab.Length 1
WriteLine((Erreur : " & e.Message))
WriteLine(("tab[" & i & "]=" & tab(i)))
End Try
Next i
End Sub
For Each Elmt as Integer In tab
End Module
WriteLine(Elmt)
Next Elmt

VB.NET

II. Elments du langage VB.NET

II.8. Fonctions et procdure

Professeur M.QBADOU

8.1. Fonction

24

Function nomfonction( [{byVal|byRef}] arg as type[, ]) as type


Actions
return rsultat
End Function

8.2. Procdure
Sub nomfonction( [{byVal|byRef}] arg as type[, ])
Actions
[if Exit Sub]
[Actions]
End Sub

VB.NET

II. Elments du langage VB.NET

II.5. 8Compilation et excution d'un programme VB.NET

Professeur M.QBADOU

Pour raliser une application console on peut procder comme suite :

Editer le code en utilisant un diteur de texte


Enregistre le code dans un fichier source dont lextension est VB
dans le dossier de lapplication
Compiler le code source par :

C:\...\dossierApp>vbc nomapp.vb
Assurez vous que la variable environnement path rfrence bien le
compilateur VB.NET VBC.Exe. Pour cela tapez la command path

Le chemin de la plateforme .NET est :


c:\windows\Microsoft.NET\FrameWork\v3.5
Excuter lapplication
25

Professeur M.QBADOU

VB.NET

26

VB.NET
Exemples
dApplications
Consoles

VB.NET

I. Elments du langage VB.NET

Application1 - Calculs statistiques sur une liste de ventes

Professeur M.QBADOU

Ecrire une application VB.NET de type console qui permet de :

saisir une liste de ventes, la saisie doit sarrte la 1re lecture


dune valeur ngative

Dterminer et calculer la vente minimale, la vente maximale, la


vente moyenne et nombre de ventes

Afficher les diffrents rsultats

Spcification
Ventes : -1, 1400,
Gestion
Ventes

27

VenteMin

VenteMoy

VenteMax

NbreVentes

VB.NET

I. Elments du langage VB.NET

Organigramme
Dbut

Vente 0

Professeur M.QBADOU

Som 0
Nbre 0

Vente < Min

Saisir(Vente)

Min Vente

Min Vente
Max Vente

Vente > Max

Nbre > 0

Max Vente
Som Som +Vente
Nbre Nbre + 1
28

Moy Som/Nbre
Afficher(Min, Moy,Max)
Afficher(Nbre)

Lire(Vente)
Fin

VB.NET

I. Elments du langage VB.NET

Professeur M.QBADOU

Code

29

Imports System.Console : Imports System.Math


Module GestionVentes
Dim Vente, Moy, Som, VMin, VMax As Single , Nbre As Integer
Sub Main()
Write("Entrez la vente " & Nbre+1 & " : ") : Vente = ReadLine()
Vmin = Vente : Vmax = Vente
Do While Vente >= 0
VMin=Min(VMin,Vente) : VMax=Max(VMax,Vente) : Som+=Vente : Nbre+=1
Write("Entrez la vente n " & Nbre + 1 & " : ") : Vente = ReadLine()
Loop
If Nbre > 0 Then
Moy = Som / Nbre
WriteLine("Vente min = " & VMin):WriteLine("Vente moy = " & Moy)
WriteLine("Vente max = " & VMax) : WriteLine("Nbre de Ventes = " & Nbre)
End If
ReadLine();
End Sub
End Module

VB.NET

I. Elments du langage VB.NET

Professeur M.QBADOU

Application2 Gestion dun tableau dynamique d'une liste quantits


Ecrire une application console qui permet grer une liste dynamique
de quantits entires positives. La gestion doit permettre :

Initialisation de la liste ltat vide

Ajout dune quantit la liste

L'affichage de la liste

La suppression de la Nime quantit, de

La suppression de la Nime occurrence d'une quantit

La recherche de la position de position d'une quantit

Le tri de la liste par ordre croissant

Le calcul de la somme et de la moyenne des quantits

Calcul de cart type de la liste dfini par :


O xi est la ime quantit et m est la moyenne des xi

30

Scinder la liste en deux parties p1 et p2 qui reprsentent respectivement les


quantits infrieures et suprieures la moyenne.

Вам также может понравиться