Académique Documents
Professionnel Documents
Culture Documents
DE DEVELOPPEMENT
INTEGRE VISUAL
BASIC 2008
SUPPORT DE FORMATION
MODULE I
TABLE DES MATIERES
I. GENERALITES .................................................................................................................. 3
SECTION I : INTRODUCTION .............................................................................................. 3
I.1. Historique de Visual Basic .Net .................................................................................... 3
I.2. La programmation Orienté Objet.................................................................................. 3
I.3. Le langage UML (Unifield Modeling Language) ........................................................... 4
SECTION II : LES OUTILS D’ANALYSE ET CONCEPTION ................................................ 4
SECTION III : L’ENVIRONNEMENT DE TRAVAIL DE VISUAL STUDIO ............................. 5
I.4. Présentation de l’environnement de travail .................................................................. 5
I.5. Création d’un projet en VB ........................................................................................... 7
II. LE LANGAGE VISUAL BASIC.Net .................................................................................11
SECTION I : LES BASES DU LANGAGE ...........................................................................11
II.1. Les types de données et déclaration de variable .......................................................11
II.2. La conversion de type ................................................................................................13
II.3. Les structures ............................................................................................................13
II.4. Les operateurs et expressions ...................................................................................13
II.5. Les instructions de contrôle .......................................................................................14
II.6. Les structures de répétition........................................................................................16
II.7. Les tableaux de données ...........................................................................................17
II.8. Les collections d’objets ..............................................................................................18
II.9. La gestion des exceptions (Try, Catch et Finally) .......................................................20
II.10. Passage de paramètres à une fonction....................................................................21
SECTION II : L’ASPECT ORIENTE OBJET DANS VISUAL BASIC ...................................23
II.11. Les classes, le constructeur, le destructeur et les propriétés ...................................23
II.12. Les méthodes et attributs de classe (Shared) ..........................................................25
II.13. Les objets et les références d’objets ........................................................................25
II.14. Passage d’un objet à une fonction ...........................................................................25
II.15. Les espaces de nom et les Assembly ......................................................................26
II.16. Les interfaces et les références ...............................................................................29
II.17. Les Surcharges de méthodes ..................................................................................30
II.18. L’héritage et le Polymorphisme ................................................................................30
II.19. La portée des déclarations.......................................................................................32
II.20. Introduction aux génériques.....................................................................................32
II.21. Quelques classes couramment utilisées ..................................................................33
III. LA GESTION DES FICHIERS .........................................................................................34
III.1. La classe File............................................................................................................34
III.2. Exemples ..................................................................................................................34
IV. INTRODUCTION AU LANGAGE LINQ (Language Integrated Query) .........................36
IV.1. Définition ..................................................................................................................36
IV.2. L’interface IEnumerable et IEnumerable<(Of T)> .....................................................36
IV.3. Structure d’une requête LINQ ...................................................................................36
IV.4. Les opérateurs de requête de LINQ .........................................................................37
3
1
4. La zone de travail : c’est l’espace où s’affiche les différents éléments utilisés lors
du développement (Formulaire, classes,…).
Note : Cette boite de dialogue peut s’afficher différemment selon la distribution de Visual
Studio.
Cliquer sur le bouton OK.
I.5.2. Compilation, débogage et Exécution d’un projet ;
a) Compilation d’un projet
La compilation d’un programme est une opération pendant laquelle l’exécution du
programme est créée. Cette opération est effective si et seulement si il n’y a aucune erreur
de syntaxe.
Elle se fait via le menu Générer – Générer nom_du_projet.
Une progression est affichée sur la barre d’état puis un message de succès ou d’échec de
l’opération.
b) Débogage d’un projet
Le débogage d’un projet revient à l’exécuter en mode debug, mode dans lequel le
programmeur peut suivre l’exécuter pas à pas en utilisant éventuellement des point d’arrêt.
Elle se fait via le menu Déboguer – Démarrer le débogage ou en appuyant sur la touche F5.
- Après connexion, la fenêtre d’ajout du projet s’affiche et cliquer sur le bouton OK.
L’icône d’un cadenas apparait sur chaque élément de l’explorateur de projet qui est
maintenant sous contrôle de VSS.
Le type de expression doit être l'un des types suivants : Boolean, Byte, Char, Date,
L’écriture : dim p1 as Direction = nothing indique explicitement (avec le mot clé nothing) que
la variable p1 ne fait référence à aucun objet.
R1 Objet
R2
- Dans la partie inférieure Espaces de noms importés, cocher les espaces de nom
- Dans la boîte de dialogue, remplacer ClassLibrary1 par « Login » puis cliquer sur le
bouton OK.
Un projet de type bibliothèque de classe ne peut pas être exécuté, il ne peut être que
compilé afin de créer un fichier ayant l’extension .dll.
Le projet que nous allons implémenter consiste à afficher une fenêtre de connexion (Login)
et de passer à la fenêtre cible (fenêtre passé en argument)
Créons la fenêtre et la classe suivante dans notre projet :
Fenêtre frmLogin
End Class
II.18.2. Le polymorphisme
Considérons une lignée de classes : C0 -> C1 -> C2 -> … ->Cn où Ci -> Cj indique que la
classe Cj est dérivée de la classe Ci. Cela entraîne que la classe Cj a toutes les
caractéristiques de la classe Ci plus d'autres. Soient des objets Oi de type Ci. Il est légal
d'écrire :
Oi=Oj avec j>i
En effet, par héritage, la classe Cj a toutes les caractéristiques de la classe Ci plus d'autres.
Donc un objet Oj de type Cj contient en lui un objet de type Ci. L'opération Oi=Oj fait que Oi
est une référence à l'objet de type Ci contenu dans l'objet Oj.
Le fait qu'une variable Oi de classe Ci puisse en fait référencer non seulement un objet de la
classe Ci mais en fait tout objet dérivé de la classe Ci est appelé polymorphisme : la faculté
pour une variable de référencer différents types d'objets. Prenons un exemple et considérons
la fonction suivante indépendante de toute classe :
Sub affiche(ByVal p As personne)
...
End Sub
On pourra aussi bien écrire
Dim p As personne
...
affiche(p)
que
Dim e As enseignant
...
affiche(e)
Dans ce dernier cas, le paramètre formel de type personne de la fonction affiche va recevoir
une valeur de type enseignant. Comme le type enseignant dérive du type personne, c'est
légal.
N.B : Quelques unes des classes de collection décrit au point II.8.2. Les classes de
collection ont des classes génériques correspondantes dans l’espace de nom
System.Collections.Generic. Il s’agit de : Queue(Of T), Stack(Of T) et SortedList(Of
TKey, TValue).
III.2. Exemples
III.2.1. Création et mise à jour d’un fichier
Public Sub Ecrire()
'Déclaration
Dim nomFichier As String = "C:/Formation VB2008/MonFichier.txt"
Dim ecriture As IO.StreamWriter
Try
If Not IO.File.Exists(nomFichier) Then
'Création d'un fichier texte
ecriture = IO.File.CreateText(nomFichier)
Else
'Ouverture du fichier pour ajout d'enregistrement
ecriture = IO.File.AppendText(nomFichier)
End If
'Ajout des enregistrements
ecriture.WriteLine("Ceci est le contenu du fichier créé :")
ecriture.WriteLine("- Création ;")
ecriture.WriteLine("- Ajout d'enregistrements ;")
ecriture.WriteLine("- Fermeture.")
Catch ex As Exception
Console.WriteLine(ex.Message)
IV.1. Définition
LINQ est un langage intégré de requêtes qui permet de rapprocher le monde des
objets et le monde des données.
Dans Visual Studio, vous pouvez écrire des requêtes LINQ en Visual Basic avec :
• des bases de données SQL Server (LINQ to SQL) ;
• des documents XML (LINQ to XML) ;
• des groupes de données ADO.NET (LINQ to DataSet) ;
• et des collections d'objets (LINQ to Objects)
prenant en charge l’interface IEnumerable ou l'interface IEnumerable<(Of T)>
générique.
Vous pouvez utiliser des requêtes LINQ dans de nouveaux projets ou avec des requêtes
non-LINQ dans des projets existants. La seule spécification est que le projet cible la
version 3.5 du .NET Framework.
Résultat : 0 2 4 6
a) Utilisation de All
L'exemple suivant utilise la clause Aggregate et la méthode d'extension All à retourner les personnes
d'une collection ayant tous les animaux domestiques dont l’âge depasse 2 ans.
Dim Chien As New AnimalDomestique With {.Nom = "Milou", .Age = 4}
Dim Chat As New AnimalDomestique With {.Nom = "Chichi", .Age = 1}
Dim Chienne As New AnimalDomestique With {.Nom = "Rali", .Age = 6}
Résultat : Charly
a) JOIN :
'Déclaration
Dim Chien As New AnimalDomestique With {.Nom = "Milou", .Age = 4}
Dim Chat As New AnimalDomestique With {.Nom = "Chichi", .Age = 1}
Dim Chienne As New AnimalDomestique With {.Nom = "Rali", .Age = 6}
Note : Cette boite de dialogue peut s’afficher différemment selon la distribution de Visual
Studio.
Cliquer sur le bouton OK.
V.1.2. Construction d’une fenêtre simple
Construisons la fenêtre présentée au point 6 de l’exemple ci-avant.
Les contrôles utilisés sont : le Form, le panel, 3 Label, 2 TextBox, 2 Button et un PictureBox.
Tableau des propriétés des contrôles de la fenêtre
Contrôle Propriété Valeur de la propriété
Form1 Name frmConnexion
Text Connexion
MaximizeBox False
MinimizeBox False
StartPosition CenterScreen
Panel1 Name pnlTitre
BackColor White
Dans la fenêtre qui s’affiche dans la zone travail, la liste déroulante « Formulaire de
démarrage : » contient tous les formulaires du projet, il suffit d’en choisir un.
Un formulaire parent est alors ajouté dans le projet, il comporte une barre de Menu, une
barre d’outils et une barre d’état. En plus, un ensemble de méthodes prédéfinies est intégré
dans le formulaire.
Barre de menus
Barre d’outils
Le menu contextuel peut aussi être utilisé sur des contrôles de données tels
que DataGridView ou ListView afin d’effectuer des opérations liées sur les
données de ce contrôle.
Les boîtes de dialogue quant à elles sont beaucoup plus utilsées dans
l’opération d’ouverture et de sauvegarde des fichiers.
Les boites de dialogues les plus utilisées sont : OpenFileDialog et SaveFileDialog
NOTE : Les différents aspect sur la gestion des applications windows seront vus par la
pratique à l’aide des exercices et particulièrement le projet SGAE qui sera utilisé
dans le chapitres suivants.
- SELECT : permet d’extraire les données provenant d’une table ou de plusieurs tables
(Jointure).
Exemple :
a) Extraction du code et nom de toutes les directions :
SELECT code, nom FROM direction
b) Extraction du nom de la direction ainsi que le code et le nom du département
correspondant :
Un schéma XML possède une boîte à outils qui se présente comme suit :
Une suite d’étapes est à franchir avant d’avoir la fenêtre de conception du rapport :
Choix du mode de création du rapport Crystal (en utilisant l’assistant de création de
rapports, à partir d’un rapport vide ou à partir d’un rapport existant) ;
Choix de la source de données ;
Une prévisualisation du rapport est possible en cliquant sur l’onglet « Aperçu Rapport
principal », mais les données affiché sont générées aléatoirement.
Après l’affichage d’un rapport, il est possible de l’exporter ou de l’imprimer à partir de l’objet
CrystalReportViewer.
VI.11.2. Exportation du rapport
L’exportation d’un rapport consiste à générer le rapport dans un fichier d’un format spécifique
(PDF, HTML, EXCEL,…).
Voyons comment exporter sans passer préalablement à l’affichage.
Exemple : exportation du rapport au format PDF (PortableDocFormat)
Imports CrystalDecisions.Shared
Private Sub ExporterToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ExporterToolStripMenuItem.Click
REM Chargement de données dans le rapport
Dim rapport As ListeDepartement = New ListeDepartement()
rapport.SetDataSource(DepartementDao.ObtenirDepartementParDirection())
REM Preparation de l'exportation
'Affectation du type de format (PDF, HTML, EXCEL,...)
Dim OptionRapport As ExportOptions = New ExportOptions()
OptionRapport.ExportFormatType = ExportFormatType.PortableDocFormat
OptionRapport.ExportDestinationType =
ExportDestinationType.DiskFile
'Affectation du fichier vers lequel exporter
Dim diskOption As DiskFileDestinationOptions = New
DiskFileDestinationOptions()
Dim NomFichier As String = "C:\Liste département par direction.pdf"
diskOption.DiskFileName = NomFichier
OptionRapport.ExportDestinationOptions = diskOption
'Exportation
rapport.Export(OptionRapport)
End Sub
Dans la figure ci-dessous, nous remarquons la présence d’une solution « Solution ‘SGAE’ (2
projets) » et d’un nouveau projet Setup SGAE.
En plus, l’éditeur de fichier s’affiche dans la zone de travail avec deux zones (panneaux) :
Système de fichiers de l’ordinateur cible et contenu du nœud sélectionné.
D’autres nœuds peuvent être ajouté dans le Système de fichiers de l’ordinateur cible (zone
de gauche) de l’éditeur de fichier en utilisation le menu contextuel.
- Sélectionner l’item Sortie principale et cliquer sur OK. La zone de droite affiche alors
le fichier de sortie et les références du projet.
Ce fichier de sortie peut être personnalisé via la boite de propriété du projet setup SGAE.