Vous êtes sur la page 1sur 5

1 CONCEPT DE BASE

1.1

Visual Basic 6
1.1.1

Pour quoi faire ?

VB est un langage de type RAD : Rapid Application Development . Il permet de crer


des applications rapidement grce une conception simple de linterface utilisateur, et un
code plus simple que des langages de plus bas niveau de type C.
Il dispose de nombreux objets prdfinis destins la gestion de donnes. Cest pour
cette raison quil nous intresse particulirement.
VB nest pas destin au dveloppement dapplications exigeant des performances leves
(graphisme, calculs complexes).
Cest un langage particulirement adapt la manipulation de donnes stockes dans
tout type de base (SQL Server, Access, Oracle, DB2, Ingre).
1.1.2

Les versions disponibles

VB6 renforce les volutions apparues dans VB5. Il est possible de compiler en code natif
32 bits exclusivement (Windows 32 bits). Il intgre aussi la technologie ActiveX qui est
une technologie dans laquelle Microsoft a englob les concepts objets. La cration de
contrle ActiveX tait impossible en VB4, il fallait les faire en C++.
Lditeur permet de travailler en mode MDI (Multiple Document Interface) ou SDI (Single
Document Interface), et contient une aide la saisie (proprits et mthodes). On peut
ouvrir plusieurs projets simultanment, ce qui facilite par exemple de dbogage de
composants ActiveX personnaliss. Il est possible de crer ses propres assistants et
modles de feuille ou de projet.
Il faut aussi mentionner VBA (VB pour application) qui permet de programmer les
logiciels de la suite Office. Lditeur VBA depuis Office 2000 est trs proche de VB 6. VBA
est un langage interprt.
Lvolution des produits de la suite Visual Studio 6, dont fait partie VB6, se poursuit
surtout avec lapparition de nouveaux objets, notamment daccs aux donnes ou ddis
Internet. Quelques complments (concepteurs) permettent daccder des
fonctionnalits directement dans linterface de dveloppement. Les passages de
paramtres sont enrichis et acceptent des tableaux et des types personnaliss.
Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait
tre maintenu par Microsoft jusquen 2008.
1.1.3

.NET

Cet environnement est assez diffrent de Visual Studio 6. VB a beaucoup volu en


intgrant les concepts objets qui lui manquaient. Il a aussi gagn en complexit et
lenvironnement de dveloppement ncessite des machines puissantes.

Ver 2.2.0 - 27 / 02 / 2006

Bien quassez diffrent de VB6, son apprentissage sera facilit par une bonne
connaissance de VB6 qui permet dapprhender les concepts de base plus simplement.

1.2

Programmation oriente objet POO

Lapproche oriente objet permet de reprsenter plus fidlement la ralit dun modle
fonctionnel.
Les objets rels possdent une face visible ainsi quune partie cache (une machine
caf). La partie visible prsente les moyens dinteraction avec lextrieur : bouton de
slection de la boisson, paiement, rcupration de la boisson. La partie cache ne nous
intresse pas tant que lobjet nous rend le service attendu. Cest le principe de
lencapsulation.
Un objet est un programme qui contient des variables, des procdures et des fonctions
accessibles ou non par dautres programmes qui les exploitent.
messages

Mthode accdant aux donnes

Les proprits sont les variables publiques qui dfinissent des tats statiques de lobjet.
Les variables publiques sont visibles du programme appelant (extrieur), alors que les
variables prives sont utilises pour le fonctionnement interne de lobjet.
Les mthodes sont des actions (aspect dynamique) excutes par lobjet sur demande
du programme qui les appellent. Il sagit de procdures ou fonction publiques "exposes"
par lobjet. La visibilit des procdures et fonctions suit le mme schma que les
variables. Il est possible de passer des paramtres aux procdures et fonctions, et
rcuprer des valeurs retournes par les fonctions. Encore une fois, les procdures
caches effectuent des traitements internes qui interagissent avec les procdures
visibles.
Certains objets peuvent contenir plusieurs objets de mme type, on parle alors de
collection. Les collections possdent galement des proprits et des mthodes qui
permettent de manipuler les objets quelles contiennent.
Ver 2.2.0 - 27 / 02 / 2006

Les conventions veulent que les collections portent le nom des types dobjets quelles
contiennent auquel ont ajoute un "s". Par exemple, la collection "DVDs" contient des
objets "DVD".
Par ailleurs, la notion de collection laisse apparatre que des objets sont contenus dans
dautres. Les objets sont effectivement hirarchiss. Certains objets ne sont mme
accessibles quau travers de leur "conteneur". Mais attention, un conteneur nest pas
une collection. Nous verrons plus loin que le recours au conteneur pour accder un
objet vite toute ambigut.
Enfin, pour utiliser un objet, il faut le dclarer. Cette dclaration cre une instance de
cet objet. Cest--dire une copie base sur un modle dobjet possdant des proprits,
procdures et fonctions. Un type dobjet est appel une classe. Une instance de classe
est une variable objet de la classe en question.
Considrons les plans dune maison. Il sagit dune dfinition qui na pas dexistence
relle. Cest la classe Maison. Si on construit une ou plusieurs maisons partir de ce
plan, on cre une ou des instances de la classe maison.
La syntaxe utilise pour manipuler les objets se prsente comme suit :
Objet.Propriete
Objet.Methode [Parametre]

