318
Formation VB.NET Présentation Programmer en Visual Basic .NET alphorm.com™© Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : [email protected]

Alphorm.com - Formation programmer en Visual Basic .NET

Embed Size (px)

DESCRIPTION

La formation complète est disponible ici: http://www.alphorm.com/tutoriel/formation-en-ligne-visual-basic-net Cette formation VB.NET va vous faire découvrir ce langage de programmation qui hérite de Visual Basic, mais est totalement intégré au Framework .NET. Vous verrez comment mettre en œuvre les concepts orientés objets en VB.NET, ce qui est une garantie de robustesse de vos applications. Fabien Brissonneau vous présentera les caractéristiques propres à ce langage, comme les délégués, les events, les opérateurs, qui vous permettront d’écrire un code efficace et bien organisé. Ensuite il abordera quelques briques du Framework .NET, qui sont quasi indissociables du langage de programmation, et qui vous fournissent la base sur laquelle vous allez appuyer votre application. Connaître le Framework, au moins dans ses grandes lignes, est indispensable. Par ailleurs, nous verrons comment gérer les erreurs, en s’intégrant au mécanisme d’exceptions du Framework .NET. Enfin, VB.NET vous permettant de construire plusieurs types d’applications, vous mettrez en œuvre différents projets, de la console, à l’application Web.

Citation preview

Page 1: Alphorm.com - Formation programmer en Visual Basic .NET

Formation VB.NET

Présentation

Programmer en Visual Basic .NET alphorm.com™©

Formation VB.NET

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 2: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Présentation du formateur

• Qu’est ce que VB.NET ?

• Le plan de formation

• Les liens utiles

Programmer en Visual Basic .NET alphorm.com™©

Page 3: Alphorm.com - Formation programmer en Visual Basic .NET

Présentation du formateur• Fabien Brissonneau

• Email : [email protected]

• Consultant Concepteur et Formateur

• Missions d’architecture, de conception , de réalisation logicielles

• Fondateur de eiXa6

• Actuellement en mission sur un projet de gestion

Programmer en Visual Basic .NET alphorm.com™©

• Actuellement en mission sur un projet de gestion

• Mes références :

� Mon profil Viadeo : http://fr.viadeo.com/fr/profile/fabien.brissonneau

� Mon profil LinkedIn : http://fr.linkedin.com/pub/fabien-brissonneau/65/902/92a/

Page 4: Alphorm.com - Formation programmer en Visual Basic .NET

Qu’est-ce que VB.NET ?

