Sunteți pe pagina 1din 11

Cours VB.

Net
Formateur : Driouch Bouazza
Etablissement : OFPPT/CFMOTI
04/02/2009 V1.2

Remarque de Base
 Le langage de programmation VB.Net
n’est pas sensible à la casse la variable A
a
 L’instruction se termine par un Fin de ligne
 On peut ecrire une instruction sur
plusieurs ligne avec « _ »
 Les variable sont dé
déclaré
claré par les mots clé
clés
« Dim », « Public » ou « Private » …
 L’obligation de la dé
déclaration des variables
et configurable « Option Explicit ON/OFF »
Dim A As Type
2

Remarque de Base
 Affectation par un égale « = » : A=5

 Opé
Opérateur {+, -, *, /, \ (Division entier), Mod
(Modulo), ^, &}

 Opé
Opérateur logique {And
{And(Et),
(Et), Or(Ou), Xor(ou
Xor(ou
exclusif), Not(Non)}
Not(Non)}

 Opé
Opérateur de Comparé
Comparésent (=, <>, >=, <=, >,
<)

1
Les options de codage
Il en existe seulement trois types dont deux sont très répandus.
Ces options permettent un meilleur codage et une meilleure
compréhension du code. Le fait de les activer empêche le
programmeur de faire des erreurs de logiques implicites (conversions
implicites ou liaisons tardives par exemple). Voila comment les
utiliser :

Option Strict On 'active le mode Strict (conversion)


Option Strict Off 'désactive le mode Strict
Option Explicit On 'active le mode Explicit (déclaration)
Option Explicit Off 'désactive le mode Explicit
Option Compare Binary 'mode binaire pour la comparaison de chaînes
Option Compare Text 'mode texte pour la comparaison de chaînes

Lecture & Écriture (Console)


 Opé
Opération de lecture, écriture sous
console
 Ecrire : Console.Write
 Console.Writeline
 Lire : Console.Read
 Console.Readline
 Console.readkey

Type de donné
données

2
Convertir des variables
Dans tout langages de
programmation, il peut être utile voire
même nécessaire de convertir des
variables d'un type dans un autre
type. Cela permet d'éviter la création
de nouvelles variables qui
alourdiraient le programme.

Pour convertir un Object dans un type


(String, Integer ...), on utilise la
commande 'CType‘
[ CType(a, String) 'a va être convertit en
'String']

Porté
Porté des variables

Une variable peut être utilisée


que si elle est visible dans le
programme. Pour définir le
niveau de visibilité de chaque
variable, il existe un mot clé
propre à chaque cas.

Exercice
 échange de deux variables x,y

 Calcule de TTC à partir HT, Quantité


Quantité et
TVA

 Calcule de la moyenne de 5 matiè


matière (Coef
(Coef))
{Fra(2); Arb(2);
Arb(2); Phy(5);
Phy(5); Math(5);
Geo(3)}
Geo(3)}

3
Instruction alternative
Les conditions comme les boucles permettent de gérer le déroulement du
code. Il existe deux grands types de conditions : celles avec " If - Then " et
celles avec " Select Case - End Select "
If condition vraie Then
'exécuter instruction 1
Else
'exécuter instruction 2
End If

If : Mot clé signifiant " si " et qui ouvre la structure


Then : Mot clé signifiant " puis "
Else : Mot clé signifiant " sinon "
End If : Mot clé permettant de fermer la structure
Autre:
Val_de_retour=IIF(Condition,
Val_de_retour=IIF(Condition, val_si_vrai,
val_si_vrai, val_si_faux)
val_si_faux)
10

Instruction alternative
Cette structure est très utile pour tester un grand nombre de possibilités
en fonction de la valeur d'une expression :
Select Case X
Case 1 : 'faire Y
Case 2 : 'faire Z
Case Else : 'faire A
End Select

Select Case : Mot clé permettant d'ouvrir la structure


