SlideShare une entreprise Scribd logo
Microsoft Visual Basic .NET
 Découverte du nouvel environnement Visual
Studio .NET
 Éléments du langage Visual Basic .NET
 Étude et mise en œuvre des fonctionnalités
du nouveau Framework .NET
 Programmation orientée objet et
développement de composants réutilisables
 Accès aux données avec ADO .NET
Professeur: Hamza SAID
1
Éléments du langage Visual Basic .NET
 Variables, procédures,
arguments et structures de
contrôles
 Les structures de données,
les énumérations de
constantes, les tableaux et
les différents types de
collections disponibles
Professeur: Hamza SAID
2
• Les structures
• Les énumérations de constantes
• Les tableaux
• Les collections
Les structures de données, les énumérations de
constantes, les tableaux et les collections
3
Professeur: Hamza SAID
Éléments du langage Visual Basic .NET
• Elles permettent de regrouper des données de types
simples (Integer, String ...)
• Elles se déclarent dans un bloc Structure .. End Structure
• Nous permettent d'obtenir un type spécifique
• Le nom de ce type est précisé à la suite du mot réservé
"Structure"
• Elles peuvent avoir un niveau de visibilité "Public" ou
"Private"
Les structures4
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
• Exemple:
Les structures5
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
Structure Film
Dim Titre As String
Dim Realisateur As String
Dim Annee As Integer
Dim duree As Integer
End Structure
• La déclaration se fait comme suit :
Dim objFilm As Film = New Film
• Voici comment on accède aux données de la structure
précédente :
Les structures6
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
With objFilm
.Titre = "2001, L'odyssée de l'espace"
.Realisateur = "Stanley Kubrick"
.Annee = 1968
.duree = 149
End With
• Les énumérations sont utilisées lorsque l'on a un jeu de
constantes liées logiquement.
• Le mot réservé Enum permet de créer une liste (une
énumération) de constantes
• Le bloc Enum doit être dans l'en-tête du module (en
haut).
Les énumérations de constantes7
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
• Exemple:
Les énumérations de constantes8
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
Enum TypeFichier
DOC
RTF
TEXTE
End Enum
• On peut utiliser cette énumération comme suit: :
fichierEnCours = TypeFichier.DOC
• Chaque constante littérale de l'énumération prend une
valeur par défaut
• Cette valeur commence par 0
• Cette valeur peut être personnalisée comme suit:
Les énumérations de constantes9
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
Enum TypeFichier
DOC = 101
RTF = 102
TEXTE = 103
End Enum
• Un tableau permet de stocker plusieurs données de
même type sous un même nom de variable
• Chaque élément du tableau est référencé par un index
ou indice.
• Lorsque vous créez un tableau, Visual Basic définit à
part un espace mémoire qui lui est destiné.
Les tableaux10
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
• Exemple
• Soit A un tableau de 4 éléments:
Les tableaux11
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
10
25
589
108
0
1
2
3
• Pour accéder à un élément il faut utiliser l'indice de cet
élément.
• L'élément d'index 0 se nomme A[0] et contient la valeur
10.
• On remarque que le premier élément est l'élément
d'index 0 (ZÉRO).
• L'élément d'index 1 se nomme A[1] et contient la valeur
25.
• Quand on crée un tableau, on doit indiquer le nombre
d’éléments qu’il contient
– 4 dans notre exemple d'index 0 à 3.
• Déclaration similaire aux variables simples
• La portée et la visibilité des tableaux sont tout aussi
similaires
• Un tableau déclaré localement dans une procédure ne peut être utilisé que dans cette
procédure.
• Un tableau déclaré « Private » en haut d’un formulaire peut être utilisé dans
l’ensemble du formulaire.
• Un tableau déclaré publiquement dans un module peut être utilisé partout dans le
projet.
• Syntaxe de base d’un tableau à taille fixe:
• Dim NomTableau(Dim1Index, Dim2Index...) As DataType
Déclarer un tableau12
Professeur: Hamza SAID
Les tableaux
• Exemple:
• Pour déclarer un tableau de chaîne unidimensionnel appelé ‘Employés’ pouvant
contenir 10 noms d’employés (numérotés de 0 à 9), on fait comme suit :
Déclarer un tableau13
Professeur: Hamza SAID
Les tableaux
Dim Employés(9) As String
• Pour déclarer un tableau public bidimensionnel appelé ‘TableauDeScores ‘de deux
rangées et neuf colonnes de données entières Short, tapez cette instruction :
Dim TableauDeScores(1, 8) As Short
• Scénario
• L’exercice qui suit a recours à un tableau unidimensionnel appelé « Temperatures »
pour enregistrer les températures journalières les plus élevées sur une semaine de
sept jours. Le programme montre comment utiliser un tableau pour stocker et
traiter un groupe de valeurs liées sur un formulaire.
Exercice - Créer un tableau à taille fixe destiné
à des températures
14
Professeur: Hamza SAID
Les tableaux
Voir document
‘Exercice sur les
tableaux’
• Dans l’exemple précédent, comment peut-on laisser
l’utilisateur choisir le nombre de températures qu’il veut
saisir dans le Tableau ?
Exercice - Créer un tableau à taille fixe destiné
à des températures
15
Professeur: Hamza SAID
Les tableaux
• Dans l’exemple précédent, comment peut-on laisser
l’utilisateur choisir le nombre de températures qu’il veut
saisir dans le Tableau ?
• Réponse : En utilisant un tableau dynamique
Exercice - Créer un tableau à taille fixe destiné
à des températures
16
Professeur: Hamza SAID
Les tableaux
• Dim Temperatures() As SingleOn change la déclaration
du tableau comme suit:
• Dim Jours As Short
• Jours = InputBox("Combien de jours ?", "Créer
tableau")
On ajoute du code pour
définir le nombre d’éléments
du tableau à l’exécution :
• ReDim Temperatures(Jours - 1)On utilise « ReDim » pour
dimensionner le tableau :
Les tableaux dynamiques
17
Professeur: Hamza SAID
Les tableaux
Important
Avec ReDim, vous ne devez pas tenter de modifier le
nombre de dimensions d’un tableau déjà déclaré.
Les tableaux dynamiques
18
Professeur: Hamza SAID
Les tableaux
• La classe Array propose une collection de méthodes
qui servent à manipuler des tableaux
• Les méthodes les plus utiles sont :
• Array.Sort, Array.Find, Array.Reverse, Array.Copy et Array.Clear
• Par exemple, pour trier un tableau de températures ,
utilisez la syntaxe suivante :
• Array.Sort(Temperatures)
La classe Array19
Professeur: Hamza SAID
Les tableaux
• Ils permettent d’envoyer, à une procédure, des paramètres
de même type mais dont on ne connaît pas le nombre.
• Exemple :
• Une Function 'Somme' qui calcule la somme de X Integer.
Les arguments ParamArray20
Professeur: Hamza SAID
Les tableaux
Les arguments ParamArray21
Professeur: Hamza SAID
Les tableaux
Function Somme (ByVal ParamArray Valeurs() as Integer) As Integer
Dim i as Integer
Dim Total As Integer
For i=0 to Valeurs.Length - 1
Total += Valeurs(i)
Next i
Return Total
End Function
Pour appeler cette fonction:
Les arguments ParamArray22
Professeur: Hamza SAID
Les tableaux
Dim LeTotal As Integer
LeTotal = Somme (2, 5, 6, 8 ,5)
• Une alternative aux tableaux
• Les Collections permettent de regrouper des données.
• Elles sont très utilisées dans la programmation 'Objet'.
• Le nombre d'éléments n'est pas défini au départ
comme dans un tableau.
• Elles permettent :
• D’ajouter ou d'enlever un élément à n'importe quel endroit sans avoir à se
préoccuper de la taille de la collection, ni ou se trouve l'élément
Les collections23
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
• Dans une collection, Il n'y a aucun élément au départ
• Il n'y a que des éléments que l'on a ajoutés.
• Les éléments sont repérés grâce à un index ou avec
une Clé unique
• Exemple :
• Les items affichés dans une ListBox (la propriété ‘Items’)
Les collections24
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections
• Il y a plusieurs types de collections dans
l'environnement .NET:
• Les Listes
Ont un Index pour repérer les éléments.
• Les dictionnaires
Chaque élément à une clé, qu’on utilise pour retrouver une valeur.
• Certaines collections combinent List et Dictionnaire, d'autres sont triées
automatiquement.
• Collections particulières: les Piles (Stack) et les Files (Queue)
Classification des collections25
Professeur: Hamza SAID
Les collections
• Certaines collections utilisent les génériques :
• Ce sont des collections fortement typées
• Quand on déclare la Collection, on indique le type des éléments qu’elle peut
contenir.
• Exemple : List(Of String) est une List ne pouvant contenir que des Strings.
Classification des collections26
Professeur: Hamza SAID
Les collections
• De type « Liste » : Utilise un index pour repérer les éléments
• Elle permet de regrouper différents éléments de différents types de
données
• Exemple :
La collection ArrayList27
Professeur: Hamza SAID
Les collections
'On crée une collection ArrayList
Dim L As New ArrayList()
'On crée une ArrayList de 5 éléments contenant chacun "A"
'(on répète "A")
L = ArrayList.Repeat("A", 5)
'On ajoute un élément à la collection
L.Add("Bonjour")
'On affiche le premier élément
MsgBox(L(0))
Autre écriture à
L(0) : L.Item(0)
• Principaux membres:
• Remove() ’Permet d’enlever un élément
• RemoveAt(index) ’Permet d’enlever un élément à un une position
index
• Sort() ‘Trie la collection
• Clear() 'Efface tous les éléments
• Contains(élément) ‘Retourne True si la liste contient « élément »
• Insert(position, élément) ‘Permet d'insérer un élément à un index
‘spécifique
• InsertRange() ‘Insère une ArrayList dans une autre ArrayList
La collection ArrayList28
Professeur: Hamza SAID
Les collections
• Il existe 3 méthodes pour parcourir une collection (L) :
1. Grâce à l'index de l'item
2. Avec For Each
Parcourir une collection29
Professeur: Hamza SAID
Les collections
For i = 0 to L.Count - 1
A = L.Item(i)
Next i
Dim o As Objet
For Each o in L
A = o
Next
Count pour trouver le
nombre d'élément
• Il existe 3 méthodes pour parcourir une collection (L) :
3. Avec l'objet IEnumerator
Parcourir une collection30
Professeur: Hamza SAID
Les collections
Dim L As New ArrayList
Dim C As IEnumerator = L.GetEnumerator()
While C.MoveNext()
A = C.Current
End While
IEnumerator parcourt la collection grâce à 3 propriétés :
• MoveNext : avance d'un élément dans la collection. S'il ne peut plus avancer, il
retourne False
• Reset : place l'élément courant au début
• Current : désigne l'élément courant.
• C'est un « Dictionnaire » qui comporte des couples clé-élément,
des paires clé-valeur.
• Ces couples sont de type Objet-Objet.
• La clé est toujours unique et ne peut être NULL
• Elle permet de retrouver la valeur qui lui est associée
La collection HashTable31
Professeur: Hamza SAID
Les collections
• Déclaration d’un HashTable :
• Dim H As New Hashtable
• Principaux membres :
• H.Add(Clé,Valeur) Ajoute un élément
• H.Item(Clé) Retourne l'élément correspondant à une clé.
• H.ContainsKey(Clé) Retourne True si la Clé est dans la table.
• H.ContainsValues(Valeur) Retourne True si la valeur est dans la table.
• H.Clear Efface tous les éléments
• H.Remove(Clé) Supprime l'élément ayant une clé spécifiée.
• Les collections H.Values et H.Keys contiennent les valeurs et les clés de la collection.
La collection HashTable32
Professeur: Hamza SAID
Les collections
La collection HashTable - Exemple
Professeur: Hamza SAID
33
'Creation d'une Hashtable.
Dim myHT As New Hashtable()
'Mettre des éléments dans la HashTable
myHT.Add("un", "premier")
myHT.Add("deux", "second")
myHT.Add("trois", "troisième")
myHT.Add("quatre", "quatrième")
'Recherche la valeur correspondant à la clé "trois"
Dim myReponse As String = myHT.Item("trois") 'Retourne "troisième"
'Parcourir la HashTable
'Création d'un IDictionaryEnumerator
Dim myEnumerator As IDictionaryEnumerator = myHT.GetEnumerator()
While myEnumerator.MoveNext()
'Afficher clé et valeur
MsgBox(myEnumerator.Key & " - " & myEnumerator.Value)
End While
• Peut-on parcourir une collection HashTable grâce à la
boucle For .. Next ?
La collection HashTable - Question34
Professeur: Hamza SAID
Les collections
• Peut-on parcourir une collection HashTable grâce à la
boucle For .. Next ?
• Réponse:
• Non, HashTable n’utilise pas d’index pour repérer
ses éléments
La collection HashTable - Question35
Professeur: Hamza SAID
Les collections
• Combine List et Dictionnaire avec un tri automatique
• Un hybride de HashTable et de ArrayList
• L'accès aux valeurs se fait par l'intermédiaire des clés associées
ou des index.
• mySL.Item(CLE) 'retourne la valeur correspondant à la clé CLE
• mySL.GetKey(3) 'retourne la Clé qui est dans l'élément d'index 3
• mySL.GetByIndex(3) 'retourne la valeur qui est dans l'élément d'index 3
• Tout comme les HashTables, l’ajout d’éléments se fait avec la
méthode Add(Clé,Valeur)
• La séquence d'index est basée sur la séquence de tri
• Quand un élément est ajouté, il est inséré dans l'ordre de tri adéquat, et l'indexation s'ajuste en
conséquence.
La collection SortedList36
Professeur: Hamza SAID
Les collections
• SortedList maintient en interne deux tableaux :
• un tableau pour les clés
• un autre pour les valeurs associées.
• L’index de base est 0
La collection SortedList37
Professeur: Hamza SAID
Les collections
Les collections Queue et Stack38
Professeur: Hamza SAID
Les collections
• Collection d'objets de type FIFO (First In,
First Out)
• Premier arrivé premier servi.
• C'est la queue devant un cinéma, le premier arrivé prend son
billet le premier.
• Accepte des objets de n’importe quel type
• Les objets stockés dans Queue sont insérés
à une extrémité et supprimés à l'autre.
Queue (File)39
Professeur: Hamza SAID
Les collections Queue et Stack
• Le nombre d'éléments de la file est
géré automatiquement.
• Principaux membres :
• DeQueue : supprime et retourne l'objet de début de liste.
• EnQueue : ajoute un objet en fin de liste.
• Peek : retourne l'objet de début sans le supprimer.
Queue (File)40
Professeur: Hamza SAID
Les collections Queue et Stack
Dim myQ As New Queue()
myQ.Enqueue("One")
myQ.Enqueue("Two")
myQ.Enqueue("Three")
'Affiche le nombre d'éléments.
Console.WriteLine (myQ.Count)
'Affiche « One ».
Console.WriteLine (myQ.Dequeue())
'Affiche « Two ».
Console.WriteLine (myQ.Dequeue())
'Affiche « Three ».
Console.WriteLine (myQ.Dequeue())
41
Professeur: Hamza SAID
Les collections Queue et Stack
Queue (File) - Exemple
• Collection d'objets de type pile (ou
stack) LIFO (Last In, First Out)
• Dernier arrivé premier servi.
• Lors d’un appel de procédure, on empile les adresses de
retour, à la fin on récupère ces adresses du dessus.
• Accepte des objets de n’importe quel
type
42
Professeur: Hamza SAID
Les collections Queue et Stack
Stack (Pile)
• Le nombre d'éléments de la pile est
géré automatiquement.
• Principaux membres :
• Push : insère un objet en haut de la pile
On dit « empiler un élément »
• Pop : enlève et retourne un objet en haut de la pile
On dit « dépiler un élément »
43
Professeur: Hamza SAID
Les collections Queue et Stack
Stack (Pile)
Dim MaPile As New Stack()
Dim Str As String
'Ajouter des éléments à la pile
MaPile.Push ("A")
MaPile.Push ("B")
MaPile.Push ("C")
'Récupérer un objet de la pile:
Str = MaPile.Pop() 'Retourne C
Str = MaPile.Pop() 'Retourne B
Str = MaPile.Pop() 'Retourne A
44
Professeur: Hamza SAID
Les collections Queue et Stack
Stack (Pile) - Exemple
Exercice sur les collections45
Professeur: Hamza SAID
Les collections
• Scénario
• Dans les exercices à venir, vous allez utiliser du code pour manipuler des objets sur un
formulaire en utilisant la collection Controls. Votre projet possèdera trois objets boutons.
Vous allez créer des procédures événementielles qui modifient les propriétés Text de
chaque objet, déplacer des objets vers la droite et accorder un traitement spécial à un
objet du groupe. Le programme exploitera trois boucles For Each...Next pour manipuler
les objets chaque fois que l’utilisateur cliquera sur un des boutons.
Voir document
‘Exercice sur les
collections’
• Visual Basic .NET offre plusieurs méthodes pour
structurer efficacement des données :
• Les structures, qui représentent une combinaison de plusieurs types de variables
• Le regroupement de constantes se fait grâce aux énumérations de constantes
• Les tableaux servent à stocker un ensemble d’objets de mêmes types
• Finalement, les collections qui ressemblent aux tableaux mais avec une gestion
différente de la mémoire. Les principales collections qu’on a vues sont :
• ArrayList
• HashTable
• SortedList
• Stack et Queue
En bref46
Professeur: Hamza SAID
Les structures de données, les énumérations
de constantes, les tableaux et les collections

