4.2.2. Sentencia Select Case
Select Case
Visual Basic proporciona la estructura Select Case como alternativa a If...Then...Else para ejecutar selectivamente un bloque de sentencias entre varios bloques. La sentencia Select Case ofrece posibilidades similares a la instrucción If...Then...Else, pero hace que el código sea más legible cuando hay varias opciones.
La estructura Select Case funciona con una única expresión de prueba que se evalúa una vez solamente, al principio de la estructura. Visual Basic compara el resultado de esta expresión con los valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de sentencias asociado a ese Case:
Selec Case expresión_prueba
[Case lista_expresiones1
[bloque de sentencias 1]]
[Case lista_expresiones2
[bloque de sentencias 2]]
.
.
.
[Case Else
[bloque de sentencias n]]
End Select
Cada lista_expresiones es una lista de uno a más valores. Si hay más de un valor en una lista, se separan los valores con comas. Cada bloque de sentencias contiene cero o más instrucciones. Si más de un Case coincide con la expresión de prueba, sólo se ejecutará el bloque de instrucciones asociado con la primera coincidencia. Visual Basic ejecuta las instrucciones de la cláusula (opcional) Case Else si ningún valor de la lista de expresiones coincide con la expresión de prueba.
Por ejemplo, suponga que agrega otro comando al menú Edición en el ejemplo If...Then...Else. Podría agregar otra cláusula ElseIf o podría escribir la función con Select Case:
Private Sub mnuCut_Click (Index As Integer)
Select Case Index
Case 0 ‘ Comando Cortar
CopyActiveControl ‘ Llama a procedimientos generales
ClearActiveControl
Case 1 ‘ Comando copiar.
CopyActiveControl
Case 2 ‘ Comando borrar.
ClearActiveControl
Case 3 ‘ Comando Pegar.
PasteActiveControl
Case Else
frmFind.Show ‘ Muestra el cuadro de
‘ diálogo Buscar.
End Select
End Sub
Select Case TipoUsuario
Case “Supervisor”
‘ Proporciona al usuario privilegios de Supervisor
...
...
Case “Usuario”
‘ Proporciona al usuario privilegios de Usuario
...
...
Case Else
‘ Proporciona al usuario privilegio de invitado
...
...
End Select
Observe que la estructura Select Case evalúa una expresión cada vez que al principio de la estructura. Por el contrario, la estructura If...Then...Else puede evaluar una expresión diferente en cada sentencia ElseIf. Sólo puede sustituir una esructura If...Then...Else con una estructura Select Case si la intrucción If y cada instrucción ElseIf evalúa la misma expresión.
Otros Ejemplos:
If Ventas > 100000 Then
strDscto = Format (0.10, “Fixed”)
ElseIf Ventas > 50000 Then
strDscto = Format (0.05, “Fixed”)
Else
strDscto = Format (0.02, “Fixed”)
End If
Select Case Cantidad
Case 1
sngDscto = 0.0
Case 2, 3
sngDscto = 0.05
Case
sngDscto = 0.10
Case Else
sngDscto = 0.20
End Select
intRpta = MsgBox (“Guarda cambios antes de salir” , vbYesNo)
Select Case intRpta
Case vbYes
GuardarCambios
Unload Me
Case vbNo
Unload Me
End Select
0 Comments:
Post a Comment
<< Home