E2153 ';' non autorisé avant 'ELSE' (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Vous avez placé un ';' directement avant un ELSE dans une instruction IF-ELSE. La raison de ce message est que le ';' est traité comme opérateur d'instruction et non comme terminaison d'instruction - IF-ELSE est une instruction, un ';' ne peut pas apparaître en son milieu (à moins que vous utilisiez les instructions composées).
program Produce; var b: Integer; begin if b = 10 then b := 0; else b := 10; end.
Le langage Delphi n'autorise pas qu'un ';' soit placé directement avant une instruction ELSE. Dans le code ci-dessus, une erreur sera produite.
program Solve; var b: Integer; begin if b = 10 then b := 0 else b := 10; if b = 10 then begin b := 0; end else begin b := 10; end; end.
Il existe deux solutions simples à ce problème. La première est d'enlever le ';' mis en cause. La deuxième est de créer des instructions compound pour chaque partie de IF..ELSE. Si $HINTS est activée, vous recevrez une information sur la valeur affectée à 'b'.