• Langage Microsoft .NET (comme C#, F#, …)

• S’appuie sur le framework .NET

• Reprend en partie la syntaxe VB

• Langage orienté objet

Programmer en Visual Basic .NET alphorm.com™©

Page 5: Alphorm.com - Formation programmer en Visual Basic .NET

Contenu

• Généralités

• Langage orienté objet

• Les délégués et les événements

• Les fichiers

• Gérer les exceptions

• Les bases de données

• Les méta-données

Programmer en Visual Basic .NET alphorm.com™©

• Les opérateurs de VB.NET

• Les collections

• Le multithreading

• Winform

• Les méta-données

• ASP.NET

• WPF

Page 6: Alphorm.com - Formation programmer en Visual Basic .NET

Les liens utiles

• Microsoft MSDN :

� http://msdn.microsoft.com/en-us/vstudio/hh388573.aspx

• Visual Studio :

� http://msdn.microsoft.com/en-us/vstudio/aa496123

Programmer en Visual Basic .NET alphorm.com™©

Page 7: Alphorm.com - Formation programmer en Visual Basic .NET

Et maintenant …

Programmer en Visual Basic .NET alphorm.com™©

Page 8: Alphorm.com - Formation programmer en Visual Basic .NET

VB.NET

Présentation

Programmer en Visual Basic .NET alphorm.com™©

VB.NET

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 9: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Généralités

• Langage orienté objet

• Les délégués et les événements

• Les opérateurs de VB.NET

• Les collections

• Le multithreading

• Winform

Programmer en Visual Basic .NET alphorm.com™©

• Winform

• Les fichiers

• Gérer les exceptions

• Les bases de données

• Les méta-données

• ASP.NET

• WPF

Page 10: Alphorm.com - Formation programmer en Visual Basic .NET

Généralités

• Visual Studio

• Compatibilité VB6

• Le GAC

• Les espaces de nommage

Programmer en Visual Basic .NET alphorm.com™©

Page 11: Alphorm.com - Formation programmer en Visual Basic .NET

Langage orienté objets

• Penser orienté objet

• Classe et objets

• Les interfaces

Programmer en Visual Basic .NET alphorm.com™©

Page 12: Alphorm.com - Formation programmer en Visual Basic .NET

Les points avancés de VB.NET

• Délégués et événements

• Les opérateurs

• Les méta-données

Programmer en Visual Basic .NET alphorm.com™©

Page 13: Alphorm.com - Formation programmer en Visual Basic .NET

Le framework .NET

• Les collections

• Le multithreading

• Winform

• Les fichiers

Programmer en Visual Basic .NET alphorm.com™©

• Les bases de données

• WPF

Page 14: Alphorm.com - Formation programmer en Visual Basic .NET

ASP.NET

• Création d’un projet ASP.NET

• Le codebehind

• WebService

• Gérer les erreurs

Programmer en Visual Basic .NET alphorm.com™©

• Les contrôles

Page 15: Alphorm.com - Formation programmer en Visual Basic .NET

Structure du programme

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Structure du programme

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 16: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Framework, Profils et Plateformes

• Bibliothèques de classes portables

• Les éléments d’une application .NET

� Types

� Classes

� Modules

Programmer en Visual Basic .NET alphorm.com™©

� Assemblies

• CTS, Metadonnées, Attributes

• ILDASM

• La mémoire : Garbage Collector, Finalize et IDisposable

• Résumé

Page 17: Alphorm.com - Formation programmer en Visual Basic .NET

Framework, Profils, Plateformes

Plateformes Versions

.Net Framework .Net 4 et +, 4.03 et +,4.5

SilverLight Silverlight 4 et +, 5

Windows Phone WP7 et +, WP 7.5 et +, WP8

.Net pour Metro .Net pour Metro

Programmer en Visual Basic .NET alphorm.com™©

Xbox 360 -

Page 18: Alphorm.com - Formation programmer en Visual Basic .NET

Bibliothèque de classes portables

• Bibliothèques de classes utilisables avec plusieurs plateformes

Programmer en Visual Basic .NET alphorm.com™©

Page 19: Alphorm.com - Formation programmer en Visual Basic .NET

Elements de l’application .NET

• Types

� Encapsule les données

• Classes

• Modules

Programmer en Visual Basic .NET alphorm.com™©

� Contient le IL, compilé par le CLR via le JIT

� Native Image Generator, ngen

• Assembly

� Informations sur l’assembly, une clé si publique, la sécurité, les dépendances

Page 20: Alphorm.com - Formation programmer en Visual Basic .NET

CTS, Métadonneés et attributes

• Common Type System garantit l’interopérabilité entre langages

• Les méta données sont compilées dans l’assembly et accompagne le IL

• Les attributes sont des infos que le développeur injecte

Programmer en Visual Basic .NET alphorm.com™©

Page 21: Alphorm.com - Formation programmer en Visual Basic .NET

ILDASM

• Le dés-assembleur peut lire l’assembly compilé

Programmer en Visual Basic .NET alphorm.com™©

Page 22: Alphorm.com - Formation programmer en Visual Basic .NET

La mémoire

• Le Garbage Collector est déclenché par le système

• La finalisation est non déterministe

• Une interface est proposée pour s’assurer de la libération des ressources

• Il peut être sollicité par GC.Collect();

Programmer en Visual Basic .NET alphorm.com™©

• Il peut être sollicité par GC.Collect();

• Il est optimisé et gère des générations d’objets

Page 23: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Framework, Profils et Plateformes

• Bibliothèques de classes portables

• Les éléments d’une application .NET

� Types

� Classes

� Modules

Programmer en Visual Basic .NET alphorm.com™©

� Assemblies

• CTS, Metadonnées, Attributes

• ILDASM

• La mémoire : Garbage Collector, Finalize et IDisposable

Page 24: Alphorm.com - Formation programmer en Visual Basic .NET

Syntaxe de base

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Syntaxe de base

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 25: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Variables : déclaration et typage

• Les types primitifs

• Le contrôle du flux d’exécution

� Conditions : If Then, Select

� Boucles

• Les types références

Programmer en Visual Basic .NET alphorm.com™©

• Les String

• Résumé

Page 26: Alphorm.com - Formation programmer en Visual Basic .NET

Variables et déclarations

• Il faut déclarer les variables

• Il faut typer les variables

• Sous le contrôle des options

Programmer en Visual Basic .NET alphorm.com™©

Page 27: Alphorm.com - Formation programmer en Visual Basic .NET

Les types primitifs

• Short, Int16, UInt16 : 2 octets

• Integer, Int32, UInt32 : 4 octets

• Long, Int64, UInt64 : 8 octets

• Single : 4 octets

Programmer en Visual Basic .NET alphorm.com™©

• Double : 8 octets

• Decimal : 16 octets

• Char, Byte et DateTime

Page 28: Alphorm.com - Formation programmer en Visual Basic .NET

Le contrôle du flux d’exécution

• Les conditions

� If Then Else

� Select Case

• Les boucles

While - End While

Programmer en Visual Basic .NET alphorm.com™©

� While - End While

� For -

Page 29: Alphorm.com - Formation programmer en Visual Basic .NET

Les types références

• Les types références sont gérés sur le tas

• Leur cycle de vie est sous contrôle du Garbage Collector

• Ils sont accessibles par des références

• Ils n’ont pas de destructeur déterministe

Programmer en Visual Basic .NET alphorm.com™©

Page 30: Alphorm.com - Formation programmer en Visual Basic .NET

Les String

• Différentes façons de créer les String

• SubString

• PadLeft et PadRight

• Split

Programmer en Visual Basic .NET alphorm.com™©

• Classe immuable

• Les constantes

Page 31: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Variables : déclaration et typage

• Les types primitifs

• Le contrôle du flux d’exécution

� Conditions : If Then, Select

� Boucles

Programmer en Visual Basic .NET alphorm.com™©

� Boucles

• Les types références

• Les String

Page 32: Alphorm.com - Formation programmer en Visual Basic .NET

Compatibilité VB6

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Compatibilité VB6

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 33: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• VB.NET est un nouveau langage

• Microsoft.VisualBasic

• Microsoft.VisualBasic.Compatibility.VB6

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 34: Alphorm.com - Formation programmer en Visual Basic .NET

VB.Net est un nouveau langage

• Langage orienté objets

• Basé sur le framework .NET

• Une syntaxe de base VB

• MAIS des concepts nouveaux

Programmer en Visual Basic .NET alphorm.com™©

Page 35: Alphorm.com - Formation programmer en Visual Basic .NET

Microsoft.VisualBasic

• Encapsule des fonctions, énumérations et constantes VB6

• Considérés comme sûrs à utiliser dans .NET

• Vous devriez préférer le Framework .NET

• Stables

Programmer en Visual Basic .NET alphorm.com™©

• AppWinStyle, DateFormat, … Collection, Strings…

Page 36: Alphorm.com - Formation programmer en Visual Basic .NET

Microsoft.VisualBasic.Compatibility.VB6

• Référencé lors d’une mise à niveau de VB6 vers VB.NET

• Considérés comme obsolètes

• Pourrait évoluer dans les futures versions de VB.Net

Programmer en Visual Basic .NET alphorm.com™©

Page 37: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• VB.NET est un nouveau langage

• Microsoft.VisualBasic

• Microsoft.VisualBasic.Compatibility.VB6

Programmer en Visual Basic .NET alphorm.com™©

Page 38: Alphorm.com - Formation programmer en Visual Basic .NET

Manipuler le GAC

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Manipuler le GAC

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 39: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Le GAC

• Générer un assembly privé

• Générer un assembly partagé

• Livrer dans le GAC

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 40: Alphorm.com - Formation programmer en Visual Basic .NET

Le GAC

• C:\Windows\Assembly

• Ou C:\Windows\Microsoft NET\Assembly -> V4.0

• Un répertoire qui contient les DLL utilisées sur ce poste

• Les assemblys ont des versions : majeur.mineur.build.revision

Programmer en Visual Basic .NET alphorm.com™©

Page 41: Alphorm.com - Formation programmer en Visual Basic .NET

Générer un assembly privé

• Un projet correspond à un assembly

• La DLL doit être dans le répertoire du client

• Livraison simple par recopie

Programmer en Visual Basic .NET alphorm.com™©

Page 42: Alphorm.com - Formation programmer en Visual Basic .NET

Générer un assembly partagé

• Un assembly partagé est signé

• La clé est référencée par les assemblys clients

• Générer la clé avec sn.exe

• Ou bien utiliser Visual Studio

Programmer en Visual Basic .NET alphorm.com™©

Page 43: Alphorm.com - Formation programmer en Visual Basic .NET

Livrer dans le GAC

• Un répertoire dans c:\windows

• Recopier dans le répertoire

• Utiliser gacutil

Programmer en Visual Basic .NET alphorm.com™©

Page 44: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Le GAC

• Générer un assembly privé

• Générer un assembly partagé

• Livrer dans le GAC

Programmer en Visual Basic .NET alphorm.com™©

Page 45: Alphorm.com - Formation programmer en Visual Basic .NET

Espaces de nommage

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Espaces de nommage

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 46: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Définition d’un espace de nommage

• Les espaces de nommage de .NET

• My

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 47: Alphorm.com - Formation programmer en Visual Basic .NET

Définition d’un espace de nommage

• Bloc de code, nommé

• Isole les types, classes, fonctions …

• Permet une organisation logique des classes

• Vous créez vos propres espaces de nommage

Programmer en Visual Basic .NET alphorm.com™©

Page 48: Alphorm.com - Formation programmer en Visual Basic .NET

Les espaces de nommage .NET

• Les espaces de nommage sont importés

• Importation implicite par la boîte de projet

• Alias d’espaces possible

• Cas de Microsoft.VisualBasic

Programmer en Visual Basic .NET alphorm.com™©

• Importation valable aussi dans ASP.NET

Page 49: Alphorm.com - Formation programmer en Visual Basic .NET

My

• Pas un vrai espace de nommage

• Donne un accès rapide à certains objets importants

• Application, Computer, Forms, Resources, Settings …

• Plus restreint si ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

• Vous pouvez l’étendre …

Page 50: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Définition d’un espace de nommage

• Les espaces de nommage de .NET

• My

Programmer en Visual Basic .NET alphorm.com™©

Page 51: Alphorm.com - Formation programmer en Visual Basic .NET

Les conventions

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Les conventions

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 52: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Les espaces de nommage

• Les classes

• Les méthodes

• Les champs

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 53: Alphorm.com - Formation programmer en Visual Basic .NET

Les espaces de nommage

• Regroupement de classes …

• Par ensemble logique

• Par technologie

• Par entreprise

Programmer en Visual Basic .NET alphorm.com™©

Page 54: Alphorm.com - Formation programmer en Visual Basic .NET

Les classes

• Les types que vous manipulez

• Un nom clair, définissant l’objectif de votre classe

• Un regroupement de méthodes et de champs

• Dans un fichier portant son nom

Programmer en Visual Basic .NET alphorm.com™©

Page 55: Alphorm.com - Formation programmer en Visual Basic .NET

Les méthodes

• Les traitements associés aux classes

• Un nom évocateur

• Un modificateur Sub ou Function

• Une visibilité

Programmer en Visual Basic .NET alphorm.com™©

• Des paramètres clairs

• Les parenthèses

Page 56: Alphorm.com - Formation programmer en Visual Basic .NET

Les champs

• Les variables utilisées dans les classes

• Un nom bien choisi

• Un type adapté

• Une visibilité

Programmer en Visual Basic .NET alphorm.com™©

Page 57: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les espaces de nommage

• Les classes

• Les méthodes

• Les champs

Programmer en Visual Basic .NET alphorm.com™©

Page 58: Alphorm.com - Formation programmer en Visual Basic .NET

Les options

Généralités

Programmer en Visual Basic .NET alphorm.com™©

Les options

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 59: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Les paramètres de compilation du projet

• Les options en ligne de commande

• Les directives de compilation et leurs tests

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 60: Alphorm.com - Formation programmer en Visual Basic .NET

Les paramètres de génération

• Le projet

• Le compilateur

Programmer en Visual Basic .NET alphorm.com™©

Page 61: Alphorm.com - Formation programmer en Visual Basic .NET

Les options de la ligne de commande

• Vbc.exe

Programmer en Visual Basic .NET alphorm.com™©

Page 62: Alphorm.com - Formation programmer en Visual Basic .NET

Les directives et leurs tests

• Compilation conditionnelle

Programmer en Visual Basic .NET alphorm.com™©

Page 63: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les paramètres de compilation du projet

• Les options en ligne de commande

• Les directives de compilation et leurs tests

Programmer en Visual Basic .NET alphorm.com™©

Page 64: Alphorm.com - Formation programmer en Visual Basic .NET

Concevoir et coder

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

Concevoir et coder

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 65: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Les objectifs de l’orienté objets

• Mettre au même endroit données et traitements

• Penser interactions entre objets

• Encapsuler l’implémentation

• Utiliser le diagramme de classes

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 66: Alphorm.com - Formation programmer en Visual Basic .NET

Les objectifs de l’orienté objets

• Favoriser la maintenabilité de l’application

• Améliorer la réutilisabilité des composants

• Permettre l’extension des systèmes existants

• Eviter : fragilité, immobilité, rigidité et … viscosité

Programmer en Visual Basic .NET alphorm.com™©

Page 67: Alphorm.com - Formation programmer en Visual Basic .NET

Données et traitements

• Dans une classe :

� Les données : les champs

� Les traitements : les méthodes

• Assurer la cohérence

Améliorer la lisibilité

Programmer en Visual Basic .NET alphorm.com™©

• Améliorer la lisibilité

• Favoriser la réutilisabilité

Page 68: Alphorm.com - Formation programmer en Visual Basic .NET

Penser interactions entre objets

• Les objets interagissent

• Ils se connaissent via locales, paramètres ou associations

• Les méthodes sont courtes

Programmer en Visual Basic .NET alphorm.com™©

Page 69: Alphorm.com - Formation programmer en Visual Basic .NET

Encapsuler l’implémentation

• Utiliser les visibilités

� De privé à public

• Ne pas montrer les données

• Exposer plutôt des méthodes

Programmer en Visual Basic .NET alphorm.com™©

• Jouer avec les propriétés

Page 70: Alphorm.com - Formation programmer en Visual Basic .NET

Utiliser le diagramme de classes

• Le diagramme de classe UML

• Donne une vue globale de votre application

• Permet de concevoir sans les détails

Programmer en Visual Basic .NET alphorm.com™©

Page 71: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les objectifs de l’orienté objets

• Mettre au même endroit données et traitements

• Penser interactions entre objets

• Encapsuler l’implémentation

• Utiliser le diagramme de classes

Programmer en Visual Basic .NET alphorm.com™©

• Utiliser le diagramme de classes

Page 72: Alphorm.com - Formation programmer en Visual Basic .NET

Méthodes et constructeurs

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

Méthodes et constructeurs

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 73: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Ecrire et utiliser une méthode

• Ecrire une propriété

• Ecrire un constructeur

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 74: Alphorm.com - Formation programmer en Visual Basic .NET

Ecrire et utiliser une méthode

• Une méthode est soit Sub, soit Function

• Possède ou non des paramètres

• A une visibilité

• Correspond à un traitement réalisé par un objet

Programmer en Visual Basic .NET alphorm.com™©

Page 75: Alphorm.com - Formation programmer en Visual Basic .NET

Ecrire une propriété

• Une propriété est une méthode dédiée à l’accès à un champ

• Getter et/ou Setter

• A une visibilité

Programmer en Visual Basic .NET alphorm.com™©

Page 76: Alphorm.com - Formation programmer en Visual Basic .NET

Ecrire un constructeur

• Une méthode d’initialisation

• Existe par défaut si personne n’en a créé

• Peut avoir des paramètres

• A une visibilité

Programmer en Visual Basic .NET alphorm.com™©

Page 77: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Ecrire et utiliser une méthode

• Ecrire une propriété

• Ecrire un constructeur

Programmer en Visual Basic .NET alphorm.com™©

Page 78: Alphorm.com - Formation programmer en Visual Basic .NET

La généralisation

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

La généralisation

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 79: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Définition de la généralisation

• Conséquence d’héritage

• La redéfinition des méthodes

• Le polymorphisme

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 80: Alphorm.com - Formation programmer en Visual Basic .NET

Définition de la généralisation

• Une relations statique entre classes

• La classe mère : super-classe, classe de base

• La classe fille : sous-classe, classe dérivée

• Permet de définir une nouvelle classe qui fournit les mêmes services qu’une classe existante, en l’enrichissant si besoin

Programmer en Visual Basic .NET alphorm.com™©

qu’une classe existante, en l’enrichissant si besoin

Page 81: Alphorm.com - Formation programmer en Visual Basic .NET

Conséquence de l’héritage

• Le type « fils » est considéré comme le « père »

• Le fils hérite de tout ce que contient le père

• L’interface du père est présente sur le fils

Programmer en Visual Basic .NET alphorm.com™©

Page 82: Alphorm.com - Formation programmer en Visual Basic .NET

La redéfinition des méthodes

• Une méthode de la classe mère est :

� Normalement héritée

� Peut être ré-écrite si besoin

� Il faut le prévoir dans la classe mère

� Et le spécifier dans la classe fille

Programmer en Visual Basic .NET alphorm.com™©

� Et le spécifier dans la classe fille

Page 83: Alphorm.com - Formation programmer en Visual Basic .NET

Le polymorphisme

• Le mécanisme permet de déclencher une méthode :

� Qui doit exister sur la classe mère

� Qui est redéfinie sur la classe fille

� Sans connaître la classe fille

• Essentiel dans l’extension des systèmes

Programmer en Visual Basic .NET alphorm.com™©

• Essentiel dans l’extension des systèmes

Page 84: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Définition de la généralisation

• Conséquence d’héritage

• La redéfinition des méthodes

• Le polymorphisme

Programmer en Visual Basic .NET alphorm.com™©

Page 85: Alphorm.com - Formation programmer en Visual Basic .NET

Les interfaces

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

Les interfaces

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 86: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Définition des interfaces

• Remarque sur les classes abstraites

• Implémenter une interface

• Le polymorphisme avec les interfaces

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 87: Alphorm.com - Formation programmer en Visual Basic .NET

Définition d’une interface

• Une interface :

� Déclare des méthodes, sans corps

� Ne peut pas être instanciée

� Ne possède pas de champs

• Elle sert à :

Programmer en Visual Basic .NET alphorm.com™©

• Elle sert à :

� Définir un contrat

� Définir un type

Page 88: Alphorm.com - Formation programmer en Visual Basic .NET

Remarque sur les classes abstraites

• Une classe abstraite est une classe qui ne peut pas être instanciée

• Une classe abstraite :

� Contient de l’implémentation

Programmer en Visual Basic .NET alphorm.com™©

� Possède des constructeurs

Page 89: Alphorm.com - Formation programmer en Visual Basic .NET

Implémenter une interface

• Une classe peut implémenter une interface :

� Elle doit redéfinir chaque méthode

• Une classe peut implémenter plusieurs interfaces

• Une interface peut hériter d’une ou plusieurs autres

Programmer en Visual Basic .NET alphorm.com™©

Page 90: Alphorm.com - Formation programmer en Visual Basic .NET

Le polymorphisme avec les interfaces

• Il faut redéfinir les méthodes prévues par l’interface

• On peut référencer un objet via son type interface

• Le polymorphisme fonctionne avec les interfaces

Programmer en Visual Basic .NET alphorm.com™©

Page 91: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Définition des interfaces

• Remarque sur les classes abstraites

• Implémenter une interface

• Le polymorphisme avec les interfaces

Programmer en Visual Basic .NET alphorm.com™©

Page 92: Alphorm.com - Formation programmer en Visual Basic .NET

Object

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

Object

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 93: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• La classe Object

• Les méthodes de Object

• Le polymorphisme avec Object

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 94: Alphorm.com - Formation programmer en Visual Basic .NET

La classe Object

• Classe mère de toutes les classes

• On en hérite directement ou indirectement

• Possède quelques méthodes d’intérêt général

• Permet :

Programmer en Visual Basic .NET alphorm.com™©

� Un comportement commun minimum

� Des manipulations standards

Page 95: Alphorm.com - Formation programmer en Visual Basic .NET

Les méthodes de Objet

• Redéfinissable ou pas

• Protected : Finalize, MemberwiseClone

• Et publiques :

Programmer en Visual Basic .NET alphorm.com™©

Page 96: Alphorm.com - Formation programmer en Visual Basic .NET

Le polymorphisme avec Object

• Manipuler n’importe quel objets VB.NET en tant que Object

• Un code quasi universel, très stable

• Une grande réutilisabilité

• Une occasion pour la « reflection »

Programmer en Visual Basic .NET alphorm.com™©

Page 97: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• La classe Object

• Les méthodes de Object

• Le polymorphisme avec Object

Programmer en Visual Basic .NET alphorm.com™©

Page 98: Alphorm.com - Formation programmer en Visual Basic .NET

Le type runtime

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

Le type runtime

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 99: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• La méthode GetType()

• Les opérateurs Is et IsNot

• L’opérateur TypeOf

• La fonction TryCast

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 100: Alphorm.com - Formation programmer en Visual Basic .NET

La méthode GetType

• Une méthode de Object

Programmer en Visual Basic .NET alphorm.com™©

Page 101: Alphorm.com - Formation programmer en Visual Basic .NET

Les opérateurs Is et IsNot

• Utilisable avec GetType et TypeOf

Programmer en Visual Basic .NET alphorm.com™©

Page 102: Alphorm.com - Formation programmer en Visual Basic .NET

L’opérateur TypeOf

• Détection du type d’un objet référencé

Programmer en Visual Basic .NET alphorm.com™©

Page 103: Alphorm.com - Formation programmer en Visual Basic .NET

La fonction TryCast

• Essayer de convertir dans un type donné

• En cas d’échec, la référence vaut Nothing

Programmer en Visual Basic .NET alphorm.com™©

Page 104: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• La méthode GetType()

• Les opérateurs Is et IsNot

• L’opérateur TypeOf

• La fonction TryCast

Programmer en Visual Basic .NET alphorm.com™©

Page 105: Alphorm.com - Formation programmer en Visual Basic .NET

Les membres partagés

Langage orienté objets

Programmer en Visual Basic .NET alphorm.com™©

Les membres partagés

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 106: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Les champs Shared

• Les méthodes Shared

• Un modèle classique : le Singleton

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 107: Alphorm.com - Formation programmer en Visual Basic .NET

Les champs Shared

• Mot-clé Shared

• Une valeur commune à tous les objets de la classe

• Peut être de n’importe quelle visibilité

Programmer en Visual Basic .NET alphorm.com™©

Page 108: Alphorm.com - Formation programmer en Visual Basic .NET

Les méthodes Shared

• Mot-clé Shared

• Méthode commune à tous les objets de la classe

• Méthode appelée sur la classe

Programmer en Visual Basic .NET alphorm.com™©

Page 109: Alphorm.com - Formation programmer en Visual Basic .NET

Un modèle classique : le Singleton

• Un accès global

• Une création à la demande

• Une garantie de l’unicité de l’instance

Programmer en Visual Basic .NET alphorm.com™©

Page 110: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les champs Shared

• Les méthodes Shared

• Un modèle classique : le Singleton

Programmer en Visual Basic .NET alphorm.com™©

Page 111: Alphorm.com - Formation programmer en Visual Basic .NET

Les délégués

Délégués et Events

Programmer en Visual Basic .NET alphorm.com™©

Les délégués

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 112: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Appeler une fonction sans la connaître

• Déclaration d’un délégué

• Appel de la méthode

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 113: Alphorm.com - Formation programmer en Visual Basic .NET

Appeler une fonction sans la connaître

• Une partie de l’application doit déclencher une méthode

• Cette méthode est située dans une autre partie

• Que la première ne doit pas connaître

• Eviter les dépendances cycliques

Programmer en Visual Basic .NET alphorm.com™©

Page 114: Alphorm.com - Formation programmer en Visual Basic .NET

Déclaration d’un délégué

Delegate Sub unefonction(ByVal s As String)

Sub Affiche(ByVal s As String)

Console.WriteLine("Voici le message " & s)

Programmer en Visual Basic .NET alphorm.com™©

End Sub

Page 115: Alphorm.com - Formation programmer en Visual Basic .NET

Appel de la méthode

Dim d As unefonction

d = AddressOf Affiche

‘on

Programmer en Visual Basic .NET alphorm.com™©

d.Invoke("coucou")

‘et n fait une invocation dynamique

Page 116: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Appeler une fonction sans la connaître

• Déclaration d’un délégué

• Appel de la méthode

Programmer en Visual Basic .NET alphorm.com™©

Page 117: Alphorm.com - Formation programmer en Visual Basic .NET

Les « Events »

Délégués et Events

Programmer en Visual Basic .NET alphorm.com™©

Les « Events »

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 118: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Emetteur de l’événement

• Récepteur de l’événement

• Emission/Réception

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 119: Alphorm.com - Formation programmer en Visual Basic .NET

Emetteur de l’événement

Public Class Emetteur

Public Event Click(ByVal msg As String)

Public Sub Declenche()

Programmer en Visual Basic .NET alphorm.com™©

RaiseEvent Click("Bouton cliqué")

End Sub

End Class

Page 120: Alphorm.com - Formation programmer en Visual Basic .NET

Récepteur de l’événement

Public Class RecepteurPrivate WithEvents c As Emetteur

Public Sub New(ByVal cc As Emetteur)c = cc

Programmer en Visual Basic .NET alphorm.com™©

c = ccEnd Sub

Public Sub ClickGere(ByVal s As String) Handles c.ClickConsole.WriteLine("Je gère le clic sur le bouton " & s)

End Sub End Class

Page 121: Alphorm.com - Formation programmer en Visual Basic .NET

Emission/Réception

Dim c As Emetteur = New Emetteur

Dim gc As Recepteur = New Recepteur(c)

Programmer en Visual Basic .NET alphorm.com™©

Dim gc As Recepteur = New Recepteur(c)

c.Declenche()

Page 122: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Emetteur de l’événement

• Récepteur de l’événement

• Emission/Réception

Programmer en Visual Basic .NET alphorm.com™©

Page 123: Alphorm.com - Formation programmer en Visual Basic .NET

Les opérateurs arithmétiques

Les opérateurs

Programmer en Visual Basic .NET alphorm.com™©

Les opérateurs arithmétiques

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 124: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Opérateurs arithmétiques

• Opérateurs de comparaisons

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 125: Alphorm.com - Formation programmer en Visual Basic .NET

Opérateurs arithmétiques

Programmer en Visual Basic .NET alphorm.com™©

Page 126: Alphorm.com - Formation programmer en Visual Basic .NET

Opérateurs de comparaisons

Programmer en Visual Basic .NET alphorm.com™©

Page 127: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Opérateurs arithmétiques

• Opérateurs de comparaisons

Programmer en Visual Basic .NET alphorm.com™©

Page 128: Alphorm.com - Formation programmer en Visual Basic .NET

Indexeurs et conversions

Les opérateurs

Programmer en Visual Basic .NET alphorm.com™©

Indexeurs et conversions

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 129: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Un indexeur

• Les conversions

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 130: Alphorm.com - Formation programmer en Visual Basic .NET

Un indexeur

Programmer en Visual Basic .NET alphorm.com™©

Page 131: Alphorm.com - Formation programmer en Visual Basic .NET

Les conversions

Programmer en Visual Basic .NET alphorm.com™©

Page 132: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Un indexeur

• Les conversions

Programmer en Visual Basic .NET alphorm.com™©

Page 133: Alphorm.com - Formation programmer en Visual Basic .NET

Collections séquentielles

Les collections

Programmer en Visual Basic .NET alphorm.com™©

Collections séquentielles

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 134: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Les classes génériques

• Fonctionnement de List(Of T)

• List(Of T) et prédicats

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 135: Alphorm.com - Formation programmer en Visual Basic .NET

Les classes génériques

• Une famille de classe

• Le code est généré au moment de l’utilisation

• La génération est paramétrée

Programmer en Visual Basic .NET alphorm.com™©

Page 136: Alphorm.com - Formation programmer en Visual Basic .NET

Fonctionnement de List(Of T)

Dim dinosaurs As New List(Of String)

dinosaurs.Add("Tyrannosaurus") dinosaurs.Add("Amargasaurus") dinosaurs.Add("Mamenchisaurus") dinosaurs.Add("Deinonychus")dinosaurs.Add("Compsognathus")

Programmer en Visual Basic .NET alphorm.com™©

dinosaurs.Add("Compsognathus")

For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur)

