Delphi/Variables et constantes
Introduction à la notion de variable
modifierLes variables sont au cœur de la programmation. Un programme ne peut fonctionner sans variables.
Une variable associe un nom à une valeur. Il ne faut en aucun cas confondre le nom et la valeur. La variable n’est pas constante, elle peut varier pendant l'exécution du programme.
Variables et programme
modifierDéclaration de la variable dans le programme
modifierPour déclarer une variable dans un programme, il faut écrire :
- Son nom (var1, par exemple)
- :
- Le type de la variable (integer)
- ;
Un exemple :
function bidule()
var
var1: integer;
var2: integer;
var3: string;
begin
// Différentes instructions
end;
Quand le type est le même, on peut aussi écrire :
function bidule()
var
var1, var2: integer;
var3: string;
begin
// Différentes instructions
end;
Syntaxe correcte pour le nom des variables
modifierRègles | Identificateurs incorrects | Identificateurs corrects |
---|---|---|
Ne peut commencer par un chiffre | 1nom | nom1 |
Les points ne sont pas autorisés | nom.2 | nom_2 |
Les tirets ne sont pas autorisés | -nom-3 | _nom_3 |
Les espaces ne sont pas autorisés | Nom de variable | Nom_de_variable |
Les caractères accentués ne sont pas autorisés | deuxième_choix | deuxieme_choix |
Les cédilles ne sont pas autorisées | mot_français | mot_francais |
La casse des caractères des identifiants n'a aucune importance car Delphi n’est pas sensible à la casse. Vous pouvez donc déclarer une variable montantCourant
puis l'écrire plus loin montantcourant
, MONTANTCOURANT
ou mOnTaNtCoUrAnT
.
Afficher une variable
modifierIl est simple d'afficher une variable dans un programme.
Il suffit d'appeler la fonction
WriteLn();
Une fois cela fait, pour afficher proprement un entier, il faut appeler la fonction
WriteLn(variableAAfficher);
Voilà ce que ça donne en programme complet :
program Afficher_une_variable;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
var1:integer;
begin
var1:= 12
WriteLn (var1);
ReadLn;
end.
Ce code affichera donc 12.
- Remarque : Si vous ne voulez pas sauter de lignes après l’affichage utilisez la fonction Write plutôt que WriteLn
- Remarque : La fonction ReadLn est là pour empêcher que la console se ferme trop rapidement, sa réelle utilité est décrite en dessous.
Récupérer une variable
modifierC'est aussi très facile. Il faut faire appel à la fonction ReadLn(variable);
Il faut auparavant déclarer la variable à utiliser. Voilà un code complet :
program Recuperer_une_Variable;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
var1:integer;
begin
ReadLn (var1);
end.
Dans les prochains chapitres, nous verrons comment additionner des variables, les utiliser dans des boucles ou conditions, etc.
- Remarque : Si vous ne voulez pas sauter de lignes après la saisie, utilisez la fonction Read plutôt que ReadLn
Assignation
modifierVous pouvez fixer une valeur à une variable à tout moment dans le programme, à partir d'une autre variable par exemple :
program Assignation;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
VariableSource:integer;
VariableTarget:integer;
begin
ReadLn (VariableSource);
VariableTarget := VariableSource;
end.
La variable modifiée est à gauche et la variable dont la valeur est clonée est à droite. Ne vous trompez pas.
Les constantes
modifierIntroduction
modifierLes constantes sont proches des variables, à un point près :
Elles ne peuvent pas changer de valeur au cours du programme.
Les constantes littérales
modifierLes constantes littérales correspondent à toutes les valeurs qui sont définies nativement dans les fichiers d'entête.
Exemple :
- stdout pointe sur le buffer de l'écran
- stdin pointe sur le buffer du clavier
Les constantes symboliques
modifierLes constantes symboliques sont définies par le programmeur. Elles fonctionnent exactement pareil aux variables, sauf au niveau de leurs déclarations.
Pour déclarer une constante, il faut les déclarer après le mot réservé const au lieu de var.
program Declarer_constante;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
const1 = 12;
var
var1:integer;
begin
// Instructions
end.
TP
modifierÉcrivez un programme qui demande l'âge de l'utilisateur, puis qui l'affiche.