cours visual basic insea

140
Pr. Imade BENELALLAM Environnement de développement graphique Pr : Imade BENELALLAM e-mail : [email protected] Année : 2010/2011 Environnement de d Environnement de d é é veloppement veloppement graphique graphique INSEA Institut Nationale de Statistique et d’Économie Appliquée Département Informatique, Bureau Numéro 11

Upload: ilassa-savadogo

Post on 31-Jul-2015

310 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Pr : Imade BENELALLAM

e-mail : [email protected]

Année : 2010/2011

Environnement de dEnvironnement de dééveloppement veloppement graphiquegraphique

INSEAInstitut Nationale de Statistique et d’Économie Appliquée

Département Informatique, Bureau Numéro 11

Page 2: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Étudier comment développer une application Windows• Comprendre les principes de base de l’ergonomie du

logiciel et des Interfaces Homme Machine.• Comprendre les principes de base de la programmation

en Visual Basic.• Étudier comment réaliser des applications à base des

référentielles de Base de Données.

Objectives

Page 3: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique 3

• Cours pour débutant• Connaissances en programmation : néant • Connaissances sur les BD : conception• Connaissances sur le langage SQL• Connaissance du logiciel Access.

Pré-requis

Page 4: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique 4

• 60 % : Contrôle final.• 40 % : Contrôle continu.

�un mini projet : Développement d’une application de gestion.

�une note de participation incluant l’assiduité , la prise de notes et la réalisation des TPs et devoirs .

Évaluation

Page 5: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

� Introduction

� Environnement Visual Studio .net

� Applications Windows : Interface Utilisateur

� Bases du langage : VB .net

� Programmation Objet : Les classes en VB

� Fonctionnalités avancées

� Accès aux bases de données : ADO .net

� Applications Web : ASP .net

Sommaire

Page 6: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Qu’est-ce que la programmation ?– Séquences d’instructions qui permettent de données

des ordres à un ordinateur• A quoi cela sert-elle ?

– Développer des applications, automatiser des tâches récurrentes, effectuer des calculs complexes

• Quelques langages de programmation– C, C++, JAVA, (Visual) Basic, Perl, PHP, Cobol,

Forth…

Introduction

La programmation ?

Page 7: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Différences principales entre les langages� La structure : lexique, syntaxe, sémantique� Le style : Langages séquentiels, langages orienté-objet� La compilation : Langages interprétés, langages exécutés� Langages spécialement adaptés

• A Internet (pages web): PHP, Perl, JAVA• Aux simulations: Matlab• Aux programmes nécessitant une grande vitesse: C, C++• Aux applications graphiques et bureautiques: VB

Introduction

Quel choix ?

Page 8: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

C’est une approche partant de l'abstraction du problèmevers sa réalisation concrète.1. Spécification du problème : quel est le problème ? 2. Conception abstraite : démarche de réflexion

permettant de déterminer les données et les résultats du problème.

3. Conception algorithmique : définitions lexicales des éléments utilisés, et ordonnancement des traitements.

4. Codification : traduction dans un ou ses langages de programmation.

5. Tests applicatifs : mise en oeuvre d'un échantillon représentatif de données pour valider l'application.

6. Maintenance : correction, évolution, optimisation, sécurisation.

Introduction

Démarche de développement

Page 9: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Visual Basic .Net � Produit Microsoft,� Un langage de programmation événementiel de troisième génération

ainsi qu'un environnement de développement intégré, � Il a été mis à niveau vers un véritable langage orienté objet,� Permet le développement rapide d'applications, la création d'interfaces

utilisateur graphiques, l'accès aux bases de données …

Introduction

Visual Basic .net : Introduction

Page 10: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

La terminologie autour de Visual Basic peut mener à une certaineambiguité. • VB = Visual Basic

– Langage de programmation intégré dans Visual Studio pour faire des applications indépendantes mais également contenu dans MS Office.

• VBA = Visual Basic pour Application– Disponible avec MS Office (Excel, Access, Word)

• VBscript– est un sous-ensemble de Visual Basic utilisé en tant que langage

de scripting (exp. Page Web). – est un langage interprété. Il ne nécessite pas de compilation

avant d'être exécuté.

Introduction

Visual Basic (VB) ou VBA ou VBScript

Page 11: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Introduction

VB : Historique

