La instrucción If...Then ejecuta bloques de código cuando se cumplen ciertas condiciones. Puede incluir instrucciones ElseIf para comprobar condiciones adicionales si la primera es falsa, y Else para ejecutar código si todas las condiciones anteriores son falsas. Se pueden anidar múltiples instrucciones If...Then para controlar el flujo de un programa.
2. parametros
La instrucción If...Then ejecuta bloques de programa cuando se dan ciertas
condiciones. Cuando LibreOffice Basic encuentra una instrucción If, la condición se
comprueba. Si es True, se ejecutan todas las instrucciones posteriores hasta que
se encuentre una instrucción Else o ElseIf. Si la condición es False y a continuación
hay una instrucción ElseIf, LibreOffice Basic comprueba la condición siguiente y
ejecuta las instrucciones siguientes si la condición es True. Si es False el programa
continúa con la siguiente instrucción ElseIf o Else. Las instrucciones que siguen a
Else sólo se ejecutan si ninguna de las condiciones comprobadas anteriormente
era cierta. Cuando se han evaluado todas las condiciones y se han ejecutado las
instrucciones correspondientes, el programa continúa con la instrucción que sigue
a EndIf.
Es posible anidar varias instrucciones If...Then.
Las instrucciones Else y ElseIf son opcionales.
3. ejemplo
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sFecha = InputBox("Escriba la fecha de caducidad (MM.DD.AAAA)")
sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
sToday = Date$
sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
If sDate < sToday Then
MsgBox "La fecha de caducidad ya ha pasado"
ElseIf sDate > sToday Then
MsgBox "La fecha de caducidad no ha pasado aún"
ElseMsgBox "La fecha de caducidad es hoy"
End If
End Sub
4. Para que sirve
Puede utilizar el Si... Entonces... Else instrucción para ejecutar una instrucción
de específica o un bloque de instrucciones dependiendo del valor de una
condición. Si... Entonces... Else instrucciones pueden anidarse en tantos niveles
como sea necesario. Sin embargo, para mejorar la legibilidad, es aconsejable
utilizar una instrucción Select Case en lugar de varios niveles de anidadas si...
Entonces... Else instrucciones.
5. Ejecución de instrucciones si una
condición es verdadera
Para ejecutar sólo una instrucción cuando una condición es True, utilice la
sintaxis de línea de la Si... Entonces... Else instrucción. En el ejemplo siguiente
se muestra la sintaxis de una línea, omitiendo lapalabra clavepalabra Else:
Sub FixDate()
myDate = #2/13/95#
If myDate < Now Then myDate = Now
End Sub
6. La ejecución de determinadas instrucciones si una
condición es True y la ejecución de otras si es False
Utilice un Si... Entonces... Else instrucción para definir dos bloques de instrucciones
ejecutables: un bloque se ejecuta si la condición es verdadera, se ejecuta el otro bloque si la
condición es falsa.
Sub AlertUser(value as Long)
If value = 0 Then
AlertLabel.ForeColor = vbRed
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
Else
AlertLabel.Forecolor = vbBlack
AlertLabel.Font.Bold = False
AlertLabel.Font.Italic = False
End If
7. Prueba de una segunda condición si la
primera condición es falsa
Puede agregar instrucciones ElseIf a una Si... Entonces... Else instrucción para
probar una segunda condición si la primera condición es False. Por ejemplo,
el siguiente procedimiento function calcula una bonificación basada en la
clasificación de la tarea. La instrucción que sigue a la instrucción Else se
ejecuta si las condiciones de todas las instrucciones If y ElseIf son False.
8. elementos
condition
Requerido. Expresión. Debe evaluarse en True o False, o en un tipo de datos
que sea implícitamente convertible a Boolean.
Si la expresión es una variable Valores NULLBoolean que evalúa Nada, se trata
la condición como si la expresión no es True, y ejecuta el bloque Else
Then
Obligatorio en la sintaxis de una línea, opcional en la sintaxis de varias líneas.
statements
Opcional. Se ejecutan una o más instrucciones que siguen a If...Then que se
ejecutan si condition se evalúa como True.
9. Ejemplo 1
En el ejemplo siguiente se muestra el uso de la sintaxis de varias líneas de la
instrucción If...Then...Else.
Dim count As Integer = 0
Dim message As String
If count = 0 Then
message = "There are no items."
ElseIf count = 1 Then
message = "There is 1 item."
Else
message = "There are " & count & " items."
End If
10. Conclusión
La sentencia if-then es la más básica de las sentencias de control de flujo. Le
indica al programa que ejecute cierta parte del código solamente si una
condición evalúa a true. Por ejemplo, la clase Bicycle podria permitir que los
frenos redujesen la velocidad de la bicicleta solamente si la bicicleta ya
estuviera en movimiento. Una posible implementación del método
aplicarFrenos podría ser así
La sentencia if-then-else proporciona una ruta de ejecución secundaria
cuando una cláusula «if» evalúa a false. Podría utilizar la sentencia if-then-else
en el método aplicarFrenos para realizar una acción si se aplican los frenos
cuando la bicicleta no se está moviendo. En esta caso la acción simplemente
muestra un mensaje de error indicando que la bilicleta ya está detenida