Cours VB6

Cours VB6

Cours VB6

3.53.5 étoiles sur 5 a partir de 8 votes.
Votez ce document:

Cours d'initiation aux bases du langage Visual Basic

...

Découverte de l'interface

L'interface de VB 2010 Express

Vous avez donc installé Visual Basic 2010 Express. En passant, sachez que ce dernier est un IDE (environnement de développement intégré) qui rassemble les fonctions de conception, édition de code, compilation et débogage. Lors du premier lancement, vous constatez qu'un petit temps de chargement apparaît : le logiciel configure l'interface pour la première fois.

Page d'accueil

Nous voici sur la page de démarrage du logiciel. Vous pouvez la parcourir, elle contient des informations utiles aux développeurs (vous) et conservera l'historique de vos projets récents.

Barre d'outils

La barre d'outils vous sera indispensable afin de travailler en parfaite ergonomie. Je vais récapituler les boutons présents ci- dessus (de gauche à droite), actifs ou non durant vos travaux.

Nouveau projet : crée un projet.

Ouvrir un fichier : à utiliser pour ouvrir un projet existant ou une page simple.

Ajouter un nouvel élément : disponible quand un projet est ouvert ; il permet d'ajouter des feuilles au projet. Enregistrer : raccourci CTRL + S.

Enregistrer tout : raccourci CTRL + MAJ + S. Couper : raccourci CTRL + X.

Copier : raccourci CTRL + C.

Coller : raccourci CTRL + V.

Rechercher : fort utile dans le cas de gros projets ; raccourci CTRL + F.

Commenter les lignes : je reviendrai plus tard sur le principe des commentaires. Décommenter les lignes.

Annuler : raccourci CTRL + Z. Rétablir : raccourci CTRL + MAJ + Z.

Démarrer le débogage : expliqué plus tard.

Arrêter le débogage : expliqué plus tard. Pas à pas détaillé : expliqué plus tard. Pas à pas principal : expliqué plus tard.

Pas à pas sortant : expliqué plus tard.

Explorateur de solutions : affiche la fenêtre de solutions. Fenêtre des propriétés : affiche la fenêtre des propriétés. Boîte à outils : permet d'afficher la boîte à outils.

Gestionnaire d'extensions : permet de gérer les extensions que vous pouvez ajouter à Visual Basic Express.

  Liste d'erreurs : affiche la fenêtre d'erreurs.

Efforcez-vous de mémoriser les boutons importants, formatés en rouge dans la liste à puces ci-dessus. Il est également préférable de connaître les raccourcis clavier.

Nouveau projet

Je vous invite donc, seulement pour l'appréhension de l'interface, à créer un projet Windows Forms.

Pour ce faire, trois solutions s'offrent à vous : cliquer sur le bouton « Nouveau projet », se rendre dans le menu Fichier → Nouveau projet ou utiliser le raccourci clavier CTRL + N.

Cliquez donc sur l'icône correspondant à Application Windows Forms.

Saisissez un nom de projet dans la case « Nom ». Vous pouvez laisser le nom par défaut, ce projet ne sera pas utilisé. Cliquez ensuite sur « OK », et vous voici dans un nouveau projet !

Vous remarquez que beaucoup plus de choses s'offrent à vous.

Nous allons tout voir en détail.

Espace de travail

Cette partie correspond à notre espace de travail : c'est ici que nous allons créer nos fenêtres, entrer nos lignes de code, etc.

Boîte à outils

Sur la gauche de l'interface, nous avons accès à la boîte à outils. Pour afficher cette boîte, vous allez devoir cliquer sur le petit onglet qui dépasse sur la gauche. Une fois la boîte sortie, cliquez sur la punaise pour la « fixer » et la maintenir visible. La boîte à outils nous sera d'une grande utilité lorsque nous créerons la partie graphique de nos applications, mais inutile lors de l'écriture du code VB. Dès lors, si vous voulez la rentrer automatiquement, cliquez une nouvelle fois sur la punaise.

Fenêtre de solutions

De l'autre côté de notre écran, nous remarquons la fenêtre de solutions : elle récapitule l'arborescence de notre projet. Elle servira également à gérer les bases de données, mais plus tard. 

Fenêtre des propriétés

Autre partie essentielle : la fenêtre des propriétés qui va nous permettre, en mode conception, de modifier les propriétés de nos objets. Vous n'avez rien compris ? Mettez ce terme dans un coin de votre tête, nous allons rapidement y revenir.

La dernière fenêtre est celle des erreurs. J'espère que vous n'en aurez pas l'utilité, mais elle saura se faire remarquer quand il le faudra, ne vous inquiétez pas. 

En attendant, je vous laisse vous familiariser avec l'environnement : déplacez les boîtes, les fenêtres, et redimensionnez-les à votre guise.

Nous voici donc parés !

Premiers pas

Après cette petite découverte de notre IDE — qui signifie en français « Environnement de Développement Intégré » ; retenez bien ce terme car je vais l'utiliser par la suite —, nous allons immédiatement entrer dans le monde fabuleux de la programmation !

Hello World !

J'espère que vous connaissez et appréciez cette interface, car vous allez y travailler durant les dix prochaines années de votre vie ! 

Tout d'abord, je tiens à m'excuser pour les termes que j'utiliserai dans ce tutoriel. Les puristes constateront immédiatement que les mots utilisés ne sont pas toujours exacts, mais je les trouve plus simples. Sachez que rien ne change : cela fonctionnera de la même façon.

Notre premier programme !

Nous allons donc aborder les principes fondamentaux du langage.

Pour cela, empressons-nous de créer un nouveau projet, cette fois en application console. 

Évitez d'utiliser des accents ou caractères spéciaux dans un nom de fichier ou de projet.

Sélectionnez cette icône :

Ah ! Il y a déjà de nombreux mots de langue étrangère qui sont apparus !

Pas de panique, je vais vous expliquer. Voici ce qui devrait s'afficher chez vous :

Code : VB.NET

Si ce n'est pas exactement ce code que vous voyez, faites en sorte que cela soit le cas, afin que nous ayons tous le même point de départ.

Ces mots barbares figurant désormais dans votre feuille de code sont indispensables ! Si vous les supprimez, l'application ne se lancera pas. 

Chaque grosse partie, telle qu'une fonction, un module, un sub, voire une boucle conditionnelle (désolé de parler aussi violemment dès le début !   ), aura une balise de début : ici, « Module Module1 » et « Sub Main() », qui ont chacune une balise de fin (« End Sub » et « End Module »). Le mot « Module1 » est le nom du module, que vous pouvez modifier si l'envie vous prend. Il nous sera réellement pratique lorsque nous utiliserons plusieurs feuilles.

Pour ce qui est du « Main », n'y touchez pas car, lorsqu'on va lancer le programme, la première chose que ce dernier va faire sera de localiser et de sauter dans la partie appelée « Main ». S'il ne la trouve pas, cela ne fonctionnera pas ! 

Les « parties » telles que Main() sont appelées des méthodes car elles sont précédées de « Sub ».

Tout d'abord, nous cherchons le moyen d'écrire quelque chose dans la console.

Ah, j'ai omis de vous expliquer en quoi consiste la console. Je suis confus !

Voici ma console. Je suis conscient que ce n'est visuellement pas exceptionnel, mais c'est plus simple pour apprendre les bases.

Mais pourquoi tant de haine ? Je souhaite plutôt faire Half-Life 3, moi ! Pas Space Invaders.   Du calme, les Zéros ! L'essentiel dans l'apprentissage de la programmation est d'y aller progressivement. 

