Ver Mensaje Individual
  #6  
Antiguo 17-06-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
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:
Código Delphi [-]
If MiVariable Then
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.
Responder Con Cita