Programación General => Visual FoxPro => Mensaje iniciado por: kaibaseto en Miércoles 6 de Mayo de 2009, 23:51
Título: en lugar de iif un case
Publicado por: kaibaseto en Miércoles 6 de Mayo de 2009, 23:51
tengo un problema necesito usar un select case en vfp5 pero hasta ahora solo encontre un iif pero este no me ayuda mucho ya q necesito hacer multiples comparaciones de un campo alguna idea alguien me podria ayudar
tengo un campo de una tabla fox stkumid con valores string como 'caja96','unidad', 'galon' pero yo necesito poner 96,1,1
ayuda es para el trabajo snifffffffff me va a costar el puesto
Título: Re: en lugar de iif un case
Publicado por: andres24hs en Miércoles 10 de Junio de 2009, 16:29
hola!!! amigo es tan urgente tu problema que no se entiende bien lo que necesitas, pero si no entendi mal yo probaría con if anidados
if condicion1 sentencia1 else if condicion2 sentencia2 else setencia3 endif endif
suerte
Título: Re: en lugar de iif un case
Publicado por: SOFT_WMG en Viernes 12 de Junio de 2009, 04:48
UNO FACILITO DE LA SENTENCIA IF ES MAS FACIL Q EL CASE ELIJE = TABLA.UNIDAD xCAN = CANTIDAD XUNIDAD =1 &&PREDETERMINADO COMO CONTRARIO IF ELIJE = 'CAJA' XUNIDAD = 96 ENDIF IF ELIJE = 'UNIDAD' XUNIDAD = 1 ENDIF IF ELIJE = 'GALON' XUNIDAD = 1 ENDIF
TOTAL = XCAN * XUNIDAD
BUENA SUERTE ------------------------------------------------------------------- WALTER MATIAS GARCIA - PROGRAMADOR DE SISTEMAS SOFT&WMG - THE SOFTWARE OF THE SYSTEM ENTREPRENEURIAL
Título: Re: en lugar de iif un case
Publicado por: 3rn3st0 en Martes 16 de Junio de 2009, 08:46
Sólo debes usar la instrucción: DO CASE...ENDCASE
La manera de usarla es como sigue:
Código: Text
DO CASE
CASE Condicion = x
...Tu código para la condición x
CASE Condicion = y
...Tu código para la condición y
CASE Condicion = z
...Tu código para la condición z
OTHERWISE
...Código para cualquiera otra condición o condiciones no previstas
ENDCASE
Título: Re: en lugar de iif un case
Publicado por: xodrf en Sábado 18 de Julio de 2009, 16:50
Existe una diferencia fundamental entre DO CASE y IF ENDIF y esta radica en el caso de seleccion multiple evalua en el orden que programaste y al entrar en un caso ya no se evalua las siguientes esto es: DO CASE CASE condicion1 ... CASE condicion2 ... CASE condicion3 ... OTHERWISE ... ENDCASE en el caso que condicion1sea falso evalua condicion2 y si este es verdadero ya no evalua la condicion3 ni OTHERWISE por cierto OTHERWISE se evalua como verdadera si ninguna de las condiciones anteriores fueron ciertas.
En Cambio para sentencias como las que sigue se evaluan todas sin excepción IF condicion1 ... ENDIF IF condicion2 ... ENDIF IF condicion3 ... ENDIF
Funcion IIF() lo unico que esta hace es devolvur UN VALOR DE ENTRE 2 POSIBLES si la condicion es verdadera devuelve el valor que esta en IIF( , "VALOR A DEVOLVER EN CASO VERDADERO", ), de lo contrario devuelve el valor IIF(,, "EN CASO FALSO" ) valor=IIF( condicion, "SI condicion ES VERDADERA", "LA condicion ES FALSA" )
Obs: entiendase que (se evalua como cierta) quiere decir que se ejecuta las sentencias que estan entre ..., para recibir mejor ayuda deberias postear un segmento de tu codigo y explicar que deberia hacer.
Espero haber ayudado!!
Título: Re: en lugar de iif un case
Publicado por: 3rn3st0 en Sábado 18 de Julio de 2009, 17:31
Si esto es un foro de Visual FoxPro, ¿porqué se empeñan en mencionar la instrucción Select Case? Select Case es una estructura condicional de Visual Basic. NO es una instrucción de Visual FoxPro.
Título: Re:en lugar de iif un case
Publicado por: AlfredJPK55 en Sábado 14 de Marzo de 2015, 06:10
Cuando esto es n't foro de Image FoxPro, ¿porqué se empeñan durante mencionar chicago instrucción Pick out Circumstance? Pick out Circumstance es una estructura condicional de Image Fundamental. SIMPLY NO es una instrucción de Image FoxPro.