Nature et utilisation des variables

O dclarer les variables?

Dclaration de la variableUne particularit nouvelle est apparue trs discrtement dans l'exemple qui prcde: une dclaration de variable se trouve dans une procdure de gestion d'un vnement (OnClick).

Pour le premier exemple, nous avions dclar la variable appele "intermediaire" dans l'entte du projet (revoir l'illustration ci-contre), prs de la dclaration de la fiche Form1.

O faut-il donc dclarer les variables? Pouvons-nous donc dclarer les variables n'importe o?

Deux endroits pour dclarer les variables

Dclaration globaleAu niveau du projet

Dans l'diteur de code, la fiche principale de l'application est dclare: on trouve la dclaration de Form1 du type TForm1.

A cette dclaration, on peut ajouter toute autre dclaration ncessaire. Dans l'exemple ci-contre gauche, la dclaration de la variable de type entier appele UnNombreEntier a t ajoute.

Dans ce cas, la variable sera reconnue dans l'ensemble de l'application: tous les objets pourront y avoir accs.

Au niveau de la procdure qui utilise la variable

Dclaration localeDans ce cas, on dclare la variable dans l'entte de la procdure.

Dans ce cas, la variable ne sera connue que dans la procdure. Il sera impossible d'y accder depuis un autre point du programme.

Dans l'exemple ci-contre droite, il sera impossible d'accder la variable UnNombreEntier partir du gestionnaire d'vnement d'un autre bouton.

En fonction de l'endroit o elle est dclare, la porte d'une variable est diffrente.

Porte des variables

Bon, en gros, la dclaration globale, c'est 100 fois mieux que la dclaration locale. C'est sans intrt, la dclaration locale.

Bien au contraire: les variables locales sont bien plus avantageuses et il faut toujours les prfrer.
Une variable locale vit sa vie, indpendamment de tout ce qui peut se passer dans le reste du programme.
Il n'est pas ncessaire de se proccuper de savoir si elle est utilise ailleurs et quoi elle peut servir.

Dclaration locale

  • Sur une fiche, dpose deux zones TEdit (Edit1 et Edit2) et deux boutons TButton (Button1 et Button2).

Edit1 / Edit2

  • Associe le code illustr ci-dessous aux vnements OnClick de chacun des deux boutons. La dclaration de la variable Nombre figure uniquement dans la procdure Button1Click.

Dclaration de la variable "Nombre"

Peux-tu dterminer le but recherch avant de compiler?

  • Tente une compilation.

Le rsultat est sans appel: une erreur est dtecte!

Erreur du compilateur

Le compilateur dtecte une variable non dclare (Nombre) et s'arrte dans la procdure lie l'vnement Onclick du deuxime bouton.

Avant d'aller plus loin, peux-tu expliquer pourquoi le compilateur annonce une erreur?
Si tu as bien compris ce qui a t expos plus haut, tu dois pouvoir rpondre. Base ton interprtation sur le schma expos plus haut.
Discute de ta rponse avec le professeur.

Dclaration globale

  • Dclaration globale de la variableDplace la dclaration de la variable au niveau global
  • Compile l'application.

La compilation fonctionne sans problme. L'excution se droule parfaitement comme attendu.

Peux-tu expliquer pourquoi, en te basant sur le schma prsent plus haut?

Propose ton interprtation au professeur.

Dans quel cas faut-il utiliser la dclaration locale des variables, dans quel cas faut-il utiliser la dclaration au niveau global?

  1. La dclaration globale permet de rendre une variable visible de l'ensemble du programme.

  2. La dclaration locale permet de rendre une variable visible uniquement dans la procdure qui l'utilise

  3. On utilisera la dclaration globale quand une variable doit tre connue partout. On utilisera la dclaration locale lorsque l'on dsire qu'une variable ne soit visible que dans la procdure qui la dclare mais pas au niveau global.

Quand tu fais bien la distinction entre la dclaration globale et la dclaration locale des variables, passe la page suivante.


Dernière modification 18/08/2016 Test dans /info ...