Next

Page 137: Alphorm.com - Formation programmer en Visual Basic .NET

List(Of T) et prédicats

• List. FindAll(Pred)

• Accept une méthode en paramètre

� Par délégué

• Une méthode anonyme

Programmer en Visual Basic .NET alphorm.com™©

Page 138: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les classes génériques

• Fonctionnement de List(Of T)

• List(Of T) et prédicats

Programmer en Visual Basic .NET alphorm.com™©

Page 139: Alphorm.com - Formation programmer en Visual Basic .NET

Collections associatives

Les collections

Programmer en Visual Basic .NET alphorm.com™©

Collections associatives

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 140: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• System.Collections : Hashtable

• System.Collections.Generic : Dictionary (Of K, V)

• Collections triées : SortedDictionary (Of K, V)

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 141: Alphorm.com - Formation programmer en Visual Basic .NET

System.Collection

• Collections non génériques

• Une collection contient des Object

• Hashtable représente le tableau associatif

Programmer en Visual Basic .NET alphorm.com™©

Page 142: Alphorm.com - Formation programmer en Visual Basic .NET

System.Collections.Generic

• Dictionary (Of K, V) est l’archétype des associatifs

• Implémenté en hashtable

• Non thread-safe

Programmer en Visual Basic .NET alphorm.com™©