Cette console vous permettra d'apprendre les bases et les concepts fondamentaux du VB sans vous embrouiller directement l'esprit avec les objets qui orneront nos interfaces graphiques (c'est pour votre bien   ).

Nous allons donc créer un programme qui écrit dans cette console.

Je vais écrire pour vous la ligne qui va effectuer cette action, puisque mon travail est d'aider les Zéros que vous êtes !

Hello World !

Code : VB.NET

Donc, pour ceux qui ont quelque peu suivi, où va-t-on placer cette ligne ? (Il n'y a pas cinquante possibilités !   )

Secret (cliquez pour afficher)

Une « ligne » est aussi appelée une instruction.

Eh bien oui, je l'ai dit plus haut : le programme va se rendre directement dans le Main(), autant donc y placer nos lignes (instructions) — c'est-à-dire entre « Sub Main() » et « End Sub ».

Pour lancer le programme, cliquez sur la petite flèche verte de la barre d'outils :

Ah ! je ne vois rien : la fenêtre s'ouvre et se referme trop rapidement !

Ah bon ? 

Déroulement du programme

Excusez-moi, je vous explique : dans notre cas, le programme entre dans le main et exécute les actions de haut en bas, instruction par instruction. Attention, ce ne sera plus le cas lorsque nous aborderons des notions telles que les boucles ou les fonctions.

Voici nos lignes de code :

  1. Module Module1 : le programme entre dans son module au lancement. Forcément ; sinon, rien ne se lancerait jamais. La console s'initialise donc.
  2. Il se retrouve à entrer dans le main. La console est ouverte.
  3. Il continue et tombe sur notre ligne qui lui dit « affiche “Hello World !” », il affiche donc « Hello World ! » dans la console.
  4. Il arrive à la fin du main (end main ). Rien ne se passe, « Hello World ! » est toujours affiché.
  5. Il rencontre le End Module : la console se ferme.

Résultat des courses : la console s'est ouverte, a affiché « Hello World ! » et s'est fermée à nouveau... mais tout cela en une fraction de seconde, on n'a donc rien remarqué !

La pause

La parade : donner au programme une ligne à exécuter sur laquelle il va attendre quelque chose. On pourrait bien lui dire : « Attends pendant dix secondes... », mais il y a un moyen plus simple et préféré des programmeurs : attendre une entrée. Oui, la touche Entrée de votre clavier ( return pour les puristes).

On va faire attendre le programme, qui ne bougera pas avant que la touche Entrée ne soit pressée. Pour cela, voici la ligne de code qui effectue cette action :

Code : VB.NET

Cette ligne dit à l'origine « lis le caractère que j'ai entré », mais nous allons l'utiliser pour dire au programme : « Attends l'appui sur la touche Entrée. »

Maintenant, où la placer ?

Secret (cliquez pour afficher)

J'ai fourni l'intégralité du code pour ceux qui seraient déjà perdus. J'ai bien placé notre instruction après la ligne qui demande l'affichage de notre texte. En effet, si je l'avais mise avant, le programme aurait effectué une pause avant d'afficher la ligne : je l'ai dit plus haut, il exécute les instructions du haut vers le bas.

On clique sur notre fidèle flèche :

Code : Console

Victoire, notre « Hello World ! » reste affiché !

Si l'on presse la touche Entrée, la console se ferme : nous avons atteint nos objectifs !

Objets, fonctions ...

Vous l'avez peut-être remarqué : au moment où vous avez écrit « Console. », une liste s'est affichée en dessous de votre curseur. Dans cette partie, je vais vous expliquer l'utilité de cette liste.

Alors, encore une fois : un schéma !

J'ai essayé de faire le plus simple possible, mais accrochez-vous, vous allez recevoir beaucoup d'informations !   Nous avons donc notre console au début du schéma. Sous VB, la console est considérée comme un objet.

Cet objet possède des fonctions (en rouge) et d'autres objets (en bleu). Je vais déjà expliquer cela.

Fonctions

Une fonction est une séquence de code déjà existante et conçue pour obtenir un effet bien défini. Concrètement, cela nous permet de n'écrire qu'une seule fois ce que va faire cette séquence, puis d'appeler la fonction correspondante autant de fois que nous le voulons (qui exécutera bien entendu ce qu'on a défini au préalable dans la fonction... que des mots compliqués !   ). Par exemple, nos deux lignes qui nous permettaient d'afficher « Hello World ! » et d'effectuer une pause auraient pu être placées dans une fonction séparée. Dans ce cas, en une ligne (l'appel de la fonction), on aurait pu effectuer cette séquence ; imaginez alors le gain de temps et les avantages dans des séquences de plusieurs centaines de lignes.

Un autre exemple : notre fonction Write avait pour but d'écrire ce que l'on lui donnait comme arguments (je vous expliquerai cela par la suite). La fonction Write a donc été écrite par un développeur qui y a placé une série d'instructions (et pas des moindres !) permettant d'afficher du texte dans la console.

Objets

Pour faire simple, les objets permettent d'organiser notre code. Par exemple, notre fonction Write est, vous l'avez vu, liée à l'objet Console. C'est ainsi que le programme sait où effectuer le Write. Nous verrons plus en détail ce concept d'objets lorsque nous nous attaquerons au graphisme, mais vous venez de lire quelques notions de Programmation Orientée Objet (aussi appelée POO).

À noter : les « liens » entre les objets se font par des points (« . »). Le nombre d'objets liés n'est limité que si l'objet que vous avez sélectionné ne vous en propose pas. Sinon, vous pouvez en raccorder dix, si vous le voulez.

Fonctions, arguments

Pas de panique si vous n'avez pas compris ce concept de fonctions, d'objets, etc. 

Nous allons justement nous pencher sur la structure d'un appel de fonction, car nous en aurons besoin très bientôt ; et pour cela, nous allons étudier une fonction simple : le BEEP (pour faire bip avec le haut-parleur de l'ordinateur).

Afin d'y accéder, nous allons écrire Console.Beep .

Ici, deux choix s'offrent à nous : le classique () ou (frequency as integer, duration as integer).

Ouh là là, ça devient pas cool, ça !

Du calme, on y va doucement !

La première forme va émettre un bip classique lors de l'exécution.

La seconde demande des arguments. Il s'agit de paramètres passés à la fonction pour lui donner des indications plus précises. Précédemment, lorsque nous avons écrit Write("Hello world") , l'argument était « "Hello world" » ; la fonction l'a récupéré et l'a affiché, elle a donc fait son travail.

Pour certaines fonctions, on a le choix de donner des arguments ou non, selon la façon dont elles ont été créées (c'est ce qu'on appelle la surcharge, pour les personnes ayant déjà des notions d'orienté objet).

La seconde forme prend donc deux arguments, que vous voyez d'ailleurs s'afficher dès que vous tapez quelque chose entre les parenthèses, comme sur l'une des images au-dessus. Le premier sert à définir la fréquence du bip : entrez donc un nombre pour lui donner une fréquence. Le second, quant à lui, détermine la durée du bip. Les arguments sont délimités par une virgule, et si vous avez bien compris, vous devriez obtenir une ligne de ce genre :

Code : VB.NET

Placez-la dans le programme comme nos autres lignes. Si vous la mettez avant ou après le Console.Read(), cela déterminera si le bip doit se produire avant ou après l'appui sur Entrée. Eh oui, le programme n'avancera pas tant que cette ligne ne sera pas exécutée.

Pourquoi n'y a-t-il pas de guillemets (doubles quotes : « " ») autour des nombres ?

Les nombres n'ont pas besoin de cette syntaxe particulière. Je m'explique : une variable ne peut pas avoir un nom composé uniquement de chiffres. Et donc, si vous écrivez des chiffres, le programme détectera immédiatement qu'il s'agit d'un nombre ; tandis que si vous écrivez des lettres, le programme ne saura pas s'il faut afficher le texte même ou si c'est le nom d'une variable.   Donc, pour les noms de variables, il ne faut pas de guillemets, mais pour un simple texte, si. 

Tenez, ça tombe bien, nous allons justement découvrir ce qu'est réellement une variable ! 

Allez, courage ! Certaines notions ou concepts vont être difficiles à assimiler, mais plus vous allez pratiquer, plus vous allez découvrir par vous-mêmes les actions que chaque élément peut effectuer. C'est cela qui fera de vous des programmeurs hors pair !

Les variables

Ce mot vous donne des boutons ? Il vous rappelle votre prof de maths du collège ?

N'ayez crainte ! Il s'agit d'un concept assez simple, qui ne requiert pas nécessairement des connaissances poussées en mathématiques (encore heureux !). Sur ce, je vais vous expliquer le concept de variable.

Qu'est-ce qu'une variable

Eh bien, comme son nom l'indique, c'est quelque chose qui varie. On peut y stocker pratiquement tout ce qu'on veut, comme par exemple des nombres, des phrases, des tableaux, etc.

Mais c'est géant, ce truc ! 

N'est-ce pas ? Et c'est pour cette raison que les variables sont omniprésentes dans les programmes. Prenons comme exemple votre navigateur web favori : il stocke plein d'informations dans des variables, telles que l'adresse de la page, le mot de passe qu'il vous affiche automatiquement lorsque vous surfez sur votre site favori, etc.

Vous devez donc bien comprendre que ces variables vous serviront partout et dans tous vos programmes : pour garder en mémoire le choix que l'utilisateur a fait dans un menu, le texte qu'il a tapé il y a trente secondes... Les possibilités sont infinies.

Bien entendu, il y a tout de même des contraintes !

Les types

 Les variables se déclinent sous différents types : il y a par exemple un type spécifique pour stocker des nombres, un autre pour stocker du texte, etc.

D'ailleurs, si vous tentez d'enregistrer du texte dans une variable créée pour contenir un nombre, l'ordinateur va vous afficher une petite erreur. 

Tableau récapitulatif des types que nous allons utiliser

Il existe de nombreux autres types, mais ils ne vous seront pas utiles pour le moment.

J'ai précisé que le type integer (abrégé int) existait sous trois déclinaisons : int16, int32 et int64 (le nombre après le mot int désigne la place qu'il prendra en mémoire). Plus le nombre est grand, plus votre variable prendra de la place, mais plus le nombre que vous pourrez y stocker sera grand. Pour ne pas nous compliquer la vie, nous utiliserons le integer (int) tout simple.

Si vous voulez en savoir plus sur l'espace mémoire utilisé par les variables, vous pouvez vous renseigner sur les « bits ».

Pour ce qui est du texte, on a de la place : il n'y a pas de limite apparente. Vous pouvez donc y stocker sans souci un discours entier. Si le booléen, ce petit dernier, ne vous inspire pas et ne vous semble pas utile, vous allez apprendre à le découvrir.

Les utiliser - la théorie

Comment allons-nous utiliser des variables ?

Telle est la question que nous allons éclaircir.

Que vous reste-t-il de vos cours de maths de 3e (sujet sensible   ) ?

Bon... si j'écris ceci :  , qu'est-ce qu'il se produit ?  

  1. Mon doigt se précipite pour éteindre l'écran.
  2. Je ferme immédiatement le navigateur web.
  3. Je prends une feuille de papier et résous cette équation. 

Excusez-moi de vous avoir attaqués par derrière comme je l'ai fait, mais c'était dans le but de vous faire observer que l'attribution des variables est en de nombreux points similaire à notre vieil ami x en maths. 

Comme le fait que pour attribuer une valeur à une variable, on place un « = » entre ces deux éléments.

Le sens

Ce n'est pas difficile : en VB, et même dans tous les langages de programmation, ce qui se situe à droite du « = » correspond à ce qui se trouve à gauche. C'est ainsi, cela ne changera pas ! 

Et donc, si vous regardez mes petits schémas :

on entre le chiffre 3 dans la variable appelée X, pas de problème ; ensuite, on souhaite mettre X dans 3 ! Aïe, cela ne va pas fonctionner ! Si vous écrivez quelque chose du genre, une erreur va se produire : comme si vous disiez « 3 = 2 », le compilateur va vous regarder avec des yeux grands comme ça et se demandera ce qu'il doit faire ;

 ensuite, on met la variable Y dans la variable X ; et enfin, X dans Y.

Pas de problème pour le reste.

Je ne sais pas si vous l'avez remarqué, mais j'ai mis une variable dans une autre : c'est tout à fait possible, aucun problème à ce niveau-là. Par contre, l'affectation d'une valeur à une variable écrase l'ancienne valeur.

Revoilà donc mes boîtes. J'explique le schéma : vous ordonnez à votre programme « mets 3 dans X », ce qu'il va faire. Ensuite, vous lui dites « mets 5 dans X », mais il va oublier le 3 et écrire 5. 

Attention, donc !

Mais en contrepartie, les variables offrent un stockage « nettoyable » à volonté.   Je m'explique : vous pouvez les lire et y écrire autant de fois que vous le souhaitez. Lorsque vous lisez la valeur d'une variable, son contenu reste à l'intérieur (évident, me diront certains, mais sachez qu'il y a quelques dizaines d'années, les valeurs stockées dans la mémoire RAM s'effaçaient lors de leur lecture ; à l'époque, c'était des « tores » qui stockaient les bits et, lors de leur lecture, l'énergie se dissipait et faisait disparaître l'information).