Contenu connexe

Similaire à 06 visual basic .net - les structures de donnees, les enumerations de constantes, les tableaux et les collections

Stockage des objets
Stockage des objetsStockage des objets
Stockage des objets
akounda
 
Héritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdfHéritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdf
AabidiHafid
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
Hamza SAID
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
MohamedCheikhAhmed
 
Les différent objets dans R
Les différent objets dans RLes différent objets dans R
Les différent objets dans R
Emmanuel Abatih
 
Vbisigk
VbisigkVbisigk
VbisigkISIG
 
OBI PSY 2014 - Excel 1
OBI PSY 2014 - Excel 1OBI PSY 2014 - Excel 1
OBI PSY 2014 - Excel 1Yann Zelig
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
MiRA452885
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
Wafaa Ibrihich
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
SOAT
 
mis
mismis
misISIG
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
OuailChoukhairi
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
Abdoulaye Dieng
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
Abdoulaye Dieng
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 
Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2
Mathieu Saby
 
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxfdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
TarikElMahtouchi1
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
Yassine Badri
 

Similaire à 06 visual basic .net - les structures de donnees, les enumerations de constantes, les tableaux et les collections (20)

Stockage des objets
Stockage des objetsStockage des objets
Stockage des objets
 
Héritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdfHéritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdf
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
 
