viernes, 9 de abril de 2010

IF......THEN.......ELSE

If condition [ Then ]

[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ]
Partes

condition

Obligatorio. Expresión. Se debe evaluar como True o False, o como un tipo de datos que es implícitamente convertible a Boolean.

Then

Obligatorio en la forma de una línea, opcional en la forma 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.

elseifcondition

Obligatorio si ElseIf está presente. Expresión. Se debe evaluar como True o False, o como un tipo de datos que es implícitamente convertible a Boolean.

elseifstatements

Opcional. Se ejecutan una o más instrucciones que siguen a ElseIf...Then que se ejecutan si elseifcondition se evalúa como True.

elsestatements

Opcional. Una o más instrucciones que se ejecutan si ninguna expresión condition o elseifcondition anterior se evalúa como True.

End If

Termina el bloque If...Then...Else.

Comentarios

Puede utilizar la forma de una sola línea para pruebas cortas y sencillas. Sin embargo, el formato de múltiples líneas proporciona más estructura y flexibilidad que el formato de una sola línea y, generalmente, es más fácil de leer, mantener y depurar.

Cuando se encuentra una estructura If...Then...Else, se comprueba la condition. Si condition es True, se ejecutan las instrucciones que están a continuación de Then. Si condition es False, se evalúan por orden cada una de las instrucciones ElseIf. Cuando se encuentra una elseifcondition que sea True, se ejecutan las instrucciones que siguen inmediatamente a la instrucción Then asociada. Si elseifcondition se evalúa como True, o si no hay ninguna instrucción ElseIf, se ejecutan las instrucciones situadas después de Else. Después de la ejecución de las instrucciones que siguen a Then, ElseIf o Else, la ejecución continúa con la instrucción que sigue a End If.

NoteSugerencia

La Instrucción Select...Case (Visual Basic) puede ser más útil al evaluar una única expresión que tiene varios valores posibles.

Con el formato de una sola línea, es posible ejecutar varias instrucciones como resultado de una decisión If...Then. Todas las instrucciones deben estar en la misma línea y separarse con dos puntos. En el siguiente ejemplo se muestra cómo.

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Con la forma de varias líneas, la instrucción If debe ser la única instrucción incluida en la primera línea. Las instrucciones ElseIf, Else y End If pueden ir precedidas solamente por una etiqueta de línea. El bloque If...Then...Else de varias líneas debe finalizar con una instrucción End If.

Para determinar si una instrucción If introduce o no un formato de varias líneas, examine lo que sigue a la palabra clave Then. Si aparece cualquier otra cosa que no sea un comentario después de Then en la misma instrucción, ésta se trata como una instrucción If de una sola línea. Si no está presente Then, debe ser el comienzo de una instrucción If...Then...Else de varias líneas.

Las cláusulas ElseIf y Else son opcionales. Puede tener tantas cláusulas ElseIf como desee en una instrucción If...Then...Else de varias líneas, pero no puede aparecer ninguna de ellas después de una cláusula Else. Los formatos de múltiples líneas pueden anidarse unos dentro de otros.

Ejemplo

En el ejemplo siguiente se muestran los formatos de varias líneas y de una sola línea de la instrucción If...Then...Else.

Dim number, digits As Integer

Dim myString As String
number = 53
If number Then
digits = 1
ElseIf number < style="color: Blue;">Then
digits = 2
Else
digits = 3
End If
If digits = 1 Then myString = "One" Else myString = "More than one"

En el ejemplo anterior, la condición ElseIf se evalúa como True y se asigna a digits un valor de 2. A continuación, la última instrucción le asigna un valor de "Más de una" a myString.


1 comentario:

  1. Is There a Bet Safe Bet Safe? [No Deposit Bonus] - Online
    The Bet Safe 문경 출장안마 bonus is often available to new customers 영주 출장마사지 who 김포 출장샵 register at a casino. While no-deposit 벳 365 bonus 안산 출장마사지 is available for new

    ResponderEliminar