Páginas

sábado, 4 de junio de 2016

Operador Ternario: iif, el if...then...else... comprimido


Operador Ternario: iif

  el if...then...else... comprimido

Es una forma más simple de escribir un if... then...else, en una sola linea:





Value
= IIf ( Test AS Boolean , TrueExpression , FalseExpression ) Value = If ( Test AS Boolean , TrueExpression , FalseExpression )


Significado: 
  Evalúa la expresión "Test", y si es verdadera,  retorna lo que resulte de evaluar la expresión  "TrueExpresion", y si es falsa, retorna lo que resulte de evaluar la expresión "FalseExpresion" 



Ejemplo:
En este ejemplo introducimos dos numeros, y con el botón comprobar, mostramos un mensaje:
- Si son iguales, nos dice "Son iguales"
- Si el primero es mayor que el segundo , nos dice "El primero es mayor que el segundo"
- Si el primero es menos que el segundo, nos dice "El segundo es mayor que el primero"




' Gambas class file

Public Sub _new()

End

Public Sub Form_Open()

End

Public Sub ButtonComprobar_Click()

Dim texto As String
Dim textoIguales As String = ("Son iguales")
Dim textoPrimeroMayorSegundo As String = ("El primero es mayor que el segundo")
Dim textoPrimeroMenorSegundo As String = ("El segundo es mayor que el primero")

LabelComentario.text = IIf(ValueBoxNumeroUno.value = ValueBoxNumeroDos.value, textoIguales, IIf(ValueBoxNumeroUno.value > ValueBoxNumeroDos.value, textoPrimeroMayorSegundo, textoPrimeroMenorSegundo))

'esto es igual que escribir:
'if (ValueBoxNumeroUno.value = ValueBoxNumeroDos.value then
'    LabelComentario.text = textoIguales
' else
'    if (ValueBoxNumeroUno.value > ValueBoxNumeroDos.value then
'       LabelComentario.text = textoPrimeroMayorSegundo
'    else
'       LabelComentario.text = textoPrimeroMenorSegundo
'    endif
' endif
'


End


En este video podeis ver como funciona:



Código fuente: Alojado en google drive


Fuente:
http://gambaswiki.org/wiki/lang/iif?l=es
http://es.wikipedia.org/wiki/Operador_ternario


No hay comentarios:

Publicar un comentario