134798 Visual Basic Net

Embed Size (px)

Citation preview

Visual Basic.NETPar Hankerspace

www.siteduzero.com

Licence Creative Commons BY-NC-SA 2.0 Dernire mise jour le 19/11/2011

Sommaire

1/234

SommaireSommaire ........................................................................................................................................... 1 Partager .............................................................................................................................................. 2 Visual Basic.NET ............................................................................................................................... 4 Partie 1 : La thorie et les bases ......................................................................................................... 6Historique et Visual Basic Express 2010 .......................................................................................................................... 6Historique, naissance de Visual Basic ........................................................................................................................................................................ 6 D'o vient le Visual Basic ? ......................................................................................................................................................................................... 6 Notre outil : Visual Basic 2011 Express ....................................................................................................................................................................... 7 L'environnement de dveloppement ........................................................................................................................................................................... 7 Installation de Visual Basic 2010 Express .................................................................................................................................................................. 8 tape par tape ........................................................................................................................................................................................................... 8 Dcouverte de l'interface ........................................................................................................................................................................................... 12 L'interface de VB 2010 Express ................................................................................................................................................................................ 12

Premiers pas ................................................................................................................................................................... 17Hello World ! .............................................................................................................................................................................................................. Notre premier programme ! ....................................................................................................................................................................................... Objets, fonctions ... ................................................................................................................................................................................................... Fonctions, arguments ................................................................................................................................................................................................ Qu'est-ce qu'une variable .......................................................................................................................................................................................... Les types ................................................................................................................................................................................................................... Les utiliser - la thorie ............................................................................................................................................................................................... Les utiliser - la pratique ............................................................................................................................................................................................. Oprations sur une variable ...................................................................................................................................................................................... Plus en profondeur... ................................................................................................................................................................................................. Diffrentes syntaxes .................................................................................................................................................................................................. Les commentaires ..................................................................................................................................................................................................... Lire une valeur en console ........................................................................................................................................................................................ Une quoi ? ................................................................................................................................................................................................................. Les boucles conditionnelles ...................................................................................................................................................................................... Aperu des diffrentes boucles ................................................................................................................................................................................. Select ........................................................................................................................................................................................................................ While ......................................................................................................................................................................................................................... Do While .................................................................................................................................................................................................................... For ............................................................................................................................................................................................................................. Mieux comprendre et utiliser les boucles .................................................................................................................................................................. Oprateurs ................................................................................................................................................................................................................ Explication des boucles ............................................................................................................................................................................................. And, or, not ................................................................................................................................................................................................................ 18 18 21 22 24 24 25 27 30 31 33 34 35 37 37 37 40 43 44 45 46 46 46 47

Les variables ................................................................................................................................................................... 24

Modifications et oprations sur les variables .................................................................................................................. 30

Conditions et boucles conditionnelles ............................................................................................................................. 37

2 TPs d'apprentissage ..................................................................................................................................................... 49Addition ..................................................................................................................................................................................................................... 49 Minicalculatrice .......................................................................................................................................................................................................... 51

Jouer avec les mots, les dates ........................................................................................................................................ 53Les chanes de caractres ........................................................................................................................................................................................ Les dates, le temps ................................................................................................................................................................................................... TP sur les heures ...................................................................................................................................................................................................... L'horloge .................................................................................................................................................................................................................... 54 54 57 57

Les Tableaux ................................................................................................................................................................... 59Qu'est-ce qu'un tableau ? .......................................................................................................................................................................................... 60 Les dimensions ......................................................................................................................................................................................................... 60 Mini-TP : comptage dans un tableau. ........................................................................................................................................................................ 63 Exercice : tri ............................................................................................................................................................................................................... 65

Les fonctions ................................................................................................................................................................... 66a se mange ? .......................................................................................................................................................................................................... Crons notre premire fonction ! ............................................................................................................................................................................... Ajout d'arguments et de valeur de retour .................................................................................................................................................................. Petits plus sur les fonctions ....................................................................................................................................................................................... Petit exercice ............................................................................................................................................................................................................. Les constantes .......................................................................................................................................................................................................... Les structures ............................................................................................................................................................................................................ Boucles supplementaires .......................................................................................................................................................................................... Les Cast .................................................................................................................................................................................................................... Le type Object ........................................................................................................................................................................................................... Les MsgBox et InputBox ........................................................................................................................................................................................... La MsgBox ................................................................................................................................................................................................................ InputBox .................................................................................................................................................................................................................... 67 67 68 71 73 75 75 76 78 79 80 81 82

Les inclassables .............................................................................................................................................................. 75

Partie 2 : Le ct visuel de VB .......................................................................................................... 84Dcouverte de l'interface graphique ............................................................................................................................... 84Les nouveauts ......................................................................................................................................................................................................... 84 Avantages par rapport la console ........................................................................................................................................................................... 84

www.siteduzero.com

Partager

2/234

Manipulation des premiers objets ............................................................................................................................................................................. 85 Les paramtres de notre projet ................................................................................................................................................................................. 85

Les proprits .................................................................................................................................................................. 86A quoi a sert ? .......................................................................................................................................................................................................... 87 Les utiliser ................................................................................................................................................................................................................. 87 Les assigner et les rcuprer ct VB ...................................................................................................................................................................... 89 With ........................................................................................................................................................................................................................... 91

Les vnements .............................................................................................................................................................. 93Pourquoi a encore ! ................................................................................................................................................................................................. Crer nos vnements .............................................................................................................................................................................................. Les mains dans le cambouis ! ................................................................................................................................................................................... Mini-TP : calcul voyage ............................................................................................................................................................................................. 93 93 94 94

Les contrles spcifiques ................................................................................................................................................ 98CheckBox, BoutonRadio ........................................................................................................................................................................................... 99 La pratique .............................................................................................................................................................................................................. 100 Les ComboBox ........................................................................................................................................................................................................ 103 MicroTP ................................................................................................................................................................................................................... 104

Les timers ...................................................................................................................................................................... 105A quoi ca va nous servir ? ....................................................................................................................................................................................... 106 Crer son premier timer .......................................................................................................................................................................................... 106 TP : la banderole lumineuse .................................................................................................................................................................................... 107