Case : Représente les différents cas (Case 1 = cas 1, Case 2 = cas 2,
Case Else = autre cas...)
End Select : Mot clé permettant de fermer la structure
X : Expression à évaluée (nombre, chaîne de caractères, booléen#)
faire Y : Exécute le cas 1
faire Z : Exécute le cas 2

11

Les boucles
Les boucles permettent de répéter un bloc d'instruction autant de fois que
l'on à indiqué à la boucle. Elles sont très utilisées par exemple pour faire des
calculs itératifs (Méthode d'Euler) ou de lister le contenu d'un tableau. Il en
existe quatre types majeurs : celles avec " For - Next ", celles avec " Do -
Loop ", celles avec " While - End While " et celles avec " For Each - Next "
Avec « For – Next » :
For Variable = Debut To Fin
'Execute la boucle
Next Variable

For : Mot-clé permettant d'ouvrir la boucle.


To : Mot-clé signifiant " jusqu'à "
Next : Mot-clé pour fermer la boucle.
Variable : Variable qui va servir de compteur pour la boucle.
Debut : Début du compteur.
Fin : Fin du compteur.

12

4
Les boucles
Avec "Do - Loop" :
Do
'Instructions
Loop Until Condition
Do
'Instructions
Loop While Condition

Do : Mot-clé qui ouvre la boucle.


Loop : Mot-clé qui ferme la boucle.
While : Mot-clé qui signifie " Tant que "
Until : Mot-clé qui signifie " Jusqu'à ce que "
Condition : La condition pour sortir de la boucle.

13

Les boucles
Avec "While - End While" :
While Condition
'Execute la boucle
End While

While : Mot-clé permettant d'ouvrir la boucle.


End While : Mot-clé qui ferme la boucle.
Condition : Condition de la boucle.

Avec "For Each - Next" :


For Each Item In Collection
'boucle
Next Item

For : Mot-clé pour ouvrir la boucle.


Each : Mot-clé signifiant " Chaque ".
In : Mot-clé signifiant " Dans ".
Next : Mot-clé pour fermer la boucle.
Item : Objet à récupérer dans la collection.
Collection : Tableau qui contient des Objets.
14

Les boucles
Pour sortie de la boucle avec des condition exceptionnel
sans que la boucle arrive a terme il sufi d’
d’utiliser Exit

Exit For : Faire sortir de la boucle For…


For…to…
to…Next ou
For…
For…each…
each…Next

Exit Do : fait sortir de la boucle Do...Loop

Exit While : Fait sortir de la boucle While…


While…End While

15

5
Exercices
 Somme de 1 a n, n donné
donnée par
l’utilisateur
 Factoriel de n
 Table de multiplication
 Σ(x,n)  i=1 à n Σ(xi / i!)

16

Les tableaux
Un tableau permet de regrouper des données de même type. Pour créer
un tableau, on procède comme cela :
Dim Tableau(6) As Integer 'déclare un tableau de 7 entiers

Les index d'un tableau commence toujours à 0. Le nombre d'éléments


dans le tableau est donc égal à son indice de création (dans l'exp 6)+1=7
Redim permet de redimensionner un tableau (modifier le nombre
d'éléments d'un tableau existant), si on ajoute Preserve les anciennes
valeurs seront conservées.
Dim T(20,20) As String
...
Redim Preserve T(30,30)

« Il est possible d'écrire Dim T( , ) As String »

17

Tri & Recherche (Voir Algo)


Algo)

 Tri par sé
sélection
 Tri par permutation
 Tri par Bull
 Tri Rapide (quick sort)
 La recherche boolé
booléen
 La recherche dichotomique

18

6
Les structures
Les structures sont intéressantes quand vous voulez utiliser des
variables contenant plusieurs informations de différent type.
Public Structure Adresse
Dim Numero As Integer
Dim Rue As String
Dim Ville As String
End Structure

Dim MonAdresse As Adresse

MonAdresse.Numero=2
MonAdresse.Rue= "Grande rue"
MonAdresse.Ville= "Lyon"

19

Exercices
 Rechercher dans un tableau la valeur Min et Max
avec leur position
 Chercher dans un tableau le nombre d’ d’occurrence
d’une valeur donné
donnée par l’
l’utilisateur, et afficher
la position de la premier occurrence et la dernier
occurrence.
 Insé
Insérer et supprimer une valeur dans un tableau
dynamique
 Gestion stagiaire(Ajouter, chercher, Modifier,
Supprimer, Afficher)
 Utiliser une mé
méthode de tri pour le tri des
stagiaires
20

Les fonctions & procé


procédures
Fonction :
Function Carré ( V as Single) as Single
Return V*V
End Function
resultat= carré(2)

Procédure :
Sub MaProcedure ( x as Long, y As Long)
‘instruction
End Sub

Paramétrer :
Par valeur : (By Val) – par defaut
Par référence :(By Ref)

Un paramètre ou argument peut être Optional, c'est-à-dire facultatif.


Sub MaRoutine (Optional X As Integer=0)

21

7
Objets String
Dim str as string
Avec ça on a un objet str de type string et chaque objet a des méthodes et des attributs

Length : Taille d’une chaîne en nombre de caractère.


Chars(i) : retourne le caractère à la position i.
ToUpper : Mettre en majuscules une chaîne de caractère.
ToLower : transforme par contre la chaîne en minuscule.
Trim : Permet de supprimer des caractères en début et fin de chaîne.
Insert (n,str1) : Insère une chaîne dans une autre.
Remove(N,L) : Supprime la sous-chaine à partir de la position N et de longueur L.
Replace (str1,str2) : Remplace partout dans une chaîne de départ, une chaîne par une
autre.
IndexOf & LastIndexOf : Indique le numéro du caractère, la position (la
première occurrence) ou une chaîne à chercher est trouvée dans une
autre.
Substring(n,l) : Extrait une partie d’une chaîne

Exp :
Dim str as string =«
=« Bonjour »
Console.write(
Console.write(str.length)
str.length)  7
Console.write(
Console.write(str.replace(
str.replace(« jour », « soir »))  Bonsoir
22

Objet Date
 ToString peut comporter des arguments qui formatent l'affichage:
 Voici quelques codes de formatage:
 d affiche le jour 2
 dd affiche le jour sur 2 chiffres 02
 ddd affiche le jour abré
abrégé Dim.
Dim.
 dddd affiche le jour complet Dimanche
 M affiche le mois 12
 MM affiche le mois sur 2 chiffres 12
 MMM affiche le mois abré abrégé déc
 MMMM affiche le mois complet dé décembre
 y, yy,
yy, yyyy affiche 1 à 2 chiffres, deux chiffres ou quatre chiffre 51, 51,
1951
 H affiche l'heure sur un ou deux chiffres (format 24h)
 HH affiche l'heure sur 2 chiffres
 h et hh font de même mais avec un format 12 h.
 t, tt affiche l'heure en format 12h plus A ou P (pour matin, aprè
après midi)
 m, mm, s, ss,ss, f, ff font de même pour les minutes, secondes et
millisecondes.
 : et / sont les sé
séparateurs heure et date.

23

Objet Date
Fonction :
Date.Today : retourne la date systè
système
DateDiff("
DateDiff("yyyy
yyyy",
", dnaiss,
dnaiss, dauj)
dauj) : retourne la diffé
différence en
anné
année
dauj.AddYears(a)
dauj.AddYears(a) : ajout a anné
année sur la date dauj

24

8
Valeur Alé
Aléatoire
Pour générer une valeur aléatoire on utilise deux chose
Randomize() : procédure sans paramètre, qui démarre le
moteur de génération de valeur aléatoire
RND() : une fonction sans paramètre, qui retourne une
valeur réel aléatoire après chaque appel entre 0 et 1
(0≤RND()<1)

Exp: Génération de valeur aléatoire entre 1 et 10

Dim A as inetger
Randomize()
A=Int(Rnd()*10) +1 ‘Int() fonction retourne la partie entier
Console.Write(A)

25

Espace de noms
Pour écrire une ligne à l'écran, nous utilisons l'instruction:
Console.write ou system.console.write
La classe console fait partie de l’espace de nom system importé par défaut, et il y a
d’autre objet quand peut pas utilisé sans importation de leur espace de nom (Math, …)

Pour importé un espace de nom:


imports system.math

Pour créer notre propre espace de nom :


Namespace stagiaire
Module ajout

End Module

End Namespace

26

Les exceptions
Il y a plusieurs types d'erreurs :
- Les erreurs de syntaxe : Elle surviennent en mode conception quand on tape le
code.
Exp: A+1=B ‘Erreur d’affectation
2 For... et un seul Next
- Les erreurs de logique : quand la conception du programme (logiciel) qui est
incorrect, des données justes nous donnes des résultats faut. Donc il faut revoir la
conception.
- Les erreurs d'exécution : Elle surviennent en mode Run ou lors de l'utilisation de
l'exécutable, une instruction ne peut pas être effectuée. Le logiciel s'arrête
brutalement, c'est très gênant!! Pour l'utilisateur c'est un 'BUG‘
division par zéro
dim a(3) as string  a(5)=« A »
Soit une erreur de l'utilisateur, Il faut toujours vérifier ce que fait l'utilisateur
et prévoir toutes les possibilités.
Exp: On lui demande de taper un chiffre, il tape une lettre ou rien puis valide
Pour éviter ces derniers il faut capté l’erreur avec Try … Catch … finally

Syntaxe :
Try
Instruction susceptible de provoquer une erreur.
Catch
Traitement de l'erreur
Finally
Code toujours exécuté
End Try
27

9
Les collections
Une alternative aux tableaux est l’usage de Collection.
Fait partie de l’espace de nom System.Collections

Une collection fonctionne plutôt comme un groupe d'éléments dans laquelle il est
possible d’ajouter ou d’enlever un élément à n’importe quel endroit sans avoir à se
préoccuper de sa taille ni ou se trouve l'élément.

Le nombre d'élément n'est pas défini au départ comme dans un tableau. Dans une
collection il n'y a que les éléments que l'on a ajouté.
Les éléments sont repérés grâce à un index ou avec une Clé unique
Dim Col As New Collection
Col.Add ("Toto") : Ajoute dans la collection
Col.Add("Lulu") :
Col.Add("Titi") :
Col.Remove(1) : supprime l’element « Lulu »
Col.Item(1) : contient "Titi" (le second Item de la collection)

28

Les fichiers
Pour lire ou écrire dans un fichier, on utilise les deux objets StreamReader et
StreamWriter dans l’ l’espace de nom System.IO.
Pour écriture:

Dim ligne As String = Nothing ' une ligne de texte


Dim fluxInfos As StreamWriter = Nothing ' le fichier texte
Try
' cré
création du fichier texte
fluxInfos = New StreamWriter("C
StreamWriter("C:\infos.txt", True)
Do
Console.Write("ligne (rien pour arrêter) : ")
' lecture ligne tapé
tapée au clavier
ligne = Console.ReadLine().Trim()
fluxInfos.WriteLine(ligne)
Loop Until ligne = ""
Catch e As Exception
Console.WriteLine("L'erreur suivante s'est produite : " & e.ToString)
e.ToString)
Finally
Try
fluxInfos.Close()
Catch
End Try
End Try 29

Les fichiers
Pour lecture:
Dim ligne As String = Nothing
Dim fluxInfos As StreamReader = Nothing
' lecture contenu du fichier
Try
fluxInfos = New StreamReader("C:\infos.txt")
Do
ligne = fluxInfos.ReadLine()
Console.WriteLine(ligne)
Loop Until (ligne Is Nothing)
Catch e As Exception
Console.WriteLine("L'erreur suivante s'est produite : " & e.ToString)
Finally
Try
fluxInfos.Close()
Catch
End Try
End Try
Console.ReadLine()

30

10
Exercice
Ex: Écrire un programme qui nous permet d’ d’afficher le
nombre de ligne, le nombre moyenne des caractè caractères par ligne
et affiche le nombre d’ d’occurrence d’d’un mot donné
donnée par
l’utilisateur et leur repè
repère (ligne/position)

31

La sé
sérialisation

32

11

S-ar putea să vă placă și