Page 143: Alphorm.com - Formation programmer en Visual Basic .NET

Collection triée : SortedDictionary

• SortedDictionary ( Of K, V)

• Implémenté comme un arbre binaire équilibré

• Les clés sont comparées par un objet IComparer ( Of K)

Programmer en Visual Basic .NET alphorm.com™©

Page 144: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• System.Collections : Hashtable

• System.Collections.Generic : Dictionary (Of K, V)

• Collections triées : SortedDictionary (Of K, V)

Programmer en Visual Basic .NET alphorm.com™©

Page 145: Alphorm.com - Formation programmer en Visual Basic .NET

Créer des threads

Les threads

Programmer en Visual Basic .NET alphorm.com™©

Créer des threads

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 146: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• System.Threading.Thread

• Thread.Join

• Start/Abort/Sleep

• Une autre classe : BackgroundWorker

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 147: Alphorm.com - Formation programmer en Visual Basic .NET

System.Threading.Thread

Programmer en Visual Basic .NET alphorm.com™©

Page 148: Alphorm.com - Formation programmer en Visual Basic .NET

Thread.Join()

Programmer en Visual Basic .NET alphorm.com™©

Page 149: Alphorm.com - Formation programmer en Visual Basic .NET

Start, Sleep, Abort

• Start : démarre

• Abort : tente d’arrêter

• Sleep : bloque

