Ver Mensaje Individual
  #4  
Antiguo 02-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo diría que lo que ocurre es que una cosa no quita la otra, es decir, efectivamente, el "else" de una condición indica "el camino alternativo a seguir", pero, dentro del bloque "else" es perfectamente posible utilizar el valor de la variable "Correcto".

Piensa además que la variable "Correcto" se "inicializa" antes de la condición, esto es, está disponible para cualquiera de los caminos que se tomen en esta. Otra cosa sería algo así:

Código Delphi [-]
var
  correcto: boolean;
begin
  if LoQueSea then
    correcto := true;
  else
    Edit1.Visible := correcto;
end;

Creo que el propio compilador se encargaría de alertarte de que el mismo no es del todo correcto, valga la redundancia, puesto que la variable "correcto" no estaría inicializada en el bloque "else" en este caso. Ahora bien, hacer esto no implica ningún problema y puede ser lo que se precise:

Código Delphi [-]
var
  correcto: boolean;
begin
  correcto := true;

  if LoQueSea then
    correcto := false;
  else
    Edit1.Visible := correcto;

  {...}
end;

¿Qué valor tendría "Visible" si llegara a ejecutarse el código del bloque "else"? Efectivamente, "true", puesto que ese es el valor que damos a la variable "correcto" anteriormente.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 02-10-2006 a las 21:58:45.
Responder Con Cita