Naja, AND ist nicht nur ein boolscher Operator, sondern auch ein bitweises AND. Und in der Prioritätenliste kommen diese Operatoren vor den Vergleichsoperatoren (was generell sinnvoll ist, wie ich finde).
Aus
if a=b and c=d then
wird also zuerst ein
if a = e = d then
, und daraus ein
if (Bool) = d then
. Und das schmeckt einer typentreuen Sprache wie Delphi nicht so gut (wenn a,b,c,d Integer o.Ä. sind). Daher muss man bei sowas klammern.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.