Muy buenas a todos. Estoy haciendo un programa y, en la siguiente secuencia, tengo algún problema. El programa compila y ejecuta correctamente, pero no hace lo que quiero. A continuación expongo el código y lo que quiero conseguir con él:
Código:
If Deje1/Dengr<=0.4 Then D:=Deje1
Else
Begin
If Deje2/Dengr<=0.4 Then D:=Deje2
Else
Begin
If Deje3/Dengr<=0.4 Then D:=Deje3
Else
Begin
If Deje4/Dengr<=0.4 Then D:=Deje4
Else
Begin
If Deje5/Dengr<=0.4 Then D:=Deje5
Else
Begin
If Deje6/Dengr<=0.4 Then D:=Deje6
Else
D:=Deje7;
end
end
end
end
end;
Lo que quiero conseguir es lo siguiente: Tengo los datos Dengr, y Deje1 a Deje7 (Los llamaré Deje# para mayor comodidad). Como salida, tengo la variable D, que se corresponderá al Deje# "válido".
Para que ese Deje# sea válido, la relación (Deje#/Dengr) debe ser menor o igual que 0.4. Para ello, empiezo a comparar con Deje1. Si Deje1/Dengr <= 0.4, D será Deje1 y se acabaría la secuencia de condicionales. Si no, se compararía Deje2/Dengr, y si es <=0.4, D sería Deje2. El proceso avanzaría si no se cumple la condición (<=0.4) para los Deje# siguientes, hasta que, en caso de que Deje6/Dengr no sea menor o igual que 0.4, D sea directamente Deje7. Espero haberlo explicado de forma inteligible.
El problema que tengo es que el programa me saca un resultado para D, pero no cumple la condición D/Dengr<=0.4
Creo que el error está en algún end, algún punto y coma... Pero he estado trasteando y no doy con el fallo. Agradecería cualquier tipo de ayuda.
Muchas gracias de antemano.
Un saludo.