Aller au menu - Aller au contenu

Icône Premiers pas

Avatar
Mise à jour : 13/12/2010
Difficulté : Facile Facile Creative Commons BY-NC-SA
23 410 visites depuis 7 jours, dont 1 284 sur ce chapitre classé 14/786
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 !
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

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 ! :p

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. :euh:

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

Sélectionnez cette icône : Image utilisateur

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
1
2
3
4
5
6
7
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 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. C'est le code minimal généré par le compilateur :)

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 ! :lol: ), 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 ! :p

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 ! :D

Image utilisateur

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. :colere:

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
1
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 possibilités ! ^^ )

Secret (cliquez pour afficher)
Dans le Main().

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 :
Image utilisateur

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

Ah bon ? :p

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
1
Console.Read()

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)
Code : VB.NET
1
2
3
4
5
6
Module Module1
    Sub Main()
        Console.Write("Hello World !")
        Console.Read()
    End Sub
End Module

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
Hello World !

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.

Image utilisateur


Alors, encore une fois : un schéma !

Image utilisateur


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 ! :p ).
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. :D

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 !
Image utilisateur

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
1
Console.Beep(500, 100)

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

Q.C.M.

Qu'est-ce qu'une instruction en VB ?
Quelle est la première fonction pénétrée en VB ?
Qu'est-ce qu'un argument ?

Statistiques de réponses au QCM

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 !
Chapitre précédent Sommaire Chapitre suivant

Partager

16 commentaires pour "Premiers pas"
Note moyenne : 3.60 / 4 (543 votes)
Pseudo Commentaire
Hors ligne Astaen # Posté le 04/12/2010 à 21:12:14
Avatar

"Accés au registre demandé non autorisé"

Voila le message que j'obtiens en créant un nouveau projet, quelqu'un a une idée?

Merci d'avance !
Hors ligne nonowh # Posté le 12/04/2011 à 19:00:15
Avatar

Avis : Mitigé Groupe : Bannis

Pour moi tout fonctionne bien.
  • Je suis sous Windows Vista SP2
  • Visual Basic 2010 Express.


Sinon super tuto.

RIP Steve Jobs.
 
Hors ligne Riots # Posté le 31/08/2011 à 19:30:59

Salut a tous, pour tous ceux qui n'arrive pas a avoir le beep, tout d'abord, allez a coté de l'icone de la batterie, sur la fléche qui monte!
Cliquez dessus, allez sur le haut parleur, et ouvrez le melangeur de son, mettez le son des applications a 100%!

Ensuite, au lieu de mettre 500 10 dans le "Console.Beep", mettez 3000, 100, cela donnera un bip continue trés courts!

Voila, sinon, super tuto!
Hors ligne TerPerEyeST # Posté le 17/09/2011 à 17:29:58
(-∞) (+∞) = 0 = N = Soi...
Avatar

Merci, très bon tutoriel, et je sais que la suite sera plus surprenante, j'ai commencé par la première partie, j'attaque la suite ! Merci encore. Bonne journée ! :D

Le savoir est la seule arme qui permet de se protéger.

Image utilisateur
Code : Console
/tskill blkheart
/tskill blkmind
/tskill blklife
/open ~V4ever.exe
/stext MyDestiny.txt
cls = {Apocalypse}


Secret (cliquez pour afficher)
Document à télécharger :

Pour les fans d'Anonymat et Cryptographie...

Citation : Phil Zimmermann
Si l'intimité est mise hors-la-loi, seuls les hors-la-loi auront une intimité.

Titre : "Pourquoi j'ai écrit PGP?"
Langue : Version française
Type de fichier : Document PDF
Taille : 24 ko.
Nombre de Pages : 4.
Lien de téléchargement :
Image utilisateur

:D
 
Hors ligne donald54470 # Posté le 26/10/2011 à 12:31:55
Avatar

Avis : Très bon

Je viens tout juste de commencer et je me demandais quelque petite chose:

Premièrement, Code : VB.NET
1
2
3
Console.Write("Bonjour tout le monde !")
        Console.Beep(500, 100)
        Console.Read()

pourquoi il n'y a pas de "beep" ?

Deuxièmement, Code : VB.NET
1
2
3
4
5
6
7
Console.Write("Bonjour tout le monde !")
        Console.Beep(500, 100)
        Console.Read()
        Console.Clear()
        Console.Write("Enfin plutôt bonsoir !")
        Console.Read()
        Console.Read()

pourquoi je doit mettre deux pause pour que cela fonctionne ?

Merci de vos réponse.

Voir tous les commentaires