SoloCodigo

Programación General => Visual FoxPro => Mensaje iniciado por: abelsql3000 en Viernes 29 de Diciembre de 2006, 23:05

Título: Una Linea De Codigo En If
Publicado por: abelsql3000 en Viernes 29 de Diciembre de 2006, 23:05
hola amigos
Se puede tener una misma linea de codigo para el uso del IF en VFP como ocurre en VB
Ejemplo:

Private Sub Check5_Click(Index As Integer)
Static suma
Static cuenta
suma = 0
cuenta=0
If Check5(0).Value Then suma = suma + 10:cuenta=cuenta+1
If Check5(1).Value Then suma = suma + 20:cuenta=cuenta+1
If Check5(2).Value Then suma = suma + 30:cuenta=cuenta+1
If Check5(3).Value Then suma = suma + 40:cuenta=cuenta+1
Print Str(suma)
Print str(cuenta)
End Sub
Título: Re: Una Linea De Codigo En If
Publicado por: RadicalEd en Viernes 29 de Diciembre de 2006, 23:22
No es If, VB Lo maneja como IIf y en VFP También funciona como IIF
Título: Re: Una Linea De Codigo En If
Publicado por: ArKaNtOs en Sábado 30 de Diciembre de 2006, 00:42
Cita de: "RadicalEd"
No es If, VB Lo maneja como IIf y en VFP También funciona como IIF
si es if, iif es otra cosa:

If Check5(0).Value Then suma = suma + 10:cuenta=cuenta+1 ' es valido y no necesitas de un en if

iif es usado para comparativas de una sola linea donde de una vez resuelves el caso si y el no ejemplo:

x=iif(y=1, "verdadero", "falso") ' en este ejemplo x tomara el valor de "verdadero" si y=1 o falso si no lo es, es muy diferente if de una sola linea que iif, el if solo evalua el caso verdadero no ambos.

Regresando a la pregunta de abel, hasta donde tengo entendido no es valido hacer eso, necesitas a la de a fuerzas el endif y aparte las sentencias tienen que ir debajo de la comparación
Título: Re: Una Linea De Codigo En If
Publicado por: arielb en Sábado 30 de Diciembre de 2006, 18:53
k tal la sintaxis para la función iif() seria

Código: Text
  1. iif(condicion a evaluar, si es cierto,si es falso)
  2.  

Ejemplo

Código: Text
  1. IIF(DATE() = CTOD('30/12/2006'),MESSAGEBOX("Faltan 2 dias P.A.N"),MESSAGEBOX("No es 30/12/2006"))
  2.  

La funcion Iif() es mucho mas rápido que la estructura if...endif

Saludos.,,,