Ex:
Lobjet MAISON contient plusieurs objets PIECE, qui contiennent plusieurs objets MEUBLE.

Crons un objet de type MAISON, contenant une PIECE, contenant plusieurs meubles :
Declare MaMaison comme Maison
Declare Cuisine comme Piece
Declare Four comme Meuble
Declare Frigo comme Meuble
Declare Meubles Comme Collection

On peut envisager les proprits et mthodes suivantes :


Four.Largeur = 60
Frigo.Couleur = Blanc
Frigo.Largeur = 90
Four.Porte.Ouvrir
Four.Chauffer 210

On pourrait ajouter le Four et le Frigo la collection Meubles, afin de pouvoir agir sur
lensemble des objets issus de la classe Meuble au travers de la collection. Des
fonctionnalits permettent de parcourir une collection laide de boucles.
Meubles.Ajouter Four
Meubles.Ajouter Frigo

On peut prciser quun objet est contenu dans un autre. Par exemple, on ajoute des
objets Meuble une PIECE. La mthode Attacher de lobjet Cuisine, instance de la classe
PIECE le permet :
Cuisine. Attacher Four
Cuisine. Attacher Frigo
Ver 2.2.0 - 27 / 02 / 2006

Il faut noter la nuance qui existe entre la collection Meubles et la classe Pice.
La pice est un conteneur. Elle rassemble plusieurs objets de types diffrents. La
collection ne peut contenir que des objets Meuble indpendamment des pices o ils se
trouvent. Il sagit de pouvoir manipuler plusieurs objets de mme classe plus facilement,
sachant que le nombre dobjets peut varier ( laide de boucles).
On peut galement accder aux objets dune collection par un index (boucles) pour
connatre tous les membres de la collection :
For i = 0 to Meubles.Membres.Nombre - 1
Afficher Meubles.Membres(i).Nom
Next i

Cet exemple utilise une boucle allant de 0 au nombre dindividus moins un contenu dans
la collection pour afficher la proprit Nom de chaque membre, laide de la procdure
Afficher.
Remarquons que les classes Frigo et Four possdent une proprit ayant le mme nom :
Largeur. Cest le polymorphisme. Une proprit ou une mthode est constitutive dune
classe. Chaque classe est un programme lmentaire, et les proprits et mthodes de
deux classes sont dans des portes diffrentes. Ceci explique que des proprits et
mthodes de classes diffrentes peuvent avoir le mme nom. On dfinit toutes les
proprits et mthodes dun objet lors de la conception de la classe.
Par exemple, deux pices dun jeu dchec peuvent avoir une mme mthode Deplacer
sans quil y ait de confusion, bien que le dplacement soit diffrent selon les pices
(cavalier, pion). En effet, les mthodes Deplacer sont programmes dans deux classes
distinctes.
Cavalier.Deplacer
Pion.Deplacer

Un dernier point porte sur deux mthodes particulires des objets que sont le
constructeur et le destructeur. Il sagit de mthodes qui sont excutes lors de la
cration dune instance de lobjet (initialisation), puis lors de la destruction de linstance.
Ce code est excut automatiquement. Il permet par exemple dinitialiser des proprits
(Frigo.Couleur = Gris ) au dmarrage, ou de fermer des fichiers, de dconnecter une
base etc. la fermeture.

1.3

Excution dun programme VB

Un programme
-

squentiel se droule selon trois phases majeures :


linitialisation (variables, saisie de paramtres etc.) ;
boucle dexcution (tant que pas quitter) ;
Fin.

Dans un programme VB, lutilisateur est au centre de lexcution car cest lui qui
dclenche les procdures par ces actions sur linterface.
Ver 2.2.0 - 27 / 02 / 2006

Les objets possdant une interface peuvent tre "activs" par lutilisateur en rpondant
des vnements. Les vnements auxquels rpondent les objets dpendent de la
nature des objets en question. Ainsi, on trouvera frquemment Sur Click, Sur Activation,
Sur Ouverture, Sur Changement. Le droulement nest donc pas linaire.
Les objets "surveillent" leurs vnements en permanence. Lorsque le programmeur a
positionn du code sur un vnement, celui-ci sexcute lorsque lvnement est
dclench.
Lutilisateur nest pas le seul pouvoir dclencher des vnements, le programme le fait
galement. Par exemple, le fait de modifier le contenu dune zone de texte par
programme dclenche lvnement Sur Changement de la zone de texte modifie. Cet
vnement est donc dclench par lutilisateur et par le programme.
Il faut bien maitriser le dclenchement des vnements lors de lcriture de son
programme pour viter des comportements imprvus, et donc non grs.

Lessentiel
Assimiler le vocabulaire li la programmation objet ainsi que les concepts de base.
Bien comprendre ce quest une mthode et une proprit dun objet.
Identifier clairement les relations qui lient une classe et une instance de classe.
Comprendre la notion de conteneur et le moyen daccder un objet au travers de son
parent.
Assimiler lexcution vnementielle par rapport lexcution squentielle.

Ver 2.2.0 - 27 / 02 / 2006