L’élément principal de l’infrastructure .NET est le CLR (Common Language Runtime), permettant à l’utilisateur d’interagir avec le système en utilisant n’importe quel langage .Net (Vb, C++, C#).

.net (7.0)

Peu d’évolution sur le langage mais apparition de la technologie ADO (remplaçante de DAO et RDO) et des outils de connexion aux sources de données (DataEnvironment)

6.0

Disparition des applications 16 bits et stabilité accrue du langage5.0

Sorti en 96, la version 4.0 marque une étape importante dans l’évolution du langage :-Création d’application 32 bits-Création et utilisation de DLL -Apparition des fonctionnalités Objet (Classes)

4.0

Evolution du langage, apparition de nouvelles fonction et de structures de contrôle (select case)

3.0

Sortie en 91, Visual Basic innove en particulier grâce à son environnement de développement permettant de masquer les tâches fastidieuse

1.0

NouveautésVersion

Page 12: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Introduction

VB : Avantages et Inconvénients

• Avantages�Simplicité�Disponible dans MS Office�Accès à toutes les fonctions de Windows

• Systèmes de fenêtres, boîtes de dialogue, API• Inconvénients

�Pas très rapide�Dépend beaucoup des versions utilisées de Windows

et MS Office�Cher si on veut être en règle

Page 13: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Introduction

VB : Installation

Windows 2000Windows NT 4.0

Windows XP….

Système d’exploitation

ObligatoireLecteur CD Rom

800x600, 256 CouleursCarte Vidéo

3 GbEspace Disque libre

256 MoMémoire Vive (Ram)

P3 733 MhzProcesseur

Config. Minimale

• A l’instar de la version 6.0, développer en VB .Net requiert une configuration machine beaucoup plus importante.

Page 14: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Environnement Visual Studio .net

Visual Studio .net

• C'est l'Integrated Development Environment(IDE): Environnement de développement intégréde Visual Basic

• Il permet de dessiner l'interface (les fenêtres, les boutons, List, Image...) et d'écrire le code VB.

• En tant que utilisateur Outlook et dans le cadre de l’accord MS Academic Alliance, il est possible d'utiliser l’édition Express gratuitement, par fois même à des fins commerciales (mais avec des fonctionnalités limitées).

• Ou trouver Visual Studio 2010 Express? http://www.microsoft.com/express/downloads/Dans la liste de lien, cliquer sur 'Visual Basic Express 2010‘

Page 15: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Quand on lance VB.net 2010, on affiche la Page de démarrage .

On a le choix entre:-Nouveau projet..-Ouvrir un projet..-Projets récents

Créer un nouveau projet:Pour créer un nouveau projet Visual Basic, il faut choisir 'Nouveau projet' dans le menu démarrage ou passer par lemenu 'Fichier' puis 'Nouveau Projet' . La fenêtre suivante s'ouvre:

Page de démarrage

Environnement Visual Studio .net

Page 16: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Il faut choisir 'Application Windows Forms' ou 'Application WPF'.

Nouveau projet

Environnement Visual Studio .net

Page 17: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Environnement Visual Studio .net

Principaux projets Visual Basic

Application console

Application Web ASP.Net

Application Smart Device

Bibliothèque de contrôle Windows

Bibliothèque de classe

Application Windows

Principaux Types de projets Visual Basic

Page 18: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Pour chaque projet, un ensemble de propriétés sont configurables. • Pour accéder aux propriétés d’un projet, clic droit sur le projet dans

l’explorateur de solution et Propriétés.

Environnement Visual Studio .net

Configuration d’un projet

Page 19: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Environnement Visual Studio .net

Configuration d’un projet

Type de langage à utiliserLangage de script Client

Navigateur pour lequel le code HTML doit être compatibleSchéma cible

Mode de positionnement des contrôles : en mode Grid, le placement est libre, en mode Flow, le placement se fait dans l’ordre de création.

Présentation page

Permet de définir les espaces de noms qui devront être automatiquementimportés dans le projet (ex : permet d’écrire « form » à la place de« system.windows.forms.form »

Espaces de noms

Distinction de la casse en mode binaire (pas en mode texte)Option compare

Interdit l’utilisation d’une variable non déclaréeOption explicit

Fichier .ico servant d’icône au fichier de sortieIcône de l’application

Permet de définir un préfixe pour accéder à l’ensemble des classesEspace de nom racine

Feuille ou procédure servant de point de départ au programmeObjet de démarrage

Type d’application a générerType de sortie

Nom du fichier généré après compilation.Nom de l’assembly

DescriptionPropriété

Propriétés communes

Page 20: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Environnement Visual Studio .net

Interface principale

• l’interface de Visual Basic .net reprend la plupart des palettes standards avec quelques outils en plus :

– la barre d’outils regroupe les différents contrôles par catégories

– La zone centrale permet d’écrire le code et de définir les interfaces graphiques utilisateurs

– A droite, l’explorateur de solutions et la fenêtre de propriétés

Page 21: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• C'est l'onglet Form1.vb[Design] qui se trouve au centre de l'écran,• C'est une zone permettant de dessiner l'interface utilisateur : les

fenêtres, contrôles..

Environnement Visual Studio .net

Le concepteur (Designer)

Page 22: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Elle contient le code en Visual Basic : dans l'explorateur de solution à droite, cliquer sur Form1.vb puis sur l'icône 'Afficher le code'

Environnement Visual Studio .net

La fenêtre de code

Page 23: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Environnement Visual Studio .net

Explorateur de Solutions

L’explorateur de solutions référence l’ensemble des éléments des Projets (fichiers, feuilles, classes). Une solutioncontient les fichiers suivants :• .sln : fichier de configuration de la

solution• .vbproj : fichier projet, (ancien .vbp)• .vb : fichiers contenant du code (anciens

.bas, .frm, .cls)• .resx : associé à une feuille, contient les

ressourcesIl est possible de créer un projet soitDirectement dans une solution ouverte soitdans une nouvelle solution

Page 24: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• cette fenêtre recense toutes les propriétés relatives àl’objet sélectionné.

Environnement Visual Studio .net

Fenêtre de propriétés

Page 25: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• La fenêtre liste d’erreurs permet de recenser l’ensemble des erreurs à corriger sur votre projet.

Environnement Visual Studio .net

La listes d’erreurs

Page 26: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Un formulaire est un objet.• Les formulaires sont les éléments de base des applications graphiques

Windows. • Le FrameWork Visual Basic .Net permet la création de formulaires

Windows afin d’établir des interfaces graphiques entre l’utilisateur et le code.

• Ces formulaires sont des fenêtre qui contiendront des contrôles (Champs texte, boutons, liste déroulantes ….).

Applications Windows Interface Utilisateur

Les formulaires Windows

Page 27: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Il existe deux solutions pour la création de formulaires sous le FrameWork .Net :�Windows Forms : Sont utilisés pour le développement

d’applications pour lesquelles la plupart des traitements se font sur la machine cliente.

�Web forms : Les applications à base de Web Formssont destinés à être utilisées sur le Web par le biais d’un navigateur.

• Un formulaire est caractérisé par trois éléments :�Les propriétés�Les méthodes�Les événements

Applications Windows Interface Utilisateur

Les formulaires Windows

Page 28: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

En fonction de l’application à réaliser, plusieurs modes deprésentationdes feuilles peuvent être utilisés :• Mono document : Ce genre d’application appelée SDI

(Single Document Interface) ne permet l’affichage que d’une fenêtre à la fois.

• Multi document : Les applications MDI (Multiple Document Interface) sont constituées d’une fenêtre principale (Fenêtre mère) contenant à son tour plusieurs documents (fenêtre fille).

• Explorateur : C’est le mode de présentation le plus utilisé. Il permet un affichage hiérarchique des menus sur la partie gauche et l’affichage des éléments sous forme de liste sur la partie droite.

Applications Windows Interface Utilisateur

Mode de présentation

Page 29: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Une propriété est un attribut qui définit les caractéristiques de la feuille.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 30: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• AcceptButton : Lorsque l’utilisateur appuie sur la touche entrée, la méthode liée à l’événement « click » du bouton d’acceptation sera automatiquement déclenchée. Généralement, c’est le bouton « ok » ou « sauvegardé »qui est paramétré comme AcceptButton.

• AllowDrop : Spécifie si le formulaire gère le Drag andDrop (Glisser déposé).

• AutoScale : Si cette option est activée, la taille des contrôles et du formulaire sont automatiquement redimensionnés lors d’un changement dynamique de la police d’écran.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 31: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• AutoScroll : L’option AutoScroll est une nouveauté de la version .Net : elle permet de placer automatiquement des barres de défilement lorsque la taille du formulaire ne permet pas l’affichage de tous les contrôles qu’il contient.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 32: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• BackColor : La propriété backColor définit la couleur de fond du formulaire.

• BackgroundImage : Il est possible de définir une image comme fond pour le formulaire. L’image sera automatiquement répétée en mosaique.

• CancelButton : Le bouton d’annulation réalise l’opération inverse du bouton d’acceptation. Il permet de déclencher l’événement « click » d’un bouton du formulaire lorsque l’utilisateur appuie sur touche escape.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 33: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• ControlBox : La propriété ControlBox définit si le menu système apparaît au niveau de la barre de titre du formulaire :

Le menu système peut également être modifié avec lespropriétés « MinimizeBox », « MaximizeBox » et« HelpButton ».

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 34: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Cursor : Définit l’apparence par défaut du curseur sur le formulaire. Cette option peut également être paramétrée au niveau des contrôles.

Les différentes valeurs sont disponibles dans la classe« System.Windows.Forms.Cursors »

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 35: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Enabled : Définit si le formulaire est disponible (True) ou non (False). Dans ce dernier cas, aucun des contrôles et menus du formulaires ne seront accessibles (grisés).

• Font : Cette propriété définit les paramètres de formatage du texte. Cette propriété sera automatiquement appliquée par défaut au texte des différents contrôles.

• ForeColor : Couleur d’affichage par défaut pour les textes et graphismes du formulaire.

• HelpButton : Affiche le bouton d’aide à gauche de la barre de titre. Attention, le bouton ne sera pas affiché si les boutons min et max sont activés.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 36: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

OuiSizableToolWindow

NonFixeToolWindow

OuiSizable

NonFixedDialog

NonFixed3d

NonFixedSingle

NonNone

DimensionnableApparenceValeur

• FormBorderStyle : Style de bordure du formulaire :

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 37: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Icon : Définit l’icône liée au formulaire : cette dernière apparaît dans la barre de titre.

• IsMDIContainer : Détermine si le formulaire est un conteneur MDI, c’est à dire s’il est capable de contenir d’autre fenêtres.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 38: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Location : Cette objet défini la position du formulaire par rapport à son conteneur (c’est à dire l’écran ou le formulaire parent dans le cas d’application MDI). – X : distance entre le bord gauche du conteneur et le bord

gauche du formulaire– Y : distance entre le haut du conteneur et le haut du formulaire

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 39: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Locked : Détermine si le formulaire est verrouillé ou non : cette propriété est identique à « enabled » mais elle ne grise pas l’apparence du formulaire.

• MinimizeBox, MaximizeBox : Détermine si les boutons « Agrandir » et « Réduire » sont visibles. Leur affichage empêchera l’affichage du bouton d’aide.

• MinimumSize, MaximumSize : Cet objet définit la taille minimale et maximale que peut avoir le formulaire. Cet objet est généralement utilisé pour éviter que l’utilisateur réduise la fenêtre au point de ne plus avoir accès aux contrôles. Pour chaque objet, deux propriétésont disponibles : width (largeur) et height (hauteur).

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 40: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Opacity : Définit un pourcentage d’opacité pour la fenêtre. Une valeur de 100% rend la fenêtre opaque. (Exemple avec 65%)

• ShowInTaskBar : Détermine si un nouveau bouton est ajouté dans la barre des tâches lorsque la fenêtre est ouverte :

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 41: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Size : Cet objet définit la taille du formulaire à l’aide de deux propriétés : width (largeur) et height (hauteur).

• Startposition : Définit la position de départ lorsque la fenêtre est ouverte.

• Text : Détermine le texte affiché dans la barre de titre

• TopMost : Si cette option est activée (true) le formulaire sera toujours au dessus de tous les autres formulaires, même s’il n’est pas activé. Cette option se prête particulièrement bien pour les boîtes à outils qui doivent toujours rester accessibles.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 42: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• TransparencyKey : Cette propriété définit la couleur de transparence du formulaire : si vous spécifiez la couleur jaune en tant que TransparencyKey, toutes les zones du formulaire jaune seront transparentes :

• WindowState : Détermine l’état du formulaire lors de l’ouverture.

Applications Windows Interface Utilisateur

Propriétés des formulaires

Page 43: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Activate : La méthode activate permet de mettre le formulaire au premier plan et de lui donner le focus.

• Close : Ferme le formulaire• ShowDialog : Affiche le formulaire en tant que feuille

modale, c’est à dire qu’au niveau de l’application, la fenêtre restera au premier plan tant qu’elle n’est pas fermée.

Applications Windows Interface Utilisateur

Méthodes des formulaires

Page 44: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Les événements correspondent au cycle de vie de l’objet formulaire. Ilssont listés dans l’ordre chronologique.• New : L’objet formulaire est en cours de création• Load : Le formulaire ainsi que ses composants sont chargés mais il

n’est pas visible.• Paint : Se produit lorsque le formulaire est redessiné. Cet

événement peut apparaître plusieurs fois : par exemple au démarrage et lorsque le formulaire réapparait devant un autre.

• Activated : Le formulaire récupère le focus.• Deactivate : Le formulaire perd le focus• Closing : Le formulaire est en cours de fermeture, les différents

éléments le composant sont détruits. Le formulaire est cependant encore visible.

• Closed : Le formulaire est fermé et maintenant invisible.

Applications Windows Interface Utilisateur

Événements des formulaires

Page 45: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Dispose : L’objet formulaire est détruit.• Resize : Cet événement survient lorsque le formulaire est

redimensionné. Généralement utilisé pour modifier la taille des contrôles le composant.

• Click : L’utilisateur clique sur le fond du formulaire• DoubleClick : L’utilisateur double clique sur le fond du formulaire

Applications Windows Interface Utilisateur

Événements des formulaires

Page 46: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

TP 0 : Programmation événementielle

Page 47: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

TP 1 : Jetchamp Sport

Scénario :Vous êtes un programmeur Visual Basic .net avec JetChamp

Sport , une grande chaîne de produits sportifs avec 50 filiales à travers les États-Unis. L'entreprise vend entre autres des équipements de football, de baseball..etc.

Votre directeur vous a demandé de développer un formulaire de Bon de commande qui sera utilisé pour commander des produits auprès de fournisseurs de JetChamp .

Voire le fichier de ressources (TP1.pdf) pour suivre les étapes.

Page 48: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Les contrôles permettent de créer l’interface entre l’utilisateur et notre application.

• Les contrôles permettent de saisir des données, effectuer des sélection et déclencher des actions par l’intermédiaires des événements.

Applications Windows Interface Utilisateur

Les contrôles

Page 49: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les contrôles

Contrôle graphique

Contrôle masqué

• Les contrôles sont des objets graphiques placés visiblement sur le formulaire. • Certains contrôles offrant des fonctionnalités de programmation n’apparaîtront pas sur le formulaire.

Page 50: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Name : Nom du contrôle. Ce nom ne comporter que des lettres et le caractère underscore « _ ».

• Anchor : Les ancres permettent de modifier automatiquement la taille d’un contrôle lors du redimensionnement d’un formulaire. Chaque contrôle possède sa propre ancre

Applications Windows Interface Utilisateur

propriétés des contrôles

Page 51: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• CanFocus : Booléen spécifiant si le contrôle peut recevoir le focus.

• CanSelect : Booléen spécifiant si le contrôle peut être sélectionné.

• Dock : la propriété « Dock » permet d’ancrer un contrôle à un bord du conteneur. Dans l’exemple suivant, le bouton est ancré en bas :

Applications Windows Interface Utilisateur

propriétés des contrôles

Page 52: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Enabled : Cette propriété est une valeur booléenne spécifiant si le contrôle est accessible ou non. Dans le second cas, le contrôle apparaîtra grisé.

• Location : La propriété Location est un objet permettant de définir l’emplacement du contrôle par rapport à son conteneur. Il est composé de deux propriétés (X et Y) qui définissent ses coordonnées par rapport au coin supérieur gauche du conteneur.

• Locked : Contrairement à la version précédente, cette propriété ne bloque pas le contrôle lors de l’exécution mais lors de la conception.

Applications Windows Interface Utilisateur

propriétés des contrôles

Page 53: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Size : Cet objet permet de définir la taille du contrôle. Il est composé de deux propriétés, width (largeur) et height (hauteur).

• TabIndex : Indice définissant l’ordre de tabulation du contrôle par rapport à son conteneur.

• Text : Cet propriété référence le texte contenu ou affichédans un contrôle (Par exemple, le texte affiché sur un bouton).

• Visible : Cet propriété détermine si le contrôle est visible lors de l’exécution. Attention, aucun changement n’est visible lors de la conception

Applications Windows Interface Utilisateur

propriétés des contrôles

Page 54: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Méthodes et événements des contrôles

Donne le focus au contrôleFocus

DescriptionMéthode

Déclenché lorsque le contrôle est redimensionné

Resize

Déplacement de la rouletteMouseWheel

Souris déplacée sur le contrôleMouseMove

Bouton souris relachéMouseUp

Bouton souris enfoncéMouseDown

Activé lorsque le contrôle perd le focusLostFocus

Touche relachéeKeyUp

Touche enfoncée et relachéeKeyPress

Touche enfoncéeKeyDown

Activé lorsque le contrôle reçoit le focusGotFocus

Activé lorsque l’utilisateur entre sur le contrôleEnter

Activé lors du double clic sur le contrôleDoubleClick

Activé lors du clic sur le contrôleClick

DescriptionEvénements

Page 55: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

• Le contrôle TextBox est certainement le contrôle le plus utilisé : il permet de saisir des chaînes de caractère de 2000 à 32 000 caractères en fonction de la configuration.

Applications Windows Interface Utilisateur

Les principaux contrôles : TextBox

Page 56: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : TextBox

Longueur du texte dans le contrôleTextLength

Contenu du champsText

Indice de début de la sélection dans le champsSelectionStart

Longueur de la sélection Selectionlength

Affiche ou masque les barres de défilementScrollbars

Contenu du champs en lecture seuleReadonly

Définit le caractère servant à masquer un mot de passePasswordChar

Définit si le contrôle est multi lignesMultiLine

Spécifie si le contenu du champs a été modifié depuis sa créationModified

Nombre de caractères maximum du contrôleMaxLength

Tableau correspondant aux lignes du contrôleLines

Définit si le contrôle masque la sélection lorsqu’il perd le focusHideSelection

Couleur du texteForeColor

Indique si le contrôle détient le focusFocused

Détermine la casse du texte : majuscules (upper) ou minuscules (lower)CharacterCasing

Détermine si le contrôle peut recevoir le focusCanFocus

DescriptionPropriété

Page 57: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : TextBox

Rétabli la valeur initiale du champsResetText

Donne le focus au contrôleFocus

Copie / coupe la sélection dans le presse papierCopy / Cut

Efface le contenu du champs texteClear

DescriptionMéthode

Déclenché lorsque le texte changeTextChanged

DescriptionEvénement

Page 58: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : Label

• Le contrôle label est utilisé pour afficher du texte qui ne sera pas éditable par l’utilisateur. Il est généralement utilisé pour afficher le rôle des différents contrôles.

Contenu du labelText

Le contrôle s’adapte à la taille du texteAutoSize

Style de bordureBorderStyle

DescriptionPropriété

Page 59: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : CheckBox

• Le contrôle Checkbox (Case à cocher) est utilisé pour proposer plusieurs options à l’utilisateur parmi lesquelles il pourra effectuer plusieurs choix.

Texte associé au contrôleText

Alignement de la case à cocher par rapport au contrôleCheckAlign

En standard, une case à cochée peut être cochée ou non. Il existe cependant un 3ème état « Indéterminé » permettant de grisé la case. Cette propriété permet d’activer ce 3ème état.

ThreeState

Retourne ou modifie la valeur de la case à cocher en gérant le 3èmemode (grisé).CheckState

Valeur booléenne indiquant si la case est cochée ou nonChecked

DescriptionPropriété

Page 60: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : CheckBox

Se produit lorsque la propriété « CheckState » changeCheckStateChanged

Se produit lorsque la propriété « Checked » changeCheckedChanged

DescriptionEvénement

Page 61: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : RadioButton

• Contrairement aux cases à cocher, les boutons radio permettent àl’utilisateur d’effectuer un seul choix parmi plusieurs options. Cette dernière contrainte impose donc qu’il n’y ait jamais deux boutons cochés en même temps : Visual basic s’occupe de faire basculer l’état des boutons pour les boutons présents dans le même conteneur. Dans l’exemple suivant, c’est le formulaire qui est conteneur. Nous verrons plus loin les conteneurs « GroupBox » et « Panel ».

Page 62: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : GroupBox et Panel

• Au même titre qu’un formulaire, les contrôles GroupBoxet Panel sont des conteneurs, c’est à dire qu’il contiennent eux même d’autres contrôles. Ces contrôlesprésentent deux intérêts majeurs :– Regrouper de manière logique des contrôles afin de les isoler

(pour les boutons radio par exemple)– Faciliter le placement de plusieurs contrôles car en modifiant la

position du conteneur, vous modifiez la position de tous les contrôles contenus

GroupBox Panel

Page 63: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : Button et ListBox

• Le contrôle « button » est principalement utilisé pour déclencher une action lors du clic.

• Le contrôle ListBox permet l’affichage d’une liste de choix, généralement des chaînes de caractères, dans laquelle l’utilisateur pour effectuer un ou plusieurs choix.

Page 64: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : ComboBox et Splitter

• Le contrôle ComboBox est l’association du contrôle listBox et TextBox : il permet à l’utilisateur de sélectionner une valeur dans une liste ou de saisir une nouvelle valeur. Cependant, ce contrôle n’accepte pas les sélections multiples.

• Le contrôle « Splitter » est une nouveauté de la version .Net. Il permet de créer des barres de séparation redimensionnables pour distribuer l’espace du formulaire entre les différents contrôles. Splitter est particulièrement utilisé dans les interfaces de type « explorateur ».

Page 65: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : ImageList

• Le contrôle « ImageList » est un conteneur d’images destinées à être utilisée dans l’application ou alors par d’autre contrôles (Listview, TreeView …). Ce contrôle n’est pas visible sur le formulaire et peut contenir tous types d’images (Gif, Jper, Bmp …).

Collection contenant les imagesImages

Définit la couleur de transparenceTransparent

Taille en pixels des imagesImageSize

Nombre de couleurs à utiliser pour les imagesColorDepth

DescriptionPropriété

Page 66: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : TabControl

• Le contrôle « TabControl » permet l’affichage d’onglet contenant chacun plusieurs contrôles. Ce dernier est généralement utilisé pour regrouper logiquement des contrôle ou pour placer beaucoup de contrôles dans la même formulaire.

Page 67: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : Menu

• les menus permettent d’offrir à l’utilisateur un ensemble de fonctionnalités sans pour autant surcharger la présentation du formulaire. Il existe 2 types de menu :– Menu d’application situé en haut du formulaire– Menu contextuel activé généralement lors d’un clic

droit

Page 68: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

Les principaux contrôles : DateTimePicker

• Le contrôle « DateTimePicker » associe une zone de texte et un calendrier permettant la sélection d’une date.

Page 69: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

TP 2 : Jetchamp Sport

Scénario :Votre directeur vous donne une esquisse de la disposition du formulaire. Voire le fichier de ressources (TP2.pdf) pour compléter le projet.

Page 70: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

TP 3 : Jetchamp Sport

Scénario:Vous avez déterminé les propriétés de chaque contrôle et vous décidez de faire ce qui suit:1. Supprimer le texte qui s'affiche par défaut avec certains contrôles.2. Donnez à chaque contrôle un nom significatif.3. Modifier les propriétés des étiquettes utilisées pour afficher le numéro de commande, adresse de la société, les prix, et le coût total.4. Modifier les propriétés de la police des étiquettes qui entourent les différentes sections du formulaire.

Page 71: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Applications Windows Interface Utilisateur

TP 4 : Créer une interface utilisateur pour Moonlight Cinémas

Scénario:

Votre entreprise vient de démarrer un nouveau contrat avec Moonlight Cinemas , une chaîne de cinémas grand théâtre. Vous avez été mandaté à travailler sur leur nouveau système de billetterie et de créer une application de démonstration. La première étape de ce processus consistera à créer une maquette très simple de démonstration, Voire le fichier de ressources (TP4.pdf) pour compléter le projet.

Page 72: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Notion d’objet en VB

Un objet :

• Une brique logicielle représentant une entité du monde physique, comme une voiture, une personne ou encore une page d'un livre.

• Définit par un groupe de variables de différents types et un ensemble de méthodes, les variables sont désignées par un nom = Propriétés.

• Est une instance d’une classe.

Exemple : l’objet VoiturePropriétés : couleur, marque, modèle, carburant, puissance fiscale, vitesse Maxi, prix….

Syntaxe : objet.propriétéVoiture.couleur = rougeVoiture.marque = ‘’Peugeot’’p = Voiture.puissanceFiscale

Page 73: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Notion d’objet en VB

Méthodes = fonctions de l’objet

• Exemple : Voiture

Accélérer, ralentir, avancer, reculer, s’arrêter….

• Syntaxe : objet.Méthode()

Voiture.accélérer()

Voiture.reculer(10 m)Voiture.changerCouleur(bleu)

Voiture.couleur = bleu

Page 74: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Structure de code : Formulaire

• Lors de la création d’un formulaire, le code suivant est automatiquement généré :

– nouvelle classe portant le nom du formulaire (Form1).

– hérite (récupère) tous les éléments de la classe « form »– l’appel aux méthodes de base de classe form ainsi que l’initialisation

des contrôles.– Tout ajout d’éléments (Variables, procédures, contrôles) seront ensuite

perçus comme membres de la classe « form1 ».

Page 75: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Structure de code : Module

• Lors de la création d’un nouveau module, le code suivant est automatiquement généré :

Page 76: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Structure de code : Commentaire

• Les commentaires permettent d’ajouter des annotations sur le code.

• lorsqu’un commentaire commence par le mot clé todo:, il sera automatiquement ajouté dans la liste des tâches

Page 77: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Structure de code : Régions

Page 78: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les variables

Une Variable en VB est définit par : • Un nom : le nom d’une variable commence obligatoirement par une lettre, peut contenir des lettres, chiffres et le signe « _ » (underscore) avec un maximum de 255 caractères. Visual Basic ne tient pas compte de la casse (Majuscules / Minuscules)• Un type : le type d’un variable précise le type de la valeur stockées par la mémoire (numérique, chaîne de caractère, date …)• Une portée : la portée d’une variable correspond à sa durée de vie.

Page 79: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les variables : type numérique

16 Octets79228162514264337593543950335-79228162514264337593543950335Decimal

64 bits-1.79769313486232 E 308-1.79769313486231 E 308Double

32 bits3.402823 E 38-3.402823 E 38Single

64 bits9223372036854775807-9223372036854775808Long

32 bits2 147 483 647-2 147 483 648Integer

16 bits32767-32768Short

8 bits2550Byte

TailleMaxMinNom

Page 80: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les variables : type caractère

‘’Sandrine Desayes’’Chaîne de caractère à longueur variable d’une taille de 0 àenviron 1 milliard de caractères

String

‘’a’’Utilisé pour stocker un seul caractèreChar

ExempleDescriptionNom

Page 81: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les variables : Autres types

!Erreur !L’affectation des adresses mémoire se fait de manière implicite

Le type object est un type universel (anciennement nomméVariant). Ce type ne stocke en fait pas la donnée elle même mais il contient un pointeur vers l’adresse mémoire contenant la donnée. De ce fait, une variable de type object peut pointer vers (contenir) n’importe quel type de données

Object

#12/07/02 15:33:17##12/07/02##15:33:17#

Stocke les informations de date et heure. Si la date est omise, le 1er janvier de l’année en cours sera utilisé. Si l’heure est omise, minuit sera l’heure par défaut.

Date

TrueVariable dont le contenu peut être False (0) ou True(1)Boolean

ExempleDescriptionNom

Page 82: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Déclaration des variables

• La déclaration des variables se fait de la façon suivante

Dim nomvariable1, nomvariable2, nomvariable3 as type_variables = valeur_par_defaut

• L’affectation d’une valeur par défaut est facultative.Dim i as integer = 0

Dim moncar as char = ‘’i’’

Dim aujourdui as date = #12/07/02#Dim nom as string

Page 83: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Portée des variables

Quatre niveaux de portée existent :• Niveau Bloc : si la variable est déclarée dans un bloc (boucle while, condition

…), la variable ne sera valable que à l’intérieur du bloc• Niveau Procédure : si la variable est déclarée à l’intérieur d’une procédure ou

d’une fonction, elle ne sera accessible qu’à l’intérieur de cette procédure/fonction

• Niveau Module : la variable déclarée dans un module sera accessible uniquement à partir des éléments du modules (procédures, fonctions)

• Niveau projet : la variable est accessible à partir de tous les éléments du projet. Dans ce cas, il faut utiliser le mot clé « friend » à la place du mot « dim ».

Page 84: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Visibilité des variables

• En dehors de l’emplacement où est définie la variable, plusieurs mot clés sont disponibles pour agir sur la visibilité :– Public : tous les blocs de code peuvent accéder à la variable– Private : seul les éléments membres de la classe ou du module

peuvent y accéder

Dim i as integerPublic y as stringPrivate z as integer

Page 85: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les constantes

• Les constantes permettent de stocker une valeur en s’assurant qu’elle ne sera jamais modifiée. Const Nom_constante As DataType = valeur

Page 86: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les opérateurs arithmétiques

93 ^ 2Puissance^

19 mod 2Modulo (Reste de la division entière)Mod

49 \ 2Division entière\

48 / 2Division/

123 * 4Multiplication*

28 – 6Soustraction-

53 + 2Addition+

RésultatExempleDescriptionOpérateur

Page 87: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les opérateurs de comparaison

True‘’maison’’ like ‘’m*’’Egalité de chaîne de caractèresLike

True13 >= 7Supérieur ou égal> =

True9 <= 9Inférieur ou égal< =

False8 > 9Supérieur>

True-2 < 12Inférieur<

True3 < > 6Inégalité< >

False2 = 5Egalité=

RésultatExempleDescriptionOpérateur

Page 88: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les opérateurs logiques

Test2 sera évalué que si Test1 est faux

Test1 OrElse Test2Ou logique optimiséOrElse

Test2 sera évalué que si Test1 est True

Test1 AndAlso test2Et logique optimiséAndAlso

FalseNot trueNégationNot

FalseTrue Xor TrueOu exclusifXor

TrueTrue or FalseOu logiqueOr

FalseTrue and FalseEt logiqueAnd

RésultatExempleDescriptionOpérateur

Page 89: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les opérateurs de concaténation

La concaténation est l’union de deux chaînes. Deux opérateurs existent :

•Le plus « + » : dans ce cas, il faut que les deux membres de la concaténation soient de type chaîne de caractères.•L’éperluette « & » : dans ce cas, l’opérateur effectue une conversion implicite lorsque les deux membres ne sont pas des chaînes de caractères

Page 90: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Concaténation et conversion de type

• Concaténation :

• Conversion de type :

Page 91: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les tableaux

Déclaration obligatoire!!1- Taille connue à l’avance : Dim MonTableau(n) As IntegerDim MonTableau(11) As Integer (indices : de 0 à 11 => 12 éléments)2- Tableau dynamique : Dim MonTableau( ) As Integer3- Mes propres indices : Dim MonTableau(2 to 5) As Integer4- Taille fixée ultérieurement : Redim MonTableau(10)

Préserver les valeurs existantes :Redim Preserve MonTableau(11)

• Les Matrices (mêmes règles que les tableaux!)

Dim Mat(2,3) As Integer

Page 92: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Tableaux : exemple d’utilisation

Page 93: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Exemple avec InputBox

Page 94: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les structures

• Les tableaux permettent de regrouper des éléments de même type! • Les structures permettent de remédier à cette lacune des tableaux, en regroupant des objets (des variables) au sein d'une entité repérée par un seul nom de variable.

• La syntaxe :

Page 95: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les collections

Page 96: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les énumérations

Les énumérations permettent de définir un type de variable dont les valeurs appartiennent à un domaine précis.

Enum civiliteMonsieurMadameMademoiselle

End enum

Page 97: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les structures conditionnelles

L’alternative (si…..sinon…..)• SimpleIf (Conditions) Then

Liste d’instructionsEnd If• NormaleIf (Conditions) Then

Liste d’instructionsElse

Liste d’instructionsEnd If

• ImbriquéeIf (Conditions) Then

Liste d’instructionsElseif (Conditions) Then

Liste d’instructionsElseif (Conditions) Then

Liste d’instructionsElseListe d’instructionsEnd If

Page 98: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Dim note as integerNote = inputbox(‘’Veuillez saisir une

note’’)

Select case NoteCase is <= 10

Msgbox(‘’Examen échoué’’)

Case 11 to 19Msgbox(‘’Examen réussi’’)

Case 20

Msgbox(‘’Excellent, tout est juste’’)

Case else

Msgbox(‘’Note invalide’’)End Select

La structure de contrôle Select Casepermet d’effectuer un ensemble de test sur une seule valeur. Cette valeur peut-être le contenu d’une variable, le résultat d’un calcul ou d’une fonction.

Les structures conditionnelles

Page 99: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Validation des données

• La validation est une technique de programmation qui garantit aux utilisateurs des données valables : des règles métier. • La validation nécessite l’utilisation des expressions conditionnelles ou des fonctions booléennes qui permettent d'évaluer les valeurs des champs.

Page 100: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Error provider

Le contrôle ErrorProvider est utilisé pour avertir l'utilisateur que les données ont été saisies de façon incorrecte.

Page 101: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les structures répétitives

• Les Boucles

For x = a to b Step c Liste d’instructionsNext x

Exemple :For i = 1 to 10s = s + i

Next i

• Fin prématurée ( Exit For )

For i = 1 to 10If t(i) = c then

Trouvé = trueExit For

End if

Next i

Page 102: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

While (Conditions) Do While (condition de continuité)Liste d’instructions instructions

Wend Loop

Do Until (condition d’arrêt)instructions

Loop

• Les Boucles (test avant exécution)

Les structures répétitives

Page 103: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Doinstructions

Loop While (condition de continuité)

Doinstructions

Loop Until (condition d’arrêt)

• Les Boucles (test apès exécution)

Les structures répétitives

Page 104: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les procédures et fonctions

Dans une application Visual Basic, les instructions doivent obligatoirement figurer dans une procédure ou une fonction. Intérêts :

• Lisibilité du code• Modularité• Evolutivité

N.B. : Les fonctions sont des procédures retournant un résultat.

Page 105: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les procédures utilisateur

� Syntaxe:

[Public | Private] Sub NomProcedure([Liste arguments])

Instructions

End Sub

� Exemple

Private Sub Init( )Nom.Text = ""Prénom.Text = ""…

End Sub

� Appel

Call Init

Init

Page 106: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les fonctions

� Syntaxe:

[Public | Private] Function NomFonction([Liste arguments]) As Type

Instructions

NomFonction = expression

End Function

� Exemple

Function Racine (N As Double) As Double

If N < 0 Then ' Évalue l'argument.

Exit Function ' Quitte

Else ' Renvoie la racine carrée.

Racine = Sqr(N)

End If

End Function

Page 107: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Transmission des paramètres

Passage par valeurC’est le mode de passage de paramètre par défaut : lors du passage par valeur, seule la valeur du paramètre est passé à la procédure.

Sub main()Dim nom as string = ‘’toto’’Afficher(nom)

End sub

Sub afficher(byval enom as string)Msgbox(enom)

End sub

Page 108: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Transmission des paramètres

Passage par référenceDans le cas d’un passage par référence, ce n’est pas la valeur du paramètre qui est passé mais l’adresse de la variable contenant la valeur

Sub main()Dim nom as string = ‘’toto’’Modifier(nom)Msgbox(nom) ‘affiche titi

End sub

Sub modifier(byref enom as string)Enom = ‘’titi’’

End sub

Page 109: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les fonctions intégrées : sur chaînes de caractères

TARTANPIONCh.toUpperMet la chaîne en majuscule.ToUpper()

TartanpionCh.tolowerMet la chaîne en minuscule.ToLower()

AnpCh.SubString(4,2)Retourne la sous chaîne à partir de la position Debut sur 1 longueur de n caractères

.SubString(Debut, n)

TrueCh.StartWith(‘’tar’’)Retourne un booléen spécifiant si la chaîne commence par debut

.StartWith(debut)

TRtNpion

Ch.Split(‘’a’’)Découpe une chaîne selon séparateur et retourne un tableau

.Split(Séparateur)

TartipionCh.replace(‘’an’’, ‘’i’’)Remplace les occurrences de recherche par remplace

.Replace(recherche, remplace)

TanpionCh.remove(2,3)Supprime les caractères de la chaîne à partir de l’indice début sur une longueur de nombre

.Remove(debut, nombre)

TartanpionsssssCh.PadLeft(15,’’s’’)Identique mais à droite.PadRight(nb, remplissage)

SsssstartanpionCh.PadLeft(15,’’s’’)Formate la chaîne sur nb caractères en remplissant les espaces vides à gauche avec remplissage

.PadLeft(nb, remplissage)

10Ch.lengthRetourne le nombre de caractère de la chaîne.Length

TatartanpionCh.Insert(2,’’ta’’)Insère chaine à la position indice.Insert(Indice, chaine)

6Ch.IndexOf(‘’p’’)Retourne l’indice de la première occurrence de caractère à partir de la position début

.IndexOf(Caractère, debut)

‘’r’’Ch.Chars(2)Retourne le caractère à l’indice Index.Chars(Index)

RésultatExempleDescriptionMéthode

Dim ch as string = ‘’tartanpion’’

Page 110: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les fonctions intégrées : sur les nombres

8.abs(-8)Retourne la valeur absolue de n.abs(n)

8.pow(2,3)Retourne n à la puissance p.Pow(n, p)

4.Ceiling(3.25)Retourne le nombre entier juste supérieur.Ceiling(n)

3.Floor(3.25)Tronque la valeur.Floor(n)

RésultatExempleDescriptionFonction

Page 111: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Les fonctions intégrées : sur les dates

16d.hourRetourne la valeur de heure.Hour

00d.minuteRetourne la valeur de minute.Minute

31d.DaysInMonth(1,2003)Nombre de jour pour le mois m de l’année y

.DaysInMonth(y, m)

341d.DayOfYearJour de l’année.DayOfYear

6d.DayOfWeekJour de la semaine.DayOfWeek

12d.dayJour du mois.Day

#12/07/2004 16:00#d.addyears(1)Ajoute n années à la date.addYears(n)

d.addSeconds(1)Ajoute n secondes à la date.addSeconds(n)

#12/07/2003 16:01#d.addMinutes(1)Ajoute n minutes à la date.addMinutes(n)

#12/07/2003 17:00#d.addHours(1)Ajoute n heures à la date.addHours(n)

#13/07/2003 16:00#d.addDay(1)Ajoute n jours à la date.addDay(n)

#12/09/2003 16 :00#d.addmonths(2)Ajoute n mois à la date.addmonths(n)

RésultatExempleDescriptionMéthodes

Dim d as datetime = #12/07/2003 16:00#

Page 112: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

dim t() as integer = {1,9,4,3}

Les fonctions intégrées : sur les tableaux

3t.GetUpperBound(0)Retourne l’indice de l’élément le plus grand dans la dimension spécifiée

.GetUpperBound(d)

1,3,4,9t.Sort(t)Trie les éléments de tab.Sort(tab)

3,4,9,1t.reverse(t)Inverse les éléments de tab.Reverse(tab)

4t.lengthRetourne la taille du tableau.Length

RésultatExempleDescriptionMéthodes

Page 113: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Fonctions de conversion

StringCstr

EntierCint

DoubleCDbl

DateCdate

BooléenCbool

Type de données retournéFonction

Page 114: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Fonction de formatage :Caractères de formatage pour les numériques

Caractère d’échappement\

Séparateur de milliers,

Décimal.

Affiche le chiffre ou rien#

Affiche le chiffre ou 00

DescriptionCaractère

Formats prédéfinis par l’utilisateur

•Les fonctions de formatage permettent une représentation différentes des données numériques ou dates mais ne sont pas utilisée pour des conversion de types. •Une seule fonction est utilisée en Vb : la fonction format.

Page 115: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Fonction de formatage :Caractères de formatage pour les numériques

Dim nb as double = 12.263Msgbox (format(nb, ‘’000,000.00’’)) ‘affiche 000 012.26Msgbox (format(nb, ‘’ ###.##’’)) ‘affiche 12,26Msgbox (format(nb, ‘’résultat\ : ###,###.##’’)) ‘affiche résultat : 12.26

Page 116: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Fonction de formatage :Caractères de formatage pour les dates

Seconde sur 2 chiffresss

Seconde sans zéro significatifs

Minute sur 2 chiffresmm

Minute sans zéro significatifm

Heure sur 2 chiffreshh

Heure sans zéro significatifh

Affiche l’ère (A.D)gg

Mois sous la forme de nom completMMMM

Mois sous la forme abrégée (ex : Juil)MMM

Mois sur 2 chiffresMM

Mois sans zéro non significatifM

Jour sous la forme du nom complet (ex : Lundi)dddd

Jour sous la forme d’abbréviation (ex : Lun)ddd

Jour sur 2 chiffresdd

Jour sans zéro non significatifd

Séparateur de date/

Séparateur d’heures:

DescriptionCaractère

Page 117: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

Bases du langage VB .net

Fonction de formatage :Caractères de formatage pour les dates

Dim madate as datetime = #12/07/2002 15 :30#Msgbox(format(madate, ‘’M/d/yy‘’)) ‘affiche 12/7/02Msgbox(format(madate, ‘’d-MMMM-yyyy‘’)) ‘affiche 12-Juillet-2002Msgbox(format(madate, ‘’ddd d MMM yy‘’)) ‘Lun 12 Juil 02

Page 118: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Introduction

L’accès aux données dans le développement d’applications est une étape fondamentale Il existait plusieurs méthodes d’accès aux données : DAO, RDO, ADO. Dans la nouvelle mouture seule la technologie ADO .Net est gardé. Elle permet un accès à différentes sources de données par l’intermédiaire de fournisseurs OLE DB. La grande force de cette technologie est qu’elle permet une manipulation identique quelque soit la source de données (en dehors des paramètres de connexion).

Page 119: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Introduction

Nouvelles fonctionnalités :• Gestion des données en mode déconnecté : les DataSet et DataAdapter• Mise à disposition de classe dépendante de la source de données afin d’optimiser les traitement et ainsi éviter les couches successives• Intégration du format XML pour l’échange et le rapatriement de données

Page 120: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Introduction

l’ADO est un ensemble de classe mettant à disposition les objets, méthodes et évènements nécessaire à l’interfaçage avec une base de données. Ces classes sont disponibles dans plusieurs espaces de nom :

Contient les objets associés au fournisseurs Sql Server .NetSystem.Data.SqlClient

Contient les objets associés au fournisseurs OLEDB .NetSystem.Data.OleDB

Contient les classes de base pour plusieurs objets des autres espaces de nomsSystem.data.Common

Contient les objets ADO n’appartenant pas à un fournisseur spécifique (DataSet, DataTable …)

System.Data

DescriptionEspace de noms

Page 121: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Mode connecté et déconnecté

Mode connectéOn parle de mode connecté lorsque l’application client à un accès direct à la source de données. Ce mode est utilisé pour les applications « résidante » au sein d’une entreprise dans laquelle la base de données est toujours accessible.

Dans ce mode, vous utiliserez les objets suivants :Connection : permet d’établir une connexion avec la source de donnéesCommand : cet objet permet d’exécuter des traitements où de modifier / lire des données sur la sourceDataReader : permet de parcourir un ensemble d’enregistrement récupéré

Page 122: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Mode connecté et déconnecté

Mode déconnectéLe mode déconnecté est une nouveauté de l’ADO .Net. Ce mode permet de travailler sur des données sans avoir un accès direct et permanent à la base. Il est principalement utilisé pour les applications « nomades » qui ne disposent pas toujours d’un accès à la source de données comme par exemple, les portables des commerciaux dans une société.

Dans cette configuration, le traitement des données se fait en 3 étapes :• Récupération des données à partir de la source• Modification des données en mode déconnecté• Intégration des données modifiées à la source avec, le cas échéant, résolution des conflits (généralement les contraintes d’intégrité)

Page 123: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Mode connecté et déconnecté

Mode déconnecté

Si vous utilisez le mode déconnecté, vous disposerez des objets suivants :DataSet : jeu de données DataAdapter : classe permettant la fusion entre un jeu de données et la source

Page 124: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

Les fournisseurs d’accès

Mode déconnecté

Les fournisseurs d’accès permettent la communication avec une source de données. En fonction des sources de données, le provider sera différent. Il existe 3 types de Providers en ADO.Net :

• Les fournisseurs ODBC permettant de se connecter aux sources ODBC• Le fournisseur OLE DB (permettant de se connecter à toutes les sources ayant un provider OLE Db). Voir http://www.able-consulting.com/MDAC/ADO/Connection/OLEDB_Providers.htm pour plus d’informations• Les fournisseurs natifs (Pour Sql Server ou Oracle)

Page 125: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection

L’objet connection constitue la première étape dans l’accès aux données : elle permet de se connecter à la source et de connaître le niveau de sécurité et les différents droits de l’utilisateur sur la source.En fonction du type de fournisseur choisi, la création de l’objet Connectiondifférera :

Sqlclient.SQLconnectionSQL Server

OLEDB.oledbConnectionOLEDB

Odbc.OdbcConnectionODBC

ClasseFournisseur

Page 126: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection

L’exemple suivant crèe 3 connexions en fonction du fournisseur :

Dim cn_oledb As New OleDb.OleDbConnectionDim cn_odbc As New Odbc.OdbcConnectionDim cn_sql As New SqlClient.SqlConnection

Page 127: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection : Propriétés

Emplacement de la base de donnéesDataSource

Fournisseur utiliséProvider

Etat de la connexion (Closed, connecting, Open, Executing, Fetching, Broken)State

Délai en seconde maximum pour l’établissement de la connexionConnectionTimeOut

Chaîne utilisée pour la connexionConnectionString

DescriptionPropriété

Page 128: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection : exemple

Dim cn As New OleDb.OleDbConnectioncn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\...\bookstore.mdb;"cn.Open()Select Case cn.State.ToString

Case "Open"MsgBox("Ouvert")

Case "Broken"MsgBox("Interrompue")

Case "Closed"MsgBox("Fermée")

Case "Connecting"MsgBox("En cours de connexion")

Case "Executing"MsgBox("En exécution")

Case "Fetching"MsgBox("Extraction de données")

End Selectcn.Close()

Page 129: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection : Méthodes

Crée un objet CommandCreateCommand

Débute une transaction avec un niveau d’isolationBeginTransaction

Ferme la connexion et libère les ressourcesClose

Ouvre la connexionOpen

DescriptionMéthode

Page 130: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection : Méthodes

Déclenché lorsque la BD envoie un messageInfoMessage

Déclenché lors du changement de la propriété StateStateChange

DescriptionEvénement

Page 131: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Connection : exemple 2

L’exemple suivant permet d’afficher un message lorsque la connexion se ferme :Dim WithEvents cn as new OleDb.OleDbConnection

Private sub cn_State_change(byval sender as Object, ByVal e as System.Data.StateChangeEventArgs) handles cn.StateC hange

If (e.CurrentState = ConnectionState.closed) thenMsgBox("Connexion fermée ! ")

End ifEnd sub

Page 132: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Commande

Une fois la connexion établie avec la source de données, vous devez communiquer avec cette dernière pour gérer vos traitements. Trois types de traitements peuvent être effectués :

• Requête de sélection pour extraire des informations• Requête d’exécution• Procédures stockées (scripts stockés sur le serveur)

NB : Lors de la création d’un objet commande, vous devez définir le type d’opération qu’il devra réaliser ainsi que la connexion à laquelle il est rattaché.

Page 133: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Commande : propriétés

Collection de paramètres à envoyer avec la commandeParameters

Nombre de seconde pour l’exécution de la commandeCommandTimeOut

Objet transaction liéTransaction

Connexion liée à la commandeConnection

Type de la commande (requête, table, procédure)CommandType

Texte SQL de la requête ou nom de la procédure stockéeCommandtext

DescriptionPropriété

Page 134: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Commande : méthodes

Exécute la requête de sélection et retourne un objet de type XmlReaderExecuteXMLReader

Crèe un objet paramètreCreateParameter

Exécute la requête et retourne la valeur scalaire (1ère ligne, 1èrecolonne)ExecuteScalar

Exécute la requête de sélection et retourne un objet de type DataReaderExecuteReader

Exécute la requête d’action et retourne le nombre de ligne affectéesExecuteNonQuery

Annule l’exécution de la commandeCancel

DescriptionMéthode

Page 135: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Commande : exemple 1

L’exemple suivant permet de modifier les enregistrements d’une table et d’afficher le nombre d’enregistrement modifiés ( Le nombre d’auteurs en commentaire) :

Dim com_sql As New OleDb.OleDbCommand

com_sql.Connection = cncom_sql.CommandType = CommandType.Textcom_sql.CommandText = "update Authors set AuthLast = ' imade'

where AuthID = 53"MsgBox(com_sql.ExecuteNonQuery)

‘com_sql.CommandText = "select count(*) from Authors "‘MsgBox(com_sql.ExecuteScalar)

Page 136: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet Commande : Exemple 2

Dim com_sql As New SqlClient.SqlCommandDim dr_sql As SqlClient.SqlDataReader

com_sql.Connection = cn_sqlcom_sql.CommandType = CommandType.Textcom_sql.CommandText = "select * from STAGIAIRE"dr_sql = com_sql.ExecuteReader

L’exemple suivant permet de récupérer le résultat d’une requête :

Page 137: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet DataReader

De manière générale, il existe deux types de résultat pour un objet command : soit il retourne un seul résultat (c’est le cas lorsque vous utilisez les méthodes ExecuteScalar ou ExecuteNonQuery), soit il retourne un ensemble d’enregistrements (méthode ExecuteReader).

L’objet DataReader permet de lire (seulement en avant) les enregistrements issus d’une requête.

Page 138: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet DataReader : Propriété

Nombre de ligne affectée lors d’une opération en Transact SQLRecordsAffected

Détermine si le DataReader comporte 1 ou plusieurs lignesHasRows

Nombre de champs (colonne)FieldCount

DescriptionPropriété

Page 139: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet DataReader : méthodes

Retourne le type du champs à l’indice « i »GetType(i)

Retourne le nom du champs à l’indice « i »GetName(i)

Retourne la valeur du champs à l’indice « i »GetValue(i)

Avance au prochain enregistrementRead

Ferme le DataReader et remplit les paramètres de retourClose

DescriptionMéthode

Page 140: Cours Visual Basic INSEA

Pr. Imade BENELALLAM Environnement de développement graphique

ActiveX Data Object .Net

L’objet DataReader : Exemple 1

If dr_sql.HasRows = 0 ThenMsgBox("Aucun enregistrement")

ElseDim contenu As String = "Résulrats de la requet SQL" & vbCrDim i As IntegerDo While dr_sql.Read

For i = 0 To dr_sql.FieldCount - 1contenu &= dr_sql.GetValue(i) & vbTab

Nextcontenu &= vbCr

LoopMsgBox(contenu)

End If

L’exemple suivant affiche tous les enregistrement du datareader en séparant chaque champs par