Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-02-2011
Parabol77 Parabol77 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 10
Poder: 0
Parabol77 Va por buen camino
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
   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.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con condicionales "compuestos" Parabol77 Varios 2 18-11-2010 16:27:33
Se puede hacer consultas SQL condicionales con Firebird David SQL 2 04-04-2008 15:34:54
condicionales en SQL Max_E. SQL 2 31-10-2006 19:28:33
SQL´s con condicionales AMINOA2R Firebird e Interbase 3 02-02-2006 09:33:14


La franja horaria es GMT +2. Ahora son las 22:01:54.


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
Copyright 1996-2007 Club Delphi