Programmer en Visual Basic .NET alphorm.com™©

Page 150: Alphorm.com - Formation programmer en Visual Basic .NET

Autre classe

• System.ComponentModel.BackgroundWorker

� Démarre une tâche

� On écoute des événements : progression, fin, …

Programmer en Visual Basic .NET alphorm.com™©

Page 151: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• System.Threading.Thread

• Thread.Join

• Start/Abort/Sleep

• Une autre classe : BackgroundWorker

Programmer en Visual Basic .NET alphorm.com™©

Page 152: Alphorm.com - Formation programmer en Visual Basic .NET

Synchroniser des threads

Les threads

Programmer en Visual Basic .NET alphorm.com™©

Synchroniser des threads

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 153: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Le problème des accès simultanés

• La synchronisation par attente d’un événement

• La synchronisation par section critique

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 154: Alphorm.com - Formation programmer en Visual Basic .NET

Le problème des accès simultanés

• Les threads partagent la mémoire

• Lorsque 2 threads accèdent à la même donnée

• Il veulent la modifier/l’exploiter

Programmer en Visual Basic .NET alphorm.com™©

Page 155: Alphorm.com - Formation programmer en Visual Basic .NET

Synchronisation par événement

• Il faut mettre le thread en attente sur un signalement

• Un autre thread va signaler

• Possibilités réelles de blocage

Programmer en Visual Basic .NET alphorm.com™©

Page 156: Alphorm.com - Formation programmer en Visual Basic .NET

La synchronisation par section critique

• SyncLock

• Doit s’utiliser sur un type référence uniquement

• Empêche un Thread de rentrer si un exécute déjà le code

Programmer en Visual Basic .NET alphorm.com™©

Page 157: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Le problème des accès simultanés

• La synchronisation par attente d’un événement

• La synchronisation par section critique

Programmer en Visual Basic .NET alphorm.com™©

Page 158: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un formulaire

Winforms

Programmer en Visual Basic .NET alphorm.com™©

Créer un formulaire

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 159: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Créer un formulaire

• L’objet formulaire

• Les contrôles dans le formulaire

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 160: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un formulaire

• Utiliser l’éditeur graphique

• Les formulaires Windows sont décrits en VB.NET

Programmer en Visual Basic .NET alphorm.com™©

Page 161: Alphorm.com - Formation programmer en Visual Basic .NET

L’objet formulaire

• Une classe dérivant de Form

• Des méthodes

• Des événements

Programmer en Visual Basic .NET alphorm.com™©

Page 162: Alphorm.com - Formation programmer en Visual Basic .NET

Les contrôles de formulaire

• Nombreux, disposés dans la boîte à outils

• Et des composants non graphiques

Programmer en Visual Basic .NET alphorm.com™©

Page 163: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Créer un formulaire

• L’objet formulaire

• Les contrôles dans le formulaire

Programmer en Visual Basic .NET alphorm.com™©

Page 164: Alphorm.com - Formation programmer en Visual Basic .NET

Traiter les événements

Winforms

Programmer en Visual Basic .NET alphorm.com™©

Traiter les événements

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 165: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Traiter le Load du formulaire

• Gérer un événement sur un contrôle

• Réagir à la sélection sur une liste

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 166: Alphorm.com - Formation programmer en Visual Basic .NET

Traiter le Load du formulaire

• Après le constructeur du formulaire

• Handles Load

Programmer en Visual Basic .NET alphorm.com™©

Page 167: Alphorm.com - Formation programmer en Visual Basic .NET

Gérer un événement sur un contrôle

• Associer le contrôle au gestionnaire

� Par la feuille de propriétés

� En double-cliquant

Programmer en Visual Basic .NET alphorm.com™©

Page 168: Alphorm.com - Formation programmer en Visual Basic .NET

Réagir à la sélection sur une liste

• Associer l’événement

• Détecter l’item sélectionner

• Réagir

Programmer en Visual Basic .NET alphorm.com™©

Page 169: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Traiter le Load du formulaire

• Gérer un événement sur un contrôle

• Réagir à la sélection sur une liste

Programmer en Visual Basic .NET alphorm.com™©

Page 170: Alphorm.com - Formation programmer en Visual Basic .NET

Utiliser le DataBinding

Winforms

Programmer en Visual Basic .NET alphorm.com™©

Utiliser le DataBinding

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 171: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Pour lier un élément graphique à une donnée

• Ouvrir un second formulaire

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 172: Alphorm.com - Formation programmer en Visual Basic .NET

Le databinding

• Une source de données

• Un élément graphique

• Le lien entre les deux

Programmer en Visual Basic .NET alphorm.com™©

Page 173: Alphorm.com - Formation programmer en Visual Basic .NET

Ouvrir un second formulaire

• Gérer un événement

• Créer un objet formulaire

• Le rendre visible

Programmer en Visual Basic .NET alphorm.com™©

Page 174: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Pour lier un élément graphique à une donnée

• Ouvrir un second formulaire

Programmer en Visual Basic .NET alphorm.com™©

Page 175: Alphorm.com - Formation programmer en Visual Basic .NET

Le système de fichiers

Les fichiers

Programmer en Visual Basic .NET alphorm.com™©

Le système de fichiers

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 176: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• FileInfo/DirectoryInfo ou File/Directory

• Parcours d’un répertoire

• Examen d’un fichier

• FileSystemWatcher

Programmer en Visual Basic .NET alphorm.com™©

• FileSystemWatcher

• Résumé

Page 177: Alphorm.com - Formation programmer en Visual Basic .NET

FileInfo/DirectoryInfo ou File/Directory

Programmer en Visual Basic .NET alphorm.com™©

Page 178: Alphorm.com - Formation programmer en Visual Basic .NET

Parcours d’un répertoire

• Avec DirectoryInfo (ou bien Directory), récupération d’informations

� GetFiles, GetDirectories

� Create, CreateSubDirectory

� …

Programmer en Visual Basic .NET alphorm.com™©

Page 179: Alphorm.com - Formation programmer en Visual Basic .NET

Examen d’un fichier

• FileInfo (ou bien File)

Programmer en Visual Basic .NET alphorm.com™©

Page 180: Alphorm.com - Formation programmer en Visual Basic .NET

FileSystemWatcher

• Gère des événements sur modification d’un répertoire

Programmer en Visual Basic .NET alphorm.com™©

Page 181: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• FileInfo/DirectoryInfo ou File/Directory

• Parcours d’un répertoire

• Examen d’un fichier

• FileSystemWatcher

Programmer en Visual Basic .NET alphorm.com™©

• FileSystemWatcher

Page 182: Alphorm.com - Formation programmer en Visual Basic .NET

Ouvrir et lire un fichier

Les fichiers

Programmer en Visual Basic .NET alphorm.com™©

Ouvrir et lire un fichier

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 183: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Les flux

• Ouvrir un fichier binaire/texte

• Lire un fichier binaire/texte

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 184: Alphorm.com - Formation programmer en Visual Basic .NET

Les flux

Programmer en Visual Basic .NET alphorm.com™©

Page 185: Alphorm.com - Formation programmer en Visual Basic .NET

Ouvrir un fichier binaire/texte

• Créer explicitement chaque objet

Programmer en Visual Basic .NET alphorm.com™©

• Passer par des méthodes de fabrication

Page 186: Alphorm.com - Formation programmer en Visual Basic .NET

Lire un fichier binaire/texte

• Le fichier texte : encodage ASCII

Programmer en Visual Basic .NET alphorm.com™©

• Le fichier binaire

Page 187: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les flux

• Ouvrir un fichier binaire/texte

• Lire un fichier binaire/texte

Programmer en Visual Basic .NET alphorm.com™©

Page 188: Alphorm.com - Formation programmer en Visual Basic .NET

La sérialisation

Les fichiers

Programmer en Visual Basic .NET alphorm.com™©

La sérialisation

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 189: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Le flux de sérialisation et les contraintes

• Le flux binaire

• Le flux texte XML

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 190: Alphorm.com - Formation programmer en Visual Basic .NET

Le flux de sérialisation

• Arrange des objets dans un flux

• Les classes correspondantes doivent être « Serializable »

• Les champs sont automatiquement sérialisés

• Il est possible d’empêcher la sérialisation d’un champ

Programmer en Visual Basic .NET alphorm.com™©

Page 191: Alphorm.com - Formation programmer en Visual Basic .NET

Le flux binaire

• System.Runtime.Serialisation.Formatters.Binary.BinaryFormatter

Dim sw As FileStreamsw = File.Create("documents.dat")

Dim xs As BinaryFormatter

Programmer en Visual Basic .NET alphorm.com™©

Dim xs As BinaryFormatterxs = New BinaryFormatter()

xs.Serialize(sw, obj) ‘ Obj est la référence sur l’objet à sérialiser

sw.Close()

Page 192: Alphorm.com - Formation programmer en Visual Basic .NET

Le flux texte XML

• System.Xml.Serialization.XmlSerializer

• System.Runtime.Serialisation.Formatters.Soap.SoapFormatter

Dim sw As FileStreamsw = File.Create("documents.dat")