Les menus ..................................................................................................................................................................... 109Prsentation des menus .......................................................................................................................................................................................... La barre de menus .................................................................................................................................................................................................. Les diffrents contrles des menus ......................................................................................................................................................................... La barre de statut .................................................................................................................................................................................................... Le menu contextuel ................................................................................................................................................................................................. Le cahier des charges ............................................................................................................................................................................................. Les bauches .......................................................................................................................................................................................................... Attention, la suite dvoile l'intrigue du film .............................................................................................................................................................. Bien exploiter les vnements ................................................................................................................................................................................ Le design ................................................................................................................................................................................................................. Ajouter des fentres ................................................................................................................................................................................................ Ouverture / Fermeture ............................................................................................................................................................................................. Notions de parent/enfant ......................................................................................................................................................................................... Communication entre fentres ................................................................................................................................................................................ Introduction sur les fichiers ..................................................................................................................................................................................... Le namespace IO .................................................................................................................................................................................................... Notre premier fichier ................................................................................................................................................................................................ Nos premires manipulations .................................................................................................................................................................................. Programme de base ................................................................................................................................................................................................ Explications ............................................................................................................................................................................................................. Plus loin avec nos fichiers ....................................................................................................................................................................................... La classe File .......................................................................................................................................................................................................... Les rpertoires ........................................................................................................................................................................................................ Fonctions de modification ....................................................................................................................................................................................... Fonctions d'exploration ........................................................................................................................................................................................... Mini-TP : Lister notre arborescence ........................................................................................................................................................................ Un fichier bien format ............................................................................................................................................................................................ Le cahier des charges ............................................................................................................................................................................................. Correction ................................................................................................................................................................................................................ L'interface ................................................................................................................................................................................................................ Sauvegarde en fichier .ini ........................................................................................................................................................................................ Sauvegarde ............................................................................................................................................................................................................. Rcapitulatif fichier ini ............................................................................................................................................................................................. Pour aller plus loin ................................................................................................................................................................................................... 110 110 114 116 118 121 121 121 124 126 129 130 132 135 138 140 140 142 142 144 150 150 152 152 153 154 157 159 159 165 166 167 168 170

TP : Navigateur WEB .................................................................................................................................................... 120

Fentres supplmentaires ............................................................................................................................................. 129

Les fichiers - Partie 1/2 ................................................................................................................................................. 138

Les fichiers - Partie 2/2 ................................................................................................................................................. 149

TP : ZBackup ................................................................................................................................................................. 158

Partie 3 : La programmation oriente objet ..................................................................................... 171Les concepts de la POO ............................................................................................................................................... 172Pourquoi changer ? ................................................................................................................................................................................................. Mesdames, Messieurs, Sa Majest POO. .............................................................................................................................................................. Les accessibilits .................................................................................................................................................................................................... Les fichiers de classe .............................................................................................................................................................................................. 172 172 174 175

Notre premire classe ................................................................................................................................................... 177Notre premire classe ............................................................................................................................................................................................. 177 Des mthodes et des attributs ................................................................................................................................................................................ 179 Les proprits .......................................................................................................................................................................................................... 180 Notre petit Mario ...................................................................................................................................................................................................... 182

Concepts avancs ......................................................................................................................................................... 184L'hritage ................................................................................................................................................................................................................. Les classes abstraites ............................................................................................................................................................................................. Les vnements ...................................................................................................................................................................................................... La surcharge ........................................................................................................................................................................................................... La surcharge d'oprateurs et les proprits par dfaut ........................................................................................................................................... Les collections ......................................................................................................................................................................................................... Les bibliothques de classes .................................................................................................................................................................................. 185 188 189 191 194 196 199

www.siteduzero.com

Partager

3/234203 204 206 208

La sauvegarde d'objets ................................................................................................................................................. 202La srialisation, c'est quoi ? .................................................................................................................................................................................... La srialisation binaire. ........................................................................................................................................................................................... La srialisation XML ................................................................................................................................................................................................ La srialisation multiple ...........................................................................................................................................................................................

TP : ZBiblio, la bibliothque de films ............................................................................................................................. 211Le cahier des charges ............................................................................................................................................................................................. 212 La correction. ........................................................................................................................................................................................................... 212 Amliorations possibles .......................................................................................................................................................................................... 221

Partie 4 : Annexes ........................................................................................................................... 222Grer les erreurs ........................................................................................................................................................... 223Pourquoi ? ............................................................................................................................................................................................................... Dcouvrons le Try ................................................................................................................................................................................................... Finally ...................................................................................................................................................................................................................... Catch, throw ............................................................................................................................................................................................................ 223 223 224 224

Les ressources .............................................................................................................................................................. 226Qu'est-ce qu'une ressource ..................................................................................................................................................................................... 227 Ajoutons nos ressources ......................................................................................................................................................................................... 228 Rcuprons les maintenant .................................................................................................................................................................................... 229 Le registre ............................................................................................................................................................................................................... 230 1 - Les fonctions internes de VB ............................................................................................................................................................................. 231 2 - En utilisant les API ............................................................................................................................................................................................. 232 Rcapitulatif ............................................................................................................................................................................................................ 233

www.siteduzero.com

Visual Basic.NET

4/234

Visual Basic.NET

Par

Hankerspace

Mise jour : 13/12/2010 Difficult : Facile Dure d'tude : 15 jours 22 246 visites depuis 7 jours, class 14/778 V ous trouvez le C et le C++ trop compliqus mais aimeriez concevoir des programmes fonctionnels, ergonomiques et facilement accessibles ?

V ous avez trouv le langage qu'il vous faut : Visual Basic. Il s'agit d'un langage excessivement simple permettant de : crer des programmes trs simplement ; laborer des interfaces graphiques sous Windows ; concevoir des formulaires ; grer le temps ; crire dans les fichiers ; accder une base de donnes ; et, par la suite, construire des sites web (oui, vous avez bien entendu !

).

Ce tutoriel va vous initier aux bases du Visual Basic, ce qui est tout de mme normal pour des Zros. Aucun prrequis n'est demand : il n'est pas ncessaire de connatre un seul langage ; tout vous sera expliqu. V quelques exemples de programmes ralisables en VB .NET et qui seront abords dans le tutoriel. oici

Tout en essayant de rester le plus clair et concis possible, je vais vous expliquer, dans les grandes lignes, les principales fonctionnalits de base du langage, ainsi que la faon dont vous servir des outils que vous utiliserez par la suite pour raliser

www.siteduzero.com

Visual Basic.NETdes programmes. Ensuite, ce sera vous de voler de vos propres ailes.

5/234

www.siteduzero.com

Partie 1 : La thorie et les bases

6/234

Partie 1 : La thorie et les basesPartie consacre l'apprentissage rapide et prcis des concepts de base qui vont nous apprendre programmer en BASIC. Le basic n'est en fait pas rellement un langage, mais plutt un style de programmation trs simple et assez clair, sur lequel sont bass certains langages. Nous allons ici parler de la partie "script" du langage cr par Microsoft. C'est la base de ce qu'il y a connatre pour la suite

Historique et Visual Basic Express 2010Pour commencer, je vais vous prsenter l'historique du Visual Basic. Ensuite, nous verrons ensemble comment tlcharger et installer les outils ncessaires afin de poursuivre la lecture de ce tutoriel sans embches.

