Documente Academic
Documente Profesional
Documente Cultură
Objectives
tudier comment dvelopper une application Windows Comprendre les principes de base de lergonomie du logiciel et des Interfaces Homme Machine. Comprendre les principes de base de la programmation en Visual Basic. tudier comment raliser des applications base des rfrentielles de Base de Donnes.
Pr-requis
Cours pour dbutant Connaissances en programmation : nant Connaissances sur les BD : conception Connaissances sur le langage SQL Connaissance du logiciel Access.
valuation
60 % : Contrle final. 40 % : Contrle continu. un mini projet : Dveloppement dune application de gestion. une note de participation incluant lassiduit, la prise de notes et la ralisation des TPs et devoirs.
Sommaire
Introduction Environnement Visual Studio .net Applications Windows : Interface Utilisateur Bases du langage : VB .net Programmation Objet : Les classes en VB Fonctionnalits avances Accs aux bases de donnes : ADO .net Applications Web : ASP .net
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Introduction
La programmation ?
Quest-ce que la programmation ? Squences dinstructions qui permettent de donnes des ordres un ordinateur A quoi cela sert-elle ? Dvelopper des applications, automatiser des tches rcurrentes, effectuer des calculs complexes Quelques langages de programmation C, C++, JAVA, (Visual) Basic, Perl, PHP, Cobol, Forth
Introduction
Quel choix ?
Diffrences principales entre les langages La structure : lexique, syntaxe, smantique Le style : Langages squentiels, langages orient-objet La compilation : Langages interprts, langages excuts Langages spcialement adapts A Internet (pages web): PHP, Perl, JAVA Aux simulations: Matlab Aux programmes ncessitant une grande vitesse: C, C++ Aux applications graphiques et bureautiques: VB
Introduction
Dmarche de dveloppement
Cest une approche partant de l'abstraction du problme vers sa ralisation concrte. 1. Spcification du problme : quel est le problme ? 2. Conception abstraite : dmarche de rflexion permettant de dterminer les donnes et les rsultats du problme. 3. Conception algorithmique : dfinitions lexicales des lments utiliss, et ordonnancement des traitements. 4. Codification : traduction dans un ou ses langages de programmation. 5. Tests applicatifs : mise en oeuvre d'un chantillon reprsentatif de donnes pour valider l'application. 6. Maintenance : correction, volution, optimisation, scurisation.
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Introduction
Visual Basic .net : Introduction
Introduction
Visual Basic (VB) ou VBA ou VBScript
La terminologie autour de Visual Basic peut mener une certaine ambiguit. VB = Visual Basic Langage de programmation intgr dans Visual Studio pour faire des applications indpendantes 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).
Introduction
VB : Historique
Version 1.0 3.0 4.0 Nouveauts Sortie en 91, Visual Basic innove en particulier grce son environnement de dveloppement permettant de masquer les tches fastidieuse Evolution du langage, apparition de nouvelles fonction et de structures de contrle (select case) Sorti en 96, la version 4.0 marque une tape importante dans lvolution du langage : -Cration dapplication 32 bits -Cration et utilisation de DLL -Apparition des fonctionnalits Objet (Classes) Disparition des applications 16 bits et stabilit accrue du langage Peu dvolution sur le langage mais apparition de la technologie ADO (remplaante de DAO et RDO) et des outils de connexion aux sources de donnes (DataEnvironment) Llment principal de linfrastructure .NET est le CLR (Common Language Runtime), permettant lutilisateur dinteragir avec le systme en utilisant nimporte quel langage .Net (Vb, C++, C#).
Introduction
VB : Avantages et Inconvnients
Avantages Simplicit Disponible dans MS Office Accs toutes les fonctions de Windows Systmes de fentres, botes de dialogue, API Inconvnients Pas trs rapide Dpend beaucoup des versions utilises de Windows et MS Office Cher si on veut tre en rgle
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Introduction
VB : Installation A linstar de la version 6.0, dvelopper en VB .Net requiert une configuration machine beaucoup plus importante.
Config. Minimale Processeur Mmoire Vive (Ram) Espace Disque libre Carte Vido Lecteur CD Rom Systme dexploitation P3 733 Mhz 256 Mo 3 Gb 800x600, 256 Couleurs Obligatoire Windows 2000 Windows NT 4.0 Windows XP .
C'est l'Integrated Development Environment (IDE): Environnement de dveloppement intgr de Visual Basic Il permet de dessiner l'interface (les fentres, les boutons, List, Image...) et d'crire le code VB. En tant que utilisateur Outlook et dans le cadre de laccord MS Academic Alliance, il est possible d'utiliser ldition Express gratuitement, par fois mme des fins commerciales (mais avec des fonctionnalits limites). 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 dveloppement graphique
Principaux Types de projets Visual Basic Application Windows Bibliothque de classe Bibliothque de contrle Windows Application Smart Device Application Web ASP.Net Application console
Pour chaque projet, un ensemble de proprits sont configurables. Pour accder aux proprits dun projet, clic droit sur le projet dans lexplorateur de solution et Proprits.
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 fentres, contrles..
Elle contient le code en Visual Basic : dans l'explorateur de solution droite, cliquer sur Form1.vb puis sur l'icne 'Afficher le code'
Lexplorateur de solutions rfrence lensemble des lments des Projets ( fichiers, feuilles, classes). Une solution contient 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 ressources Il est possible de crer un projet soit Directement dans une solution ouverte soit dans une nouvelle solution
La fentre liste derreurs permet de recenser lensemble des erreurs corriger sur votre projet.
Applications Windows
Interface Utilisateur
Les formulaires Windows Un formulaire est un objet. Les formulaires sont les lments de base des applications graphiques Windows. Le FrameWork Visual Basic .Net permet la cration de formulaires Windows afin dtablir des interfaces graphiques entre lutilisateur et le code. Ces formulaires sont des fentre qui contiendront des contrles (Champs texte, boutons, liste droulantes .).
Applications Windows
Interface Utilisateur
Les formulaires Windows
Il existe deux solutions pour la cration de formulaires sous le FrameWork .Net : Windows Forms : Sont utiliss pour le dveloppement dapplications pour lesquelles la plupart des traitements se font sur la machine cliente. Web forms : Les applications base de Web Forms sont destins tre utilises sur le Web par le biais dun navigateur. Un formulaire est caractris par trois lments : Les proprits Les mthodes Les vnements
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Applications Windows
Interface Utilisateur
Mode de prsentation
En fonction de lapplication raliser, plusieurs modes de prsentation des feuilles peuvent tre utiliss : Mono document : Ce genre dapplication appele SDI (Single Document Interface) ne permet laffichage que dune fentre la fois. Multi document : Les applications MDI (Multiple Document Interface) sont constitues dune fentre principale (Fentre mre) contenant son tour plusieurs documents (fentre fille). Explorateur : Cest le mode de prsentation le plus utilis. Il permet un affichage hirarchique des menus sur la partie gauche et laffichage des lments sous forme de liste sur la partie droite.
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Applications Windows
Interface Utilisateur
Proprits des formulaires
Applications Windows
Interface Utilisateur
Proprits des formulaires
AcceptButton : Lorsque lutilisateur appuie sur la touche entre, la mthode lie lvnement click du bouton dacceptation sera automatiquement dclenche. Gnralement, cest le bouton ok ou sauvegard qui est paramtr comme AcceptButton. AllowDrop : Spcifie si le formulaire gre le Drag and Drop (Glisser dpos). AutoScale : Si cette option est active, la taille des contrles et du formulaire sont automatiquement redimensionns lors dun changement dynamique de la police dcran.
Applications Windows
Interface Utilisateur
Proprits des formulaires
AutoScroll : Loption AutoScroll est une nouveaut de la version .Net : elle permet de placer automatiquement des barres de dfilement lorsque la taille du formulaire ne permet pas laffichage de tous les contrles quil contient.
Applications Windows
Interface Utilisateur
Proprits des formulaires
BackColor : La proprit backColor dfinit la couleur de fond du formulaire. BackgroundImage : Il est possible de dfinir une image comme fond pour le formulaire. Limage sera automatiquement rpte en mosaique. CancelButton : Le bouton dannulation ralise lopration inverse du bouton dacceptation. Il permet de dclencher lvnement click dun bouton du formulaire lorsque lutilisateur appuie sur touche escape.
Applications Windows
Interface Utilisateur
Proprits des formulaires
ControlBox : La proprit ControlBox dfinit si le menu systme apparat au niveau de la barre de titre du formulaire :
Le menu systme peut galement tre modifi avec les proprits MinimizeBox , MaximizeBox et HelpButton .
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Applications Windows
Interface Utilisateur
Proprits des formulaires
Cursor : Dfinit lapparence par dfaut du curseur sur le formulaire. Cette option peut galement tre paramtre au niveau des contrles.
Applications Windows
Interface Utilisateur
Proprits des formulaires
Enabled : Dfinit si le formulaire est disponible (True) ou non (False). Dans ce dernier cas, aucun des contrles et menus du formulaires ne seront accessibles (griss). Font : Cette proprit dfinit les paramtres de formatage du texte. Cette proprit sera automatiquement applique par dfaut au texte des diffrents contrles. ForeColor : Couleur daffichage par dfaut pour les textes et graphismes du formulaire. HelpButton : Affiche le bouton daide gauche de la barre de titre. Attention, le bouton ne sera pas affich si les boutons min et max sont activs.
Applications Windows
Interface Utilisateur
Proprits des formulaires
Fixed3d FixedDialog
Non Non
Applications Windows
Interface Utilisateur
Proprits des formulaires
Icon : Dfinit licne lie au formulaire : cette dernire apparat dans la barre de titre.
IsMDIContainer : Dtermine si le formulaire est un conteneur MDI, cest dire sil est capable de contenir dautre fentres.
Applications Windows
Interface Utilisateur
Proprits des formulaires
Location : Cette objet dfini la position du formulaire par rapport son conteneur (cest dire lcran ou le formulaire parent dans le cas dapplication 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
Proprits des formulaires
Locked: Dtermine si le formulaire est verrouill ou non : cette proprit est identique enabled mais elle ne grise pas lapparence du formulaire. MinimizeBox, MaximizeBox : Dtermine si les boutons Agrandir et Rduire sont visibles. Leur affichage empchera laffichage du bouton daide.
MinimumSize, MaximumSize : Cet objet dfinit la taille minimale et maximale que peut avoir le formulaire. Cet objet est gnralement utilis pour viter que lutilisateur rduise la fentre au point de ne plus avoir accs aux contrles. Pour chaque objet, deux proprit sont disponibles : width (largeur) et height (hauteur).
Applications Windows
Interface Utilisateur
Proprits des formulaires
Opacity : Dfinit un pourcentage dopacit pour la fentre. Une valeur de 100% rend la fentre opaque. (Exemple avec 65%)
ShowInTaskBar : Dtermine si un nouveau bouton est ajout dans la barre des tches lorsque la fentre est ouverte :
Applications Windows
Interface Utilisateur
Proprits des formulaires
Size : Cet objet dfinit la taille du formulaire laide de deux proprits : width (largeur) et height (hauteur). Startposition : Dfinit la position de dpart lorsque la fentre est ouverte. Text : Dtermine le texte affich dans la barre de titre
TopMost : Si cette option est active (true) le formulaire sera toujours au dessus de tous les autres formulaires, mme sil nest pas activ. Cette option se prte particulirement bien pour les botes outils qui doivent toujours rester accessibles.
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Applications Windows
Interface Utilisateur
Proprits des formulaires
TransparencyKey : Cette proprit dfinit la couleur de transparence du formulaire : si vous spcifiez la couleur jaune en tant que TransparencyKey, toutes les zones du formulaire jaune seront transparentes :
Applications Windows
Interface Utilisateur
Mthodes des formulaires
Activate : La mthode 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, cest dire quau niveau de lapplication, la fentre restera au premier plan tant quelle nest pas ferme.
Applications Windows
Interface Utilisateur
vnements des formulaires
Les vnements correspondent au cycle de vie de lobjet formulaire. Ils sont lists dans lordre chronologique. New : Lobjet formulaire est en cours de cration Load : Le formulaire ainsi que ses composants sont chargs mais il nest pas visible. Paint : Se produit lorsque le formulaire est redessin. Cet vnement peut apparatre plusieurs fois : par exemple au dmarrage et lorsque le formulaire rapparait devant un autre. Activated : Le formulaire rcupre le focus. Deactivate : Le formulaire perd le focus Closing : Le formulaire est en cours de fermeture, les diffrents lments le composant sont dtruits. Le formulaire est cependant encore visible. Closed : Le formulaire est ferm et maintenant invisible.
Applications Windows
Interface Utilisateur
vnements des formulaires
Dispose : Lobjet formulaire est dtruit. Resize : Cet vnement survient lorsque le formulaire est redimensionn. Gnralement utilis pour modifier la taille des contrles le composant. Click : Lutilisateur clique sur le fond du formulaire DoubleClick : Lutilisateur double clique sur le fond du formulaire
Applications Windows
Interface Utilisateur
TP 0 : Programmation vnementielle
Applications Windows
Interface Utilisateur
TP 1 : Jetchamp Sport
Scnario : Vous tes un programmeur Visual Basic .net avec JetChamp Sport, une grande chane 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 dvelopper un formulaire de Bon de commande qui sera utilis pour commander des produits auprs de fournisseurs de JetChamp. Voire le fichier de ressources (TP1.pdf) pour suivre les tapes.
Applications Windows
Interface Utilisateur
Les contrles
Les contrles permettent de crer linterface entre lutilisateur et notre application. Les contrles permettent de saisir des donnes, effectuer des slection et dclencher des actions par lintermdiaires des vnements.
Applications Windows
Interface Utilisateur
Les contrles
Les contrles sont des objets graphiques placs visiblement sur le formulaire. Certains contrles offrant des fonctionnalits de programmation napparatront pas sur le formulaire.
Contrle graphique
Contrle masqu
Applications Windows
Interface Utilisateur
proprits des contrles
Name : Nom du contrle. Ce nom ne comporter que des lettres et le caractre underscore _ . Anchor : Les ancres permettent de modifier automatiquement la taille dun contrle lors du redimensionnement dun formulaire. Chaque contrle possde sa propre ancre
Applications Windows
Interface Utilisateur
proprits des contrles
CanFocus : Boolen spcifiant si le contrle peut recevoir le focus. CanSelect : Boolen spcifiant si le contrle peut tre slectionn. Dock : la proprit Dock permet dancrer un contrle un bord du conteneur. Dans lexemple suivant, le bouton est ancr en bas :
Applications Windows
Interface Utilisateur
proprits des contrles
Enabled : Cette proprit est une valeur boolenne spcifiant si le contrle est accessible ou non. Dans le second cas, le contrle apparatra gris. Location : La proprit Location est un objet permettant de dfinir lemplacement du contrle par rapport son conteneur. Il est compos de deux proprits (X et Y) qui dfinissent ses coordonnes par rapport au coin suprieur gauche du conteneur. Locked : Contrairement la version prcdente, cette proprit ne bloque pas le contrle lors de lexcution mais lors de la conception.
Applications Windows
Interface Utilisateur
proprits des contrles
Size : Cet objet permet de dfinir la taille du contrle. Il est compos de deux proprits, width (largeur) et height (hauteur). TabIndex : Indice dfinissant lordre de tabulation du contrle par rapport son conteneur. Text : Cet proprit rfrence le texte contenu ou affich dans un contrle (Par exemple, le texte affich sur un bouton). Visible : Cet proprit dtermine si le contrle est visible lors de lexcution. Attention, aucun changement nest visible lors de la conception
Applications Windows
Interface Utilisateur
Mthodes et vnements des contrles
Mthode Focus Description Donne le focus au contrle Evnements Click DoubleClick Enter GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown MouseUp MouseMove MouseWheel Resize Description Activ lors du clic sur le contrle Activ lors du double clic sur le contrle Activ lorsque lutilisateur entre sur le contrle Activ lorsque le contrle reoit le focus Touche enfonce Touche enfonce et relache Touche relache Activ lorsque le contrle perd le focus Bouton souris enfonc Bouton souris relach Souris dplace sur le contrle Dplacement de la roulette Dclench lorsque le contrle est redimensionn
Applications Windows
Interface Utilisateur
Les principaux contrles : TextBox
Le contrle TextBox est certainement le contrle le plus utilis : il permet de saisir des chanes de caractre de 2000 32 000 caractres en fonction de la configuration.
Applications Windows
Interface Utilisateur
Les principaux contrles : TextBox
Proprit CanFocus CharacterCasing Focused ForeColor HideSelection Lines MaxLength Modified MultiLine PasswordChar Readonly Scrollbars Selectionlength SelectionStart Text TextLength Pr. Imade BENELALLAM Description Dtermine si le contrle peut recevoir le focus Dtermine la casse du texte : majuscules (upper) ou minuscules (lower) Indique si le contrle dtient le focus Couleur du texte Dfinit si le contrle masque la slection lorsquil perd le focus Tableau correspondant aux lignes du contrle Nombre de caractres maximum du contrle Spcifie si le contenu du champs a t modifi depuis sa cration Dfinit si le contrle est multi lignes Dfinit le caractre servant masquer un mot de passe Contenu du champs en lecture seule Affiche ou masque les barres de dfilement Longueur de la slection Indice de dbut de la slection dans le champs Contenu du champs Longueur du texte dans le contrle Environnement de dveloppement graphique
Applications Windows
Interface Utilisateur
Les principaux contrles : TextBox
Mthode Clear Copy / Cut Focus ResetText Efface le contenu du champs texte
Description
Copie / coupe la slection dans le presse papier Donne le focus au contrle Rtabli la valeur initiale du champs
Description
Applications Windows
Interface Utilisateur
Les principaux contrles : Label
Le contrle label est utilis pour afficher du texte qui ne sera pas ditable par lutilisateur. Il est gnralement utilis pour afficher le rle des diffrents contrles.
Proprit BorderStyle AutoSize Text Style de bordure Le contrle sadapte la taille du texte Contenu du label
Description
Applications Windows
Interface Utilisateur
Les principaux contrles : CheckBox
Le contrle Checkbox (Case cocher) est utilis pour proposer plusieurs options lutilisateur parmi lesquelles il pourra effectuer plusieurs choix.
Description Valeur boolenne indiquant si la case est coche ou non Retourne ou modifie la valeur de la case cocher en grant le 3me mode (gris). En standard, une case coche peut tre coche ou non. Il existe cependant un 3me tat Indtermin permettant de gris la case. Cette proprit permet dactiver ce 3me tat. Alignement de la case cocher par rapport au contrle Texte associ au contrle
Applications Windows
Interface Utilisateur
Les principaux contrles : CheckBox
Description Se produit lorsque la proprit Checked change Se produit lorsque la proprit CheckState change
Applications Windows
Interface Utilisateur
Les principaux contrles : RadioButton
Contrairement aux cases cocher, les boutons radio permettent lutilisateur deffectuer un seul choix parmi plusieurs options. Cette dernire contrainte impose donc quil ny ait jamais deux boutons cochs en mme temps : Visual basic soccupe de faire basculer ltat des boutons pour les boutons prsents dans le mme conteneur. Dans lexemple suivant, cest le formulaire qui est conteneur. Nous verrons plus loin les conteneurs GroupBox et Panel .
Applications Windows
Interface Utilisateur
Les principaux contrles : GroupBox et Panel
Au mme titre quun formulaire, les contrles GroupBox et Panel sont des conteneurs, cest dire quil contiennent eux mme dautres contrles. Ces contrles prsentent deux intrts majeurs :
Regrouper de manire logique des contrles afin de les isoler (pour les boutons radio par exemple) Faciliter le placement de plusieurs contrles car en modifiant la position du conteneur, vous modifiez la position de tous les contrles contenus
GroupBox
Panel
Applications Windows
Interface Utilisateur
Les principaux contrles : Button et ListBox
Le contrle button est principalement utilis pour dclencher une action lors du clic. Le contrle ListBox permet laffichage dune liste de choix, gnralement des chanes de caractres, dans laquelle lutilisateur pour effectuer un ou plusieurs choix.
Applications Windows
Interface Utilisateur
Les principaux contrles : ComboBox et Splitter
Le contrle ComboBox est lassociation du contrle listBox et TextBox : il permet lutilisateur de slectionner une valeur dans une liste ou de saisir une nouvelle valeur. Cependant, ce contrle naccepte pas les slections multiples. Le contrle Splitter est une nouveaut de la version .Net. Il permet de crer des barres de sparation redimensionnables pour distribuer lespace du formulaire entre les diffrents contrles. Splitter est particulirement utilis dans les interfaces de type explorateur .
Applications Windows
Interface Utilisateur
Les principaux contrles : ImageList
Le contrle ImageList est un conteneur dimages destines tre utilise dans lapplication ou alors par dautre contrles (Listview, TreeView ). Ce contrle nest pas visible sur le formulaire et peut contenir tous types dimages (Gif, Jper, Bmp ).
Proprit ColorDepth ImageSize Transparent Images Description Nombre de couleurs utiliser pour les images Taille en pixels des images Dfinit la couleur de transparence Collection contenant les images
Applications Windows
Interface Utilisateur
Les principaux contrles : TabControl
Le contrle TabControl permet laffichage donglet contenant chacun plusieurs contrles. Ce dernier est gnralement utilis pour regrouper logiquement des contrle ou pour placer beaucoup de contrles dans la mme formulaire.
Applications Windows
Interface Utilisateur
Les principaux contrles : Menu
les menus permettent doffrir lutilisateur un ensemble de fonctionnalits sans pour autant surcharger la prsentation du formulaire. Il existe 2 types de menu : Menu dapplication situ en haut du formulaire Menu contextuel activ gnralement lors dun clic droit
Applications Windows
Interface Utilisateur
Les principaux contrles : DateTimePicker
Le contrle DateTimePicker associe une zone de texte et un calendrier permettant la slection dune date.
Applications Windows
Interface Utilisateur
TP 2 : Jetchamp Sport Scnario: Votre directeur vous donne une esquisse de la disposition du formulaire. Voire le fichier de ressources (TP2.pdf) pour complter le projet.
Applications Windows
Interface Utilisateur
TP 3 : Jetchamp Sport
Scnario: Vous avez dtermin les proprits de chaque contrle et vous dcidez de faire ce qui suit: 1. Supprimer le texte qui s'affiche par dfaut avec certains contrles. 2. Donnez chaque contrle un nom significatif. 3. Modifier les proprits des tiquettes utilises pour afficher le numro de commande, adresse de la socit, les prix, et le cot total. 4. Modifier les proprits de la police des tiquettes qui entourent les diffrentes sections du formulaire.
Applications Windows
Interface Utilisateur
TP 4 : Crer une interface utilisateur pour Moonlight Cinmas
Scnario: Votre entreprise vient de dmarrer un nouveau contrat avec Moonlight Cinemas, une chane de cinmas grand thtre. Vous avez t mandat travailler sur leur nouveau systme de billetterie et de crer une application de dmonstration. La premire tape de ce processus consistera crer une maquette trs simple de dmonstration, Voire le fichier de ressources (TP4.pdf) pour complter le projet.
Bases du langage
VB .net
Notion dobjet en VB Un objet : Une brique logicielle reprsentant une entit du monde physique, comme une voiture, une personne ou encore une page d'un livre. Dfinit par un groupe de variables de diffrents types et un ensemble de mthodes, les variables sont dsignes par un nom = Proprits. Est une instance dune classe. Exemple : lobjet Voiture Proprits : couleur, marque, modle, carburant, puissance fiscale, vitesse Maxi, prix. Syntaxe : objet.proprit Voiture.couleur = rouge Voiture.marque = Peugeot p = Voiture.puissanceFiscale
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Bases du langage
VB .net
Notion dobjet en VB
Mthodes = fonctions de lobjet Exemple : Voiture Acclrer, ralentir, avancer, reculer, sarrter. Syntaxe : objet.Mthode() Voiture.acclrer() Voiture.reculer(10 m) Voiture.changerCouleur(bleu) Voiture.couleur = bleu
Bases du langage
VB .net
Structure de code : Formulaire Lors de la cration dun formulaire, le code suivant est automatiquement gnr :
nouvelle classe portant le nom du formulaire (Form1). hrite (rcupre) tous les lments de la classe form lappel aux mthodes de base de classe form ainsi que linitialisation des contrles. Tout ajout dlments (Variables, procdures, contrles) seront ensuite perus comme membres de la classe form1 .
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Bases du langage
VB .net
Structure de code : Module Lors de la cration dun nouveau module, le code suivant est automatiquement gnr :
Bases du langage
VB .net
Structure de code : Commentaire
lorsquun commentaire commence par le mot cl todo:, il sera automatiquement ajout dans la liste des tches
Bases du langage
VB .net
Structure de code : Rgions
Bases du langage
VB .net
Les variables
Une Variable en VB est dfinit par : Un nom : le nom dune variable commence obligatoirement par une lettre, peut contenir des lettres, chiffres et le signe _ (underscore) avec un maximum de 255 caractres. Visual Basic ne tient pas compte de la casse (Majuscules / Minuscules) Un type : le type dun variable prcise le type de la valeur stockes par la mmoire (numrique, chane de caractre, date ) Une porte : la porte dune variable correspond sa dure de vie.
Bases du langage
VB .net
Les variables : type numrique
Nom Byte Short Integer Long Single Double Decimal 0 -32768 -2 147 483 648
Max
Bases du langage
VB .net
Les variables : type caractre
Description Utilis pour stocker un seul caractre Chane de caractre longueur variable dune taille de 0 environ 1 milliard de caractres a
Exemple
Sandrine Desayes
Bases du langage
VB .net
Les variables : Autres types
Description Variable dont le contenu peut tre False (0) ou True (1) Stocke les informations de date et heure. Si la date est omise, le 1er janvier de lanne en cours sera utilis. Si lheure est omise, minuit sera lheure par dfaut. Le type object est un type universel (anciennement nomm Variant). Ce type ne stocke en fait pas la donne elle mme mais il contient un pointeur vers ladresse mmoire contenant la donne. De ce fait, une variable de type object peut pointer vers (contenir) nimporte quel type de donnes True
Exemple
#12/07/02 15:33:17# #12/07/02# #15:33:17# !Erreur ! Laffectation des adresses mmoire se fait de manire implicite
Object
Bases du langage
VB .net
Dclaration des variables
La dclaration des variables se fait de la faon suivante Dim nomvariable1, nomvariable2, nomvariable3 as type_variables = valeur_par_defaut Laffectation dune valeur par dfaut est facultative. Dim i as integer = 0 Dim moncar as char = i Dim aujourdui as date = #12/07/02# Dim nom as string
Bases du langage
VB .net
Porte des variables
Quatre niveaux de porte existent : Niveau Bloc : si la variable est dclare dans un bloc (boucle while, condition ), la variable ne sera valable que lintrieur du bloc Niveau Procdure : si la variable est dclare lintrieur dune procdure ou dune fonction, elle ne sera accessible qu lintrieur de cette procdure/fonction Niveau Module : la variable dclare dans un module sera accessible uniquement partir des lments du modules (procdures, fonctions) Niveau projet : la variable est accessible partir de tous les lments du projet. Dans ce cas, il faut utiliser le mot cl friend la place du mot dim .
Bases du langage
VB .net
Visibilit des variables
En dehors de lemplacement o est dfinie la variable, plusieurs mot cls sont disponibles pour agir sur la visibilit : Public : tous les blocs de code peuvent accder la variable Private : seul les lments membres de la classe ou du module peuvent y accder
Bases du langage
VB .net
Les constantes
Les constantes permettent de stocker une valeur en sassurant quelle ne sera jamais modifie. Const Nom_constante As DataType = valeur
Bases du langage
VB .net
Les oprateurs arithmtiques
Description
Rsultat 5 2 12 4 4 1 9
Bases du langage
VB .net
Les oprateurs de comparaison
Oprateur = <> < > <= >= Like Egalit Ingalit Infrieur Suprieur Infrieur ou gal Suprieur ou gal
Description
Bases du langage
VB .net
Les oprateurs logiques
Exemple True and False True or False True Xor True Not true Test1 AndAlso test2 False True False False
Rsultat
OrElse
Ou logique optimis
Bases du langage
VB .net
Les oprateurs de concatnation
La concatnation est lunion de deux chanes. Deux oprateurs existent : Le plus + : dans ce cas, il faut que les deux membres de la concatnation soient de type chane de caractres. Lperluette & : dans ce cas, loprateur effectue une conversion implicite lorsque les deux membres ne sont pas des chanes de caractres
Bases du langage
VB .net
Concatnation et conversion de type Concatnation :
Conversion de type :
Bases du langage
VB .net
Les tableaux
Dclaration obligatoire!! 1- Taille connue lavance : Dim MonTableau(n) As Integer Dim MonTableau(11) As Integer (indices : de 0 11 => 12 lments) 2- Tableau dynamique : Dim MonTableau( ) As Integer 3- Mes propres indices : Dim MonTableau(2 to 5) As Integer 4- Taille fixe ultrieurement : Redim MonTableau(10) Prserver les valeurs existantes : Redim Preserve MonTableau(11) Les Matrices (mmes rgles que les tableaux!) Dim Mat(2,3) As Integer
Bases du langage
VB .net
Tableaux : exemple dutilisation
Bases du langage
VB .net
Exemple avec InputBox
Bases du langage
VB .net
Les structures
Les tableaux permettent de regrouper des lments de mme type! Les structures permettent de remdier cette lacune des tableaux, en regroupant des objets (des variables) au sein d'une entit repre par un seul nom de variable. La syntaxe :
Bases du langage
VB .net
Les collections
Bases du langage
VB .net
Les numrations
Les numrations permettent de dfinir un type de variable dont les valeurs appartiennent un domaine prcis.
Bases du langage
VB .net
Les structures conditionnelles
Lalternative (si..sinon..) Simple If (Conditions) Then Liste dinstructions End If Normale If (Conditions) Then Liste dinstructions Else Liste dinstructions End If
Imbrique If (Conditions) Then Liste dinstructions Elseif (Conditions) Then Liste dinstructions Elseif (Conditions) Then Liste dinstructions Else Liste dinstructions End If
Bases du langage
VB .net
Les structures conditionnelles
La structure de contrle Select Case permet deffectuer un ensemble de test sur une seule valeur. Cette valeur peut-tre le contenu dune variable, le rsultat dun calcul ou dune fonction.
Dim note as integer Note = inputbox(Veuillez saisir une note) Select case Note Case is <= 10 Msgbox(Examen chou) Case 11 to 19 Msgbox(Examen russi) Case 20 Msgbox(Excellent, tout est juste) Case else Msgbox(Note invalide) End Select
Bases du langage
VB .net
Validation des donnes La validation est une technique de programmation qui garantit aux utilisateurs des donnes valables : des rgles mtier. La validation ncessite lutilisation des expressions conditionnelles ou des fonctions boolennes qui permettent d'valuer les valeurs des champs.
Bases du langage
VB .net
Error provider
Le contrle ErrorProvider est utilis pour avertir l'utilisateur que les donnes ont t saisies de faon incorrecte.
Bases du langage
VB .net
Les structures rptitives
Les Boucles
Next i
Bases du langage
VB .net
Les structures rptitives
Bases du langage
VB .net
Les structures rptitives
Bases du langage
VB .net
Les procdures et fonctions
Dans une application Visual Basic, les instructions doivent obligatoirement figurer dans une procdure ou une fonction. Intrts : Lisibilit du code Modularit Evolutivit N.B. : Les fonctions sont des procdures retournant un rsultat.
Bases du langage
VB .net
Les procdures utilisateur Syntaxe:
[Public | Private] Sub NomProcedure([Liste arguments]) Instructions End Sub
Exemple
Private Sub Init( ) Nom.Text = "" Prnom.Text = "" End Sub Appel Call Init
Init
Pr. Imade BENELALLAM Environnement de dveloppement 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 carre. Racine = Sqr(N) End If End Function
Pr. Imade BENELALLAM Environnement de dveloppement graphique
Bases du langage
VB .net
Transmission des paramtres
Passage par valeur Cest le mode de passage de paramtre par dfaut : lors du passage par valeur, seule la valeur du paramtre est pass la procdure.
Sub main() Dim nom as string = toto Afficher(nom) End sub Sub afficher(byval enom as string) Msgbox(enom) End sub
Bases du langage
VB .net
Transmission des paramtres
Passage par rfrence Dans le cas dun passage par rfrence, ce nest pas la valeur du paramtre qui est pass mais ladresse 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
Bases du langage
VB .net
Les fonctions intgres : sur chanes de caractres
Dim ch as string = tartanpion
Mthode .Chars(Index) .IndexOf(Caractre, debut) .Insert(Indice, chaine) .Length .PadLeft(nb, remplissage) .PadRight(nb, remplissage) .Remove(debut, nombre) .Replace(recherche, remplace) .Split(Sparateur) Description Retourne le caractre lindice Index Retourne lindice de la premire occurrence de caractre partir de la position dbut Insre chaine la position indice Retourne le nombre de caractre de la chane Formate la chane sur nb caractres en remplissant les espaces vides gauche avec remplissage Identique mais droite Supprime les caractres de la chane partir de lindice dbut sur une longueur de nombre Remplace les occurrences de recherche par remplace Dcoupe une chane selon sparateur et retourne un tableau Retourne un boolen spcifiant si la chane commence par debut Retourne la sous chane partir de la position Debut sur 1 longueur de n caractres Met la chane en minuscule Met la chane en majuscule Ch.Chars(2) Ch.IndexOf(p) Ch.Insert(2,ta) Ch.length Ch.PadLeft(15,s) Ch.PadLeft(15,s) Ch.remove(2,3) Ch.replace(an, i) Ch.Split(a) Exemple r 6 Tatartanpion 10 Ssssstartanpion Tartanpionsssss Tanpion Tartipion T Rt Npion True Anp Tartanpion TARTANPION Rsultat
Bases du langage
VB .net
Les fonctions intgres : sur les nombres
Rsultat 3 4
.Pow(n, p) .abs(n)
.pow(2,3) .abs(-8)
8 8
Bases du langage
VB .net
Les fonctions intgres : sur les dates
Dim d as datetime = #12/07/2003 16:00#
Mthodes .addmonths(n) .addDay(n) .addHours(n) .addMinutes(n) .addSeconds(n) Description Ajoute n mois la date Ajoute n jours la date Ajoute n heures la date Ajoute n minutes la date Ajoute n secondes la date Exemple d.addmonths(2) d.addDay(1) d.addHours(1) d.addMinutes(1) d.addSeconds(1) Rsultat #12/09/2003 16 :00# #13/07/2003 16:00# #12/07/2003 17:00# #12/07/2003 16:01#
Ajoute n annes la date Jour du mois Jour de la semaine Jour de lanne Nombre de jour pour le mois m de lanne y Retourne la valeur de minute Retourne la valeur de heure
Bases du langage
VB .net
Les fonctions intgres : sur les tableaux
Bases du langage
VB .net
Fonctions de conversion
Bases du langage
VB .net
Fonction de formatage :Caractres de formatage pour les numriques
Les fonctions de formatage permettent une reprsentation diffrentes des donnes numriques ou dates mais ne sont pas utilise pour des conversion de types. Une seule fonction est utilise en Vb : la fonction format.
Bases du langage
VB .net
Fonction de formatage :Caractres de formatage pour les numriques
Dim nb as double = 12.263 Msgbox (format(nb, 000,000.00)) Msgbox (format(nb, ###.##)) Msgbox (format(nb, rsultat\ : ###,###.##))
Bases du langage
VB .net
Fonction de formatage :Caractres de formatage pour les dates
Caractre : / d dd ddd dddd M MM MMM MMMM gg h hh m mm s ss Pr. Imade BENELALLAM Sparateur dheures Sparateur de date Jour sans zro non significatif Jour sur 2 chiffres Jour sous la forme dabbrviation (ex : Lun) Jour sous la forme du nom complet (ex : Lundi) Mois sans zro non significatif Mois sur 2 chiffres Mois sous la forme abrge (ex : Juil) Mois sous la forme de nom complet Affiche lre (A.D) Heure sans zro significatif Heure sur 2 chiffres Minute sans zro significatif Minute sur 2 chiffres Seconde sans zro significatif Seconde sur 2 chiffres Environnement de dveloppement graphique Description
Bases du langage
VB .net
Fonction de formatage :Caractres de formatage pour les dates
Dim madate as datetime = #12/07/2002 15 :30# Msgbox(format(madate, M/d/yy)) Msgbox(format(madate, d-MMMM-yyyy)) Msgbox(format(madate, ddd d MMM yy))
Laccs aux donnes dans le dveloppement dapplications est une tape fondamentale Il existait plusieurs mthodes daccs aux donnes : DAO, RDO, ADO. Dans la nouvelle mouture seule la technologie ADO .Net est gard. Elle permet un accs diffrentes sources de donnes par lintermdiaire de fournisseurs OLE DB. La grande force de cette technologie est quelle permet une manipulation identique quelque soit la source de donnes (en dehors des paramtres de connexion).
Nouvelles fonctionnalits : Gestion des donnes en mode dconnect : les DataSet et DataAdapter Mise disposition de classe dpendante de la source de donnes afin doptimiser les traitement et ainsi viter les couches successives Intgration du format XML pour lchange et le rapatriement de donnes
Description Contient les objets ADO nappartenant pas un fournisseur spcifique (DataSet, DataTable ) Contient les classes de base pour plusieurs objets des autres espaces de noms
System.data.Common
System.Data.OleDB System.Data.SqlClient
Contient les objets associs au fournisseurs OLEDB .Net Contient les objets associs au fournisseurs Sql Server .Net
Mode connect On parle de mode connect lorsque lapplication client un accs direct la source de donnes. Ce mode est utilis pour les applications rsidante au sein dune entreprise dans laquelle la base de donnes est toujours accessible. Dans ce mode, vous utiliserez les objets suivants : Connection : permet dtablir une connexion avec la source de donnes Command : cet objet permet dexcuter des traitements o de modifier / lire des donnes sur la source DataReader : permet de parcourir un ensemble denregistrement rcupr
Mode dconnect Le mode dconnect est une nouveaut de lADO .Net. Ce mode permet de travailler sur des donnes sans avoir un accs direct et permanent la base. Il est principalement utilis pour les applications nomades qui ne disposent pas toujours dun accs la source de donnes comme par exemple, les portables des commerciaux dans une socit. Dans cette configuration, le traitement des donnes se fait en 3 tapes : Rcupration des donnes partir de la source Modification des donnes en mode dconnect Intgration des donnes modifies la source avec, le cas chant, rsolution des conflits (gnralement les contraintes dintgrit)
Mode dconnect Si vous utilisez le mode dconnect, vous disposerez des objets suivants : DataSet : jeu de donnes DataAdapter : classe permettant la fusion entre un jeu de donnes et la source
Mode dconnect Les fournisseurs daccs permettent la communication avec une source de donnes. En fonction des sources de donnes, le provider sera diffrent. 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.ableconsulting.com/MDAC/ADO/Connection/OLEDB_Providers.htm pour plus dinformations Les fournisseurs natifs (Pour Sql Server ou Oracle)
Lobjet connection constitue la premire tape dans laccs aux donnes : elle permet de se connecter la source et de connatre le niveau de scurit et les diffrents droits de lutilisateur sur la source. En fonction du type de fournisseur choisi, la cration de lobjet Connection diffrera :
Fournisseur Classe
ODBC
Odbc.OdbcConnection
OLEDB
OLEDB.oledbConnection
SQL Server
Sqlclient.SQLconnection
Lexemple suivant cre 3 connexions en fonction du fournisseur : Dim cn_oledb As New OleDb.OleDbConnection Dim cn_odbc As New Odbc.OdbcConnection Dim cn_sql As New SqlClient.SqlConnection
Proprit
Description
ConnectionString
ConnectionTimeOut
State
Provider
Fournisseur utilis
DataSource
Dim cn As New OleDb.OleDbConnection cn.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("Ferme") Case "Connecting" MsgBox("En cours de connexion") Case "Executing" MsgBox("En excution") Case "Fetching" MsgBox("Extraction de donnes") End Select cn.Close()
Mthode Open Close BeginTransaction CreateCommand Ouvre la connexion Ferme la connexion et libre les ressources
Description
Evnement
Description
StateChange
InfoMessage
Lexemple suivant permet dafficher 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.StateChange If (e.CurrentState = ConnectionState.closed) then MsgBox("Connexion ferme ! ") End if End sub
Une fois la connexion tablie avec la source de donnes, vous devez communiquer avec cette dernire pour grer vos traitements. Trois types de traitements peuvent tre effectus : Requte de slection pour extraire des informations Requte dexcution Procdures stockes (scripts stocks sur le serveur) NB : Lors de la cration dun objet commande, vous devez dfinir le type dopration quil devra raliser ainsi que la connexion laquelle il est rattach.
Proprit
Description
Commandtext
CommandType
Connection
Transaction
Objet transaction li
CommandTimeOut
Parameters
Description
Excute la requte daction et retourne le nombre de ligne affectes Excute la requte de slection et retourne un objet de type DataReader
ExecuteScalar
CreateParameter ExecuteXMLReader
Cre un objet paramtre Excute la requte de slection et retourne un objet de type XmlReader
Lexemple suivant permet de modifier les enregistrements dune table et dafficher le nombre denregistrement modifis ( Le nombre dauteurs en commentaire) : Dim com_sql As New OleDb.OleDbCommand com_sql.Connection = cn com_sql.CommandType = CommandType.Text com_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)
Dim com_sql As New SqlClient.SqlCommand Dim dr_sql As SqlClient.SqlDataReader com_sql.Connection = cn_sql com_sql.CommandType = CommandType.Text com_sql.CommandText = "select * from STAGIAIRE" dr_sql = com_sql.ExecuteReader
De manire gnrale, il existe deux types de rsultat pour un objet command : soit il retourne un seul rsultat (cest le cas lorsque vous utilisez les mthodes ExecuteScalar ou ExecuteNonQuery), soit il retourne un ensemble denregistrements (mthode ExecuteReader). Lobjet DataReader permet de lire (seulement en avant) les enregistrements issus dune requte.
Proprit
Description
FieldCount
HasRows
RecordsAffected
Mthode
Description
Close
Read
GetValue(i)
GetName(i)
GetType(i)