Programmer en Visual Basic .NET alphorm.com™©

Dim xs As SoapFormatterxs = New SoapFormatter()

xs.Serialize(sw, obj) ‘ Obj est la référence sur l’objet à sérialiser

sw.Close()

Page 193: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Le flux de sérialisation et les contraintes

• Le flux binaires

• Le flux texte XML

Programmer en Visual Basic .NET alphorm.com™©

Page 194: Alphorm.com - Formation programmer en Visual Basic .NET

Gérer les exceptions

Les exceptions

Programmer en Visual Basic .NET alphorm.com™©

Gérer les exceptions

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 195: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Intérêt des exceptions

• Mots-clés Try/Catch/Finally pour gérer une exception

• Mot-clé Throw pour lever une exception

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 196: Alphorm.com - Formation programmer en Visual Basic .NET

Intérêt des exceptions

• Gérer les erreurs exceptionnelles

• Remonte la pile des appels

• Sépare le code nominal du code de gestion d’erreurs

• Fonctionne même sans retour de fonction

Programmer en Visual Basic .NET alphorm.com™©

• Le framework communique les erreurs via des exceptions

Page 197: Alphorm.com - Formation programmer en Visual Basic .NET

Mots-clés Try/Catch/Finally

• Encadre le code qui peut lever une exception

• Finally optionnel

• Plusieurs Catch possibles

Programmer en Visual Basic .NET alphorm.com™©

Page 198: Alphorm.com - Formation programmer en Visual Basic .NET

Mot-clé Throw pour lever une exception

• Signale une erreur

• Plutôt code bas-niveau

Programmer en Visual Basic .NET alphorm.com™©

Page 199: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Intérêt des exceptions

• Mots-clés Try/Catch/Finally pour gérer une exception

• Mot-clé Throw pour lever une exception

Programmer en Visual Basic .NET alphorm.com™©

Page 200: Alphorm.com - Formation programmer en Visual Basic .NET

Créer ses propres exceptions

Les exceptions

Programmer en Visual Basic .NET alphorm.com™©

Créer ses propres exceptions

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 201: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Une classe d’exception hérite de Exception

• Les méthodes de Exception

• Réinterpréter les exceptions

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 202: Alphorm.com - Formation programmer en Visual Basic .NET

Une classe d’exception

• Simplement hériter de Exception ou ApplicationException

Programmer en Visual Basic .NET alphorm.com™©

Page 203: Alphorm.com - Formation programmer en Visual Basic .NET

Les méthodes de Exception

• Message

• ToString

Programmer en Visual Basic .NET alphorm.com™©

Page 204: Alphorm.com - Formation programmer en Visual Basic .NET

Réinterpréter les exceptions

• Attraper une exception et relancer un autre objet, plus facilement interprétable par l’utilisateur

Programmer en Visual Basic .NET alphorm.com™©

Page 205: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Une classe d’exception hérite de Exception

• Les méthodes de Exception

• Réinterpréter les exceptions

Programmer en Visual Basic .NET alphorm.com™©

Page 206: Alphorm.com - Formation programmer en Visual Basic .NET

Mode connecté

Les bases de données

Programmer en Visual Basic .NET alphorm.com™©

Mode connecté

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 207: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Les classes essentielles

• Récupération de la connexion

• DbCommand

• DbDataReader

Programmer en Visual Basic .NET alphorm.com™©

• DbDataReader

• Résumé

Page 208: Alphorm.com - Formation programmer en Visual Basic .NET

Les classes essentielles

Classes Description

SqlCommand, OleDbCommand, ODBCCommand

Encapsulation de commandes SQL ou de procédures stockées

SqlCommandBuilder(OleDb/ODBC)

Générateur de commandes SQL à partir du SELECT

SqlConnection (OleDb/ODBC) Connexion

Programmer en Visual Basic .NET alphorm.com™©

SqlConnection (OleDb/ODBC) Connexion

SqlDataAdapter (OleDb/ODBC) Contient des commandes, gère la mise à jour du dataset ET de la database

SqlDataReader (OleDb/ODBC) Curseur sur une base connectée

SqlParameter (OleDb/ODBC) Paramètres à fournir au SQL

SqlTransaction (OleDb/ODBC) Transaction de BD

Page 209: Alphorm.com - Formation programmer en Visual Basic .NET

Récupération de la connexion

• La forme de la chaîne de connexion dépend du fournisseur

Programmer en Visual Basic .NET alphorm.com™©

Page 210: Alphorm.com - Formation programmer en Visual Basic .NET

DbCommand

Programmer en Visual Basic .NET alphorm.com™©

Page 211: Alphorm.com - Formation programmer en Visual Basic .NET

DbDataReader

• Table de résultat et curseur

Programmer en Visual Basic .NET alphorm.com™©

Page 212: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les classes essentielles

• Récupération de la connexion

• DbCommand

• DbDataReader

Programmer en Visual Basic .NET alphorm.com™©

• DbDataReader

Page 213: Alphorm.com - Formation programmer en Visual Basic .NET

Mode déconnecté

Les bases de données

Programmer en Visual Basic .NET alphorm.com™©

Mode déconnecté

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 214: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Les classes essentielles

• DataSet et DbDataAdapter

• Modèle commun

• Paramétrer le fournisseur

Programmer en Visual Basic .NET alphorm.com™©

• Paramétrer le fournisseur

• Résumé

Page 215: Alphorm.com - Formation programmer en Visual Basic .NET

Les classes essentielles

Classe Description

DataSet Contient des DataTables

DataTable Contient colonnes et lignes

DataRow Valeur dans la table

Programmer en Visual Basic .NET alphorm.com™©

DataColumn Colonne dans la table

DataRelation Lien entre deux tables

Constraint Règle de colonne

Page 216: Alphorm.com - Formation programmer en Visual Basic .NET

Dataset et DBDataAdapter

• DataSet a une existence en mémoire

• Peut être généré sous forme XML

Programmer en Visual Basic .NET alphorm.com™©

Page 217: Alphorm.com - Formation programmer en Visual Basic .NET

Modèle commun des fournisseurs

• Eviter de dépendre de Sql- ou OleDb- X

• Donner une chaîne de caractères qui représente le fournisseur

Programmer en Visual Basic .NET alphorm.com™©

Page 218: Alphorm.com - Formation programmer en Visual Basic .NET

Paramétrer le fournisseur

• App.config ou Web.config

• Trouver la factory

Programmer en Visual Basic .NET alphorm.com™©

• Utiliser la factory

Page 219: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les classes essentielles

• DataSet et DbDataAdapter

• Modèle commun

• Paramétrer le fournisseur

Programmer en Visual Basic .NET alphorm.com™©

• Paramétrer le fournisseur

Page 220: Alphorm.com - Formation programmer en Visual Basic .NET

Utiliser les attributes

Les méta-données

Programmer en Visual Basic .NET alphorm.com™©

Utiliser les attributes

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 221: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Placer les attributs

• Paramètres et cibles d’attributs

• Utilisations courantes des attributs

• Quelques attributs

Programmer en Visual Basic .NET alphorm.com™©

• Quelques attributs

• Résumé

Page 222: Alphorm.com - Formation programmer en Visual Basic .NET

Placer les attributs

• Avant une classe

• Avant une méthode

Programmer en Visual Basic .NET alphorm.com™©

• Avant des paramètres

Page 223: Alphorm.com - Formation programmer en Visual Basic .NET

Paramètres et cibles d’attributs

• Paramètres

Programmer en Visual Basic .NET alphorm.com™©

• Cibles

Page 224: Alphorm.com - Formation programmer en Visual Basic .NET

Utilisations courantes

• WebMethod pour les services web

• Décrire l’interopération avec le code natif

• Décrire les propriété COM de classes

• Appelé du code non managé

Programmer en Visual Basic .NET alphorm.com™©

• Décrire un assembly

• Désigner les classes à sérialiser

• Définir les conditions de sécurité

• …

Page 225: Alphorm.com - Formation programmer en Visual Basic .NET

Quelques attributs

• Globaux

� AssemblyName, AssemblyVersion

• Obsolete

• Conditional

Programmer en Visual Basic .NET alphorm.com™©

Page 226: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Placer les attributs

• Paramètres et cibles d’attributs

• Utilisations courantes des attributs

• Quelques attributs

Programmer en Visual Basic .NET alphorm.com™©

• Quelques attributs

Page 227: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un attribut

Les méta-données

Programmer en Visual Basic .NET alphorm.com™©

Créer un attribut

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 228: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Créer un nouvel attribut

• Utiliser un attribut

• Découvrir un attribut

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 229: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un nouvel attribut

• Créer une classe héritant de Attribute

Programmer en Visual Basic .NET alphorm.com™©

Page 230: Alphorm.com - Formation programmer en Visual Basic .NET

Utiliser un attribut

• Si usage unique

• Ou multiple

Programmer en Visual Basic .NET alphorm.com™©

Page 231: Alphorm.com - Formation programmer en Visual Basic .NET

Découvrir un attribut

Programmer en Visual Basic .NET alphorm.com™©