Les différent objets dans R
Les différent objets dans RLes différent objets dans R
Les différent objets dans R
 
Vbisigk
VbisigkVbisigk
Vbisigk
 
OBI PSY 2014 - Excel 1
OBI PSY 2014 - Excel 1OBI PSY 2014 - Excel 1
OBI PSY 2014 - Excel 1
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
mis
mismis
mis
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
Visual studio
Visual studioVisual studio
Visual studio
 
Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2
 
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxfdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 

Plus de Hamza SAID

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
Hamza SAID
 
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
Hamza SAID
 
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee
Hamza SAID
 
09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque
Hamza SAID
 
08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions
Hamza SAID
 
09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie
Hamza SAID
 
07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note
Hamza SAID
 
07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire
Hamza SAID
 
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
Hamza SAID
 
06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux
Hamza SAID
 
06 visual basic .net - exercice sur les collections
06 visual basic .net - exercice sur les collections06 visual basic .net - exercice sur les collections
06 visual basic .net - exercice sur les collections
Hamza SAID
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
Hamza SAID
 
04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice
Hamza SAID
 
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
Hamza SAID
 
03 visual basic .net - notions de base
03 visual basic .net - notions de base03 visual basic .net - notions de base
03 visual basic .net - notions de base
Hamza SAID
 
