Bonjour à tous,
Petite question que je me pose, est-ce que quelqu'un peut m'expliquer pourquoi le code suivant compile et fonctionne très bien :
Alors que celui-ci ne se compile pas (Erreur : Expression constante attendue):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Const MA_CONST_1 = 1; MA_CONST_2 = 2; MA_CONST_3 = 3; MA_CONST_4 = 4; Var MaVariable : Integer; begin MaVariable:=StrToInt(Edit1.Text); Case MaVariable Of MA_CONST_1 : ShowMessage('A'); MA_CONST_2 : ShowMessage('B'); MA_CONST_3 : ShowMessage('C'); MA_CONST_4 : ShowMessage('D'); End; end;
La seule différence étant de définir un type spécifique pour les constantes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Const MA_CONST_1 : Integer = 1; MA_CONST_2 : Integer = 2; MA_CONST_3 : Integer = 3; MA_CONST_4 : Integer = 4; Var MaVariable : Integer; begin MaVariable:=StrToInt(Edit1.Text); Case MaVariable Of MA_CONST_1 : ShowMessage('A'); MA_CONST_2 : ShowMessage('B'); MA_CONST_3 : ShowMessage('C'); MA_CONST_4 : ShowMessage('D'); End; end;
J'ai toujours l'habitude de définir le type de mes constantes mais du coup là je ne peux pas. est-ce que ça change quelque chose?
(Bien entendu, l'utilité du code est bidon, c'est juste pour reproduire le phénomène)
Merci d'avance.
LaNono
Partager