Problema con condicionales encadenados
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 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. |
Cita:
|
Hola Parabol77
Bueno, creo que el problema te lo estás haciendo con tanto begin y end innecesarios... Basándome en la explicación, sería:
Un saludo. |
Hola de nuevo.
Creo que mejor te dejo un ejemplo ;)
Verás que la función devuelve 4, que es el primer número del parámetro que cumple la condicion. Ya que 4/10 es <= 0.4 y los predecesores no. Un saludo. |
¡Muchas gracias a ambos!
Perdón por contestar tan tarde, pero he estado un poco ocupado. Resulta que al final, el error venía de otras acciones que había antes del código que he puesto, pero al menos he caido en poner todos esos condicionales de manera mucho más sencilla. ;) Gracias de nuevo. Un saludo. |
La franja horaria es GMT +2. Ahora son las 19:08:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi