cours visual basic insea
TRANSCRIPT
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
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
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
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
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
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 ?
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 ?
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
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
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
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
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
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.
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‘
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
Pr. Imade BENELALLAM Environnement de développement graphique
Il faut choisir 'Application Windows Forms' ou 'Application WPF'.
Nouveau projet
Environnement Visual Studio .net
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Pr. Imade BENELALLAM Environnement de développement graphique
Applications Windows Interface Utilisateur
TP 0 : Programmation événementielle
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.
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
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.
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
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
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
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
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
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
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é
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
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é
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é
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
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 ».
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
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.
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 ».
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é
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.
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
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.
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.
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.
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.
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
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
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 ».
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é :
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
Pr. Imade BENELALLAM Environnement de développement graphique
Bases du langage VB .net
Structure de code : Régions
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.
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
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
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
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
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 ».
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
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
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
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
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
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
Pr. Imade BENELALLAM Environnement de développement graphique
Bases du langage VB .net
Concaténation et conversion de type
• Concaténation :
• Conversion de type :
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
Pr. Imade BENELALLAM Environnement de développement graphique
Bases du langage VB .net
Tableaux : exemple d’utilisation
Pr. Imade BENELALLAM Environnement de développement graphique
Bases du langage VB .net
Exemple avec InputBox
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 :
Pr. Imade BENELALLAM Environnement de développement graphique
Bases du langage VB .net
Les collections
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
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
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
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.
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.
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
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
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
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.
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
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
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
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
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’’
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
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#
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
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
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.
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
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
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
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).
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
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
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é
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é)
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
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)
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
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
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é
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()
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
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
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
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é.
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é
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
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)
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 :
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.
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é
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
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