Page 232: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Créer un nouvel attribut

• Utiliser un attribut

• Découvrir un attribut

Programmer en Visual Basic .NET alphorm.com™©

Page 233: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un projet

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Créer un projet

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 234: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Les projets site Web

• Un projet WebForms

• Un projet MVC

• Un projet Web API

• L’exécution du projet Web

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 235: Alphorm.com - Formation programmer en Visual Basic .NET

Les projets Site Web

• Ajouté depuis VS 2005

• Structure de répertoire qui reflète le site

Programmer en Visual Basic .NET alphorm.com™©

Page 236: Alphorm.com - Formation programmer en Visual Basic .NET

Un projet Web Forms

• Une structure standard

• Un master fournissant une présentation standardisée

Programmer en Visual Basic .NET alphorm.com™©

Page 237: Alphorm.com - Formation programmer en Visual Basic .NET

Un projet MVC

• Améliore les séparations des responsabilités, la testabilité

Programmer en Visual Basic .NET alphorm.com™©

Page 238: Alphorm.com - Formation programmer en Visual Basic .NET

Un projet Web API

• Version Microsoft des services RESTful

Programmer en Visual Basic .NET alphorm.com™©

Page 239: Alphorm.com - Formation programmer en Visual Basic .NET

L’exécution du projet Web

• IIS Express par défaut pour les applications Web

• ASP.NET Development Server pour les Website Projects

• IIS

Programmer en Visual Basic .NET alphorm.com™©

Page 240: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Il y a plusieurs types de projets en rapport avec le Web

• Un projet Web organise les fichiers de façon particulière

• Plusieurs méthodes d’authentification sont disponibles

• Nous avons décrit les projets WebForms, MVC, et Web API

• L’exécution du projet Web peut se faire localement, à des fins de test

Programmer en Visual Basic .NET alphorm.com™©

Page 241: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un formulaire

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Créer un formulaire

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 242: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• La création du projet application Web ASP.NET

• Utilisation des onglets de l’éditeur VS

• Le formatage du texte, feuille de propriétés

• L’ajout de contrôles dans le formulaire

• L’examen du code HTML correspondant

• Le code de rappel

Programmer en Visual Basic .NET alphorm.com™©

• Le code de rappel

• L’exécution de la page

• Résumé

Page 243: Alphorm.com - Formation programmer en Visual Basic .NET

La création du projet

Programmer en Visual Basic .NET alphorm.com™©

Page 244: Alphorm.com - Formation programmer en Visual Basic .NET

L’utilisation des onglets de l’éditeur VS

Programmer en Visual Basic .NET alphorm.com™©

Page 245: Alphorm.com - Formation programmer en Visual Basic .NET

Le formatage du texte

Programmer en Visual Basic .NET alphorm.com™©

Page 246: Alphorm.com - Formation programmer en Visual Basic .NET

L’ajout de contrôles dans le formulaire

Programmer en Visual Basic .NET alphorm.com™©

Page 247: Alphorm.com - Formation programmer en Visual Basic .NET

L’examen du code HTML

Programmer en Visual Basic .NET alphorm.com™©

Page 248: Alphorm.com - Formation programmer en Visual Basic .NET

Le code de rappel

Programmer en Visual Basic .NET alphorm.com™©

Page 249: Alphorm.com - Formation programmer en Visual Basic .NET

L’exécution de la page

Programmer en Visual Basic .NET alphorm.com™©

Page 250: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• La création du formulaire WebForms se fait dans un projet application Web ASP.NET

• L’éditeur VS permet de créer l’interface Web à la façon d’une application lourde traditionnelle

• L’ajout de contrôles dans le formulaire est très simple et ergonomique

• Le code HTML est visible en direct

• Le code de rappel est codé directement en VB.NET

• L’exécution de la page se fait très simplement, cela favorise le déboggage

Programmer en Visual Basic .NET alphorm.com™©

• L’exécution de la page se fait très simplement, cela favorise le déboggage

Page 251: Alphorm.com - Formation programmer en Visual Basic .NET

Utiliser le codebehind

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Utiliser le codebehind

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 252: Alphorm.com - Formation programmer en Visual Basic .NET

Plan• Utilisation du projet Web Forms généré par défaut

• Affichage d’un contenu de base de données

• Navigation entre pages

• Validation d’un formulaire

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 253: Alphorm.com - Formation programmer en Visual Basic .NET

Utilisation du projet Web Forms

• Dans les fichiers générés :

� Le HTML est dans les fichier aspx

� Le code VB.NET est dans aspx.vb

Programmer en Visual Basic .NET alphorm.com™©

Page 254: Alphorm.com - Formation programmer en Visual Basic .NET

Affichage du contenu de la base

• Une ListBox, chargée dans le Load

Programmer en Visual Basic .NET alphorm.com™©

Page 255: Alphorm.com - Formation programmer en Visual Basic .NET

Navigation entre pages

• Une page = une classe

• Gestion d’événements à la façon traditionnelle

Programmer en Visual Basic .NET alphorm.com™©

Page 256: Alphorm.com - Formation programmer en Visual Basic .NET

Validation d’un formulaire

Programmer en Visual Basic .NET alphorm.com™©

Page 257: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Utilisation du projet Web Forms généré par défaut

• Affichage d’un contenu de base de données

• Navigation entre pages

• Validation d’un formulaire

Programmer en Visual Basic .NET alphorm.com™©

Page 258: Alphorm.com - Formation programmer en Visual Basic .NET

Global.asax et HttpModule

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Global.asax et HttpModule

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 259: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

•L’application

•Les modules HTTP

•Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 260: Alphorm.com - Formation programmer en Visual Basic .NET

L’application

• Données de niveau application

• Evénements de niveau application

• Le fichier global.asax

• Accompagne une applciation

Programmer en Visual Basic .NET alphorm.com™©

Page 261: Alphorm.com - Formation programmer en Visual Basic .NET

Les modules HTTP

• Web.config

Programmer en Visual Basic .NET alphorm.com™©

• Créer un module HTTP, lui faire hériter de IHttpModule

• Réaliser Init et Dispose

• Code commun à plusieurs applications

Page 262: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• L’application

• Les modules HTTP

Programmer en Visual Basic .NET alphorm.com™©

Page 263: Alphorm.com - Formation programmer en Visual Basic .NET

Webservices

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Webservices

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 264: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

•Créer un service web

•Consommer un service web

•Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 265: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un service web

• Page .asmx

• Attribut WebService

• Attribut WebMethod

Programmer en Visual Basic .NET alphorm.com™©

Page 266: Alphorm.com - Formation programmer en Visual Basic .NET

Consommer un service web

• Ajout de références de services

• La génération d’un proxy

Programmer en Visual Basic .NET alphorm.com™©

Page 267: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Créer un service web

• Consommer un service web

Programmer en Visual Basic .NET alphorm.com™©

Page 268: Alphorm.com - Formation programmer en Visual Basic .NET

Gérer les erreurs

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Gérer les erreurs

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 269: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

•La page jaune d’erreur d’exception

•La page jaune d’erreur runtime

•La page d’erreur personnalisée

Programmer en Visual Basic .NET alphorm.com™©

•Résumé

Page 270: Alphorm.com - Formation programmer en Visual Basic .NET

La page jaune d’erreur d’exception

• Une page avec tous les détails

• Affichée au développeur

Programmer en Visual Basic .NET alphorm.com™©

Page 271: Alphorm.com - Formation programmer en Visual Basic .NET

La page jaune d’erreur runtime

• Affichée lors d’une connexion à distance

Programmer en Visual Basic .NET alphorm.com™©

Page 272: Alphorm.com - Formation programmer en Visual Basic .NET

Une page d’erreur personnalisée

• Une page qui est adaptée à l’application

• Utilisée conjointement avec « RemoteOnly »

Programmer en Visual Basic .NET alphorm.com™©

• Il est possible d’avoir plusieurs pages d’erreur, par code

Page 273: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• La page jaune d’erreur d’exception

• La page jaune d’erreur runtime

• La page d’erreur personnalisée

Programmer en Visual Basic .NET alphorm.com™©

Page 274: Alphorm.com - Formation programmer en Visual Basic .NET

Les contrôles serveur

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Les contrôles serveur

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 275: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

•Créer un contrôle utilisateur

•Modifier le rendu du contrôle

•Emettre un événement

Programmer en Visual Basic .NET alphorm.com™©

•Le rôle de viewstate

•Résumé

Page 276: Alphorm.com - Formation programmer en Visual Basic .NET

Créer un contrôle utilisateur

• Une classe héritant de WebControl

• Propriété Text et méthode RenderControl

Programmer en Visual Basic .NET alphorm.com™©

Page 277: Alphorm.com - Formation programmer en Visual Basic .NET

Modifier le rendu contrôle

• Réécrire RenderContent

• Générer du HTML

• Eventuellement utiliser HtmlTextWriter

Programmer en Visual Basic .NET alphorm.com™©

Page 278: Alphorm.com - Formation programmer en Visual Basic .NET

Emettre un événement

• Un contrôle peut proposer un événement