Historique, naissance de Visual Basic D'o vient le Visual Basic ?Nous allons donc dbuter par un petit morceau d'histoire, car il est toujours intressant de connatre le pourquoi de l'invention d'un langage (il doit bien y avoir une raison ; sinon, nous serions encore tous l'assembleur ). J'ai rcupr l'essentiel de Wikipdia et vous le rsume brivement.

Le BASICBASIC est un acronyme pour Beginner's All-purpose Symbolic Instruction Code. Le BASIC a t conu la base en 1963 par John George Kemeny et Thomas Eugene Kurtz au Dartmouth College pour permettre aux tudiants qui ne travaillaient pas dans des filires scientifiques d'utiliser les ordinateurs. En effet, l'poque, l'utilisation des ordinateurs ncessitait l'emploi d'un langage de programmation assembleur ddi, ce dont seuls les spcialistes taient capables. Les huit principes de conception du BASIC taient : tre facile d'utilisation pour les dbutants (Beginner) ; tre un langage gnraliste (All-purpose) ; autoriser l'ajout de fonctionnalits pour les experts (tout en gardant le langage simple pour les dbutants) ; tre interactif ; fournir des messages d'erreur clairs et conviviaux ; avoir un dlai de raction faible pour les petits programmes ; ne pas ncessiter la comprhension du matriel de l'ordinateur ; isoler l'utilisateur du systme d'exploitation. Tout ce qu'il nous faut, donc.

Le Visual BasicDe ce langage le BASIC est n le Visual Basic. Le VB est directement driv du BASIC et permet le dveloppement rapide d'applications, la cration d'interfaces utilisateur graphiques, l'accs aux bases de donnes, ainsi que la cration de contrles ou d'objets ActiveX. Je pense qu'avec ces possibilits, on va dj pouvoir crer de petites choses. Le traditionnel hello world en Visual Basic : Code : Autre Sub Main() MsgBox("Hello World !") End Sub

Ce code ouvre une MsgBox (comme un message d'erreur Windows) dans laquelle est contenu le message Hello World ! . Nous allons rapidement rsumer tout ce que Wikipdia nous a appris.

www.siteduzero.com

Partie 1 : La thorie et les bases

7/234

Il faut savoir que le BASIC, anctre du Visual Basic, est un langage de haut niveau. En programmation, les langages peuvent se trier par niveau : plus le niveau du langage est bas, plus celui-ci est proche du matriel informatique (le C est considr comme un langage de bas niveau). Un dveloppeur utilisant un langage de bas niveau devra, entre autres, grer la mmoire qu'il utilise. Il peut mme aller jusqu' spcifier les registres matriels dans lesquels crire pour faire fonctionner son programme. Un langage de haut niveau fait abstraction de tout cela ; il le fait en interne, c'est--dire que le dveloppeur ne voit pas toutes ces oprations. Aprs, tout dpend de votre envie et de votre cahier des charges : si vous devez dvelopper une application interagissant directement avec les composants, un langage de bas niveau est requis. En revanche, si vous ne souhaitez faire que du graphisme, des calculs, du fonctionnel, etc., un langage de haut niveau va vous permettre de vous soustraire beaucoup de manipulations fastidieuses. Le Visual Basic est donc un langage de haut niveau. Il a d'emble intgr les concepts graphique et visuel pour les programmes que l'on concevait avec. Il faut savoir que les premires versions de VB, sorties au dbut des annes 1990, tournaient sous DOS et utilisaient des caractres semblables des lettres pour simuler une fentre. Code : Console |---------------------------| | Ma fentre en VB 1.0 | |---------------------------| | | | | | | | | | | | | |---------------------------|

Ce n'tait pas la joie, certes, mais dj une rvolution ! Aujourd'hui, le VB a laiss place au VB .NET. Le suffixe .NET spcifie en fait qu'il ncessite le framework .NET de Microsoft afin de pouvoir tre excut. savoir qu'il y a galement moyen d'excuter un programme cr en VB sous d'autres plates-formes que Windows grce Mono. M'sieur... qu'est-ce qu'un framework ?

Trs bonne question. Un framework (dans notre cas, le framework .NET de Microsoft) est une sorte d'immense bibliothque informatique contenant des outils qui vont faciliter la vie du dveloppeur. Le framework .NET est compatible avec le Visual Basic et d'autres langages tels que le C#, le J#, etc. Le framework .NET volue : la version 2.0 en 2005, suivie de la 3.0 puis de la 3.5 en 2007, pour arriver aujourd'hui, en 2010, la 4.0. Chaque version a apport son lot de livres supplmentaires dans la bibliothque. Au fil de ce tutoriel, j'voquerai rgulirement ce framework qui va nous mcher le travail dans bien des cas. Aprs cette ignoble partie d'histoire, passons aux outils ! Sources : Visual Basic sur Wikipdia ; BASIC sur Wikipdia.

Notre outil : Visual Basic 2011 Express L'environnement de dveloppementEh oui, pour coder en Visual Basic, il nous faut des outils adapts ! Comme je l'ai expliqu prcdemment, nous allons utiliser du Visual Basic et non pas du BASIC. Cela signifie que nous crerons des interfaces graphiques et ergonomiques pour nos logiciels, et tout cela facilement. Comment va-t-on procder : utiliser un diteur comme Paint et dessiner ce que l'on veut ?

www.siteduzero.com

Partie 1 : La thorie et les basesNon, on ne va pas procder de la sorte. Ce serait bien trop compliqu ! Sachez que des outils spcifiques existent, utilisons-les ! Bien, allons-y...

8/234

Visual Studio ExpressMicrosoft a cr une suite logicielle nomme Visual Studio , qui rassemble Visual Basic, Visual C++, Visual C#, et j'en passe. La suite provenant de Microsoft, on peut facilement deviner qu'elle cote une certaine somme ! Heureusement, l'diteur nous propose gnreusement une version express gratuite de chaque logiciel de cette suite. Nous allons donc utiliser Visual Basic 2010 Express (les tudiants peuvent toujours rcuprer une version de Visual Studio 2010 sur la MSDN pour tudiants). J'ai dj install une version de Visual Basic Express, mais celle de 2005 ou antrieure. Cela pose-t-il problme ?

Si vous tes assez dbrouillards, vous pouvez toujours conserver votre version. Je m'explique : Microsoft a sorti des versions diffrentes du framework (comme des librairies) pour chaque version de Visual Studio : VS 2003 (Framework 1.1), VS 2005 (Framework 2.0), VS 2008 (Framework 3.5) et VS 2010 (Framework 4.0). V ous l'avez donc certainement compris : si vous utilisez une autre version, vous aurez un ancien framework. De ce fait, certains objets ou proprits voqus ou utiliss dans le tutoriel sont peut-tre diffrents voire inexistants dans les versions prcdentes. Je vous conseille donc tout de mme d'installer cette version express qui est relativement lgre et vous permettra de suivre le tutoriel dans les meilleures conditions.

Cliquez sur l'image pour tlcharger Visual Basic 2010 Express en franais.

Installation de Visual Basic 2010 Express tape par tapePassons immdiatement au tlchargement du petit logiciel intermdiaire, qui ne pse que quelques Mo et qui va tlcharger Visual Basic 2010 Express. Sachez que je travaillerai avec la version franaise du logiciel tout au long du tutoriel. Cela dit, rien ne vous empche d'opter pour la version anglaise.

Accueil de l'installationV ous lancez donc le programme, le laissez se prparer et arrivez la premire page.

www.siteduzero.com

Partie 1 : La thorie et les bases

9/234

Sur cette page, l'installateur vous propose dj une case cocher. Si vous autorisez Microsoft rcuprer des informations sur votre ordinateur et des statistiques pour ses bases de donnes, laissez comme tel. Dans le cas contraire, dcochez la case. Cliquez ensuite sur le bouton Suivant .

Contrat de licence

www.siteduzero.com

Partie 1 : La thorie et les bases

10/234

Lisez puis acceptez les termes du contrat de licence. Cela fait, appuyez une nouvelle fois sur Suivant .

Chemin d'installationComme pour n'importe quelle autre installation, choisissez le dossier dans lequel vous souhaitez que le logiciel s'installe. Cliquez ensuite sur Installer .

Tlchargement et installationUne nouvelle page apparat. Elle indique la progression du tlchargement du logiciel, le taux de transfert et la partie du programme en cours d'installation.

www.siteduzero.com

Partie 1 : La thorie et les bases

11/234

Il ne vous reste plus qu' attendre la fin du tlchargement, suivi de l'installation. En attendant, faites un tour sur les articles de Wikipdia portant sur le Visual Basic.

Fini !

www.siteduzero.com

Partie 1 : La thorie et les bases

12/234

Nous voil prsent avec Visual Basic 2010 Express install ! V ous tes dsormais pars pour affronter cet abominable tutoriel.

Dcouverte de l'interface L'interface de VB 2010 ExpressV ous avez donc install Visual Basic 2010 Express. En passant, sachez que ce dernier est un IDE (environnement de dveloppement intgr) qui rassemble les fonctions de conception, dition de code, compilation et dbogage. Lors du premier lancement, vous constatez qu'un petit temps de chargement apparat : le logiciel configure l'interface pour la premire fois.

Page d'accueil

www.siteduzero.com

Partie 1 : La thorie et les bases

13/234

Nous voici sur la page de dmarrage du logiciel. V ous pouvez la parcourir, elle contient des informations utiles aux dveloppeurs (vous) et conservera l'historique de vos projets rcents.

Barre d'outils

La barre d'outils vous sera indispensable afin de travailler en parfaite ergonomie. Je vais rcapituler les boutons prsents cidessus (de gauche droite), actifs ou non durant vos travaux. Nouveau projet : cre un projet. Ouvrir un fichier : utiliser pour ouvrir un projet existant ou une page simple. Ajouter un nouvel lment : 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. Dcommenter les lignes. Annuler : raccourci CTRL + Z. Rtablir : raccourci CTRL + MAJ + Z. Dmarrer le dbogage : expliqu plus tard. Arrter le dbogage : expliqu plus tard. Pas pas dtaill : expliqu plus tard. Pas pas principal : expliqu plus tard.

www.siteduzero.com

Partie 1 : La thorie et les basesPas pas sortant : expliqu plus tard. Explorateur de solutions : affiche la fentre de solutions. Fentre des proprits : affiche la fentre des proprits. Bote outils : permet d'afficher la bote outils. Gestionnaire d'extensions : permet de grer les extensions que vous pouvez ajouter Visual Basic Express. Liste d'erreurs : affiche la fentre d'erreurs.

14/234

Efforcez-vous de mmoriser les boutons importants, formats en rouge dans la liste puces ci-dessus. Il est galement prfrable de connatre les raccourcis clavier.

Nouveau projet

Je vous invite donc, seulement pour l'apprhension de l'interface, crer 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'icne correspondant Application Windows Forms. Saisissez un nom de projet dans la case Nom . V ous pouvez laisser le nom par dfaut, ce projet ne sera pas utilis. Cliquez ensuite sur OK , et vous voici dans un nouveau projet ! V ous remarquez que beaucoup plus de choses s'offrent vous.

www.siteduzero.com

Partie 1 : La thorie et les bases

15/234

Nous allons tout voir en dtail.

Espace de travail

Cette partie correspond notre espace de travail : c'est ici que nous allons crer nos fentres, entrer nos lignes de code, etc.

Bote outils

www.siteduzero.com

Partie 1 : La thorie et les bases

16/234

Sur la gauche de l'interface, nous avons accs la bote outils. Pour afficher cette bote, vous allez devoir cliquer sur le petit onglet qui dpasse sur la gauche. Une fois la bote sortie, cliquez sur la punaise pour la fixer et la maintenir visible. La bote outils nous sera d'une grande utilit lorsque nous crerons la partie graphique de nos applications, mais inutile lors de l'criture du code VB. Ds lors, si vous voulez la rentrer automatiquement, cliquez une nouvelle fois sur la punaise.

Fentre de solutions

www.siteduzero.com

Partie 1 : La thorie et les bases

17/234

De l'autre ct de notre cran, nous remarquons la fentre de solutions : elle rcapitule l'arborescence de notre projet. Elle servira galement grer les bases de donnes, mais plus tard.

Fentre des proprits

Autre partie essentielle : la fentre des proprits qui va nous permettre, en mode conception, de modifier les proprits de nos objets. V ous n'avez rien compris ? Mettez ce terme dans un coin de votre tte, nous allons rapidement y revenir. La dernire fentre est celle des erreurs. J'espre que vous n'en aurez pas l'utilit, mais elle saura se faire remarquer quand il le faudra, ne vous inquitez pas. En attendant, je vous laisse vous familiariser avec l'environnement : dplacez les botes, les fentres, et redimensionnez-les votre guise. Nous voici donc pars !

www.siteduzero.com

Partie 1 : La thorie et les bases

18/234

Premiers pasAprs cette petite dcouverte de notre IDE qui signifie en franais Environnement de Dveloppement Intgr ; retenez bien ce terme car je vais l'utiliser par la suite , nous allons immdiatement entrer dans le monde fabuleux de la programmation !

Hello World !J'espre que vous connaissez et apprciez cette interface, car vous allez y travailler durant les dix prochaines annes de votre vie ! Tout d'abord, je tiens m'excuser pour les termes que j'utiliserai dans ce tutoriel. Les puristes constateront immdiatement que les mots utiliss ne sont pas toujours exacts, mais je les trouve plus simples. Sachez que rien ne change : cela fonctionnera de la mme faon.

Notre premier programme !Nous allons donc aborder les principes fondamentaux du langage. Pour cela, empressons-nous de crer un nouveau projet, cette fois en application console. vitez d'utiliser des accents ou caractres spciaux dans un nom de fichier ou de projet.

Slectionnez cette icne :

Ah ! Il y a dj de nombreux mots de langue trangre qui sont apparus !

Pas de panique, je vais vous expliquer. V ce qui devrait s'afficher chez vous : oici Code : VB.NET Module Module1 Sub Main() End Sub End Module

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 mme point de dpart. Ces mots barbares figurant dsormais 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 (dsol de parler aussi violemment ds le dbut ! ), aura une balise de dbut : 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 rellement pratique lorsque nous utiliserons plusieurs feuilles. Pour ce qui est du Main , n'y touchez pas car, lorsqu'on va lancer le programme, la premire chose que ce dernier va faire sera de localiser et de sauter dans la partie appele Main . S'il ne la trouve pas, cela ne fonctionnera pas ! Les parties telles que Main() sont appeles des mthodes car elles sont prcdes de Sub .

www.siteduzero.com

Partie 1 : La thorie et les basesTout 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 !

19/234

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

Mais pourquoi tant de haine ? Je souhaite plutt faire Half-Life 3, moi ! Pas Space Invaders.

Du calme, les Zros ! 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 crer 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 Zros que vous tes !

Hello World !Code : VB.NET Console.Write("Hello World !")

Donc, pour ceux qui ont quelque peu suivi, o va-t-on placer cette ligne ? (Il n'y a pas cinquante possibilits ! Secret (cliquez pour afficher) Dans le Main(). Une ligne est aussi appele 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 flche verte de la barre d'outils :

www.siteduzero.com

Partie 1 : La thorie et les bases

20/234

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

Ah bon ?

Droulement du programmeExcusez-moi, je vous explique : dans notre cas, le programme entre dans le main et excute 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. V nos lignes de code : oici 1. Module Module1 : le programme entre dans son module au lancement. Forcment ; 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. Rsultat des courses : la console s'est ouverte, a affich Hello World ! et s'est ferme nouveau... mais tout cela en une fraction de seconde, on n'a donc rien remarqu !

La pauseLa parade : donner au programme une ligne excuter 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 prfr des programmeurs : attendre une entre. Oui, la touche Entre de votre clavier (return pour les puristes). On va faire attendre le programme, qui ne bougera pas avant que la touche Entre ne soit presse. Pour cela, voici la ligne de code qui effectue cette action : Code : VB.NET Console.Read()

Cette ligne dit l'origine lis le caractre que j'ai entr , mais nous allons l'utiliser pour dire au programme : Attends l'appui sur la touche Entre. Maintenant, o la placer ? Secret (cliquez pour afficher) Code : VB.NET Module Module1 Sub Main() Console.Write("Hello World !") Console.Read() End Sub End Module

J'ai fourni l'intgralit du code pour ceux qui seraient dj perdus. J'ai bien plac notre instruction aprs 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 excute les instructions du haut vers le bas. On clique sur notre fidle flche :

www.siteduzero.com

Partie 1 : La thorie et les basesCode : Console Hello World !

21/234

Victoire, notre Hello World ! reste affich ! Si l'on presse la touche Entre, la console se ferme : nous avons atteint nos objectifs !

Objets, fonctions ...V ous l'avez peut-tre remarqu : au moment o vous avez crit Console. , une liste s'est affiche en dessous de votre curseur. Dans cette partie, je vais vous expliquer l'utilit de cette liste.

Alors, encore une fois : un schma !

J'ai essay de faire le plus simple possible, mais accrochez-vous, vous allez recevoir beaucoup d'informations ! Nous avons donc notre console au dbut du schma. Sous VB, la console est considre comme un objet. Cet objet possde des fonctions (en rouge) et d'autres objets (en bleu). Je vais dj expliquer cela.

FonctionsUne fonction est une squence de code dj existante et conue pour obtenir un effet bien dfini. Concrtement, cela nous permet de n'crire qu'une seule fois ce que va faire cette squence, puis d'appeler la fonction correspondante autant de fois que

www.siteduzero.com

Partie 1 : La thorie et les bases

22/234

nous le voulons (qui excutera bien entendu ce qu'on a dfini au pralable dans la fonction... que des mots compliqus ! ). Par exemple, nos deux lignes qui nous permettaient d'afficher Hello World ! et d'effectuer une pause auraient pu tre places dans une fonction spare. Dans ce cas, en une ligne (l'appel de la fonction), on aurait pu effectuer cette squence ; imaginez alors le gain de temps et les avantages dans des squences 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 dveloppeur qui y a plac une srie d'instructions (et pas des moindres !) permettant d'afficher du texte dans la console.

ObjetsPour faire simple, les objets permettent d'organiser notre code. Par exemple, notre fonction Write est, vous l'avez vu, lie l'objet Console. C'est ainsi que le programme sait o effectuer le Write. Nous verrons plus en dtail ce concept d'objets lorsque nous nous attaquerons au graphisme, mais vous venez de lire quelques notions de Programmation Oriente Objet (aussi appele POO). noter : les liens entre les objets se font par des points ( . ). Le nombre d'objets lis n'est limit que si l'objet que vous avez slectionn ne vous en propose pas. Sinon, vous pouvez en raccorder dix, si vous le voulez.

Fonctions, argumentsPas 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 trs bientt ; et pour cela, nous allons tudier une fonction simple : le BEEP (pour faire bip avec le haut-parleur de l'ordinateur). Afin d'y accder, 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 premire forme va mettre un bip classique lors de l'excution. La seconde demande des arguments. Il s'agit de paramtres passs la fonction pour lui donner des indications plus prcises. Prcdemment, lorsque nous avons crit Write("Hello world") , l'argument tait "Hello world" ; la fonction l'a rcupr 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 faon dont elles ont t cres (c'est ce qu'on appelle la surcharge, pour les personnes ayant dj des notions d'orient objet). La seconde forme prend donc deux arguments, que vous voyez d'ailleurs s'afficher ds que vous tapez quelque chose entre les parenthses, comme sur l'une des images au-dessus. Le premier sert dfinir la frquence du bip : entrez donc un nombre pour lui donner une frquence. Le second, quant lui, dtermine la dure du bip. Les arguments sont dlimits par une virgule, et si vous avez bien compris, vous devriez obtenir une ligne de ce genre : Code : VB.NET Console.Beep(500, 100)

Placez-la dans le programme comme nos autres lignes. Si vous la mettez avant ou aprs le Console.Read(), cela dterminera si le bip doit se produire avant ou aprs l'appui sur Entre. Eh oui, le programme n'avancera pas tant que cette ligne ne sera pas excute. Pourquoi n'y a-t-il pas de guillemets (doubles quotes : " ) autour des nombres ?

Les nombres n'ont pas besoin de cette syntaxe particulire. Je m'explique : une variable ne peut pas avoir un nom compos uniquement de chiffres. Et donc, si vous crivez des chiffres, le programme dtectera immdiatement 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 mme 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.

www.siteduzero.com

Partie 1 : La thorie et les bases

23/234

Tenez, a tombe bien, nous allons justement dcouvrir ce qu'est rellement une variable ! Allez, courage ! Certaines notions ou concepts vont tre difficiles assimiler, mais plus vous allez pratiquer, plus vous allez dcouvrir par vous-mmes les actions que chaque lment peut effectuer. C'est cela qui fera de vous des programmeurs hors pair !

www.siteduzero.com

Partie 1 : La thorie et les bases

24/234

Les variablesCe mot vous donne des boutons ? Il vous rappelle votre prof de maths du collge ? N'ayez crainte ! Il s'agit d'un concept assez simple, qui ne requiert pas ncessairement des connaissances pousses en mathmatiques (encore heureux !). Sur ce, je vais vous expliquer le concept de variable.

Qu'est-ce qu'une variableEh 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 gant, ce truc ! N'est-ce pas ? Et c'est pour cette raison que les variables sont omniprsentes 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. V ous devez donc bien comprendre que ces variables vous serviront partout et dans tous vos programmes : pour garder en mmoire le choix que l'utilisateur a fait dans un menu, le texte qu'il a tap il y a trente secondes... Les possibilits sont infinies.

Les typesBien entendu, il y a tout de mme des contraintes ! Les variables se dclinent sous diffrents types : il y a par exemple un type spcifique pour stocker des nombres, un autre pour stocker du texte, etc. D'ailleurs, si vous tentez d'enregistrer du texte dans une variable cre pour contenir un nombre, l'ordinateur va vous afficher une petite erreur.

www.siteduzero.com

Partie 1 : La thorie et les bases

25/234

Tableau rcapitulatif des types que nous allons utiliserNom Explication

Boolean Ce type n'accepte que deux valeurs : vrai ou faux. Il ne sert rien, me direz-vous ; dtrompez-vous. Integer Double String Date Type de variable spcifique au stockage de nombres (existe sous trois dclinaisons ayant chacune une quantit de place diffrente des autres). Stocke des nombres virgule. Conu pour stocker des textes ou des mots. Peut aussi contenir des nombres. Stocke une date et son heure sous la forme 12/06/2009 11:10:20 .

Il existe de nombreux autres types, mais ils ne vous seront pas utiles pour le moment. J'ai prcis que le type integer (abrg int) existait sous trois dclinaisons : int16 , int32 et int64 (le nombre aprs le mot int dsigne la place qu'il prendra en mmoire). 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 mmoire 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. V ous pouvez donc y stocker sans souci un discours entier. Si le boolen, ce petit dernier, ne vous inspire pas et ne vous semble pas utile, vous allez apprendre le dcouvrir.

Les utiliser - la thorieComment allons-nous utiliser des variables ?

Telle est la question que nous allons claircir.

www.siteduzero.com

Partie 1 : La thorie et les basesQue vous reste-t-il de vos cours de maths de 3e (sujet sensible Bon... si j'cris ceci :

26/234

)?

, qu'est-ce qu'il se produit ?

1. Mon doigt se prcipite pour teindre l'cran. 2. Je ferme immdiatement le navigateur web. 3. Je prends une feuille de papier et rsous cette quation.

Excusez-moi de vous avoir attaqus par derrire 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 lments.

Le sensCe n'est pas difficile : en VB, et mme 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 schmas : on entre le chiffre 3 dans la variable appele X, pas de problme ; ensuite, on souhaite mettre X dans 3 ! Ae, 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 problme 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 problme ce niveau-l. Par contre, l'affectation d'une valeur une variable crase l'ancienne valeur.

www.siteduzero.com

Partie 1 : La thorie et les bases

27/234

Revoil donc mes botes. J'explique le schma : 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'intrieur (vident, me diront certains, mais sachez qu'il y a quelques dizaines d'annes, les valeurs stockes dans la mmoire RAM s'effaaient 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 disparatre 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 aprs) : Code : VB.NET Dim MaVariable As Integer MaVariable = 5 MaVariable = 8 MaVariable = 15 MaVariable = 2 MaVariable = 88 MaVariable = 23

Que vaudra MaVariable la fin de ces instructions ? Secret (cliquez pour afficher) 23 !

Les utiliser - la pratiqueCette petite partie de lecture vous a ennuy ? On va remdier ce malaise. Nous allons mettre en uvre tout ce que je vous ai expliqu. Tout d'abord, en VB, il faut dclarer une variable avant de l'utiliser. Autrement, l'ordinateur ne saura pas de quel type est la variable et ne saura donc pas comment ragir.

Nouvelle variableV l'instruction servant dclarer une variable, par exemple de type integer : oici Code : VB.NET Dim MaVariable As Integer

Pourquoi y a-t-il un terme appel MaVariable ? Je pensais que le Visual Basic tait conu 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 dcortique la ligne que je viens de vous montrer, on obtient ceci : Code VB Dim Franais MaVariable As Integer

Cre 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 !

www.siteduzero.com

Partie 1 : La thorie et les bases

28/234

Le nom d'une variable ne peut contenir d'espaces ; privilgiez plutt 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 dj. 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'espre...). Si vous ne l'avez pas conserv, recrez-le (dsol ). Nous revoici donc avec nos lignes : Code : VB.NET Module Module1 Sub Main() Console.Write("Salut") Console.Read() End Sub End Module

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 dclarer une variable et lui assigner une valeur. Je vous ai expliqu comment dclarer une variable. Je vous ai aussi rapidement expliqu comment attribuer une valeur une variable. Essayez donc de crer une variable de type integer appele MaVariable et d'y entrer la valeur 5 . Secret (cliquez pour afficher) Code : VB.NET Dim MaVariable As Integer MaVariable = 5

Maintenant, o placer ces instructions ?

C'est la question fatidique ! Si vous vous rappelez le schma sur l'ordre d'excution des lignes dans un programme, vous devriez vous rappeler qu'une fois entrs 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. Mme chose pour lui assigner une valeur : si vous l'affectez seulement la ligne 6, la ligne 4 ne pourra pas lire ce rsultat. Dernire 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) Code : VB.NET Module Module1 Sub Main()

www.siteduzero.com

Partie 1 : La thorie et les basesDim MaVariable As Integer MaVariable = 5 Console.Write(MaVariable) Console.Read() End Sub End Module

29/234

V le rsultat : oici Code : Console 5

V oil, 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 pige (sauf si vous avez bien lu prcdemment) ! 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 aprs tout, c'est ainsi que vous apprendrez ! V ous tes dsormais capables de dclarer des variables et de leur affecter des valeurs. V ous en apprendrez plus durant l'exploration d'autres sujets. Rien de tel que de pratiquer pour s'amliorer. Dernire chose : il faut toujours essayer d'assigner une valeur une variable ds le dbut ! Sinon, la variable n'est gale rien, et des erreurs peuvent survenir dans certains cas. Donc, systmatiquement : une dclaration, une assignation. Eh bien, je pense que vous savez dsormais dans les grandes lignes quoi servent les variables et comment les utiliser. Cela tombe bien car partir de maintenant, elles seront partout !

www.siteduzero.com

Partie 1 : La thorie et les bases

30/234

Modifications et oprations sur les variablesAvant d'entamer ce nouveau chapitre, rcapitulons et voyons o nous en sommes. Nous avons install Visual Basic 2010 Express et appris sommairement l'utiliser ; nous avons vu comment crer 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 dclarer une variable, lui assigner une valeur et l'afficher. Il est maintenant temps de s'amuser un peu avec nos nouvelles copines, les variables. Dmarrons sans plus tarder !

Oprations sur une variableNous allons prsent apprendre comment modifier et effectuer des oprations sur ces variables. V un exemple : vous souhaitez crer un programme qui calcule la somme de deux nombres ; pour ce faire, il vous faudra utiliser oici des oprations. Je vais vous expliquer la marche suivre. Reprenons notre programme, dclarons-y une variable MaVariable en integer et assignons-lui la valeur 5 (ce qui, normalement, est dj fait). Dclarons maintenant une seconde variable intitule MaVariable2 , de nouveau en integer, et assignons-lui cette fois la valeur 0. Le nom de votre variable est unique : si vous dclarez deux variables par le mme nom, une erreur se produira.

Si vous avez correctement suivi la dmarche, vous devriez obtenir le rsultat suivant : Code : VB.NET Module Module1 Sub Main() Dim MaVariable As Integer Dim MaVariable2 As Integer MaVariable = 5 MaVariable2 = 0 Console.Write(MaVariable) Console.Read() End Sub End Module

Dans le cas o vous avez plusieurs variables du mme type, vous pouvez rassembler leur dclaration comme suit : Code : VB.NET Dim MaVariable, MaVariable2 As Integer

Second point : vous pouvez galement initialiser vos variables ds leur dclaration, comme ci-dessous, ce qui est pratique pour les dclarations rapides. Code : VB.NET Dim MaVariable As Integer = 5

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.

www.siteduzero.com

Partie 1 : La thorie et les bases

31/234

l'attaquePassons maintenant au concret ! On va additionner un nombre notre variable MaVariable . Pour ce faire, rien de plus simple ! Dmonstration. Code : VB.NET MaVariable + 5

V ! Simple, n'est-ce pas ? oil En rsum, vous avez additionn 5 la variable MaVariable . Le programme a effectu cette opration. Seulement, le rsultat 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 bb l'effet que cela produit ; il comprendra tout de suite mieux ! (Mauvais exemple.) Pour y remdier, il faut ajouter le signe gal, comme lorsque nous initialisons nos variables. Code : VB.NET MaVariable2 = MaVariable + 5

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 rsultat aurait t identique puisque, souvenez-vous, l'entre d'une valeur dans une variable crase l'ancienne. Il faut savoir que nous n'avons pas forcment besoin de deux variables. En effet, l'instruction MaVariable = MaVariable + 5 aurait galement affect la valeur 10 la variable MaVariable .

Plus en profondeur...V ous savez prsent comment additionner un nombre une variable. Nous allons donc dcouvrir les autres oprations possibles. Opration souhaite Symbole Addition Soustraction Multiplication Division Division entire Puissance Modulo + * / \ ^ Mod

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 procd ? Eh bien, dsormais, vous savez quel caractre correspond chaque opration, la division de 10 et 5 aurait donc t : 10/5 . Qu'est-ce que le modulo ?

www.siteduzero.com

Partie 1 : La thorie et les bases

32/234

Trs bonne question. Le modulo est une opration spcifique en programmation, qui permet de rcuprer le reste d'une division. Exemples : 10 mod 5 correspond 10/5 ; le rsultat est 2, le reste est 0, donc 10 mod 5 = 0 . 14 mod 3 correspond 14/3 ; le rsultat est 4, le reste 2, donc 14 mod 3 = 2 . Nous allons immdiatement 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 oprations entre elles pour finalement stocker le rsultat dans une troisime variable et afficher le tout. Petite parenthse : je vais en profiter pour vous expliquer comment crire sur plusieurs lignes. Si vous crivez une fonction Write, puis une autre en dessous de faon donner ceci : Code : VB.NET Console.Write("test") Console.Write("test") x = 14 y=3 x mod y = 2 x\ y = 4 x / y = 4.666666 x ^ y = 2 744

... vous allez vous retrouver avec le rsultat suivant : Code : Console testtest

Afin d'crire sur deux lignes, on va utiliser le procd le plus simple pour le moment, qui est la fonction WriteLine(). Elle prend aussi comme argument la variable ou le texte afficher mais insre un retour la ligne au bout. Un code du genre... Code : VB.NET Console.WriteLine("test") Console.WriteLine("test")

... produira le rsultat suivant : Code : Console test test

Avec ces nouvelles informations, essayez donc de multiplier 8 par 9 (chaque nombre mis au pralable dans une variable), le tout tant entr dans une troisime variable. En outre, un petit supplment serait d'afficher l'opration que vous faites. Je vous laisse chercher ! Secret (cliquez pour afficher) Code : VB.NET Module Module1 Sub Main() Dim MaVariable As Integer

www.siteduzero.com

Partie 1 : La thorie et les basesDim MaVariable2 As Integer Dim MaVariable3 As Integer MaVariable = 8 MaVariable2 = 9 MaVariable3 = MaVariable * MaVariable2 Console.Write("9 x 8 = ") Console.Write(MaVariable3) Console.Read() End Sub End Module

33/234

Ce code, que j'ai tent d'crire de la faon la plus claire possible, nous affiche donc ceci : Code : Console 9 x 8 = 72

Essayez de modifier les valeurs des variables, l'opration, etc. Notre ligne MaVariable3 = MaVariable * MaVariable2 aurait trs bien pu tre simplifie sans passer par des variables intermdiaires : MaVariable3 = 9 * 8 est donc galement une syntaxe correcte. Dans cette mme logique, un Console.Write(9 * 8) fonctionnera galement, car je vous ai expliqu que les arguments d'une fonction taient spars par des virgules ; donc, s'il n'y a pas de virgules, c'est le mme argument. Mais bon, n'allons pas trop vite.

Diffrentes syntaxesNous avons donc cr un code affichant 9 x 8 = 72 . Ce code, comme vous l'avez certainement constat, est trs long pour le peu qu'il puisse faire ; pourtant, je vous ai donn quelques astuces. Mon code peut donc tre simplifi de plusieurs manires. Tout d'abord, l'initialisation lors de la dclaration : Code : VB.NET Dim MaVariable As Integer = 8 Dim MaVariable2 As Integer = 9 Dim MaVariable3 As Integer = 0

Puis, un seul Write : Code : VB.NET Console.Write("9 x 8 = " & MaVariable3)

Wow, du calme ! quoi sert le signe & ?

Bonne question. C'est ce qu'on appelle la concatnation, elle permet de rassembler deux choses en une ; ici, par exemple, j'ai rassembl la chane de caractres "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 mme argument).

www.siteduzero.com

Partie 1 : La thorie et les bases

34/234

Dernire amlioration possible : la suppression d'une variable intermdiaire ; on se retrouve faire l'opration directement dans le Write. Code : VB.NET Console.Write("9 x 8 = " & MaVariable * MaVariable2)

Ah, bah, autant effectuer directement le 9 * 8 en utilisant la concatnation !

Oui, effectivement. Mais dans ce cas, vos variables ne servent plus rien et cette instruction ne sera valable que pour faire 9 * 8 ... Grce ces modifications, notre code devient plus clair : Code : VB.NET Module Module1 Sub Main() Dim MaVariable As Integer = 8 Dim MaVariable2 As Integer = 9 Console.Write("9 x 8 = " & MaVariable * MaVariable2) Console.Read() End Sub End Module

Attention toutefois en utilisant la concatnation : si vous en abusez, vous risquez de vous retrouver avec des lignes trop longues, et n'allez plus reprer ce qui se passe. Pour cela, la parade arrive (eh oui, il y en a toujours une ; du moins, presque) !

Les commentairesLes commentaires vont nous servir claircir le code. Ce sont des phrases ou des indications que le programmeur laisse pour luimme ou pour ceux qui travaillent avec lui sur le mme code. Une ligne est considre comme commente si le caractre ' (autrement dit, une simple quote) la prcde ; une ligne peut aussi n'tre commente qu' un certain niveau. Exemples : Code : VB.NET 'Commentaire MaVariable = 9 * 6 ' Multiplie 9 et 6 et entre le rsultat dans MaVariable

Par exemple, voici notre programme dment comment : Code : VB.NET Module Module1 Sub Main() 'Initialisation des variables Dim MaVariable As Integer = 8 Dim MaVariable2 As Integer = 9

www.siteduzero.com

Partie 1 : La thorie et les bases'Affiche "9 x 8 = " puis le rsultat (multiplication de MaVariable par MaVariable2) Console.Write("9 x 8 = " & MaVariable * MaVariable2) 'Cre une pause factice de la console Console.Read() End Sub End Module

35/234

Autre chose : si vous voulez commenter plusieurs lignes rapidement, ce qui est pratique lorsque vous testez le programme avec d'autres fonctions mais que vous souhaitez garder les anciennes si cela ne fonctionne pas, Visual Basic Express vous permet de le faire avec son interface. Slectionnez pour cela les lignes souhaites puis cliquez sur le bouton que j'ai dcrit dans la barre d'outils, portant le nom Commenter les lignes slectionnes . V ous allez srement trouver cela long, fastidieux et inutile au dbut, mais plus tard, cela deviendra une habitude, et vous les insrerez sans que je vous le dise. Il existe d'autres astuces pour expliquer et trier son code, que j'aborderai lorsque nous crerons nos propres fonctions.

Lire une valeur en consoleJe vais immdiatement aborder ce passage, mais assez sommairement puisqu'il ne sera valable qu'en mode console. Pour lire en mode console, par exemple si vous souhaitez que l'utilisateur saisisse deux nombres que vous additionnerez, il vous faut utiliser la fonction ReadLine(). Nous avions utilis Read , mais cette fonction lit uniquement un caractre, elle est donc inutile pour les nombres suprieurs 9. Notre nouvelle fonction s'utilise de la manire suivante : Code : VB.NET MaVariable = Console.ReadLine()

V ous avez donc certainement dj d crire ce code, qui multiplie les deux nombres entrs : Secret (cliquez pour afficher) Code : VB.NET Module Module1 Sub Main() 'Initialisation des variables Dim MaVariable As Integer = 0 Dim MaVariable2 As Integer = 0 Console.WriteLine("- Multiplication de deux nombres -") 'Demande du premier nombre stock dans MaVariable Console.WriteLine("Veuillez entrer le premier nombre") MaVariable = Console.ReadLine() 'Demande du second nombre stock dans MaVariable2 Console.WriteLine("Veuillez entrer le second nombre") MaVariable2 = Console.ReadLine() 'Affiche "X x Y = " puis le rsultat (multiplication de MaVariable par MaVariable2) Console.WriteLine(MaVariable & " x " & MaVariable2 & " = " & MaVariable * MaVariable2) 'Cre une pause factice de la console Console.ReadLine() End Sub End Module

www.siteduzero.com

Partie 1 : La thorie et les bases

36/234

Ce programme demande donc les deux nombres, l'un puis l'autre, et les multiplie. Cette fonction ne formate et ne vrifie pas la rponse ; autrement dit, si votre utilisateur crit salut et coucou au lieu d'un nombre, le programme plantera car il essaiera de saisir des caractres dans un type rserv aux nombres. Ce qui nous amne notre prochain chapitre : les boucles conditionnelles.

www.siteduzero.com

Partie 1 : La thorie et les bases

37/234

Conditions et boucles conditionnellesUne quoi ?Une boucle conditionnelle est quelque chose de fort utile et courant en programmation. Je vous donne un exemple : imaginez que vous souhaitez que votre application effectue une action uniquement si le nombre entr est gal 10, ou une autre tant qu'il est gal 10. Eh bien, c'est prcisment dans ce cas de figure que les boucles conditionnelles trouvent leur utilit.

Les boucles conditionnelles Aperu des diffrentes boucles If , mot anglais traduisible par si Retenez bien que les mots que le programme comprend et utilise sont anglais et ont donc une traduction qui peut vous aider vous rappeler quoi ils servent. Attaquons avec la boucle la plus simple, mais non sans intrt : If . Une ligne commenant par If est toujours termine par Then, ce qui signifie Si, alors . C'est entre ces deux mots que vous placez la condition souhaite. Donc, si j'cris le code If MaVariable = 10 Then , ce qui se trouve en dessous ne sera excut que si la valeur de MaVariable est gale 10. Code VB If MaVariable Franais = 10 Then

Si MaVariable est gale 10 alors

Comment cela, tout ce qui se trouve en dessous ? Tout le reste du programme ?

Eh bien oui, du moins jusqu' ce qu'il rencontre End If , traduisible par Fin si . Comme pour un Sub ou un Module, une boucle est associe sa fin correspondante. En clair, If , Then et End If sont indissociables !

www.siteduzero.com

Partie 1 : La thorie et les basesCode : VB.NET If MaVariable = 10 Then MaVariable = 5 End If

38/234

Si vous avez bien compris, vous devriez tre capables de m'expliquer l'utilit du code ci-dessus. Secret (cliquez pour afficher) Si MaVariable est gale 10, il met MaVariable 5. Exactement ! Mais si tu mets MaVariable 5 dans la boucle, le programme ne va pas en sortir puisque ce n'est plus gal 10 ?

Bonne observation. Eh bien, non, cela ne change rien : c'est en arrivant la ligne du If que tout se joue. Ensuite, si la variable change, le programme ne s'en proccupe plus.

Else , mot anglais traduisible par sinon Sinon , il faut y penser des fois pour grer toutes les ventualits. Le Else doit tre plac dans une boucle If , donc entre le Then et le End If .

La syntaxe est la suivante : Code : VB.NET If MaVariable = 10 Then 'Code excut si MaVariable = 10 Else 'Code excut si MaVariable est diffrente de 10 End If

Code VB Else

www.siteduzero.com

Partie 1 : La thorie et les basesFranais Sinon

39/234

Je vais en profiter pour vous signaler que le symbole diffrent en VB s'crit . Autre