Si vous avez bien compris, je pourrais écrire ceci (j'en profite pour vous montrer comment on initialise une variable, mais j'y reviendrai juste après) :

Code : VB.NET

MaVariable = 5

MaVariable = 8

MaVariable = 15

MaVariable = 2

MaVariable = 88

MaVariable = 23

Que vaudra MaVariable à la fin de ces instructions ?

Secret (cliquez pour afficher)

Les utiliser - la pratique

Cette petite partie de lecture vous a ennuyé ? On va remédier à ce malaise.   Nous allons mettre en œuvre tout ce que je vous ai expliqué.

Tout d'abord, en VB, il faut déclarer une variable avant de l'utiliser. Autrement, l'ordinateur ne saura pas de quel type est la variable et ne saura donc pas comment réagir.

Nouvelle variable

Voici l'instruction servant à déclarer une variable, par exemple de type integer :

Code : VB.NET

Pourquoi y a-t-il un terme appelé « MaVariable » ? Je pensais que le Visual Basic était conçu en anglais.

Effectivement, les mots que vous allez utiliser et qui serviront d'instructions dans vos programmes, comme par exemple «

Write », « If, Then », etc., sont en anglais ; mais si l'on décortique la ligne que je viens de vous montrer, on obtient ceci :

Code VB Dim MaVariable As Integer

Français Crée une variable de nom « MaVariable » en tant que integer

En somme, le mot « MaVariable » est le nom attribué à la variable. C'est vous qui le choisissez !

Le nom d'une variable ne peut contenir d'espaces ; privilégiez plutôt un « _ » ( underscore) ou une majuscule à chaque « nouveau mot », mais en liant le tout (comme dans mon exemple).

Autre chose à propos des noms : il y a des exceptions. En effet, une variable ne peut pas avoir comme nom un type ou le nom d'une boucle. Par exemple, si vous appelez votre variable « date », une erreur se produira car le type date existe déjà.

Bon, excusez-moi... j'avais dit qu'on allait pratiquer. Eh bien, on y va ! 

