CoursVb Chap1 Elts Langage

Embed Size (px)

DESCRIPTION

CoursVb

Citation preview

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    1

    VB.NET

    Programmation Evnementielle

    VB.NET

    Cours

    Applications

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    2

    VB.NET

    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 aux donnes : Fichiers et Bases de donnes

    Se familiariser avec

    Crer et Grer un projet,

    Compiler, excuter et dboguer

    OBJECTIFS

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    3

    VB.NET

    Chap. I : les bases du langage Vb

    Elments du langage VB

    Chap. II : interfaces graphiques avec VB.NET

    Contrles standards

    Forms

    Gestion des vnements

    Chap. III : Accs aux bases de donnes

    SOMMAIRE

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    4

    VB.NET

    Chap. I

    Elments du

    langage

    VB.NET

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    5

    VB.NET

    Notion de donnes et de types

    Les Instructions Entre/Sortie

    Les structures de contrle

    Conditionnelle, slective, rptitives

    Compilation et excution d'un programme VB.NET

    Les tableaux de donnes

    Gestion des exceptions

    Fonctions et procdures

    Sommaire

    II. Elments du langage VB.NET

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    6

    VB.NET

    Les types de donnes prdfinis

    II.1. Notion de donne et de type

    II. Elments du langage VB.NET

    Type VB

    Type .NET quivalent

    Taille (en Octets)

    Boolean System.Boolean 2

    Byte System.Byte 1

    Char System.Char 2

    Date System.DateTime 8

    Decimal System.Decimal 16

    Double System.Double 8

    Integer System.Int32 4

    Long System.Int64 8

    Object System.Object 4

    Short System.Int16 2

    Single System.Single 4

    String System.String

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

    Dclaration de variable/Constante

    Dim nomVar As Type [= val_Init]

    Const nomCst As Type = valeur

    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)

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    7

    VB.NET

    conversions entre nombres et chanes

    II. Elments du langage VB.NET

    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 :

    nombre.ToString ou "" & nombre ou CType(nombre,String)

    objet.ToString

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

    Long.Parse(chaine) ou Int64.Parse

    Double.Parse(chane)

    Single.Parse(chane)

    try

    appel de la fonction susceptible de gnrer l'exception

    catch e as Exception

    traitement de l'exception e

    end try

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    8

    VB.NET

    Exemple

    II. Elments du langage VB.NET

    Option Strict On ' directive

    ' espaces de noms imports

    Imports System.Console

    Module TestConversion

    Public Sub afficher(ByVal S As String)

    WriteLine("S=" + S)

    End Sub

    Sub Main()' procdure principale

    ' donnes locales

    Dim l as long=100

    Const i As Integer = 10

    Const f As Single = 45.78F

    ' nombre --> chane

    afficher(CType(i, String))

    afficher(CType(l, String))

    afficher(CType(f, String))

    Dim i1 As Integer

    Try

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

    afficher(i1.ToString)

    Catch e As Exception

    afficher("Erreur [10.67] : " + e.Message)

    End Try

    ' chane --> double

    Dim d1 As Double

    Try

    d1 = Double.Parse(" 100.87 ")

    afficher("" & d1)

    Catch e As Exception

    afficher("Erreur [100.87] : " +e.Message)

    End Try

    End Sub

    End Module

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    9

    VB.NET II. Elments du langage VB.NET

    II.2. Les instructions lmentaires

    les instructions lmentaires

    les instructions de contrle du droulement du programme.

    1. lecture d'informations provenant du clavier

    2. traitement d'informations(calculs)

    3. criture d'informations l'cran

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

    5. criture d'informations dans un fichier disque

    UC - Mmoire

    Disque

    Clavier Ecran 1 2 3

    5 4

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    10

    VB.NET II. Elments du langage VB.NET

    Il existe diffrentes instructions d'criture l'cran :

    II.2.1. Ecriture sur 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

    sont des flux d'criture de type StreamWriter

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    11

    VB.NET II. Elments du langage VB.NET

    l'objet Console.In de type StreamReader permet de lire une ligne de texte

    partir du clavier par la mthode ReadLine :

    II.2.2. Lecture de donnes du clavier

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

    Dim ligne as string=Console.ReadLine()

    Exemple :

    Imports System.Console

    Module EntreeSortie

    Sub Main()

    Dim nom As String

    Dim adresse As String

    Dim age As Byte

    Write("nom : ") : nom = ReadLine()

    Write("Adresse: ") : adresse= ReadLine()

    Try

    Write("Age : ")

    age = Byte.Parse(ReadLine())

    Catch e As FormatException

    WriteLine(e.Message)

    End Try

    WriteLine("Nom : " + nom)

    WriteLine("Adresse:"+ adresse)

    WriteLine("Age:"+age.ToString)

    ReadLine()

    End Sub

    End Module

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    12

    VB.NET II. Elments du langage VB.NET

    II.2.3

    nomVar = expression

    Liste des oprateurs et priorit :

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

    Catgorie Oprateurs

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

    Affectation =, ^= , *= , /=, \=, +=, -=, &=

    Relationnelle =, , , =, Like, Is,TypeOf...Is

    Concatnation & , +

    Logique/ binaire

    Not, And, Or, Xor, AndAlso, OrElse

    Autres AddressOf , GetType

    Priorit Oprateurs

    1 ()

    2 ^

    3 Unaire : - , +

    4 *, /

    5 \

    6 Mod

    7 +, -

    8 &

    9

    10 =, ,, =, Like, Is,TypeOf...Is

    11 Not

    12 And, AndAlso

    13 Or, OrElse

    14 Xor

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    13

    VB.NET II. Elments du langage VB.NET

    II.2.4. Fonctions standards

    Fonctions mathmatiques : 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 Comparer deux chanes.

    InStrRev , StrReverse 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.

    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.

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    14

    VB.NET II. Elments du langage VB.NET

    II.3.1. Structure conditionnelle

    Condition

    Action

    if condition then

    actions_si_vrai

    [else

    actions_sinon]

    end if

    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:

    idem avec les operateurs =,=,

    val1 to val2

    val1[,val2,val3,

    is > val1

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    15

    VB.NET II. Elments du langage VB.NET

    II.3.3. Structure rptitives

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

    Actions

    Next [compteur]

    a. Nombre de rptions connu

    For Each element [ As Type ] In groupe

    [ actions ]

    Next [ element ]

    I val1 2 [, pas]

    ...

    Action

    Do { While | Until } condition

    [ blocAction]

    Loop

    b. Nombre de rptions inconnu

    Condition

    ...

    Action

    Do

    [blocAction]

    Loop { While | Until } condition Condition

    ...

    Action

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    16

    VB.NET II. Elments du langage VB.NET

    II.3.4. Actions de rupture

    Exit for

    Exit do

    Environment.Exit(0)

    Un programme VB.NET peut avoir la structure simple suivante :

    ' options

    Option

    ' espaces de noms

    Imports ....

    Module nomDuModule

    Sub main()

    ....

    End Sub

    End Module

    Exemple

    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()

    End Sub

    End Module

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    17

    VB.NET II. Elments du langage VB.NET

    Arguments du programme principal

    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

    End Module

    La procdure principale Main peut admettre comme paramtre un tableau

    de chanes : Sub main(ByVal args() As String)

  • Pro

    fesseu

    r M

    .QB

    AD

    OU

    18

    VB.NET

    II.6. Les tableaux de donnes

    II. Elments du langage VB.NET

    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

    ' Tableau de tableaux

    Dim Tableau(n)() as Type

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