Résumé : Savoir utiliser le logiciel Visual Basic 6.0
Page : 1 Chapitres : 18
Système d'exploitation : Windows 9.X, XP.
Logiciels : Visual Basic 6.0.
Vous allez aborder avec ce cours la programmation sous VisualBasic 6.0,
la toute dernière version du concepteur Basic chez Microsoft.
Ce cours, comme d'habitude sur Internet, ne va pas aborder des sujets
très pointus, mais uniquement des notions générales. Libre à vous
par la suite d'acheter des ouvrages plus professionnel. Je vous conseille
tout particulièrement l'excellent "Visual Basic 6" de "Le tout en Poche",
édition CampusPress.
Vous n'avez besoin d'aucune connaissance
particulière pour ce cours, seulement maîtriser votre ordinateur.
Connaître un autre langage de programmation vous sera tout de même utile,
tout au moins au début.
Une petite légende avant de commencer : Les touches du clavier sont en
gras, les commentaires en vert et les
lignes de codes en italique.
Bonne Chance.
Vous devez tout d'abord savoir que la programmation est la plus
logique qui soit. Vous allez taper des instructions dans un éditeur,
elles seront par la suite lues par un 'compilateur', qui les
interprètera et les transformera en affichant des informations, en
calculant... La programmation en général manipule 3 types d'entités :
- Les valeurs - Les variables - Les commandes
Les valeurs tout d'abord, ce sont soit des chiffres, soit du texte. Par
exemple 3, -6 ou encore "Bonjour". Ces 3 entités sont des valeurs, elles
sont fixes et elles n'ont rien de très compliqués. Les variables
maintenant. Elles sont le plus souvent représenté par un petit mot,
ou même une lettre. Ces variables représente des valeurs. Par exemple on
va déterminer que la variable Var représente la valeur 3, on
pourra alors dire que Var=3. Ces variables peuvent représentées
n'importe quoi, des nombres comme du texte. Enfin les commandes, elles
sont en quelque sorte le verbe de l'instruction, elles vont déterminer
comment vont interagir les variables et les valeurs entre-elles. Vous
connaissait déjà une famille de commandes, qui sont les opérateurs : "+",
"-", "*", "/"... Il y a de nombreux types de commandes, qui vont être
expliqués dans ce cours.
Je ne vais pas vous apprendre à installer VBasic, il y a une aide
qui l'explique très bien. Nous allons donc partir de la version installée,
que ce soit la familiale ou la professionnelle : A notre niveau, c'est la
même chose. Exécutez donc VB, vous voyez apparaître une boîte de dialogue
avec plein de trucs compliqués dedans, sélectionnez simplement "EXE
Standard". Vous voyez maintenant plusieurs fenêtres, onglets et menus de
toutes sortes. Nous allons clarifier la situation.
La fenêtre grise au centre avec comme titre "Form1", c'est tout
simplement la représentation graphique de votre application comme elle
apparaîtra une fois lancée : la feuille de travail.
Pour l'instant elle est vide, on a rien fait...
Vous voyez aussi une barre avec écrit "général" en haut. Celle-ci c'est
la boîte à outil, elle contient un tas de contrôles comme des boutons, des
menus, des images... tous ce qui pourra être inséré dans votre application.
Vous devriez aussi voir un menu à droite, sous forme de tableau et de
deux onglets : "Alphabétique" et "Par catégorie". Son titre est
"Propriétés", et pour cause, c'est l'onglet Propriété qui donne les
caractéristiques de la feuille ou de l'objet sélectionné. Il y a enfin
un menu en haut à droite titré "Projet - Projet1", c'est l'onglet Projet
qui comporte toutes les feuilles présentes pour votre application (boîte
de dialogue, feuille...) Pour l'instant il n'y en a qu'une.
On récapitule donc les 4 menus visibles : La feuille de travail, la
boîte à outil, l'onglet Propriétés, l'onglet Projet. Ces 4 menus vont
être repris dans les 4 prochains chapitres.
Une application peut avoir plusieurs feuilles de travail. Cette feuille
est composée de plusieurs partie. Tout d'abord la partie centrale, grise,
c'est la zone du document, il y aura par la suite des boutons, du texte,
des graphiques, des images... En haut de la feuille vous voyez la barre
de titre, qui est pour le moment utilisé par un icône et "Form1".
D'autres partie peuvent s'ajouter au fur et à mesure du développement
de l'application : les barres de défilement, les barres d'état, les
menus... On verra plus loin comment créer ces contrôles.
On appelle Interface Utilisateur le côté visuel de l'application.
La palette Boîte à outils contient de nombreux contrôles qui seront utilisés par
le programmeur pour agrémenter l'interface utilisateur. Les contrôles
présents par défaut dans la boîte à outils seront les plus utilisés :
Insertion d'une image, de texte, liste défilante, bouton, barre
de défilement... D'autres contrôles moins utilisés tel que l'insertion de fichier Vidéo,
de composants Internet ou de gestion de base de données sont aussi disponibles
d'une manière un peu plus complexes, que je détaillerai plus loin.
Pour insérer un contrôle de la boîte outils sur le feuille,
il suffit de cliquer sur son icônes correspondant puis de tracer
une zone rectangulaire de la taille du contrôle sur la feuille.
L'onglet propriété liste les propriétés associés à la feuille ou au contrôle
sélectionné. L'intérêt de cet onglet est qu'il est modifiable durant
l'exécution du programme (grâce à des lignes de commandes),
ou durant sa création. On va prendre un exemple simple. Cliquez sur la
feuille, puis sélectionnez la ligne "Caption" de l'onglet Propriété.
Cliquez sur Form1 puis changez-le par "Bonjour". Vous allez voir votre
feuille qui va changer de titre. Cette manipulation à été faites
durant l'édition de l'application, mais elle peut être faîtes durant
son exécution.
Cette boîte de dialogue donne la liste de toutes les feuilles qui constituent
l'application. Pour le moment vous n'en avez qu'une.
Commençons par le commencement : Le nom de "Visual Basic" a une origine bien
précise. "Visual" correspond à la marque de Microsoft, dont tous
les programmes de développement commence par Visual (Visual C++, Visual
Fox...). Le BASIC à une origine bien plus lointaine. Au début de la programmation,
le BASIC était une star, une véritable innovation. Pour la première
fois un langage utilisait des petits mots, compréhensibles par l'homme.
C'est pour cette raison qu'on l'a baptisé Beginner All-purposes
Symbolic Instructions Codes (Code d'instruction symbolique pour
débutant et tout public). De nos jours, ce nom n'est plus
vraiment d'actualité, car tous les langages, mis à part l'assembleur,
utilise un code symbolique et non plus un code machine. C'est le
compilateur qui se charge de la traduction.
Le programme peut être enregistré sous plusieurs formats. Tout d'abord
le .FRM. Ces fichiers texte enregistre toutes les propriété d'une feuille,
il y a autant de .FRM que de feuille dans l'application, c'est
le code source. Viens ensuite
le .EXE, plus connu. L'exécutable réuni toutes les feuilles dans un seul
et même fichier, qui lui n'a plus besoin de VB pour fonctionner, on dit
qu'il est autonome (ou presque on verra plus loin pourquoi). Pour créer
le fichier exécutable à partir de votre application, sélectionnez
"Créer un fichier EXE" dans le menu "Fichier". Il y a une autre manière
pour tester directement votre code source sans créer d'EXE. A
tout moment, vous pouvez appuyer sur le touche F5 pour exécuter
le projet (ou cliquez sur "Exécuter" dans le menu "Exécution").
Les valeurs
Une petite indication sur les valeurs en Basic : Pour ce qui concerne
le texte, il doit toujours être placés entre guillemets.
Les variables
Vous pouvez rentrer n'importe quelle valeurs dans une variable. Mais en fonction
de la valeur, la variable va prendre un type différent. Il y a 6 types
de variables différentes en VB :
Type
Valeur
Symbole
integer
Nombre entier compris entre -32768 et 32767
%
long
Nombre entier compris entre -2147483648 et 2147483647
&
Single
Nombre réel avec 7 chiffres après la virgule
!
double
Nombre réel avec 15 chiffres après la virgule
#
currency
Nombre réel avec 15 chiffres avant la virgule et 4 après
Ý
String
Chaîne de caractères dont la longueur est limitée à 2^31 caractères
$
L'utilité des symboles sera expliqué dans quelques lignes. Avant çà
attardons-nous sur la manière dont sont traités les types des variables.
En fait il y a 2 manières de définir une variable. La première est
implicite, vous pouvez écrire : Var = "coucou" Cette instruction va avoir pour effet de rendre
la variable Var de type String. Si vous écrivez : Var = 5 La variable sera de type integer.
Il y a une autre manière de marquer le type d'une variable, vous pouvez
écrire : Dim Var as Integer Dans ce cas là, la variable
Var est du type Integer, mais elle ne possède pas encore de valeur.
Alors quelle est la différence entre ces 2 manières. On va prendre un
exemple, à un moment du programme, vous donnez une valeur à une
variable, sans l'avoir prédéfini : Var = 30 Imaginons maintenant que plus loin dans le
programme, vous vouliez redéfinir cette variable : Var = 50000 Il va se poser un problème, car en définissant
en premier lieu Var à 30, elle à pris le type Integer. En la redéfinissant
à 50000, elle doit prendre le type long. Pour éviter ce type de conflit,
mieux vaut écrire : Dim Var as long Var = 30
Après ces instructions, vous aurez tous le loisir d'attribuer n'importe
quelle valeur entrant dans le type long.
Pour simplifier cette démarche, on peut utiliser les symboles.
Dans l'exemple de tout à l'heure, il suffit d'écrire Var& = 30 le & indique le type de la variable sans
passer par Dim.
Les tableaux
Les tableaux sont des variables un peu
spécial. je ne vais pas vous apprendre ce qu'est un tableau, sachez
juste qu'il faut passer par Dim pour les créer. De même que
pour les variables traditionnelle, il y a plusieurs types de tableau
en fonction des valeurs qu'il va prendre. Pour déclarer un tableau
de 20 valeurs de type int, vous utiliserez cette instruction : Dim VarTable(1 to 20) as Integer
Vous pouvez aussi créer des tableaux à plusieurs colonnes, par exemple
un tableau de type long de 20 X 1000 : Dim VarTable2(1 to 20 , 1 to 1000) as Long
Pour accéder au valeurs d'un tableau, il suffit d'indiquer
son ou ses indices : VarTable(5) = 60 VarTable2(5.100) = 65000
Si vous désirez insérer un commentaire dans votre programme, qui
ne sera pas lu par le compilateur, utilisez l'apostrophe : Var = 500 'Ceci est un commentaire
Les commentaires prendront toujours la couleur verte sous VB.
Opérateur d'affectation
Le principal est l'opérateur
d'affectation, le =. Pour affecté la valeur 3 à la variable
Var : Var = 3
Vous pouvez bien sûr affecté à une variable la valeur d'une autre variable,
la seule obligation est de ne mettre qu'une seule variable du côté
gauche de l'opérateur d'affectation. Ces propositions sont possibles :
Var = Var + 1 Var = Var2 Var = VarTable(3) + Var2 Les propositions suivantes ne sont pas possibles : Var + 2 = 3 Var * 2 = Var
Opérateur de calcul
Les opérateurs de calcul (+, -, *, /, mod) s'utilisent de manière
traditionnelle, vous pouvez utiliser autant de parenthèses que
nécéssaire pour faire respecter les priorités.
Opérateur de comparaison
Les opérateurs de comparaison maintenant, il y en a 6 : =, <>,
<, <=, >, >= ; respectivement égale, pas égale, inférieur, inférieur
ou égale, supérieur, supérieur ou égale. Ils seront essentiellement
utilisés avec les commandes de test.
Opérateur logique
Ce dernier type d'opérateur permet
de simplifier les syntaxes. Il y en a 3 : Not, And et Or. Il sont très
intuitif. Nous allons voir avec les commandes de test leur utilisation.
L'instruction de test la plus utilisé est sans doute la structure
If Then Else dont voici la syntaxe :
If c1 then
Instruction 1
elseif c2 then
Instruction 2
elseif c3 then
Instruction 3
...
else
Instruction n
Si la condition c1 est vérifiée, le bloc d'instruction 1 est exécuter,
dans le cas contraire, et si c2 est vérifiée, c'est le bloc
d'instruction 2 qui est exécuter ... Si aucune des conditions situées
après le If ou le Elseif n'est vérifié, c'est le bloc
n qui sera exécuté.
Bien qu'un peu lourde, cette structure
est assez simple d'emploi. Cependant lorsque l'action consiste
à affecter une valeur ou une autre en fonction du résultat du test,
mieux vaut opter pour la commande IIf (pour Immediate If) :
Variable = IIf(Condition, valeur si vrai, valeur si faux)
On va cette fois ci utiliser un exemple concret :
Var = IIf(a > 0, 2, 3)
La variable Var prendra la valeur 2 si a est supèrieur à 0, si
a est inférieur (ou égale) à 0, Var prendra la valeur 3.
Pour terminer avec ces commandes de test, sachez que si vous devez
effectuer des tests répétitifs sur la valeur d'une variable, mieux
vaut utiliser la commande Select Case :
Select Case Variable
Case Valeur1
Bloc d'instructions 1
Case Valeur2
Bloc d'instructions 2
...
Case Else
Bloc d'instructions n
End Select
Pour mieux comprendre, sachez que les deux blocs d'instruction
ci-dessous sont équivalents
If a = 1 Then
b = 12
ElseIf a = 2 Then
b = 13
ElseIf a = 3 Then
b = 18
Else
b = 0
EndIf
Select Case a
Case 1
b = 12
Case 2
b = 13
Case 3
b = 18
Case Else
b = 0
Lorsqu'une même opération doit être répétée un certain nombre de fois,
utilisez une boucle.
For
Cette boucle est la plus utilisé d'entre toutes,
indiqué simplement une variable qui va être incrémenté d'une
valeur initiale à une valeur finale. Quand la variable atteint cette
dernière valeur, la boucle s'arrête et le programme reprend son cours. Par exemple
la boucle qui suit affecte les valeurs 1 à 10 aux éléments d'indice 1
à 10 du tableau T :
Dim T(1 to 10) as Integer
For i = 1 to 10
T(i) = i
Next i
Do Loop et While Wend
2 autres commandes de boucles sont aussi possible : Do Loop et
While Wend. Les 2 blocs d'instructions suivants sont identiques
au Bloc For précédent :
i = 1
Do
T(i) = i
i = i + 1
Loop Until i > 10
i = 1
While i < 10
T(i) = i
i = i + 1
Wend
Les conditions sont inversées dans les 2 instructions. Do Loop
effectue un bouclage jusqu'à ce qu'une condition soit vraie, alors que
While Wend effectue un bouclage tant qu'une condition est vraie.
Le VB est un langage orienté objet, ce qui signifie que chaque
élément de votre applications, tel que les boutons, les listes,
le texte ou même la fenêtre sont considérés comme des objets dont
les propriétés, tel que la taille, la couleur, la police... peuvent être
modifié. Pour modifier une propriété d'un objet, voici la syntaxe : Nom.Propriété = Valeur
Par exemple pour redéfinir la hauteur de la fenêtre de votre application,
vous écrirez : Form1.Height = 3000
Pour voir les propriétés d'un objet, par exemple la fenêtre, il suffit
de cliquer dessus puis de voir tous les renseignement qui figure
dans l'onglet Propriété. Cliquez sur un élément de cette liste pour voir
en dessous à quoi il correspond.
Les élément de cet onglet
ne sont pas les seuls propriétés d'un élément, vous verrez plus
tard un moyen de tous les dénombrer.
Cet adjectif n'est pas là par hasard : un langage événementiel,
c'est tous simplement le moyen qu'utilise VB pour fonctionner.
En résumé : A chaque évènement correspond une série d'instruction
à exécuter. Par exemple lorsque la souris bouge, il faut faire ceci,
ou quand l'utilisateur clique sur cette zone, il faut faire cela.
C'est bien sûr vous qui déterminé que faire pour tel ou tel évènement.
Enfin du concret. Voilà ce que devrait donner le programme une fois
terminé :
C'est pas terrible mais c'est quand même un début. Vous allez
donc créer une nouvelle feuille. C'est à dire ouvrez VB puis sélectionnez
EXE standard. Vous vous trouvez devant votre feuille...vide.
Cliquez sur dans la boîte à outil. Là faîtes un rectangle
vers le haut et la gauche de votre feuille de travail. Refaites
la même opération en positionnant le bouton en haut à droite.
Enfin cliquez sur pour faire une zone de texte.
Positionnez le rectangle vers le milieu de la feuille, assez large mais
pas haut (en gros refaites l'image du programme).
Voilà pour l'interface utilisateur. Si çà vous amuse, vous
pouvez même exécuter le programme (F5), mais les boutons ne marcheront
pas. Fermez donc l'embryon d'application pour revenir sous VB. Là
cliquez une fois sur le premier bouton (nommé "Commmand1"), puis dans
l'onglet propriété, changez la valeur de la propriété Caption,
qui était "Command1", en "Click1". Refaites l'opération avec
le 2ème bouton : cliquez dessus puis renommez le "Command2" en "Click2".
Vos deux boutons ont maintenant comme titre "Click1" et "Click2".
Cliquez maintenant sur la zone de texte puis supprimer la valeur de
la propriété "text". La zone de texte devrait maintenant être vide.
On va maintenant attaquer la programmation proprement dîtes.
Double-cliquez sur le premier bouton, nommé "Click1". Une fenêtre
devrait s'ouvrir, c'est le code source. Il ne devrait y avoir écrit
que
Private Sub Command1_Click()
EndSub Vous allez donc écrire entre
ces 2 lignes l'instruction text1.text = "Tu as appuyé sur Click1" Vous avez bien compris que lorsque l'utilisateur va cliquez
sur le bouton "Click1", il va s'afficher dans la zone de texte "Tu
as appuyez sur Click1". Maintenant retourner sur la feuille de travail, puis
double-cliquez sur le deuxième bouton, nommé "Click2". Une fenêtre
devrait s'ouvrir, vous l'avez compris : c'est le code source.
Il ne devrait y avoir écrit
que
Private Sub Command2_Click()
EndSub en plus de ce
qu'on a écrit tout à l'heure. Vous allez donc écrire entre
ces 2 lignes l'instruction text1.text = "Tu as appuyé sur Click2" Je ne vous fais pas de dessin sur ce qui va se passer quand l'utilisateur va
cliquer sur le bouton "Click2".
C'est donc fini, vous pouvez appuyer sur F5 pour contempler
votre oeuvre. Appuyez tant de fois que vous voulez sur les boutons.
On va rajouter une dernière petite option. Pour cela fermez votre programme puis rajoutez un bouton sous
la zone de texte avec la propriété Caption initialisé à "Quitter".
Double-cliquez sur le bouton pour faire apparaître le code source, rajoutez-y
la ligne End Cette fois-ci c'est bel et bien terminé. Lorsque
vous cliquerez sur le bouton Quitter, Le terme End indique que
l'application va se terminé. Code source du programme :
Private Sub Command1_Click()
text1.text = "Tu as appuyé sur Click1" EndSub
Private Sub Command2_Click()
text1.text = "Tu as appuyé sur Click2" EndSub
Private Sub Command3_Click()
End EndSub
Voilà c'est déjà la fin de ce tutoriel sur l'excellent Visual Basic 6.0. Si vous êtes intéréssé par ce type de programmation, je vous renvoie sur developpez.com et vbasic.org, où vous trouverez sans nul doute votre bonheur.