Retournez sur votre projet, qui doit encore être ouvert (du moins, je l'espère...). Si vous ne l'avez pas conservé, recréez-le (désolé   ).

Nous revoici donc avec nos lignes :

Code : VB.NET

J'ai retiré notre essai sur la fonction BEEP, car je pense que vous ne souhaitez pas entendre votre ordinateur bipper à chaque test.

MaVariable doit être égale à 5 !

Nous allons donc déclarer une variable et lui assigner une valeur. Je vous ai expliqué comment déclarer une variable.

Je vous ai aussi rapidement expliqué comment attribuer une valeur à une variable. Essayez donc de créer une variable de type

integer appelée « MaVariable » et d'y entrer la valeur « 5 ».

Secret (cliquez pour afficher)

Maintenant, où placer ces instructions ?

C'est la question fatidique ! Si vous vous rappelez le schéma sur l'ordre d'exécution des lignes dans un programme, vous devriez vous rappeler qu'une fois entrés dans un sub ou une fonction, sauf indications contraires (que nous étudierons dans un prochain chapitre), nous allons de haut en bas.

De ce fait, si vous avez besoin de votre variable à la ligne 4 de votre programme, il vous faut l'initialiser avant.

Même chose pour lui assigner une valeur : si vous l'affectez seulement à la ligne 6, la ligne 4 ne pourra pas lire ce résultat.

Dernière chose : je parie que vous souhaitez faire quelque chose de cette variable, ne serait-ce que l'afficher ?

J'ai expliqué comment afficher un texte avec le Console.Write. Pensez-vous être capables de faire en sorte d'afficher la valeur de la variable dans la console ?

Secret (cliquez pour afficher)

Voici le résultat :

Code : Console

Voilà, vous pouvez tester : ce code affiche « 5 » dans la console.

Hop, hop, hop ! Pourquoi as-tu enlevé les doubles quotes (« " ») qui se trouvaient dans le Write ?

C'était le piège (sauf si vous avez bien lu précédemment) ! 

Si vous conservez les doubles quotes, la fonction Write affichera en dur le mot « MaVariable », et non sa valeur. Il faut donc enlever les doubles quotes pour que la fonction utilise le contenu de la variable MaVariable.

Si vous avez fait l'erreur, c'est normal : on va dire que je suis passé dessus trop rapidement. Mais après tout, c'est ainsi que vous apprendrez !

Vous êtes désormais capables de déclarer des variables et de leur affecter des valeurs. Vous en apprendrez plus durant l'exploration d'autres sujets. Rien de tel que de pratiquer pour s'améliorer. 

Dernière chose : il faut toujours essayer d'assigner une valeur à une variable dès le début ! Sinon, la variable n'est égale à rien, et des erreurs peuvent survenir dans certains cas. Donc, systématiquement : une déclaration, une assignation. 

Eh bien, je pense que vous savez désormais dans les grandes lignes à quoi servent les variables et comment les utiliser. Cela tombe bien car à partir de maintenant, elles seront partout !

   Modifications et opérations sur les variables

Avant d'entamer ce nouveau chapitre, récapitulons et voyons où nous en sommes.

Nous avons installé Visual Basic 2010 Express et appris sommairement à l'utiliser ; nous avons vu comment créer un projet console, afficher du texte dans la console, mettre la console en « pause » et émettre un bip.

Ensuite, dans la partie « Les variables », nous avons appris à déclarer une variable, lui assigner une valeur et l'afficher. Il est maintenant temps de s'amuser un peu avec nos nouvelles copines, les variables. Démarrons sans plus tarder !

Opérations sur une variable

Nous allons à présent apprendre comment modifier et effectuer des opérations sur ces variables.

Voici un exemple : vous souhaitez créer un programme qui calcule la somme de deux nombres ; pour ce faire, il vous faudra utiliser des opérations. Je vais vous expliquer la marche à suivre.

Reprenons notre programme, déclarons-y une variable « MaVariable » en integer et assignons-lui la valeur 5 (ce qui, normalement, est déjà fait).

Déclarons maintenant une seconde variable intitulée « MaVariable2 », de nouveau en integer, et assignons-lui cette fois la valeur 0.

Le nom de votre variable est unique : si vous déclarez deux variables par le même nom, une erreur se produira.

Si vous avez correctement suivi la démarche, vous devriez obtenir le résultat suivant :

Code : VB.NET

Dans le cas où vous avez plusieurs variables du même type, vous pouvez rassembler leur déclaration comme suit :

Second point : vous pouvez également initialiser vos variables dès leur déclaration, comme ci-dessous, ce qui est pratique pour les déclarations rapides.

Attention toutefois, vous ne pouvez pas utiliser ces deux techniques ensemble ; une instruction du type Dim

MaVariable, MaVariable2 As Integer = 5 vous affichera une erreur ! C'est donc soit l'une, soit l'autre.

À l'attaque

Passons maintenant au concret !

On va additionner un nombre à notre variable « MaVariable ». Pour ce faire, rien de plus simple ! Démonstration.

Code : VB.NET

Voilà ! Simple, n'est-ce pas ?

En résumé, vous avez additionné 5 à la variable « MaVariable ». Le programme a effectué cette opération. Seulement, le résultat n'est allé nulle part : nous n'avons pas mis le signe égal (« = ») !

Heu... tu me fais faire n'importe quoi ? 

Mais non, c'est pour vous montrer ce qu'il faut faire et ce qu'il ne faut pas faire.   Imaginez un parent mettre ses doigts dans la prise et montrer à bébé l'effet que cela produit ; il comprendra tout de suite mieux !   (Mauvais exemple.)

Pour y remédier, il faut ajouter le signe égal, comme lorsque nous initialisons nos variables.

Code : VB.NET

Nous allons donc nous retrouver avec... 10, dans la variable « MaVariable2 ».

À noter que nous avons initialisé « MaVariable2 » avec 0. Si nous l'avions fait, par exemple, avec 7, le résultat aurait été identique puisque, souvenez-vous, l'entrée d'une valeur dans une variable écrase l'ancienne.

Il faut savoir que nous n'avons pas forcément besoin de deux variables. En effet, l'instruction MaVariable = MaVariable + 5 aurait également affecté la valeur 10 à la variable « MaVariable ».

Plus en profondeur...

Vous savez à présent comment additionner un nombre à une variable. Nous allons donc découvrir les autres opérations possibles.

J'explique ce petit tableau par un exemple : nous avons appris que, pour additionner 3 et 2, la syntaxe est 3+2 . C'est évident, me direz-vous... mais si je vous avais demandé de diviser 10 et 5, comment auriez-vous procédé ?

Eh bien, désormais, vous savez à quel « caractère » correspond chaque opération, la division de 10 et 5 aurait donc été : 10/5

Qu'est-ce que le modulo ?

Très bonne question. Le modulo est une opération spécifique en programmation, qui permet de récupérer le reste d'une division.

Exemples :

10 mod 5 correspond à 10/5 ; le résultat est 2, le reste est 0, donc 10 mod 5 = 0 .

14 mod 3 correspond à 14/3 ; le résultat est 4, le reste 2, donc 14 mod 3 = 2 .

Nous allons immédiatement mettre en pratique ces informations. Toutes les instructions que nous allons ajouter se feront dans le main.

Essayez d'attribuer des valeurs à vos variables et d'effectuer des opérations entre elles pour finalement stocker le résultat dans une troisième variable et afficher le tout.

Petite parenthèse : je vais en profiter pour vous expliquer comment écrire sur plusieurs lignes. Si vous écrivez une fonction Write, puis une autre en dessous de façon à donner ceci :

Code : VB.NET

 ... vous allez vous retrouver avec le résultat suivant :

Code : Console

Afin d'écrire sur deux lignes, on va utiliser le procédé le plus simple pour le moment, qui est la fonction WriteLine(). Elle prend aussi comme argument la variable ou le texte à afficher mais insère un retour à la ligne au bout. Un code du genre...

Code : VB.NET

... produira le résultat suivant :

Code : Console

Avec ces nouvelles informations, essayez donc de multiplier 8 par 9 (chaque nombre mis au préalable dans une variable), le tout étant entré dans une troisième variable. En outre, un petit supplément serait d'afficher l'opération que vous faites.

Je vous laisse chercher ! 

Secret (cliquez pour afficher)

Ce code, que j'ai tenté d'écrire de la façon la plus claire possible, nous affiche donc ceci :

Code : Console

Essayez de modifier les valeurs des variables, l'opération, etc.

Notre ligne MaVariable3 = MaVariable * MaVariable2 aurait très bien pu être simplifiée sans passer par des variables intermédiaires : MaVariable3 = 9 * 8 est donc également une syntaxe correcte.

Dans cette même logique, un Console.Write(9 * 8) fonctionnera également, car je vous ai expliqué que les arguments d'une fonction étaient séparés par des virgules ; donc, s'il n'y a pas de virgules, c'est le même argument. Mais bon, n'allons pas trop vite.

 Différentes syntaxes

Nous avons donc créé un code affichant 9 x 8 = 72 .

Ce code, comme vous l'avez certainement constaté, est très long pour le peu qu'il puisse faire ; pourtant, je vous ai donné quelques astuces.

Mon code peut donc être simplifié de plusieurs manières.

Tout d'abord, l'initialisation lors de la déclaration :

Code : VB.NET

 Puis, un seul Write :

Code : VB.NET

 Wow, du calme ! À quoi sert le signe « & » ?

Bonne question. C'est ce qu'on appelle la concaténation, elle permet de « rassembler » deux choses en une ; ici, par exemple, j'ai rassemblé la chaîne de caractères "9 x 8 = " et le contenu de la variable, ce qui aura pour effet de m'afficher directement 9 x 8 = 72 (je parle de rassembler deux choses en une car, en faisant cela, on rassemble le tout dans le même argument).

Dernière amélioration possible : la suppression d'une variable intermédiaire ; on se retrouve à faire l'opération directement dans le Write.

Code : VB.NET

Ah, bah, autant effectuer directement le 9 * 8 en utilisant la concaténation !

Oui, effectivement. Mais dans ce cas, vos variables ne servent plus à rien et cette instruction ne sera valable que pour faire 9 * 8 ...

Grâce à ces modifications, notre code devient plus clair :

Code : VB.NET

Attention toutefois en utilisant la concaténation : si vous en abusez, vous risquez de vous retrouver avec des lignes trop longues, et n'allez plus repérer ce qui se passe.

Pour cela, la parade arrive (eh oui, il y en a toujours une ; du moins, presque) !

Cours d'initiation aux bases du langage Visual Basic

...

Découverte de l'interface

L'interface de VB 2010 Express

Vous avez donc installé Visual Basic 2010 Express. En passant, sachez que ce dernier est un IDE (environnement de développement intégré) qui rassemble les fonctions de conception, édition de code, compilation et débogage. Lors du premier lancement, vous constatez qu'un petit temps de chargement apparaît : le logiciel configure l'interface pour la première fois.

Page d'accueil

Nous voici sur la page de démarrage du logiciel. Vous pouvez la parcourir, elle contient des informations utiles aux développeurs (vous) et conservera l'historique de vos projets récents.

Barre d'outils

La barre d'outils vous sera indispensable afin de travailler en parfaite ergonomie. Je vais récapituler les boutons présents ci- dessus (de gauche à droite), actifs ou non durant vos travaux.

Nouveau projet : crée un projet.

Ouvrir un fichier : à utiliser pour ouvrir un projet existant ou une page simple.

Ajouter un nouvel élément : disponible quand un projet est ouvert ; il permet d'ajouter des feuilles au projet. Enregistrer : raccourci CTRL + S.

Enregistrer tout : raccourci CTRL + MAJ + S. Couper : raccourci CTRL + X.

Copier : raccourci CTRL + C.

Coller : raccourci CTRL + V.

Rechercher : fort utile dans le cas de gros projets ; raccourci CTRL + F.

Commenter les lignes : je reviendrai plus tard sur le principe des commentaires. Décommenter les lignes.

Annuler : raccourci CTRL + Z. Rétablir : raccourci CTRL + MAJ + Z.

Démarrer le débogage : expliqué plus tard.

Arrêter le débogage : expliqué plus tard. Pas à pas détaillé : expliqué plus tard. Pas à pas principal : expliqué plus tard.

Pas à pas sortant : expliqué plus tard.

Explorateur de solutions : affiche la fenêtre de solutions. Fenêtre des propriétés : affiche la fenêtre des propriétés. Boîte à outils : permet d'afficher la boîte à outils.

Gestionnaire d'extensions : permet de gérer les extensions que vous pouvez ajouter à Visual Basic Express.

  Liste d'erreurs : affiche la fenêtre d'erreurs.

Efforcez-vous de mémoriser les boutons importants, formatés en rouge dans la liste à puces ci-dessus. Il est également préférable de connaître les raccourcis clavier.

Nouveau projet

Je vous invite donc, seulement pour l'appréhension de l'interface, à créer un projet Windows Forms.

Pour ce faire, trois solutions s'offrent à vous : cliquer sur le bouton « Nouveau projet », se rendre dans le menu Fichier → Nouveau projet ou utiliser le raccourci clavier CTRL + N.

Cliquez donc sur l'icône correspondant à Application Windows Forms.

Saisissez un nom de projet dans la case « Nom ». Vous pouvez laisser le nom par défaut, ce projet ne sera pas utilisé. Cliquez ensuite sur « OK », et vous voici dans un nouveau projet !

Vous remarquez que beaucoup plus de choses s'offrent à vous.

Nous allons tout voir en détail.

Espace de travail

Cette partie correspond à notre espace de travail : c'est ici que nous allons créer nos fenêtres, entrer nos lignes de code, etc.

Boîte à outils

Sur la gauche de l'interface, nous avons accès à la boîte à outils. Pour afficher cette boîte, vous allez devoir cliquer sur le petit onglet qui dépasse sur la gauche. Une fois la boîte sortie, cliquez sur la punaise pour la « fixer » et la maintenir visible. La boîte à outils nous sera d'une grande utilité lorsque nous créerons la partie graphique de nos applications, mais inutile lors de l'écriture du code VB. Dès lors, si vous voulez la rentrer automatiquement, cliquez une nouvelle fois sur la punaise.

Fenêtre de solutions

De l'autre côté de notre écran, nous remarquons la fenêtre de solutions : elle récapitule l'arborescence de notre projet. Elle servira également à gérer les bases de données, mais plus tard. 

Fenêtre des propriétés

Autre partie essentielle : la fenêtre des propriétés qui va nous permettre, en mode conception, de modifier les propriétés de nos objets. Vous n'avez rien compris ? Mettez ce terme dans un coin de votre tête, nous allons rapidement y revenir.

La dernière fenêtre est celle des erreurs. J'espère que vous n'en aurez pas l'utilité, mais elle saura se faire remarquer quand il le faudra, ne vous inquiétez pas. 

En attendant, je vous laisse vous familiariser avec l'environnement : déplacez les boîtes, les fenêtres, et redimensionnez-les à votre guise.

Nous voici donc parés !

Premiers pas

Après cette petite découverte de notre IDE — qui signifie en français « Environnement de Développement Intégré » ; retenez bien ce terme car je vais l'utiliser par la suite —, nous allons immédiatement entrer dans le monde fabuleux de la programmation !

Hello World !

J'espère que vous connaissez et appréciez cette interface, car vous allez y travailler durant les dix prochaines années de votre vie ! 

Tout d'abord, je tiens à m'excuser pour les termes que j'utiliserai dans ce tutoriel. Les puristes constateront immédiatement que les mots utilisés ne sont pas toujours exacts, mais je les trouve plus simples. Sachez que rien ne change : cela fonctionnera de la même façon.

Notre premier programme !

Nous allons donc aborder les principes fondamentaux du langage.

Pour cela, empressons-nous de créer un nouveau projet, cette fois en application console. 

Évitez d'utiliser des accents ou caractères spéciaux dans un nom de fichier ou de projet.

Sélectionnez cette icône :

Ah ! Il y a déjà de nombreux mots de langue étrangère qui sont apparus !

Pas de panique, je vais vous expliquer. Voici ce qui devrait s'afficher chez vous :

Code : VB.NET

Si ce n'est pas exactement ce code que vous voyez, faites en sorte que cela soit le cas, afin que nous ayons tous le même point de départ.

Ces mots barbares figurant désormais dans votre feuille de code sont indispensables ! Si vous les supprimez, l'application ne se lancera pas. 

Pour ce qui est du « Main », n'y touchez pas car, lorsqu'on va lancer le programme, la première chose que ce dernier va faire sera de localiser et de sauter dans la partie appelée « Main ». S'il ne la trouve pas, cela ne fonctionnera pas ! 

Les « parties » telles que Main() sont appelées des méthodes car elles sont précédées de « Sub ».

Tout d'abord, nous cherchons le moyen d'écrire quelque chose dans la console.

Ah, j'ai omis de vous expliquer en quoi consiste la console. Je suis confus !

Voici ma console. Je suis conscient que ce n'est visuellement pas exceptionnel, mais c'est plus simple pour apprendre les bases.

Mais pourquoi tant de haine ? Je souhaite plutôt faire Half-Life 3, moi ! Pas Space Invaders.   Du calme, les Zéros ! L'essentiel dans l'apprentissage de la programmation est d'y aller progressivement. 

Cette console vous permettra d'apprendre les bases et les concepts fondamentaux du VB sans vous embrouiller directement l'esprit avec les objets qui orneront nos interfaces graphiques (c'est pour votre bien   ).

Nous allons donc créer un programme qui écrit dans cette console.

Je vais écrire pour vous la ligne qui va effectuer cette action, puisque mon travail est d'aider les Zéros que vous êtes !

Hello World !

Code : VB.NET

Donc, pour ceux qui ont quelque peu suivi, où va-t-on placer cette ligne ? (Il n'y a pas cinquante possibilités !   )

Secret (cliquez pour afficher)

Une « ligne » est aussi appelée une instruction.

Eh bien oui, je l'ai dit plus haut : le programme va se rendre directement dans le Main(), autant donc y placer nos lignes (instructions) — c'est-à-dire entre « Sub Main() » et « End Sub ».

Pour lancer le programme, cliquez sur la petite flèche verte de la barre d'outils :

Ah ! je ne vois rien : la fenêtre s'ouvre et se referme trop rapidement !

Ah bon ? 

Déroulement du programme

Voici nos lignes de code :

  1. Module Module1 : le programme entre dans son module au lancement. Forcément ; sinon, rien ne se lancerait jamais. La console s'initialise donc.
  2. Il se retrouve à entrer dans le main. La console est ouverte.
  3. Il continue et tombe sur notre ligne qui lui dit « affiche “Hello World !” », il affiche donc « Hello World ! » dans la console.
  4. Il arrive à la fin du main (end main ). Rien ne se passe, « Hello World ! » est toujours affiché.
  5. Il rencontre le End Module : la console se ferme.

Résultat des courses : la console s'est ouverte, a affiché « Hello World ! » et s'est fermée à nouveau... mais tout cela en une fraction de seconde, on n'a donc rien remarqué !

La pause

La parade : donner au programme une ligne à exécuter sur laquelle il va attendre quelque chose. On pourrait bien lui dire : « Attends pendant dix secondes... », mais il y a un moyen plus simple et préféré des programmeurs : attendre une entrée. Oui, la touche Entrée de votre clavier ( return pour les puristes).

On va faire attendre le programme, qui ne bougera pas avant que la touche Entrée ne soit pressée. Pour cela, voici la ligne de code qui effectue cette action :

Code : VB.NET

Cette ligne dit à l'origine « lis le caractère que j'ai entré », mais nous allons l'utiliser pour dire au programme : « Attends l'appui sur la touche Entrée. »

Maintenant, où la placer ?

Secret (cliquez pour afficher)

J'ai fourni l'intégralité du code pour ceux qui seraient déjà perdus. J'ai bien placé notre instruction après la ligne qui demande l'affichage de notre texte. En effet, si je l'avais mise avant, le programme aurait effectué une pause avant d'afficher la ligne : je l'ai dit plus haut, il exécute les instructions du haut vers le bas.

On clique sur notre fidèle flèche :

Code : Console

Victoire, notre « Hello World ! » reste affiché !

Objets, fonctions ...

Vous l'avez peut-être remarqué : au moment où vous avez écrit « Console. », une liste s'est affichée en dessous de votre curseur. Dans cette partie, je vais vous expliquer l'utilité de cette liste.

Alors, encore une fois : un schéma !

J'ai essayé de faire le plus simple possible, mais accrochez-vous, vous allez recevoir beaucoup d'informations !   Nous avons donc notre console au début du schéma. Sous VB, la console est considérée comme un objet.

Cet objet possède des fonctions (en rouge) et d'autres objets (en bleu). Je vais déjà expliquer cela.

Fonctions

Une fonction est une séquence de code déjà existante et conçue pour obtenir un effet bien défini. Concrètement, cela nous permet de n'écrire qu'une seule fois ce que va faire cette séquence, puis d'appeler la fonction correspondante autant de fois que nous le voulons (qui exécutera bien entendu ce qu'on a défini au préalable dans la fonction... que des mots compliqués !   ). Par exemple, nos deux lignes qui nous permettaient d'afficher « Hello World ! » et d'effectuer une pause auraient pu être placées dans une fonction séparée. Dans ce cas, en une ligne (l'appel de la fonction), on aurait pu effectuer cette séquence ; imaginez alors le gain de temps et les avantages dans des séquences de plusieurs centaines de lignes.

Un autre exemple : notre fonction Write avait pour but d'écrire ce que l'on lui donnait comme arguments (je vous expliquerai cela par la suite). La fonction Write a donc été écrite par un développeur qui y a placé une série d'instructions (et pas des moindres !) permettant d'afficher du texte dans la console.

Objets

À noter : les « liens » entre les objets se font par des points (« . »). Le nombre d'objets liés n'est limité que si l'objet que vous avez sélectionné ne vous en propose pas. Sinon, vous pouvez en raccorder dix, si vous le voulez.

Fonctions, arguments

Pas de panique si vous n'avez pas compris ce concept de fonctions, d'objets, etc. 

Nous allons justement nous pencher sur la structure d'un appel de fonction, car nous en aurons besoin très bientôt ; et pour cela, nous allons étudier une fonction simple : le BEEP (pour faire bip avec le haut-parleur de l'ordinateur).

Afin d'y accéder, nous allons écrire Console.Beep .

Ici, deux choix s'offrent à nous : le classique () ou (frequency as integer, duration as integer).

Ouh là là, ça devient pas cool, ça !

Du calme, on y va doucement !

La première forme va émettre un bip classique lors de l'exécution.

La seconde demande des arguments. Il s'agit de paramètres passés à la fonction pour lui donner des indications plus précises. Précédemment, lorsque nous avons écrit Write("Hello world") , l'argument était « "Hello world" » ; la fonction l'a récupéré et l'a affiché, elle a donc fait son travail.

Pour certaines fonctions, on a le choix de donner des arguments ou non, selon la façon dont elles ont été créées (c'est ce qu'on appelle la surcharge, pour les personnes ayant déjà des notions d'orienté objet).

La seconde forme prend donc deux arguments, que vous voyez d'ailleurs s'afficher dès que vous tapez quelque chose entre les parenthèses, comme sur l'une des images au-dessus. Le premier sert à définir la fréquence du bip : entrez donc un nombre pour lui donner une fréquence. Le second, quant à lui, détermine la durée du bip. Les arguments sont délimités par une virgule, et si vous avez bien compris, vous devriez obtenir une ligne de ce genre :

Code : VB.NET

Pourquoi n'y a-t-il pas de guillemets (doubles quotes : « " ») autour des nombres ?

Les nombres n'ont pas besoin de cette syntaxe particulière. Je m'explique : une variable ne peut pas avoir un nom composé uniquement de chiffres. Et donc, si vous écrivez des chiffres, le programme détectera immédiatement qu'il s'agit d'un nombre ; tandis que si vous écrivez des lettres, le programme ne saura pas s'il faut afficher le texte même ou si c'est le nom d'une variable.   Donc, pour les noms de variables, il ne faut pas de guillemets, mais pour un simple texte, si. 

Tenez, ça tombe bien, nous allons justement découvrir ce qu'est réellement une variable ! 

Allez, courage ! Certaines notions ou concepts vont être difficiles à assimiler, mais plus vous allez pratiquer, plus vous allez découvrir par vous-mêmes les actions que chaque élément peut effectuer. C'est cela qui fera de vous des programmeurs hors pair !

Les variables

Ce mot vous donne des boutons ? Il vous rappelle votre prof de maths du collège ?

N'ayez crainte ! Il s'agit d'un concept assez simple, qui ne requiert pas nécessairement des connaissances poussées en mathématiques (encore heureux !). Sur ce, je vais vous expliquer le concept de variable.

Qu'est-ce qu'une variable

Eh bien, comme son nom l'indique, c'est quelque chose qui varie. On peut y stocker pratiquement tout ce qu'on veut, comme par exemple des nombres, des phrases, des tableaux, etc.

Mais c'est géant, ce truc ! 

N'est-ce pas ? Et c'est pour cette raison que les variables sont omniprésentes dans les programmes. Prenons comme exemple votre navigateur web favori : il stocke plein d'informations dans des variables, telles que l'adresse de la page, le mot de passe qu'il vous affiche automatiquement lorsque vous surfez sur votre site favori, etc.

Bien entendu, il y a tout de même des contraintes !

Les types

 Les variables se déclinent sous différents types : il y a par exemple un type spécifique pour stocker des nombres, un autre pour stocker du texte, etc.

D'ailleurs, si vous tentez d'enregistrer du texte dans une variable créée pour contenir un nombre, l'ordinateur va vous afficher une petite erreur. 

Tableau récapitulatif des types que nous allons utiliser

Il existe de nombreux autres types, mais ils ne vous seront pas utiles pour le moment.

J'ai précisé que le type integer (abrégé int) existait sous trois déclinaisons : int16, int32 et int64 (le nombre après le mot int désigne la place qu'il prendra en mémoire). Plus le nombre est grand, plus votre variable prendra de la place, mais plus le nombre que vous pourrez y stocker sera grand. Pour ne pas nous compliquer la vie, nous utiliserons le integer (int) tout simple.

Si vous voulez en savoir plus sur l'espace mémoire utilisé par les variables, vous pouvez vous renseigner sur les « bits ».

Pour ce qui est du texte, on a de la place : il n'y a pas de limite apparente. Vous pouvez donc y stocker sans souci un discours entier. Si le booléen, ce petit dernier, ne vous inspire pas et ne vous semble pas utile, vous allez apprendre à le découvrir.

Les utiliser - la théorie

Comment allons-nous utiliser des variables ?

Telle est la question que nous allons éclaircir.

Que vous reste-t-il de vos cours de maths de 3e (sujet sensible   ) ?

Bon... si j'écris ceci :  , qu'est-ce qu'il se produit ?  

  1. Mon doigt se précipite pour éteindre l'écran.
  2. Je ferme immédiatement le navigateur web.
  3. Je prends une feuille de papier et résous cette équation. 

Excusez-moi de vous avoir attaqués par derrière comme je l'ai fait, mais c'était dans le but de vous faire observer que l'attribution des variables est en de nombreux points similaire à notre vieil ami x en maths. 

Le sens

Ce n'est pas difficile : en VB, et même dans tous les langages de programmation, ce qui se situe à droite du « = » correspond à ce qui se trouve à gauche. C'est ainsi, cela ne changera pas ! 

Et donc, si vous regardez mes petits schémas :

on entre le chiffre 3 dans la variable appelée X, pas de problème ; ensuite, on souhaite mettre X dans 3 ! Aïe, cela ne va pas fonctionner ! Si vous écrivez quelque chose du genre, une erreur va se produire : comme si vous disiez « 3 = 2 », le compilateur va vous regarder avec des yeux grands comme ça et se demandera ce qu'il doit faire ;

 ensuite, on met la variable Y dans la variable X ; et enfin, X dans Y.

Pas de problème pour le reste.

Je ne sais pas si vous l'avez remarqué, mais j'ai mis une variable dans une autre : c'est tout à fait possible, aucun problème à ce niveau-là. Par contre, l'affectation d'une valeur à une variable écrase l'ancienne valeur.

Revoilà donc mes boîtes. J'explique le schéma : vous ordonnez à votre programme « mets 3 dans X », ce qu'il va faire. Ensuite, vous lui dites « mets 5 dans X », mais il va oublier le 3 et écrire 5. 

Attention, donc !

Mais en contrepartie, les variables offrent un stockage « nettoyable » à volonté.   Je m'explique : vous pouvez les lire et y écrire autant de fois que vous le souhaitez. Lorsque vous lisez la valeur d'une variable, son contenu reste à l'intérieur (évident, me diront certains, mais sachez qu'il y a quelques dizaines d'années, les valeurs stockées dans la mémoire RAM s'effaçaient lors de leur lecture ; à l'époque, c'était des « tores » qui stockaient les bits et, lors de leur lecture, l'énergie se dissipait et faisait disparaître l'information).

Si vous avez bien compris, je pourrais écrire ceci (j'en profite pour vous montrer comment on initialise une variable, mais j'y reviendrai juste après) :

Code : VB.NET

MaVariable = 5

MaVariable = 8

MaVariable = 15

MaVariable = 88

MaVariable = 23

Que vaudra MaVariable à la fin de ces instructions ?

Secret (cliquez pour afficher)

Les utiliser - la pratique

Cette petite partie de lecture vous a ennuyé ? On va remédier à ce malaise.   Nous allons mettre en œuvre tout ce que je vous ai expliqué.

Tout d'abord, en VB, il faut déclarer une variable avant de l'utiliser. Autrement, l'ordinateur ne saura pas de quel type est la variable et ne saura donc pas comment réagir.

Nouvelle variable

Voici l'instruction servant à déclarer une variable, par exemple de type integer :

Code : VB.NET

Pourquoi y a-t-il un terme appelé « MaVariable » ? Je pensais que le Visual Basic était conçu en anglais.

Effectivement, les mots que vous allez utiliser et qui serviront d'instructions dans vos programmes, comme par exemple «

Write », « If, Then », etc., sont en anglais ; mais si l'on décortique la ligne que je viens de vous montrer, on obtient ceci :

Code VB Dim MaVariable As Integer

Français Crée une variable de nom « MaVariable » en tant que integer

En somme, le mot « MaVariable » est le nom attribué à la variable. C'est vous qui le choisissez !

Le nom d'une variable ne peut contenir d'espaces ; privilégiez plutôt un « _ » ( underscore) ou une majuscule à chaque « nouveau mot », mais en liant le tout (comme dans mon exemple).

Autre chose à propos des noms : il y a des exceptions. En effet, une variable ne peut pas avoir comme nom un type ou le nom d'une boucle. Par exemple, si vous appelez votre variable « date », une erreur se produira car le type date existe déjà.

Bon, excusez-moi... j'avais dit qu'on allait pratiquer. Eh bien, on y va ! 

Retournez sur votre projet, qui doit encore être ouvert (du moins, je l'espère...). Si vous ne l'avez pas conservé, recréez-le (désolé   ).

Nous revoici donc avec nos lignes :

Code : VB.NET

MaVariable doit être égale à 5 !

Nous allons donc déclarer une variable et lui assigner une valeur. Je vous ai expliqué comment déclarer une variable.

Je vous ai aussi rapidement expliqué comment attribuer une valeur à une variable. Essayez donc de créer une variable de type

integer appelée « MaVariable » et d'y entrer la valeur « 5 ».

Secret (cliquez pour afficher)

Maintenant, où placer ces instructions ?

C'est la question fatidique ! Si vous vous rappelez le schéma sur l'ordre d'exécution des lignes dans un programme, vous devriez vous rappeler qu'une fois entrés dans un sub ou une fonction, sauf indications contraires (que nous étudierons dans un prochain chapitre), nous allons de haut en bas.

De ce fait, si vous avez besoin de votre variable à la ligne 4 de votre programme, il vous faut l'initialiser avant.

Même chose pour lui assigner une valeur : si vous l'affectez seulement à la ligne 6, la ligne 4 ne pourra pas lire ce résultat.

Dernière chose : je parie que vous souhaitez faire quelque chose de cette variable, ne serait-ce que l'afficher ?

J'ai expliqué comment afficher un texte avec le Console.Write. Pensez-vous être capables de faire en sorte d'afficher la valeur de la variable dans la console ?

Secret (cliquez pour afficher)

Voici le résultat :

Code : Console

Voilà, vous pouvez tester : ce code affiche « 5 » dans la console.

Hop, hop, hop ! Pourquoi as-tu enlevé les doubles quotes (« " ») qui se trouvaient dans le Write ?

C'était le piège (sauf si vous avez bien lu précédemment) ! 

Si vous conservez les doubles quotes, la fonction Write affichera en dur le mot « MaVariable », et non sa valeur. Il faut donc enlever les doubles quotes pour que la fonction utilise le contenu de la variable MaVariable.

Si vous avez fait l'erreur, c'est normal : on va dire que je suis passé dessus trop rapidement. Mais après tout, c'est ainsi que vous apprendrez !

Dernière chose : il faut toujours essayer d'assigner une valeur à une variable dès le début ! Sinon, la variable n'est égale à rien, et des erreurs peuvent survenir dans certains cas. Donc, systématiquement : une déclaration, une assignation. 

Eh bien, je pense que vous savez désormais dans les grandes lignes à quoi servent les variables et comment les utiliser. Cela tombe bien car à partir de maintenant, elles seront partout !

   Modifications et opérations sur les variables

Avant d'entamer ce nouveau chapitre, récapitulons et voyons où nous en sommes.

Nous avons installé Visual Basic 2010 Express et appris sommairement à l'utiliser ; nous avons vu comment créer un projet console, afficher du texte dans la console, mettre la console en « pause » et émettre un bip.

Ensuite, dans la partie « Les variables », nous avons appris à déclarer une variable, lui assigner une valeur et l'afficher. Il est maintenant temps de s'amuser un peu avec nos nouvelles copines, les variables. Démarrons sans plus tarder !

Opérations sur une variable

Nous allons à présent apprendre comment modifier et effectuer des opérations sur ces variables.

Voici un exemple : vous souhaitez créer un programme qui calcule la somme de deux nombres ; pour ce faire, il vous faudra utiliser des opérations. Je vais vous expliquer la marche à suivre.

Reprenons notre programme, déclarons-y une variable « MaVariable » en integer et assignons-lui la valeur 5 (ce qui, normalement, est déjà fait).

Déclarons maintenant une seconde variable intitulée « MaVariable2 », de nouveau en integer, et assignons-lui cette fois la valeur 0.

Le nom de votre variable est unique : si vous déclarez deux variables par le même nom, une erreur se produira.

Si vous avez correctement suivi la démarche, vous devriez obtenir le résultat suivant :

Code : VB.NET

Second point : vous pouvez également initialiser vos variables dès leur déclaration, comme ci-dessous, ce qui est pratique pour les déclarations rapides.

Attention toutefois, vous ne pouvez pas utiliser ces deux techniques ensemble ; une instruction du type Dim

MaVariable, MaVariable2 As Integer = 5 vous affichera une erreur ! C'est donc soit l'une, soit l'autre.

À l'attaque

Passons maintenant au concret !

On va additionner un nombre à notre variable « MaVariable ». Pour ce faire, rien de plus simple ! Démonstration.

Code : VB.NET

Voilà ! Simple, n'est-ce pas ?

En résumé, vous avez additionné 5 à la variable « MaVariable ». Le programme a effectué cette opération. Seulement, le résultat n'est allé nulle part : nous n'avons pas mis le signe égal (« = ») !

Heu... tu me fais faire n'importe quoi ? 

Mais non, c'est pour vous montrer ce qu'il faut faire et ce qu'il ne faut pas faire.   Imaginez un parent mettre ses doigts dans la prise et montrer à bébé l'effet que cela produit ; il comprendra tout de suite mieux !   (Mauvais exemple.)

Pour y remédier, il faut ajouter le signe égal, comme lorsque nous initialisons nos variables.

Code : VB.NET

Nous allons donc nous retrouver avec... 10, dans la variable « MaVariable2 ».

À noter que nous avons initialisé « MaVariable2 » avec 0. Si nous l'avions fait, par exemple, avec 7, le résultat aurait été identique puisque, souvenez-vous, l'entrée d'une valeur dans une variable écrase l'ancienne.

Il faut savoir que nous n'avons pas forcément besoin de deux variables. En effet, l'instruction MaVariable = MaVariable + 5 aurait également affecté la valeur 10 à la variable « MaVariable ».

Plus en profondeur...

Vous savez à présent comment additionner un nombre à une variable. Nous allons donc découvrir les autres opérations possibles.

Eh bien, désormais, vous savez à quel « caractère » correspond chaque opération, la division de 10 et 5 aurait donc été : 10/5

Qu'est-ce que le modulo ?

Très bonne question. Le modulo est une opération spécifique en programmation, qui permet de récupérer le reste d'une division.

Exemples :

10 mod 5 correspond à 10/5 ; le résultat est 2, le reste est 0, donc 10 mod 5 = 0 .

14 mod 3 correspond à 14/3 ; le résultat est 4, le reste 2, donc 14 mod 3 = 2 .

Nous allons immédiatement mettre en pratique ces informations. Toutes les instructions que nous allons ajouter se feront dans le main.

Essayez d'attribuer des valeurs à vos variables et d'effectuer des opérations entre elles pour finalement stocker le résultat dans une troisième variable et afficher le tout.

Petite parenthèse : je vais en profiter pour vous expliquer comment écrire sur plusieurs lignes. Si vous écrivez une fonction Write, puis une autre en dessous de façon à donner ceci :

Code : VB.NET

 ... vous allez vous retrouver avec le résultat suivant :

Code : Console

Afin d'écrire sur deux lignes, on va utiliser le procédé le plus simple pour le moment, qui est la fonction WriteLine(). Elle prend aussi comme argument la variable ou le texte à afficher mais insère un retour à la ligne au bout. Un code du genre...

Code : VB.NET

... produira le résultat suivant :

Code : Console

Avec ces nouvelles informations, essayez donc de multiplier 8 par 9 (chaque nombre mis au préalable dans une variable), le tout étant entré dans une troisième variable. En outre, un petit supplément serait d'afficher l'opération que vous faites.

Je vous laisse chercher ! 

Secret (cliquez pour afficher)

Ce code, que j'ai tenté d'écrire de la façon la plus claire possible, nous affiche donc ceci :

Code : Console

Essayez de modifier les valeurs des variables, l'opération, etc.

Dans cette même logique, un Console.Write(9 * 8) fonctionnera également, car je vous ai expliqué que les arguments d'une fonction étaient séparés par des virgules ; donc, s'il n'y a pas de virgules, c'est le même argument. Mais bon, n'allons pas trop vite.

 Différentes syntaxes

Nous avons donc créé un code affichant 9 x 8 = 72 .

Ce code, comme vous l'avez certainement constaté, est très long pour le peu qu'il puisse faire ; pourtant, je vous ai donné quelques astuces.

Mon code peut donc être simplifié de plusieurs manières.

Tout d'abord, l'initialisation lors de la déclaration :

Code : VB.NET

 Puis, un seul Write :

Code : VB.NET

 Wow, du calme ! À quoi sert le signe « & » ?

Bonne question. C'est ce qu'on appelle la concaténation, elle permet de « rassembler » deux choses en une ; ici, par exemple, j'ai rassemblé la chaîne de caractères "9 x 8 = " et le contenu de la variable, ce qui aura pour effet de m'afficher directement 9 x 8 = 72 (je parle de rassembler deux choses en une car, en faisant cela, on rassemble le tout dans le même argument).

Dernière amélioration possible : la suppression d'une variable intermédiaire ; on se retrouve à faire l'opération directement dans le Write.

Code : VB.NET

Ah, bah, autant effectuer directement le 9 * 8 en utilisant la concaténation !

Oui, effectivement. Mais dans ce cas, vos variables ne servent plus à rien et cette instruction ne sera valable que pour faire 9 * 8 ...

Grâce à ces modifications, notre code devient plus clair :

Code : VB.NET

Attention toutefois en utilisant la concaténation : si vous en abusez, vous risquez de vous retrouver avec des lignes trop longues, et n'allez plus repérer ce qui se passe.

Pour cela, la parade arrive (eh oui, il y en a toujours une ; du moins, presque) !