02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net
Hamza SAID
 
01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours
Hamza SAID
 

Plus de Hamza SAID (17)

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
 
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee
 
09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque
 
08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions
 
09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie
 
07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note
 
07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire
 
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
 
06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux
 
06 visual basic .net - exercice sur les collections
06 visual basic .net - exercice sur les collections06 visual basic .net - exercice sur les collections
06 visual basic .net - exercice sur les collections
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
 
04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice
 
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
 
03 visual basic .net - notions de base
03 visual basic .net - notions de base03 visual basic .net - notions de base
03 visual basic .net - notions de base
 
02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net
 
01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours
 

Dernier

Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
MustaphaZhiri
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
mohammadaminejouini
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 

Dernier (7)

Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
Dimensionnement réseau de transmission pour un réseau GSM-R - AIT KADDOUR Ghi...
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 

06 visual basic .net - les structures de donnees, les enumerations de constantes, les tableaux et les collections

  • 1. Microsoft Visual Basic .NET  Découverte du nouvel environnement Visual Studio .NET  Éléments du langage Visual Basic .NET  Étude et mise en œuvre des fonctionnalités du nouveau Framework .NET  Programmation orientée objet et développement de composants réutilisables  Accès aux données avec ADO .NET Professeur: Hamza SAID 1
  • 2. Éléments du langage Visual Basic .NET  Variables, procédures, arguments et structures de contrôles  Les structures de données, les énumérations de constantes, les tableaux et les différents types de collections disponibles Professeur: Hamza SAID 2
  • 3. • Les structures • Les énumérations de constantes • Les tableaux • Les collections Les structures de données, les énumérations de constantes, les tableaux et les collections 3 Professeur: Hamza SAID Éléments du langage Visual Basic .NET
  • 4. • Elles permettent de regrouper des données de types simples (Integer, String ...) • Elles se déclarent dans un bloc Structure .. End Structure • Nous permettent d'obtenir un type spécifique • Le nom de ce type est précisé à la suite du mot réservé "Structure" • Elles peuvent avoir un niveau de visibilité "Public" ou "Private" Les structures4 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections
  • 5. • Exemple: Les structures5 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections Structure Film Dim Titre As String Dim Realisateur As String Dim Annee As Integer Dim duree As Integer End Structure • La déclaration se fait comme suit : Dim objFilm As Film = New Film
  • 6. • Voici comment on accède aux données de la structure précédente : Les structures6 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections With objFilm .Titre = "2001, L'odyssée de l'espace" .Realisateur = "Stanley Kubrick" .Annee = 1968 .duree = 149 End With
  • 7. • Les énumérations sont utilisées lorsque l'on a un jeu de constantes liées logiquement. • Le mot réservé Enum permet de créer une liste (une énumération) de constantes • Le bloc Enum doit être dans l'en-tête du module (en haut). Les énumérations de constantes7 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections
  • 8. • Exemple: Les énumérations de constantes8 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections Enum TypeFichier DOC RTF TEXTE End Enum • On peut utiliser cette énumération comme suit: : fichierEnCours = TypeFichier.DOC
  • 9. • Chaque constante littérale de l'énumération prend une valeur par défaut • Cette valeur commence par 0 • Cette valeur peut être personnalisée comme suit: Les énumérations de constantes9 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections Enum TypeFichier DOC = 101 RTF = 102 TEXTE = 103 End Enum
  • 10. • Un tableau permet de stocker plusieurs données de même type sous un même nom de variable • Chaque élément du tableau est référencé par un index ou indice. • Lorsque vous créez un tableau, Visual Basic définit à part un espace mémoire qui lui est destiné. Les tableaux10 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections
  • 11. • Exemple • Soit A un tableau de 4 éléments: Les tableaux11 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections 10 25 589 108 0 1 2 3 • Pour accéder à un élément il faut utiliser l'indice de cet élément. • L'élément d'index 0 se nomme A[0] et contient la valeur 10. • On remarque que le premier élément est l'élément d'index 0 (ZÉRO). • L'élément d'index 1 se nomme A[1] et contient la valeur 25. • Quand on crée un tableau, on doit indiquer le nombre d’éléments qu’il contient – 4 dans notre exemple d'index 0 à 3.
  • 12. • Déclaration similaire aux variables simples • La portée et la visibilité des tableaux sont tout aussi similaires • Un tableau déclaré localement dans une procédure ne peut être utilisé que dans cette procédure. • Un tableau déclaré « Private » en haut d’un formulaire peut être utilisé dans l’ensemble du formulaire. • Un tableau déclaré publiquement dans un module peut être utilisé partout dans le projet. • Syntaxe de base d’un tableau à taille fixe: • Dim NomTableau(Dim1Index, Dim2Index...) As DataType Déclarer un tableau12 Professeur: Hamza SAID Les tableaux
  • 13. • Exemple: • Pour déclarer un tableau de chaîne unidimensionnel appelé ‘Employés’ pouvant contenir 10 noms d’employés (numérotés de 0 à 9), on fait comme suit : Déclarer un tableau13 Professeur: Hamza SAID Les tableaux Dim Employés(9) As String • Pour déclarer un tableau public bidimensionnel appelé ‘TableauDeScores ‘de deux rangées et neuf colonnes de données entières Short, tapez cette instruction : Dim TableauDeScores(1, 8) As Short
  • 14. • Scénario • L’exercice qui suit a recours à un tableau unidimensionnel appelé « Temperatures » pour enregistrer les températures journalières les plus élevées sur une semaine de sept jours. Le programme montre comment utiliser un tableau pour stocker et traiter un groupe de valeurs liées sur un formulaire. Exercice - Créer un tableau à taille fixe destiné à des températures 14 Professeur: Hamza SAID Les tableaux Voir document ‘Exercice sur les tableaux’
  • 15. • Dans l’exemple précédent, comment peut-on laisser l’utilisateur choisir le nombre de températures qu’il veut saisir dans le Tableau ? Exercice - Créer un tableau à taille fixe destiné à des températures 15 Professeur: Hamza SAID Les tableaux
  • 16. • Dans l’exemple précédent, comment peut-on laisser l’utilisateur choisir le nombre de températures qu’il veut saisir dans le Tableau ? • Réponse : En utilisant un tableau dynamique Exercice - Créer un tableau à taille fixe destiné à des températures 16 Professeur: Hamza SAID Les tableaux
  • 17. • Dim Temperatures() As SingleOn change la déclaration du tableau comme suit: • Dim Jours As Short • Jours = InputBox("Combien de jours ?", "Créer tableau") On ajoute du code pour définir le nombre d’éléments du tableau à l’exécution : • ReDim Temperatures(Jours - 1)On utilise « ReDim » pour dimensionner le tableau : Les tableaux dynamiques 17 Professeur: Hamza SAID Les tableaux
  • 18. Important Avec ReDim, vous ne devez pas tenter de modifier le nombre de dimensions d’un tableau déjà déclaré. Les tableaux dynamiques 18 Professeur: Hamza SAID Les tableaux
  • 19. • La classe Array propose une collection de méthodes qui servent à manipuler des tableaux • Les méthodes les plus utiles sont : • Array.Sort, Array.Find, Array.Reverse, Array.Copy et Array.Clear • Par exemple, pour trier un tableau de températures , utilisez la syntaxe suivante : • Array.Sort(Temperatures) La classe Array19 Professeur: Hamza SAID Les tableaux
  • 20. • Ils permettent d’envoyer, à une procédure, des paramètres de même type mais dont on ne connaît pas le nombre. • Exemple : • Une Function 'Somme' qui calcule la somme de X Integer. Les arguments ParamArray20 Professeur: Hamza SAID Les tableaux
  • 21. Les arguments ParamArray21 Professeur: Hamza SAID Les tableaux Function Somme (ByVal ParamArray Valeurs() as Integer) As Integer Dim i as Integer Dim Total As Integer For i=0 to Valeurs.Length - 1 Total += Valeurs(i) Next i Return Total End Function
  • 22. Pour appeler cette fonction: Les arguments ParamArray22 Professeur: Hamza SAID Les tableaux Dim LeTotal As Integer LeTotal = Somme (2, 5, 6, 8 ,5)
  • 23. • Une alternative aux tableaux • Les Collections permettent de regrouper des données. • Elles sont très utilisées dans la programmation 'Objet'. • Le nombre d'éléments n'est pas défini au départ comme dans un tableau. • Elles permettent : • D’ajouter ou d'enlever un élément à n'importe quel endroit sans avoir à se préoccuper de la taille de la collection, ni ou se trouve l'élément Les collections23 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections
  • 24. • Dans une collection, Il n'y a aucun élément au départ • Il n'y a que des éléments que l'on a ajoutés. • Les éléments sont repérés grâce à un index ou avec une Clé unique • Exemple : • Les items affichés dans une ListBox (la propriété ‘Items’) Les collections24 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections
  • 25. • Il y a plusieurs types de collections dans l'environnement .NET: • Les Listes Ont un Index pour repérer les éléments. • Les dictionnaires Chaque élément à une clé, qu’on utilise pour retrouver une valeur. • Certaines collections combinent List et Dictionnaire, d'autres sont triées automatiquement. • Collections particulières: les Piles (Stack) et les Files (Queue) Classification des collections25 Professeur: Hamza SAID Les collections
  • 26. • Certaines collections utilisent les génériques : • Ce sont des collections fortement typées • Quand on déclare la Collection, on indique le type des éléments qu’elle peut contenir. • Exemple : List(Of String) est une List ne pouvant contenir que des Strings. Classification des collections26 Professeur: Hamza SAID Les collections
  • 27. • De type « Liste » : Utilise un index pour repérer les éléments • Elle permet de regrouper différents éléments de différents types de données • Exemple : La collection ArrayList27 Professeur: Hamza SAID Les collections 'On crée une collection ArrayList Dim L As New ArrayList() 'On crée une ArrayList de 5 éléments contenant chacun "A" '(on répète "A") L = ArrayList.Repeat("A", 5) 'On ajoute un élément à la collection L.Add("Bonjour") 'On affiche le premier élément MsgBox(L(0)) Autre écriture à L(0) : L.Item(0)
  • 28. • Principaux membres: • Remove() ’Permet d’enlever un élément • RemoveAt(index) ’Permet d’enlever un élément à un une position index • Sort() ‘Trie la collection • Clear() 'Efface tous les éléments • Contains(élément) ‘Retourne True si la liste contient « élément » • Insert(position, élément) ‘Permet d'insérer un élément à un index ‘spécifique • InsertRange() ‘Insère une ArrayList dans une autre ArrayList La collection ArrayList28 Professeur: Hamza SAID Les collections
  • 29. • Il existe 3 méthodes pour parcourir une collection (L) : 1. Grâce à l'index de l'item 2. Avec For Each Parcourir une collection29 Professeur: Hamza SAID Les collections For i = 0 to L.Count - 1 A = L.Item(i) Next i Dim o As Objet For Each o in L A = o Next Count pour trouver le nombre d'élément
  • 30. • Il existe 3 méthodes pour parcourir une collection (L) : 3. Avec l'objet IEnumerator Parcourir une collection30 Professeur: Hamza SAID Les collections Dim L As New ArrayList Dim C As IEnumerator = L.GetEnumerator() While C.MoveNext() A = C.Current End While IEnumerator parcourt la collection grâce à 3 propriétés : • MoveNext : avance d'un élément dans la collection. S'il ne peut plus avancer, il retourne False • Reset : place l'élément courant au début • Current : désigne l'élément courant.
  • 31. • C'est un « Dictionnaire » qui comporte des couples clé-élément, des paires clé-valeur. • Ces couples sont de type Objet-Objet. • La clé est toujours unique et ne peut être NULL • Elle permet de retrouver la valeur qui lui est associée La collection HashTable31 Professeur: Hamza SAID Les collections
  • 32. • Déclaration d’un HashTable : • Dim H As New Hashtable • Principaux membres : • H.Add(Clé,Valeur) Ajoute un élément • H.Item(Clé) Retourne l'élément correspondant à une clé. • H.ContainsKey(Clé) Retourne True si la Clé est dans la table. • H.ContainsValues(Valeur) Retourne True si la valeur est dans la table. • H.Clear Efface tous les éléments • H.Remove(Clé) Supprime l'élément ayant une clé spécifiée. • Les collections H.Values et H.Keys contiennent les valeurs et les clés de la collection. La collection HashTable32 Professeur: Hamza SAID Les collections
  • 33. La collection HashTable - Exemple Professeur: Hamza SAID 33 'Creation d'une Hashtable. Dim myHT As New Hashtable() 'Mettre des éléments dans la HashTable myHT.Add("un", "premier") myHT.Add("deux", "second") myHT.Add("trois", "troisième") myHT.Add("quatre", "quatrième") 'Recherche la valeur correspondant à la clé "trois" Dim myReponse As String = myHT.Item("trois") 'Retourne "troisième" 'Parcourir la HashTable 'Création d'un IDictionaryEnumerator Dim myEnumerator As IDictionaryEnumerator = myHT.GetEnumerator() While myEnumerator.MoveNext() 'Afficher clé et valeur MsgBox(myEnumerator.Key & " - " & myEnumerator.Value) End While
  • 34. • Peut-on parcourir une collection HashTable grâce à la boucle For .. Next ? La collection HashTable - Question34 Professeur: Hamza SAID Les collections
  • 35. • Peut-on parcourir une collection HashTable grâce à la boucle For .. Next ? • Réponse: • Non, HashTable n’utilise pas d’index pour repérer ses éléments La collection HashTable - Question35 Professeur: Hamza SAID Les collections
  • 36. • Combine List et Dictionnaire avec un tri automatique • Un hybride de HashTable et de ArrayList • L'accès aux valeurs se fait par l'intermédiaire des clés associées ou des index. • mySL.Item(CLE) 'retourne la valeur correspondant à la clé CLE • mySL.GetKey(3) 'retourne la Clé qui est dans l'élément d'index 3 • mySL.GetByIndex(3) 'retourne la valeur qui est dans l'élément d'index 3 • Tout comme les HashTables, l’ajout d’éléments se fait avec la méthode Add(Clé,Valeur) • La séquence d'index est basée sur la séquence de tri • Quand un élément est ajouté, il est inséré dans l'ordre de tri adéquat, et l'indexation s'ajuste en conséquence. La collection SortedList36 Professeur: Hamza SAID Les collections
  • 37. • SortedList maintient en interne deux tableaux : • un tableau pour les clés • un autre pour les valeurs associées. • L’index de base est 0 La collection SortedList37 Professeur: Hamza SAID Les collections
  • 38. Les collections Queue et Stack38 Professeur: Hamza SAID Les collections
  • 39. • Collection d'objets de type FIFO (First In, First Out) • Premier arrivé premier servi. • C'est la queue devant un cinéma, le premier arrivé prend son billet le premier. • Accepte des objets de n’importe quel type • Les objets stockés dans Queue sont insérés à une extrémité et supprimés à l'autre. Queue (File)39 Professeur: Hamza SAID Les collections Queue et Stack
  • 40. • Le nombre d'éléments de la file est géré automatiquement. • Principaux membres : • DeQueue : supprime et retourne l'objet de début de liste. • EnQueue : ajoute un objet en fin de liste. • Peek : retourne l'objet de début sans le supprimer. Queue (File)40 Professeur: Hamza SAID Les collections Queue et Stack
  • 41. Dim myQ As New Queue() myQ.Enqueue("One") myQ.Enqueue("Two") myQ.Enqueue("Three") 'Affiche le nombre d'éléments. Console.WriteLine (myQ.Count) 'Affiche « One ». Console.WriteLine (myQ.Dequeue()) 'Affiche « Two ». Console.WriteLine (myQ.Dequeue()) 'Affiche « Three ». Console.WriteLine (myQ.Dequeue()) 41 Professeur: Hamza SAID Les collections Queue et Stack Queue (File) - Exemple
  • 42. • Collection d'objets de type pile (ou stack) LIFO (Last In, First Out) • Dernier arrivé premier servi. • Lors d’un appel de procédure, on empile les adresses de retour, à la fin on récupère ces adresses du dessus. • Accepte des objets de n’importe quel type 42 Professeur: Hamza SAID Les collections Queue et Stack Stack (Pile)
  • 43. • Le nombre d'éléments de la pile est géré automatiquement. • Principaux membres : • Push : insère un objet en haut de la pile On dit « empiler un élément » • Pop : enlève et retourne un objet en haut de la pile On dit « dépiler un élément » 43 Professeur: Hamza SAID Les collections Queue et Stack Stack (Pile)
  • 44. Dim MaPile As New Stack() Dim Str As String 'Ajouter des éléments à la pile MaPile.Push ("A") MaPile.Push ("B") MaPile.Push ("C") 'Récupérer un objet de la pile: Str = MaPile.Pop() 'Retourne C Str = MaPile.Pop() 'Retourne B Str = MaPile.Pop() 'Retourne A 44 Professeur: Hamza SAID Les collections Queue et Stack Stack (Pile) - Exemple
  • 45. Exercice sur les collections45 Professeur: Hamza SAID Les collections • Scénario • Dans les exercices à venir, vous allez utiliser du code pour manipuler des objets sur un formulaire en utilisant la collection Controls. Votre projet possèdera trois objets boutons. Vous allez créer des procédures événementielles qui modifient les propriétés Text de chaque objet, déplacer des objets vers la droite et accorder un traitement spécial à un objet du groupe. Le programme exploitera trois boucles For Each...Next pour manipuler les objets chaque fois que l’utilisateur cliquera sur un des boutons. Voir document ‘Exercice sur les collections’
  • 46. • Visual Basic .NET offre plusieurs méthodes pour structurer efficacement des données : • Les structures, qui représentent une combinaison de plusieurs types de variables • Le regroupement de constantes se fait grâce aux énumérations de constantes • Les tableaux servent à stocker un ensemble d’objets de mêmes types • Finalement, les collections qui ressemblent aux tableaux mais avec une gestion différente de la mémoire. Les principales collections qu’on a vues sont : • ArrayList • HashTable • SortedList • Stack et Queue En bref46 Professeur: Hamza SAID Les structures de données, les énumérations de constantes, les tableaux et les collections