Después de la generosa explicación de
ecfisa y con lo ya dicho por
AgustinOrtu, difícilmente podría yo agregar algo importante. Baste decir que donde quiera que se espere una
expresión Boolean, es decir, un fragmento de código que se evaluará o ejecutará dando por resultado un valor de falso o verdadero, puede ser colocada tanto una llamada a una función de resultado Boolean, como una variable o propiedad de tipo Boolean sola, o bien una combinación de otras expresiones (usando paréntesis y And, Or, etc.).
En la sentencia
Código Delphi
[-]If IsUpperCase ('ABC') Then
la expresión Boolean es:
IsUpperCase ('ABC')
En la sentencia
Código Delphi
[-]If IsUpperCase ('ABC') = True Then
la expresión Boolean es:
IsUpperCase ('ABC') = True
Al
If entrará si la expresión evalúa a (resulta en) True. Así que si "
IsUpperCase ('ABC')" es ya una expresión falso/verdadero, entonces
no hay necesidad de hacer más compleja esa expresión añadiéndole una comparación con el signo de igual y la constante
True ("
IsUpperCase ('ABC') = True").
Ese
If sería válido incluso si escribieras:
Código Delphi
[-]If ((IsUpperCase ('ABC') = True) = True) = True Then
Pero es mejor escribir código conciso:
Código Delphi
[-]If IsUpperCase ('ABC') Then
Y, como dije antes, lo mismo aplica a una variable o propiedad Boolean:
De este modo, evitamos recargar a la aplicación con ciclos de CPU innecesarios, o, en caso de que el compilador simplifique las expresiones redundantes, al menos no ofuscamos el código fuente, dejándolo un poco más limpio y fácil de leer.
Al González.