Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Programación en Visual Basic
Lección #2: Estructuras de Decisión Por Antonio F. Huertas
2
Contenido Enunciado If…Then Función MsgBox() y el enunciado If…Then
Función InputBox() y el enunciado If…Then Controles relacionados RadioButton, CheckBox, GroupBox Enunciado Select Case Validación de datos
3
Enunciado If…Then Permite que el programa decida cuál es la próxima instrucción que deberá ejecutarse basándose en el resultado de una condición. Formato If..Then para decisiones de una alternativa: If condición Then Enunciado(s) End If
4
Enunciado If…Then (cont.)
Formato If..Then para decisiones de dos alternativas: If condición Then Enunciado(s) Else End If
5
Enunciado If…Then (cont.)
Formato If..Then para decisiones de múltiples alternativas: If condición Then Enunciado(s) ElseIf condición Then ... Else End If
6
Enunciado If…Then (cont.)
If promedio >= 70 Then MsgBox("Aprobó.") Else MsgBox("Nos vemos " & _ "el año próximo.") End If If promedio >= 90 Then MsgBox("Es un durito.") If promedio >= 90 Then nota = "A" ElseIf promedio >= 80 Then nota = "B" ElseIf promedio >= 70 Then nota = "C" ElseIf promedio >= 60 Then nota = "D" Else nota = "F" End If MsgBox("Su nota es " & _ nota)
7
Función MsgBox() Como el enunciado MsgBox es usada para mostrar un mensaje en la pantalla en su propia ventana de diálogo (dialog box). Permite controlar cuáles botones se muestran y devuelve un código indicando el botón presionado. Formato: variable = MsgBox(mensaje, [botones + ícono], [título])
8
Función MsgBox() (cont.)
Los botones se indican usando una de las siguientes constantes: vbOKCancel o MsgBoxStyle.OKCancel vbAbortRetryIgnore o MsgBoxStyle.AbortRetryIgnore vbYesNoCancel o MsgBoxStyle.YesNoCancel vbYesNo o MsgBoxStyle.YesNo vbRetryCancel o MsgBoxStyle.RetryCancel Para indicar que el segundo o tercer botón son default, se usa: vbDefaultButton2 o MsgBoxStyle.DefaultButton2 vbDefaultButton3 o MsgBoxStyle.DefaultButton3
9
Función MsgBox() (cont.)
El valor que devuelve la función MsgBox() es un número entero representado por una de las siguientes constantes: vbOk vbCancel vbAbort vbRetry vbIgnore vbYes vbNo
10
Función MsgBox() (cont.)
Private Sub btnExit_Click(…) Handles btnExit.Click Dim response As Integer response = MsgBox("Do you really want to exit?", _ vbYesNo + vbCritical + vbDefaultButton2, _ "Exit?") If response = vbYes Then End End If End Sub
11
Función InputBox() Usada para obtener un dato del usuario en su propia ventana de diálogo (dialog box). La ventana permanecerá en pantalla hasta que el usuario presione Ok o Cancel. Formato: variableAlfanumérica = InputBox(mensaje, [título], [respuestaInicial]) variableNumérica = Val(InputBox(mensaje, [título], [respuestaInicial]))
12
Función InputBox() (cont.)
Private Sub Form1_Load(...) Handles MyBase.Load Dim userName As String userName = InputBox("Enter your name:", "Enter name") If userName = "" Then MsgBox("You entered nothing or pressed Cancel!", _ MsgBoxStyle.Exclamation, "Result") Else MsgBox("Hello, " & userName, _ MsgBoxStyle.Information, "Result") End If End Sub
13
Control Radio Button Un radio button es un control que permite que el usuario escoja una opción de una lista de opciones mutuamente excluyentes. El prefijo es “rad” o “rdb”. Propiedad importante: Checked – indica si el radio button ha sido seleccionado o no. Evento importante: CheckedChanged – se ejecuta cuando se da click sobre el radio button.
14
Control Radio Button (cont.)
15
Control Radio Button (cont.)
Private Sub btnVote_Click(…) Handles btnVote.Click If radBras.Checked = True Then txtResults.Text = "You voted for Lillian Bras." ElseIf radDiaz.Checked = True Then txtResults.Text = "You voted for Jose J. Diaz." ElseIf radHuertas.Checked = True Then txtResults.Text = "You voted for Antonio Huertas." Else txtResults.Text = "You voted for no one!" End If End Sub
16
Control Check Box Un check box es un control que permite que el usuario escoja una o varias opciones de una lista de opciones. El prefijo es “chk”. Propiedad importante: Checked – indica si el check box ha sido seleccionado o no. Evento importante: CheckedChanged – se ejecuta cuando se da click sobre el check box.
17
Control Check Box (cont.)
18
Control Check Box (cont.)
Private Sub btnCalculate_Click(…) Handles btnCalculate.Click Dim payment As Decimal If chkDrugs.Checked = True Then payment += 12.51 End If If chkDental.Checked = True Then payment += 9.68 If chkVision.Checked = True Then payment += 1.5 If chkMedical.Checked = True Then payment += 25.25 txtPayment.Text = Format(payment, "Currency") End Sub
19
Control Group Box El group box es un control pasivo que sirve para agrupar controles relacionados. Su prefijo es “grp”.
20
Enunciado Select Case Una alternativa a los Ifs anidados es el uso del enunciado Select Case. Formato: Select Case expresiónSelectora Case listaExpresiones Enunciado(s) ... Case Else End Select
21
Enunciado Select Case (cont.)
La expresiónSelectora puede ser cualquier expresión numérica o alfanumérica. Una listaExpresiones es una lista de expresiones separadas por coma. Estas expresiones pueden ser valores o grupos de valores. Los casos no pueden estar sobrepuestos.
22
Enunciado Select Case (cont.)
Dim rating As Integer Dim bonus As Single rating = Val(txtRating.Text) Select Case rating Case Is > 4 bonus = 0.150 Case 4, 3 bonus = 0.1 Case 2 bonus = 0.075 Case 1 bonus = 0.05 Case Else bonus = 0 End Select
23
Enunciado Select Case (cont.)
Dim age As Integer age = Val(txtAge.Text) Select Case age Case Is < 21 MsgBox("You are a minor.") Case 21 To 64 MsgBox("You are an adult.") Case Is > 64 MsgBox("You are a senior.") End Select
24
Validación de datos Existen dos formas principales para asegurarse de que un valor entrado es adecuado. Reacción: recoger el valor y usar el enunciado If..Then para revisarlo. Prevención: evitar que se pueda entrar un valor inadecuado. Esto es lo preferible.
25
Validación de datos (cont.)
Ejemplo de reacción (usando un text box): If txtSex.Text = "M" Then MsgBox("You are a man.") ElseIf txtSex.Text = "F" Then MsgBox("You are a woman.") Else MsgBox("Input Error.", vbExclamation) txtSex.Focus() End If Ejemplo de prevención (usando dos radio buttons): If radMasculine.Checked Then
26
Validación de datos (cont.)
Una función que ayuda a validar un valor numérico en un text box es IsNumeric(). If IsNumeric(txtAge.Text) = False Then MsgBox("Input Error.", vbExclamation) txtAge.Focus() Else age = Val(txtAge.Text) If age < 0 Or age > 120 Then ... End If
27
Validación de datos (cont.)
Otra forma de validar es previniendo que se entre un caracter inadecuado en el text box mediante el evento KeyPress. Este evento ocurre después de presionar una tecla pero antes de mostrar el caracter en pantalla. En este evento, el parámetro ‘e’ contiene dos propiedades importantes: KeyChar – contiene el código Ascii del caracter presionado Handled – True para ignorar el caracter presionado
28
Validación de datos (cont.)
' Form-level constants Private Const SPACE As Char = Chr(32) Private Const BACKSPACE As Char = Chr(8)
29
Validación de datos (cont.)
Private Sub txtName_KeyPress(…) Handles txtName.KeyPress Select Case e.KeyChar Case "A" To "Z", "a" To "z" ' Letter - do nothing Case SPACE, BACKSPACE ' Space or backspace - do nothing Case Else Beep() e.Handled = True End Select End Sub
30
Validación de datos (cont.)
Private Sub txtAge_KeyPress(…) Handles txtAge.KeyPress Select Case e.KeyChar Case "0" To "9" ' Digit - do nothing Case BACKSPACE ' Backspace - do nothing Case Else Beep() e.Handled = True End Select End Sub
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.