Download - Cours01 VB
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Programmation structureeen Visual BasicPremiers pas
Licence Universite Lille 1Pour toutes remarques : [email protected]
Premie`re annee DEUST 2008-09
V0 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Ce cours est porte sur la programmation structuree ensappuyant sur le langage VisualBasic.
vb 1.0 a ete introduit en 1991 par MicroSoft en se basantsur le langage Basic (Dartmouth College, New Hampshire,USA, 1964).
Il sagit dun langage de programmation evenementielle danslequel les programmes sont definis par leurs reactions a`differents evenements.
Ainsi, il permet la creation aise dinterfaces utilisateurgraphique (gui), lacce`s aux bases de donnees, etc.
La dernie`re mise a` jour est la version vb 6.0 sortie en 1998.A` partir de la version 7.0, le langage evolue et est qualifie deVisual Basic.net ; ce cours ne presente pas les specificites dece langage.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Types : representation memoire
Les types suivants decrivent comment sont stockees tailleet codage en memoire les informations correspondantes.
Type taille en octet valeursBoolean 2 Vrai ou FauxByte 1 0 . . . 255SByte 1 128 . . . 127Char 2 0 . . . 65535 CDate 8 01/01/100 31/12/9999Decimal 16 entier ou decimal DDouble 8 RInteger 4 216 . . . 216 1 I
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Types : representation memoire (suite)
Type taille en octet valeursUInteger 4 0 . . . 231 1 UILong 8 232 . . . 232 1 LULong 8 0 . . . 264 1 ULShort 2 28 . . . 28 1 SUShort 2 0 . . . 216 1 USSingle 4 FString variable $Structure variable suivant les membresObject 4 pointe sur tous types de donnees
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Typages de constantes
Les constantes peuvent etre suivies de lettres indiquees endernie`re colonne des tableaux precedents permettant despecifier le type. Par exemple,
I "a"c est un characte`re (et non pas une chane decaracte`res i.e. une suite de caracte`res se terminantpar 0) ;
I 256S correspond en fait a` 0, etc.
Il est possible dutiliser les numerotations octales ethexadecimal pour manipuler les constantes.Par exemple,
I &H10 represente la constante 16 ;I &O10 represente la constante 8.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Identificateurs
Les identificateurs servent a` manipuler les objets du langagei.e. manipuler de lespace memoire auquel on donne un nom.Cet espace memoire peut contenir des donnees ou desinstructions manipulant des donnees (identificateurs devariables/de fonctions).
Un identificateur se doit dinformer sur ce quest et a` quoisert lobjet quil identifie.
En vb, un identificateur est une suite dau plus 40 caracte`res(hors separateurs, operateurs, mots clefs) commencant parune lettre.
Il convient de nutiliser ni de caracte`re accentue ni decaracte`re speciaux (espace, #, ?, etc).
Si lidentificateur est constitue de plusieurs mots, cesderniers commencent par une majuscule.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Mots reserves et commentaires
Les mots reserves de vb sont :
And As ByRef ByVal Call CaseClass Const Dim Do Else ElseIfEnd Exit False For Function GoToIf Is Loop Me Module NextNot Nothing Option Or Private PublicResume Select Step Sub Then ToTrue Until While
Ils ne peuvent pas servir didentificateur.
Il est possible de commenter son code de la manie`resuivantes :
lapostrophe (code ASCII 39) d\ebute un commentaire
REM on peut la remplacer par le mot clef REM
REM 2*35 ce mot doit d\ebuter la ligne
2*35 alors que lapostrophe peut se mettre apr\es du code
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Declaration de variablesSchematiquement, une variable correspond a` unemplacement en memoire. Dans le code source, ce dernierest manipule par lentremise de lidentificateur de la variable.
En vb, on declare les variables comme suit :
Dim IdentificateurDeLaVariable As TypeDeLaVariable
Par exemple, on peut avoir :
Dim VariableEntier As Integer
Dim UnReel As Single
REM d\eclaration multiple
Dim AutreEntier As Integer, AutreReel As Single
Dim NomPrenom As String
Une constante est une forme de variable dont laffectation nepeut se faire qua` la declaration et qui ne varie pas. En vb,on declare (et definit) les constantes comme suit :
Const IdentificateurDeVariable As TypeDeVariable = Valeur
Par exemple, on peut avoir : Const Pi As Single = 3.14V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Conversion explicite
La table suivante presente les fonctions de conversion en vb :
fonction type obtenu
CBool BooleanCByte ByteCChar CharCDate DateCDbl DoubleCDec DecimalCInt IntegerCLng Long
fonction type obtenu
CObj ObjectCSByte SByteCShort ShortCSng SingleCStr StringCUInt UIntegerCULng ULongCUShort UShort
Plus generiquement, la fonction CType prend commeparame`tres une evaluation de variable et un type ; elleretourne le resultat de levaluation codee dans le typespecifie.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Pour finir, constatons que les constantes sont considereescomme etant de type Integer. Ainsi, le programme
Module essai
Public Sub Main()
MsgBox (2*16384)
End Sub
End Module
va provoquer une erreur de debordement alors que le code
Module essai
Public Sub Main()
MsgBox (2*16384&)
End Sub
End Module
ne le fera pas.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Operateurs arithmetiques
Ces operateurs sont infixes et agissent sur 2 arguments :
a operateur b
(il existe un + et un unaire).operateur commentaires Priorite
retourne a a` la puissance b 5
multiplication 4adapte le type de retour au besoin
/ division reelle 4conversion automatique des operandes en reels
\ quotient de la division euclidienne 3conversion automatique des operandes en entiers
Mod reste de la division euclidienne 2meme resultat que a (a \ b) b
+ additions de 2 nombres 1ne devrait pas etre utilise pour concatener des chanes
soustraction de a par b 1> decalage des lettres binaires vers la droite
Il convient de ne pas hesiter a` parentheser les expressions.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Operateur daffectation des variables
Loperateur = permet de donner une valeur aux variables.Ainsi, en utilisant les declarations precedentes :
VariableEntier = 7
UnReel = 4.33
AutreEntier = 5
AutreReel = 0.33
NomPrenom = "Sedoglavic Alexandre"
Par ailleurs, on peut coupler certaines operations etlaffectation avec les operateurs suivant :
=, /=, \=, *=, -=, +=, &=, >>=,
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Operateurs booleens et de comparaisons
Laction des operateurs booleens est resumee dans le tableausuivant :
conjonction disjonction ou exclusif Equivalence Implication negationA B A And B A Or B A Xor B A Eqv B A Imp B Not AT T T T F T T FT F F T T F F FF T F T T F T TF F F F F T T T
Les operateurs suivants comparent 2 quantites et retourneun booleen :
= Egalite Inegalite< plus petit> plus grand>= plus grand ou egal
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Autres operateurs
On dispose des operateurs suivants :
I & operateur de concatenation de chanes de caracte`res ;I Is egalite de 2 objets ;I IsNot inegalite de 2 objets ;I TypeOf() Is permet de determiner le type dun
object ;
I A Like regexp retourne vrai si la chane de caracte`res Averifie lexpression regulie`re regexp (voir la page lesdefinissant ci-dessous).
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Les expressions regulie`res decrivent des proprietes deconstruction de chanes de caracte`res. Pour ce faire, onutilise en shell les metacaracte`res :I le point dinterrogation ? correspond a` nimporte quel
caracte`re (sauf EOL). Lexpression regulie`re b ?lrepresente les chanes bal et bol et toutes les autrescombinaisons comme bwl ;
I le die`se # correspond a` nimporte quel chiffre ;I la paire de crochet [ ] permet de specifier plus
restrictivement un ensemble de caracte`res. Lexpressionregulie`re dupon[dt] ne represente que les chanesdupond et dupont. Lexpression dupon[d-t] representeles chanes commencant par dupon et se terminant parune lettre comprise entre d et t. Lexpressiondupon[ !dt] represente les chanes commencant pardupon et ne se terminant ni par d ni par t ;
I * designe 0, 1 ou plusieurs caracte`res quelconques.Le prefixe \ (antislash) transforme un metacaracte`re encaracte`re.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Environnement de developpement integre(ide)
Microsoft Visual Studio est un ensemble de logiciels dedeveloppement pour Windows permettant dengendrer desapplication Web ASP.NET, des services Web XML, desapplications bureautiques, etc.
Les langages vb, Visual C++, Visual C#, etc. utilisent touscet environnement integre fournissant un editeur de texte,un devermineur, etc.
Cet ide est disponible a` lurl :
www.microsoft.com/visualstudio/
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Premier programme
Module essai
Public Sub Main()
MsgBox ("Bonjour le monde")
End Sub
End Module
Voyons comment creer ce programme (nous reviendrons surla semantique plus tard).
I lancer lenvironnement de developpement vbI Fichier Nouveau projet Application consoleI taper votre programmeI Generer (phase de compilation)I Deboguer demarrer (F5)
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Instructions conditionnelles simples
Lexecution du flux dinstructions peut etre conditionneecomme suit :
If Expression
Then
instructions
End If
Dans cette instruction, Expression est une expression quisevalue en un booleen ; si le resultat est vrai alorslinstruction instructions est executee.
Il est possible dindiquer une alternative comme suit :
If Expression
Then
instructions1
Else
instructions2
End If
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Instructions conditionnelles multiples
La premie`re forme de conditionnelle multiple se base sur leIf :
If Expression1
Then
instructions1
ElseIf Expression2
Then
instructions2
....
Else
instructionN
End If
Le premier jeu dinstructions correspondant a` une Expressionsevaluant a` vrai sera le seul execute dans le code ci-dessus.
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Comparaisons multiples
Levaluation dune expression est comparee a` plusieurs suitesdexpressions de comparaisons dependantes dun seulargument :
Select Case TestExpression
case SuiteExpressionComparative1
instruction(s)1
case SuiteExpressionComparative2
instruction(s)2
....
case SuiteExpressionComparativeN
instruction(s)n
case Else instruction si rien ne correspond avant
End Select
Chaque expression de comparaison est :
I soit une expression ;I soit du type : expression1 To expression2 ;I soit du type : Is
OperateurDeComparaison expression.V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Si TestExpression verifie une suite dexpressions decomparaison SuiteExpressionComparative, linstructionla suivant est executee et on passe au case suivant. Si cetteelle verifie plusieurs suites, seule la premie`re instructionassociee est executee.
Attention, le Is utilise dans cette instruction nest pasloperateur du meme nom.
Par exemple, on peut avoir :
Dim Salaire,RemboursementMensuel As Decimal
Select Case (RemboursementMensuel/Salaire)*100
case Is >= 33# MsgBox("ca va pas \^etre possible")
case 30# To 32# MsgBox("ca va \^etre juste")
case 20# To 29# MsgBox("cest OK")
case Else MsgBox("en chaussette")
End Select
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Boucle iterative
Cette instruction necessite un compteur, un intervalle (s, e)et un pas afin dobtenir :
For compteur As type = s To e Step pas
instructions
Next compteur
ou`
I type doit etre specifie si compteur nest pas declareprecedemment ;
I compteur prend toutes les valeurs entre s et e en etantincremente de pas a` chaque iteration.
Nous verrons plus tard dautres formes de cette instruction(For Each enumeration des membres dun tableau, etc).
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
-
Programmationstructuree
en Visual BasicPremiers pas
Introduction
Types scalaires
Identificateurs
Variables
Conversions de type
Operateurs
Expressions regulie`res
Le premierprogramme
Instructions decontrole
Instructionsconditionnelles
Instructions iteratives
Iterations a` condition
Dans literation suivante :
While condition
instruction(s)
End While
instruction(s) est execute tant que condition est vrai.Cette expression est testee en debut de boucle.
Plus generalement, on peut avoir les boucles
Do { While | Until } condition
instruction(s)
Loop
--- ou ---
Do
instruction(s)
Loop { While | Until } condition
ou` While (resp. Until) permet la repetition de la boucletant que condition est vrai (resp. faux).
V14 (16-10-2009) www.fil.univ-lille1.fr/sedoglav/VisualBasic/Cours01.pdf
IntroductionTypes scalairesIdentificateursVariablesConversions de typeOprateursExpressions rguliresLe premier programme
Instructions de contrleInstructions conditionnellesInstructions itratives