• Cet événement peut signaler une modification de la propriété

Programmer en Visual Basic .NET alphorm.com™©

Page 279: Alphorm.com - Formation programmer en Visual Basic .NET

Le rôle de ViewState

• L’état du contrôle est perdu entre 2 post

• ViewState est un dictionnaire qui stocke l’état du contrôle

Programmer en Visual Basic .NET alphorm.com™©

Page 280: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Créer un contrôle utilisateur

• Modifier le rendu du contrôle

• Emettre un événement

• Le rôle de viewstate

Programmer en Visual Basic .NET alphorm.com™©

Page 281: Alphorm.com - Formation programmer en Visual Basic .NET

Les contrôles de validation

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Les contrôles de validation

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 282: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

•Les différents contrôles de validation

•Utilisation des contrôles de validation

•Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 283: Alphorm.com - Formation programmer en Visual Basic .NET

Les différents types de contrôles

• 6 contrôles de validation

• Propriétés ErrorMessage et ControlToValidate

• Peuvent contrôler des contrôles classiques …

Programmer en Visual Basic .NET alphorm.com™©

Page 284: Alphorm.com - Formation programmer en Visual Basic .NET

Utilisation des contrôles

• Créer un contrôle classique

• Préparer la validation du formulaire

• Placer les contrôles de validation

Programmer en Visual Basic .NET alphorm.com™©

Page 285: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Les différents contrôles de validation

• Utilisation des contrôles de validation

Programmer en Visual Basic .NET alphorm.com™©

Page 286: Alphorm.com - Formation programmer en Visual Basic .NET

Les scriptlets

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Les scriptlets

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 287: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Les blocs de code incorporé

• Les affichages d’expressions

• Les directives

• Les liaisons de données

Programmer en Visual Basic .NET alphorm.com™©

• Les liaisons de données

• Les générateurs d’expressions

• Les commentaires

• Résumé

Page 288: Alphorm.com - Formation programmer en Visual Basic .NET

Les blocs de code incorporé

• <% … %>

• Placer du code dans le HTLM

• Pour compatibilité avec ASP

Programmer en Visual Basic .NET alphorm.com™©

Page 289: Alphorm.com - Formation programmer en Visual Basic .NET

Les affichages d’expressions

• <%= … %>

• Equivalent d’un seul Response.Write

Programmer en Visual Basic .NET alphorm.com™©

Page 290: Alphorm.com - Formation programmer en Visual Basic .NET

Les directives

• <% @ … %>

• @Page : spécifie les attributs de page Web Forms

• @Control : spécifie les attributs de contrôle utilisateur

• @Import : importe un espace de noms

Programmer en Visual Basic .NET alphorm.com™©

• @Register : enregistre un préfixe de contrôle utilisateur

• @Master : page maître

Page 291: Alphorm.com - Formation programmer en Visual Basic .NET

Les liaisons de données

• <% # …%>

• Lie une propriété de contrôle de serveur et une source de données

Programmer en Visual Basic .NET alphorm.com™©

Page 292: Alphorm.com - Formation programmer en Visual Basic .NET

Les générateurs d’expressions

• Définit la valeur de propriété comme issue de la configuration

Programmer en Visual Basic .NET alphorm.com™©

Page 293: Alphorm.com - Formation programmer en Visual Basic .NET

Les commentaires

• Les commentaire côté serveur

Programmer en Visual Basic .NET alphorm.com™©

Page 294: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Les blocs de code incorporé

• Les affichages d’expressions

• Les directives

• Les liaisons de données

Programmer en Visual Basic .NET alphorm.com™©

• Les liaisons de données

• Les générateurs d’expressions

• Les commentaires

Page 295: Alphorm.com - Formation programmer en Visual Basic .NET

Web.config

ASP.NET

Programmer en Visual Basic .NET alphorm.com™©

Web.config

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 296: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

•Les fichiers de config

•Sections

•Résumé

Programmer en Visual Basic .NET alphorm.com™©

Page 297: Alphorm.com - Formation programmer en Visual Basic .NET

Les fichiers de config

• Machine.config

• Web.config global

• Web.config de l’application

Programmer en Visual Basic .NET alphorm.com™©

Page 298: Alphorm.com - Formation programmer en Visual Basic .NET

Les sections

• Compilation :

• Custom errors

• Authentification :

Programmer en Visual Basic .NET alphorm.com™©

• Chaînes de connexion :

Page 299: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert• Les fichiers de config

• Sections

Programmer en Visual Basic .NET alphorm.com™©

Page 300: Alphorm.com - Formation programmer en Visual Basic .NET

Le formulaire WPF

WPF

Programmer en Visual Basic .NET alphorm.com™©

Le formulaire WPF

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 301: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• L’éditeur graphique

• Le formulaire en XML

• Les contrôles WPF

• Résumé

Programmer en Visual Basic .NET alphorm.com™©

• Résumé

Page 302: Alphorm.com - Formation programmer en Visual Basic .NET

L’éditeur graphique

• Un outil de création semblable à Windows Form

Programmer en Visual Basic .NET alphorm.com™©

Page 303: Alphorm.com - Formation programmer en Visual Basic .NET

Le formulaire en XML

• Le formulaire est exporté en XML

• Dialecte XAML

Programmer en Visual Basic .NET alphorm.com™©

Page 304: Alphorm.com - Formation programmer en Visual Basic .NET

Les contrôles WPF

• Blend

Programmer en Visual Basic .NET alphorm.com™©

Page 305: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• L’éditeur graphique

• Le formulaire en XML

• Les contrôles WPF

Programmer en Visual Basic .NET alphorm.com™©

Page 306: Alphorm.com - Formation programmer en Visual Basic .NET

Utiliser le databinding

WPF

Programmer en Visual Basic .NET alphorm.com™©

Utiliser le databinding

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 307: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Le databinding

• Binding entre éléments graphiques

• Données vers Contrôle

• Binding birectionnel

Programmer en Visual Basic .NET alphorm.com™©

• Binding birectionnel

• Résumé

Page 308: Alphorm.com - Formation programmer en Visual Basic .NET

Le databinding

• Un moyen de lier les contrôles aux données

• Ne pas avoir à gérer les mises à jour de l’un ou de l’autre

• Fonctionne comme un modèle observateur

• Peut fonctionner entre contrôles du formulaire

Programmer en Visual Basic .NET alphorm.com™©

Page 309: Alphorm.com - Formation programmer en Visual Basic .NET

Binding entre éléments graphiques

• Binding entre deux propriétés Text

Programmer en Visual Basic .NET alphorm.com™©

Page 310: Alphorm.com - Formation programmer en Visual Basic .NET

Données vers contrôle

Programmer en Visual Basic .NET alphorm.com™©

Page 311: Alphorm.com - Formation programmer en Visual Basic .NET

Mise à jour

Programmer en Visual Basic .NET alphorm.com™©

Page 312: Alphorm.com - Formation programmer en Visual Basic .NET

Binding bi-directionnel

• Les modes possibles : OneWay, TwoWay, OneTime, OneWayToSource

• Avec TwoWay, modifiant le TextBox, je modifie la donnée

Programmer en Visual Basic .NET alphorm.com™©

Page 313: Alphorm.com - Formation programmer en Visual Basic .NET

Ce qu’on a couvert

• Le databinding

• Binding entre éléments graphiques

• Données vers Contrôle

• Binding birectionnel

Programmer en Visual Basic .NET alphorm.com™©

• Binding birectionnel

Page 314: Alphorm.com - Formation programmer en Visual Basic .NET

Conclusion

VB.NET

Programmer en Visual Basic .NET alphorm.com™©

Conclusion

Site : http://www.alphorm.comBlog : http://www.alphorm.com/blogForum : http://www.alphorm.com/forum

Fabien BrissonneauConsultant, concepteur et formateurObjets Logiciels

Contact : [email protected]

Page 315: Alphorm.com - Formation programmer en Visual Basic .NET

Plan

• Nous avons présenté VB.NET

• Langage universel

• L’avenir

Programmer en Visual Basic .NET alphorm.com™©

Page 316: Alphorm.com - Formation programmer en Visual Basic .NET

Nous avons présenté VB.NET

• Un langage héritier de VB et des langages objets

• Intégré à la plateforme dot-net

• Doit être utilisé comme un langage orienté objet

• Manipule les mêmes concepts que son voisin C#

Programmer en Visual Basic .NET alphorm.com™©

• Manipule les mêmes concepts que son voisin C#

Page 317: Alphorm.com - Formation programmer en Visual Basic .NET

VB.NET est un langage universel

• VB.Net s’appuie sur la puissance du framework .Net

• Il peut être utilisé pour tout type d’application

• Nous avons montré les applications console, fenêtres, asp.net et webservices

Programmer en Visual Basic .NET alphorm.com™©

Page 318: Alphorm.com - Formation programmer en Visual Basic .NET

L’avenir …

• L’avenir de VB.Net est lié à celui de la plateforme

• Une utilisation de plus en plus large

• Tant sur mobiles que serveurs

Programmer en Visual Basic .NET alphorm.com™©