La declaración If-Then-Else en el código Delphi
Los desarrolladores principiantes de Delphi deben tener cuidado con las trampas If-Then-Else
Getty Images/Degui Adil/EyeEm
En Delfos , la instrucción if se usa para probar una condición y luego ejecutar secciones de código en función de si esa condición es verdadera o falsa.
Una declaración general if-then-else se ve así:
|_+_||_+_|
Tanto el 'bloque verdadero' como el 'bloque falso' pueden ser una declaración simple o una declaración estructurada (rodeada de un par de inicio y fin).
Ejemplo de una declaración If-Then-Else anidada
Consideremos un ejemplo usando sentencias if anidadas:
|_+_||_+_|
¿Cuál será el valor de 'Cation'? Respuesta: '¡El número es NEGATIVO!' ¿No esperaba eso?
Tenga en cuenta que el compilador no tiene en cuenta su formato, podría haber escrito lo anterior como:
|_+_||_+_|o incluso como (todo en una línea):
|_+_||_+_|Los ';' marca el final de una declaración.
El compilador leerá la declaración anterior como:
|_+_||_+_|o para ser más precisos:
|_+_||_+_|
Nuestra declaración ELSE se interpretará como parte de la declaración IF 'interna'. La declaración 'interna' es una declaración cerrada y no necesita un BEGIN..ELSE.
Como arreglar
Para asegurarse de que sabe cómo el compilador trata sus declaraciones if anidadas y para solucionar el 'problema' anterior, puede escribir la versión inicial como:
|_+_||_+_|
¡Oh! ¿¡El feo 'else' termina la línea if anidada!? ¡Compila, funciona!
La mejor solución es: siempre use pares de inicio y fin con declaraciones if anidadas:
|_+_||_+_|
¿Demasiados pares de inicio y fin para ti? Más vale prevenir que lamentar. De todos modos, las plantillas de código están diseñadas para agregar estructuras de esqueleto de uso común a su código fuente y luego completarlas.
Artículo enviado por Marcus Junglas