Está en la página 1de 39

INTRODUCCION A VISUAL BASIC NET ELEMENTOS PRINCIPALES 1.

Explorador de soluciones: men ver > explorador de soluciones

2. Ventana de propiedades: men ver > ventana de propiedades

3. Cuadro de herramientas: Men > Cuadro de herramientas

4. Formulario: Elemento principal para desarrollar nuestras aplicaciones

PREFIJOS PARA LOS NOMBRES DE CONTROLES Se toma en cuenta los 3 primeras consonantes del nombre del control Nombre de control Prefijo Controles comunes Label Lbl. TextBox Txt Button Btn ListBox Lst. ComboBox Cmb CheckBox Chk. RadioButton Rdb.

Contenedores GroupBox ACCIONES IMPORTANTES: Ejecutar una aplicacin: Presionar F5 Agregar un nuevo formulario al proyecto: Ir al explorador de soluciones y le damos clic derecho en el nombre de nuestro proyecto. Grb.

Ejecutar un formulario inicial: Ir a las propiedades del proyecto

CONTROLES BSICOS LABEL: Permite mostrar mensajes en un formulario, sus propiedades principales son: 1. 2. 3. 4. 5. Text: permite ingresar texto Font: aplicar negrita, cursiva, tipo de letra, etc. (Name): permite darle un nombre al control. Anchor: permite aplicar alineacin al texto Forecolor: permite aplicar color al texto

TEXTBOX: Me permite ingresar informacin, sus propiedades principales son: 1. (Name): permite darle un nombre al control 2. Text: permite mostrar un valor por defecto 3. TextAlign: permite alinear la informacin de la caja BUTTON: Permite ejecutar instrucciones que realizan una o ms tareas, sus propiedades principales son: 1. 2. 3. 4. 5. Text: permite mostrar un mensaje en el control (Name): permite asignarle un nombre al control Forecolor: Color del texto BackColor: Color de fondo Font: formato como negrita, cursiva, tipo de letra, tamao de letra, etc.

EJEMPLO:

Private Sub btnSuma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSuma.Click Txtrespuesta.Text = Val(txtnumero1.Text) + Val(txtnumero2.Text) End Sub

ESTRUCTURA DE DECISION IF Esta estructura sirve para tomar decisiones. Sintaxis: IF condicin THEN <Sentencias> [ELSE <Sentencias> END IF]

Ejemplo1: Indicar si un numero es positivo o negativo

Private Sub BtnMostrar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMostrar.Click If Val(txtnumero.Text) > 0 Then lblRespuesta.Text = "Positivo" Else lblRespuesta.Text = "Negativo" End If End Sub EJEMPLO 2: Indicar si un numero es positivo, negativo neutro

Private Sub BtnMostrar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMostrar.Click If Val(txtnumero.Text) > 0 Then lblRespuesta.Text = "Positivo" End If If Val(txtnumero.Text) = 0 Then lblRespuesta.Text = "Neutro" End If If Val(txtnumero.Text) < 0 Then lblRespuesta.Text = "Negativo" End If End Sub

EJEMPLO 3: Indicar si un numero es par o impar

Private Sub BtnMostrar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMostrar.Click If Val(txtnumero.Text) Mod 2 = 0 Then lblRespuesta.Text = "Par" Else lblRespuesta.Text = "Impar" End If End Sub

OPERADORES

+ * / ^ %

Operadores Matemticos suma Resta Multiplicacin Divisin Potencia Resto modulo

< <= > >= = and or

Operadores relacionales Menor Menor o igual Mayor Mayor o igual Diferente Y O

TIPOS DE DATOS

TIPO Byte Boolean Integer Long Single Double String Date

DESCRIPCION 1 byte Lgico (2 bytes) Entero (2 bytes) Entero largo (4 bytes) Real simple (4 bytes) Real doble (8 bytes) Cadena de caracteres (4 bytes) 8 bytes

RANGO 0 a 255 True o False -32768 a 32767 -2147483648 a -21474836487 -3.40E+38 a 3.40E+38 -1.79E+308 a 1.79E+308 0 a 65500 caracteres 01/01/100 a 31/12/9999

ESTRUCTURA FOR.NEXT La estructura for, permite ejecutar reiteradas veces un conjunto de lneas de cdigo. Sintaxis: For Contador [As tipoDato]=Inicio to Fin [step incremento] [Instrucciones] [exit for] [Instrucciones] Next [contador] EJEMPLO 1: Mostrar por pantalla los nmeros del 1 al 5

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim inicio As Integer For inicio = 1 To 5 Step 1 MsgBox(inicio) Next End Sub EJEMPLO 2: Sumar los numeros del 1 al 5

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim inicio, suma As Integer suma=0 For inicio = 1 To 5 suma = suma + inicio Next MsgBox(suma) End Sub EJEMPLO 3: Sumar los numeros impares del 1 al 10

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim inicio, suma As Integer suma=0 For inicio = 1 To 10 Step 2 suma = suma + inicio Next MsgBox(suma) End Sub

EJEMPLO 4: Ingresar 5 nmeros y sumarlos

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim inicio, numero, suma As Integer suma=0 For inicio = 1 To 5 Step 1 numero = InputBox("Ingrese numero: ") suma = suma + numero Next MsgBox(suma) End Sub EJEMPLO 5: Ingresar 7 nmeros y multiplicarlos

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim inicio, numero, producto As Integer producto=1 For inicio = 1 To 7 Step 1 numero = InputBox("Ingrese numero: ") producto = producto * numero Next MsgBox(producto) End Sub

EJERCICIOS DEL FOR 1. 2. 3. 4. Mostrar los nmeros pares entre 7 y 19 Mostrar los siguientes nmeros: 5, 10, 15, 20, 25 y 30 Mostrar los nmeros impares entre 8 y 17 Mostrar el mensaje Hola Mundo 4 veces

INSTRUCCIN FOR EACH NEXT Repite un grupo de instrucciones para cada elemento de una coleccin. Sintaxis: For Each elemento [As tipoDato] In coleccin [instrucciones] [exit For] [instrucciones] Next [elemento] EJEMPLO 1: Mostrar los valores que contiene cada caja de texto.

Private Sub BtnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMostrar.Click Dim c As New Collection Dim objeto As TextBox c.Add(TextBox1) c.Add(TextBox2) c.Add(TextBox3) For Each objeto In c MessageBox.Show(objeto.Text) Next End Sub

CONTROL LISTBOXBOX El control ListBox, me permite seleccionar un elemento de una lista. Las propiedades principales son: 1. Items: Permite insertar valores a la lista A un control ListBox, se puede insertar informacin de 2 maneras. a) Usando la ventana de propiedades

b) A travs de cdigo

Private Sub btnPoblar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPoblar.Click lstLista.Items.Add("Abril") lstLista.Items.Add("Julieta") lstLista.Items.Add("Yeimi") lstLista.Items.Add("Dayana") End Sub 2. Sorted: Permite ordenar los valores de la lista, si tiene el valor de TRUE, los elementos se ordenan en forma ascendente. 3. SelectedIndex: Devuelve la posicin de un elemento en la lista (0-primer elemento, 1-segundo elemento, 2-tercer elemento, etc.). Si tu lista se llama LstNumeros, entonces el uso seria: LstNumeros.SelectedIndex. 4. Items: Permite mostrar una valor de la lista, indicando la posicin de dicho elemento de la lista. LstPrimero.Items(1), aqu te mostrara el segundo elemento de la lista. Si queremos mostrar el elemento de un elemento seleccionado de la lista, ejecutamos el siguiente cdigo: lstprimero.Items (lstPrimero.SelectedIndex). 5. Clear: permite borrar el contenido de una lista. lstPrimero.Items.Clear() 6. RemoveAt: Permite eliminar un elemento de la lista, especificando su posicin. Por ejemplo: LstPrimero.Items.RemoveAt(3), aqu se est eliminado el cuarto elemento de la lista. 7. Count: permite contar la cantidad de elementos de una lista, por ejemplo: LstPrimero.Items.Count().

10

EJERCICIO USANDO EL LISTBOX

BOTN Private Sub btnUnoDerecha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnoDerecha.Click Dim posicion As Integer posicion = lstPrimero.SelectedIndex If posicion >= 0 Then lstSegundo.Items.Add(lstPrimero.Items(posicion)) lstPrimero.Items.RemoveAt(posicion) Else MsgBox("Seleccione un nombre") End If End Sub BOTN Private Sub btnTodosDerecha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTodosDerecha.Click Dim cantidad, pos As Byte cantidad = lstPrimero.Items.Count() For pos = 0 To cantidad - 1 lstSegundo.Items.Add(lstPrimero.Items(pos)) Next lstPrimero.Items.Clear() End Sub BOTN Private Sub btnUnoIzquierda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnoIzquierda.Click Dim posicion As Integer posicion = lstSegundo.SelectedIndex If posicion >= 0 Then lstPrimero.Items.Add(lstSegundo.Items(posicion)) lstSegundo.Items.RemoveAt(posicion) Else MsgBox("Seleccione un nombre") End If End Sub

11

BOTN Private Sub btnTodosIzquierda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTodosIzquierda.Click Dim cantidad, pos As Byte cantidad = lstSegundo.Items.Count() For pos = 0 To cantidad - 1 lstPrimero.Items.Add(lstSegundo.Items(pos)) Next lstSegundo.Items.Clear() End Sub

CONTROL COMBOBOX, CHECKBOX Y RADIOBUTTON 1. CONTROL COMBOBOX: El control ComboBox, tiene el mismo funcionamiento y propiedades del control ListBox.

2. CONTROL CHECKBOX: Este control muestra una casilla de verificacin, que podemos marcar para establecer un estado. Su principal propiedad es: Checked: Devuelve el valor de true, si la casilla est marcada caso contrario devuelve false.

3. CONTROL RADIOBUTTON: Este control nos permite definir un conjunto de opciones autoexcluyentes, es decir que de un conjunto de opciones, solo se puede seleccionar uno de ellos. Su principal propiedad es: Checked: Devuelve el valor de true, si la opcin est marcada caso contrario devuelve false.

EJERCICIO PROPUESTO

Las carreras disponibles con sus montos son: Sistemas 500 Contabilidad 450 Administracin 400 Hotelera 300

12

Existe un adicional en la matricula, dependiendo del turno: Maana 100 Tarde 80 Noche 50 El precio de los servicios son: Cafetera 50 Internet 20 Biblioteca 15 Calcular el monto total a pagar?

PRIMER EXAMEN DE VISUAL BASIC NET (Parte I) PREGUNTA N 1 A continuacin, dibuje el siguiente formulario

Sujeto a las siguientes condiciones: 1. Las especialidades son: Sistemas, Contabilidad y Diseo. 2. Los cursos disponibles son: Especialidad Sistemas Curso Base de datos Redes

13

Contabilidad

Diseo

Anlisis Programacin Tributacin I Tributacin II Cisco Corel Draw Flash PhotoShop PageMarker

3. El botn nuevo curso me permite ingresar nuevos cursos a una de las especialidades 4. El precio de los cursos son: Precio de un curso de sistemas es de S/. 50, el precio de un curso de contabilidad es de S/. 40 y el precio de un curso de diseo es de S/. 45. 5. Si el turno es de maana la matricula es de S/. 100 y si es de tarde la matricula es de S/. 90. 6. Por ltimo calcular el total PREGUNTA N 2:

El control combo debe contener la siguiente informacin: 1 2 3 4 5 Ms de 5 De acuerdo a la categora el trabajador tiene un bono: Categora A 100 soles Categora B 80 soles Categora C 50 soles De acuerdo a la cantidad de hijos, tiene la siguiente asignacin familiar: Entre 1 y 3 hijos una asignacin de 50 soles Entre 4 y 5 hijos una asignacin de 100 soles Caso contrario 200 soles De acuerdo al puesto su sueldo base es: Operador 2000 soles Administrador 3000 soles Analista 2500 soles Contador 2300 soles Abogado 2500 soles Calcular el sueldo neto a pagarle al trabajador?

14

SOLUCION PARTE I PREGUNTA N 1 Private Sub cmbEspecilidad_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbEspecilidad.SelectedIndexChanged If cmbEspecilidad.SelectedIndex = 0 Then lstLista1.Items.Add("Base de Datos") lstLista1.Items.Add("Redes") lstLista1.Items.Add("Analisis") lstLista1.Items.Add("Programacion") End If Dim Sistemas As Integer Sistemas = lstLista1.SelectedIndex If Sistemas >= 0 Then lstLista1.Items.RemoveAt(Sistemas) End If If cmbEspecilidad.SelectedIndex = 1 Then lstLista1.Items.Add("Tributacion I") lstLista1.Items.Add("Tributacion II") lstLista1.Items.Add("Cisco") End If If cmbEspecilidad.SelectedIndex = 2 Then lstLista1.Items.Add("Corel Draw") lstLista1.Items.Add("Flash") lstLista1.Items.Add("Photoshop") lstLista1.Items.Add("PageMarker") End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnNuevoCurso_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevoCurso.Click lstLista1.Items.Add(InputBox("Ingrese Curso")) End Sub Private Sub txtPagos_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPagos.TextChanged Dim CostoCurso As Integer If lstLista2.SelectedIndex = 0 Then lstLista2.SelectedIndex = 50 End If txtPagos.Text = CostoCurso End Sub ------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnUnoDerecha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnoDerecha.Click Dim Posicion As Integer Posicion = lstLista1.SelectedIndex If Posicion >= 0 Then lstLista2.Items.Add(lstLista1.Items(Posicion)) lstLista1.Items.RemoveAt(Posicion) Else MessageBox.Show("Seleccione un Curso") End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnTodosDerecha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTodosDerecha.Click Dim Cantidad, Posicion As Byte Cantidad = lstLista1.Items.Count() For Posicion = 0 To Cantidad - 1 lstLista2.Items.Add(lstLista1.Items(Posicion))

15

Next lstLista1.Items.Clear() End Sub ------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnUnoIzquierda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnoIzquierda.Click Dim Posicion As Integer Posicion = lstLista2.SelectedIndex If Posicion >= 0 Then lstLista1.Items.Add(lstLista2.Items(Posicion)) lstLista2.Items.RemoveAt(Posicion) Else MessageBox.Show("Seleccione un Curso") End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnTodosIzquierda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTodosIzquierda.Click Dim Cantidad, Posicion As Byte Cantidad = lstLista2.Items.Count() For Posicion = 0 To Cantidad - 1 lstLista1.Items.Add(lstLista2.Items(Posicion)) Next lstLista2.Items.Clear() End Sub ------------------------------------------------------------------------------------------------------------------------------------------Private Sub rdbMaana_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbMaana.CheckedChanged Dim MontoTurno As Integer If rdbMaana.Checked = True Then MontoTurno = 100 End If If rdbTarde.Checked = True Then MontoTurno = 90 End If txtTotal.Text = MontoTurno End Sub

PREGUNTA N 2 Private Sub btnSueldoNeto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSueldoNeto.Click Dim MontoCategoria As Integer Dim Sueldobase As Integer Dim SueldoHijos As Integer If rdbA.Checked = True Then MontoCategoria = 100 End If If rdbB.Checked = True Then MontoCategoria = 80 End If If rdbC.Checked = True Then MontoCategoria = 50 End If If cmbHijos.SelectedIndex <= 2 Then SueldoHijos = 50 End If If cmbHijos.SelectedIndex = 3 And 4 Then SueldoHijos = 100

16

End If If cmbHijos.SelectedIndex >= 5 Then SueldoHijos = 200 End If If lstCargo.SelectedIndex = 0 Then Sueldobase = 2000 End If If lstCargo.SelectedIndex = 1 Then Sueldobase = 3000 End If If lstCargo.SelectedIndex = 2 Then Sueldobase = 2500 End If If lstCargo.SelectedIndex = 3 Then Sueldobase = 2300 End If If lstCargo.SelectedIndex = 4 Then Sueldobase = 2500 End If lblRespuesta.Text = MontoCategoria + Sueldobase + SueldoHijos End Sub

(Parte II) Dibujar el siguiente Formulario:

Calcular el total a pagar, sujeto bajo las siguientes condiciones 1. En la tienda solo existen 3 productos a vender y son:

17

Producto Televisor Microondas Cmara digital

Precio/unidad 500 200 300

2. En cada uno de los controles ComboBox, se debe mostrar los siguientes elementos: Ninguno Televisor Microondas Cmara digital

3. Si la venta es al crdito, hay un cobro adicional del 5% del total 4. Si el cliente desea factura se le cobrara el impuesto al IGV (19%) SOLUCION PARTE II Private Sub btnTotal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTotal.Click Dim Pago1 As Integer Dim Pago2 As Integer Dim Pago3 As Integer Dim Pago4 As Integer Dim Pago5 As Integer Dim Pago6 As Integer Dim Pago7 As Integer If cmbProducto1.SelectedIndex = 0 Then Pago1 = 0 * Val(txtCantidad1.Text) End If If cmbProducto1.SelectedIndex = 1 Then Pago1 = 500 * Val(txtCantidad1.Text) End If If cmbProducto1.SelectedIndex = 2 Then Pago1 = 200 * Val(txtCantidad1.Text) End If If cmbProducto1.SelectedIndex = 3 Then Pago1 = 300 * Val(txtCantidad1.Text) End If If cmbProducto2.SelectedIndex = 0 Then Pago2 = 0 * Val(txtCantidad2.Text) End If If cmbProducto2.SelectedIndex = 1 Then Pago2 = 500 * Val(txtCantidad2.Text) End If If cmbProducto2.SelectedIndex = 2 Then Pago2 = 200 * Val(txtCantidad2.Text) End If If cmbProducto2.SelectedIndex = 3 Then Pago2 = 300 * Val(txtCantidad2.Text) End If If cmbProducto3.SelectedIndex = 0 Then Pago3 = 0 * Val(txtCantidad3.Text) End If If cmbProducto3.SelectedIndex = 1 Then Pago3 = 500 * Val(txtCantidad3.Text) End If If cmbProducto3.SelectedIndex = 2 Then Pago3 = 200 * Val(txtCantidad3.Text) End If

18

If cmbProducto3.SelectedIndex = 3 Then Pago3 = 300 * Val(txtCantidad3.Text) End If If rdbContado.Checked = True Then Pago4 = 0 End If If rdbCredito.Checked = True Then Pago4 = 0.05 * (Pago1 + Pago2 + Pago3) End If If rdbSinFactura.Checked = True Then Pago5 = 0 End If If rdbConFactura.Checked = True Then Pago5 = 0.19 * (Pago1 + Pago2 + Pago3 + Pago4) End If lblTotal.Text = Pago1 + Pago2 + Pago3 + Pago4 + Pago5 End Sub

CONTROL MENUSTRIP

Este control, me permite desarrollar mens en forma de lista. EJEMPLO: Disear el siguiente formulario

Para cada opcin del men, se puede aplicar las siguientes propiedades:

19

Text Checked, sirve para activar una opcin con una aspa Enabled, sirve para activar o desactivar una opcin, opacando el color ShortCutKeys, permite ingresar un acceso directo (teclas)

Al darle un clic en la opcin suma, debe llamar a un formulario llamado form1 Private Sub SumaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SumaToolStripMenuItem.Click Form1.Show() End Sub

MANEJO DE EVENTOS 1. EVENTO CLICK: Este evento se ejecuta cuando le damos un clic encima de un control. Este evento generalmente est ligado al control Button. Por ejemplo:

Private Sub btnSumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSumar.Click lblsuma.Text = Val(txtnumero1.Text) + Val(txtnumero2.Text) End Sub 2. EVENTO KEYPRESS: Este evento se ejecuta cuando presionamos una tecla especfica, como puede ser la tecla ENTER, ESCAPE, UNA LETRA, etc. Este evento generalmente est ligado al control TextBox. Por ejemplo:

Private Sub txtnumero2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnumero2.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then lblrespuesta.Text = Val(txtnumero1.Text) + Val(txtnumero2.Text) End If End Sub

20

3. EVENTO CHANGE: Este evento se ejecuta cuando hacemos algn cambio en un control, como seleccionar un elemento, ingresar un dato, etc. Este evento generalmente est ligado al control TextBox y al control ComboBox. Por ejemplo:

Private Sub txtnumero2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtnumero2.TextChanged lblsuma.Text = Val(txtnumero1.Text) + Val(txtnumero2.Text) End Sub 4. EVENTO LOAD: Este evento se ejecuta cuando un formulario empieza a cargarse en memoria.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Bienvenido a Visual Basic") End Sub

EJERCICIOS DE EVENTOS Dibujar el siguiente formulario

21

Luego sujetarse a las siguientes condiciones: 1. 2. 3. 4. 5. Cuando se ejecute el formulario se muestre el mensaje Bienvenido - Da de Pago Cuando presiones enter en la caja TxtHExtras se mostrara en la etiqueta el sueldo del trabajador. La hora trabajada vale: 20 soles La hora extra vale: 30 soles Cada vez que ingreso un dato en cada caja, debes presionar enter para que el cursor salte a la siguiente caja.

SOLUCION: Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("BIENVENIDO - DIA DE PAGO") End Sub Private Sub txtHorasExtras_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEvent Args) Handles txtHorasExtras.KeyPress Dim PagoTrabajadas As Integer Dim PagoExtras As Integer If e.KeyChar = ChrW(Keys.Enter) Then If e.KeyChar = ChrW(Keys.Enter) Then lblTotal.Focus() End If If txtHorasTrabajadas.Text > 0 Then PagoTrabajadas = Val(txtHorasTrabajadas.Text) * 20 End If If txtHorasExtras.Text > 0 Then PagoExtras = Val(txtHorasExtras.Text) * 30 End If lblTotal.Text = PagoTrabajadas + PagoExtras End If End Sub Private Sub txtHorasTrabajadas_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPress EventArgs) Handles txtHorasTrabajadas.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then txtHorasExtras.Focus() End If End Sub Private Sub txtNombre_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNombre.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then txtApellido.Focus() End If End Sub Private Sub txtApellido_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtApellido.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then txtHorasTrabajadas.Focus() End If End Sub

ARREGLOS UNIDIMENSIONALES Los arreglos son estructuras que me permiten almacenar un conjunto de informacin del mismo tipo, es decir de tipo: nmeros, cadenas de texto, fechas valores lgicos. 1. SINTAXIS: Dim <nombre_del_arreglo(tamao del arreglo)> as <tipo de dato>

22

Ejemplo: Crear un arreglo llamado ArregloEdades, para almacenar la edad de 5 personas. Dim ArregloEdades(5) as byte

Posicin

2. ESCRIBIR EN UN ARREGLO: Esta operacin me permite escribir o ingresar informacin a un cuadrante del arreglo. Ejemplo: Escribir la edad de 12 al primer cuadrante ArregloEdades(0) = 12 Y as sucesivamente puedo seguir escribiendo en el arreglo ArregloEdades(1) = 18 ArregloEdades(2) = 32 ArregloEdades(3) = 25 ArregloEdades(4) = 20 Una vez ejecutado todo el cdigo anterior tenemos la siguiente figura: 12 0 18 1 2 32 3 25 4 20

Posicin

3. LEER UN ARREGLO: Esta operacin me permite leer o mostrar por pantalla lo que contiene un cuadrante del arreglo. Ejemplo: Leer la informacin que se encuentra en el primer y ltimo cuadrante del arreglo llamado: ArregloEdades. MsgBox(ArregloEdades(0)) MsgBox(ArregloEdades(4)) EJEMPLO N 1.- Crear un arreglo llamado ArregloEdades, para almacenar la edad de 4 personas.

Public Class Form1 Dim ArregloEdades(4) As Integer -------------------------------------------------------------------------------------------------------------------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEscribir.Click 'Escribir ArregloEdades(0) = 12 ArregloEdades(1) = 15 ArregloEdades(2) = 20 ArregloEdades(3) = 15 End Sub -------------------------------------------------------------------------------------------------------------------------------------------Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeer.Click MessageBox.Show(ArregloEdades(0)) MessageBox.Show(ArregloEdades(3)) End Sub End Class

23

EJERCICIOS PROPUESTOS 1. Crear un programa donde ingrese 6 nmeros a un arreglo y muestre la suma de dichos nmeros 2. Crear un programa donde ingrese 8 nmeros a un arreglo y muestre la cantidad de nmeros pares 3. Crear un programa donde ingrese 6 nmeros a un arreglo y muestre la posicin de los nmeros impares. SOLUCION 1.-

Public Class Form2 Dim ArregloNumeros(6) As Integer ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btbEscribir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btbEscribir.Click For Pos = 0 To 5 ArregloNumeros(Pos) = InputBox("Ingrese Numero") Next End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnSumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSumar.Click Dim Suma As Integer Suma = 0 For Pos = 0 To 5 Suma = Suma + ArregloNumeros(Pos) Next lblRespuesta.Text = Suma End Sub End Class SOLUCION 2.-

Public Class Form3 Dim ArregloNumeros(8) As Integer ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCantidad.Click Dim Cuenta As Integer 24

For Pos = 0 To 7 If Val(ArregloNumeros(Pos)) Mod 2 = 0 Then Cuenta = Cuenta + 1 End If Next lblRespuesta.Text = Cuenta End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnEscribir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEscribir.Click For Pos = 0 To 7 ArregloNumeros(Pos) = InputBox("Ingrese Numero") Next End Sub End Class SOLUCION 3.-

Public Class Form4 Dim ArregloNumeros(6) As Integer ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnEscribir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEscribir.Click For Pos = 0 To 5 ArregloNumeros(Pos) = InputBox("Ingrese Numero") Next End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnPosicion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPosicion.Click For Pos = 0 To 5 If Val(ArregloNumeros(Pos)) Mod 2 = 0 Then Else MsgBox(Pos) End If Next End Sub End Class

VALIDACIN DE DATOS La validacin de datos, me permite controlar el ingreso de informacin a nuestros programas, como por ejemplo: Ingresar solo nmeros Ingresar nmeros que se encuentra en un rango Ingresar solo letras Ingresar solo fechas Ingresar un nmero o texto

1. VALIDAR SOLO EL INGRESO DE LETRAS: Para controlar el ingreso de texto a un control, como el textbox, utilizaremos la funcin llamada: IsLetter()

25

2. VALIDAR SOLO EL INGRESO DE NUMEROS: Para controlar el ingreso de nmeros a un control como el TextBox, utilizaremos la funcin llamada: IsNumeric() Ejemplo N 1: Dibujar el siguiente formulario

Resolver el formulario anterior bajo las siguientes condiciones: En sexo solo puede ir F (femenino) M (masculino) En la edad solo se puede ingresar nmeros Al hacer click en el botn imprimir en el control lista, se imprimir un resumen de los datos de dicho trabajador. Private Sub txtnombres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnombres.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then txtsexo.Focus() End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub txtsexo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtsexo.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then If Trim(txtsexo.Text) = "F" Or Trim(txtsexo.Text) = "f" Or Trim(txtsexo.Text) = "M" Or Trim(txtsexo.Text) = "m Then txtedad.Focus() Else MsgBox("Solo puede ingresar F M") txtsexo.Focus() End If Else txtsexo.Focus() End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub txtedad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtedad.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then If IsNumeric(txtedad.Text) Then txtsueldo.Focus() Else MsgBox("Debe ingresar un numero") txtedad.Focus() End If End If End Sub

26

Ejemplo N 2: Dibujar el siguiente formulario

Sujeto a las siguientes condiciones: Despus de ingresar sus nombres el cursor debe saltar a la caja del DNI El DNI debe estar formado por 8 dgitos y deben ser nmeros, si esto es correcto el cursor debe saltar a la caja sueldo. Solo se debe poder ingresar un sueldo en el rango del 1000 al 5000. Si el sueldo es correcto, en la etiqueta label se debe mostrar el mensaje: DATOS CORRECTOS. SOLUCION: Public Class Form2 Private Sub txtNombres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEvent Args) Handles txtNombres.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then txtDNI.Focus() End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub txtDNI_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDNI.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then If IsNumeric(txtDNI.Text) And Len(txtDNI.Text) = 8 Then txtSueldo.Focus() Else MessageBox.Show("Ingrese DNI con 8 digitos") txtDNI.Focus() End If End If End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub txtSueldo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSueldo.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then If txtSueldo.Text > 1000 And txtSueldo.Text <= 5000 Then lblRespuesta.Text = "DATOS CORRECTOS" Else MessageBox.Show("Ingresar Sueldo entre 1000 y 5000") txtSueldo.Focus() End If End If End Sub End Class

27

FUNCIONES DEL SISTEMA EN VISUAL BASIC Las funciones en Visual Basic estn clasificadas segn el tipo de informacin que se maneje: 1. FUNCIONES DE CADENA 1) Right: Obtiene de una cadena una cantidad de caracteres empezando por la derecha Sintaxis: right(cadena, cant_caracteres) Ejemplo: Microsoft.VisualBasic. Right(Visual Basic,4) resp: asic 2) Left: Obtiene de una cadena una cantidad de caracteres empezando por la izquierda Sintaxis: left(cadena, cant_caracteres) Ejemplo: Microsoft.VisualBasic.Left(Visual Basic,4) resp: visu 3) Mid: Obtiene de una cadena una cantidad de caracteres a partir de una determinada posicin. Sintaxis: mid(cadena, posicin, cant_caracteres) Ejemplo: mid(Visual Basic,2,4) resp: isua 4) Len: Obtiene la longitud de una cadena de texto, es decir la cantidad de caracteres que contiene la cadena incluyendo los espacios. Sintaxis: len(cadena) Ejemplo: len(Visual Basic) resp: 12 5) Ucase: Convierte una cadena a mayscula Sintaxis: Ucase(cadena) Ejemplo: Ucase(visual basic) resp: VISUAL BASIC 6) Lcase: Convierte una cadena a minsculas Sintaxis: Lcase(cadena) Ejemplo: Lcase(VISUAL BASIC)

resp: visual Basic

7) Instr: Obtiene un numero que indica la posicin de una subcadena dentro de una cadena. Sintaxis: Instr(Valor, cadena, subcadena) Ejemplo: Instr(1,Visual Basic,u) resp: 4 8) Trim: Quita los espacios que se encuentran al inicio y al final de una cadena

APLICACIN DESARROLLADA

28

Private Sub Txtfrase_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtfrase.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then lbllongitud.Text = txtfrase.Text.Length() lblporcion.Text = Mid(txtfrase.Text, 2, 6) lblA.Text = InStr(1, txtfrase.Text, "a") lblprimero.Text = Microsoft.VisualBasic.Left(txtfrase.Text, 1) lblultimo.Text = Microsoft.VisualBasic.Right(txtfrase.Text, 1) lblmayuscula.Text = txtfrase.Text.ToUpper() lblminuscula.Text = txtfrase.Text.ToLower() End If End Sub ASI NO Private Sub txtingresefrase_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtingresefrase.TextChanged If e.KeyChar = ChrW(Keys.Enter) Then End Sub 2. FUNCIONES DE FECHA 1) 2) 3) 4) 5) 6) 7) 8) 9) Now: Obtiene la fecha y hora del sistema DateString: Obtiene la fecha del sistema Year: Obtiene el ao de una fecha Month: Obtiene el numero del mes de una fecha Day: Obtiene el da de una fecha Weekday: Obtiene el numero del da de la semana Cvdate: Convierte una cadena en una valor de tipo fecha Isdate: Verifica si un determinado valor puede considerarse de tipo fecha Dateadd: Permite incrementar o disminuir un intervalo de tiempo a una fecha. El intervalo de tiempos puede ser un nmero de das, semanas, meses, aos, etc. Sintaxis: dateadd(Intervalo,valor, fecha) Intervalo Intervalo yyyy q m y d w ww h n s Descripcin Ao Trimestre Mes Da del ao Da Da de la semana Semana Hora Minuto Segundo

Valor: Es la cantidad del intervalo de tiempo que se va a incrementar o disminuir a una fecha, un valor positivo incrementa y un valor negativo decremento. Fecha: Es la fecha a la cual se le va a disminuir o incrementar el intervalo de tiempo Ejemplo: dateadd(ww, 2, now) El ejemplo anterior est incrementando dos semanas a la fecha actual 10)Datediff: Devuelve la diferencia entre dos fechas en un intervalo de tiempo indicado. Por ejemplo la diferencia de dos fechas en das, semanas, meses, etc. Sintaxis: datediff(intervalo, fecha1, fecha2) Ejemplo: datediff( ww, cvdate(12/10/2008),cvdate(15/02/2009))

29

APLICACIN DESARROLLADA

Private Sub txtFecha_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFecha.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then lblFechaHora.Text = Now() lblao.Text = Year(txtFecha.Text) lblmes.Text = Month(txtFecha.Text) lbldia.Text = Microsoft.VisualBasic.DateAndTime.Day(txtFecha.Text) lbldiasvividos.Text = DateDiff("d", txtFecha.Text,DateString) End If End Sub 3. FUNCIONES DE TIPO HORA 1) 2) 3) 4) TimeString: Devuelve la hora exacta del sistema HH:MM:SS Hour: Obtiene solo las horas (HH) Minute: Obtiene solo los minutos (MM) Second: Obtiene solo los segundos (SS)

4. FUNCIONES NUMRICAS 1) Abs: Obtiene el valor absoluto de un numero Sintaxis: abs(numero) Ejemplo: abs(-16) resp: 16 2) Int: Obtiene la parte entera de un numero Sintaxis: int(numero con decimales) Ejemplo: sqr(16,234) resp: 16 3) Sqr: Obtiene la raz cuadrada de un numero Sintaxis: sqr(numero) Ejemplo: sqr(16) resp: 4 4) Rnd: Obtiene un valor aleatorio Sintaxis: Para obtener nmeros aleatorios en un rango, usamos la siguiente frmula: (lmite superior-limite inferior+1)*rnd +lmite inferior Ejemplo: Generar un numero aleatorio en el rango del 50 al 100 (100-50+1)*rnd +50 5) Val: Convierte una cadena de caracteres en un valor numrico Sintaxis: val(numero tipo texto) Ejemplo: val(16) resp: 16 6) Str: Convierte una valor numrico de una cadena de caracteres Sintaxis: str(numero) Ejemplo: str(16) resp: 16

30

7) Fotmat: Convierte un valor numrico a una cadena de texto, adems le agrega un formato especificado. Ejemplo: Dim numero As Double numero = 345 MsgBox Format(numero, "##,00")

Como podemos ver si queremos mostrar el valor con 2 decimales, despus del punto coma escribimos la cantidad de decimales representados por 0. 8) Isnumeric: Permite saber si un valor se puede considerar como un numero

CONTROL DE ERRORES Y EXCEPCIONES A medida que los programas son ms grandes y ms complejos, es inevitable que se produzcan un determinado nmero de errores. Incluso la programacin ms cuidadosa puede producir errores involuntarios, tambin denominados bugs. El proceso de encontrar y eliminar estos errores se denomina depuracin (debugging). En este mdulo, estudiaremos los tipos de errores que pueden ocurrir en un programa y cmo utilizar el depurador de Microsoft Visual Studio .NET

EJEMPLO N 1:

Private Sub Btndividir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDividir.Click Try lblrespuesta.Text = txtnumero1.Text / txtnumero2.Text Catch ex As Exception MessageBox.Show(ex.Message()) End Try End Sub

CONTROL PICTUREBOX EJERCICIO DESARROLLADO Paso N 1: Dibujar el siguiente formulario:

31

Paso N 2: Al hacer un clic en la opcin tienda, se debe mostrar el siguiente formulario:

Public Class Form1 Dim fvencimiento(5) As Date Dim productos(5) As String Dim precio(5) As Single Dim descripcion(5) As String Dim imagen(5) As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Nombre de las imagenes de los productos imagen(0) = "aceite.jpg" imagen(1) = "arroz.jpg" imagen(2) = "cafe.jpg" imagen(3) = "cerveza.jpg" imagen(4) = "fideos.jpg" 'Nombre de los productos productos(0) = "aceite" productos(1) = "arroz" productos(2) = "cafe" productos(3) = "cerveza" productos(4) = "fideos" For pos = 0 To 4 cboNombres.Items.Add(productos(pos)) Next

32

'Precios de los productos precio(0) = 5.5 precio(1) = 3 precio(2) = 7.5 precio(3) = 4.5 precio(4) = 3.8 'Descripcion de los productos descripcion(0) = "Para las comidas" descripcion(1) = "Para las comidas" descripcion(2) = "Para preparar en agua/leche" descripcion(3) = "Para beber..." descripcion(4) = "Para las comidas" 'fecha de vencimiento fvencimiento(0) = "10/10/2010" fvencimiento(1) = "01/02/2011" fvencimiento(2) = "02/09/2010" fvencimiento(3) = "03/12/2011" fvencimiento(4) = "12/11/2010" End Sub Private Sub cboNombres_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboNombres.SelectedIndexChanged Dim pos As Integer pos = cboNombres.SelectedIndex If pos >= 0 Then lstHoja.Items.Clear() lstHoja.Items.Add("El precio es: " & precio(pos) & "soles") lstHoja.Items.Add("Se vence en: " & fvencimiento(pos)) lstHoja.Items.Add("Sirve para : " & descripcion(pos)) pctFoto.Image = New System.Drawing.Bitmap("D:\Ejercicio de imagenes\mis imagenes\" & imagen(pos)) End If End Sub End Class

CONTROL TIMER A travs del control Timer es posible ejecutar una instruccin en un intervalo de tiempo especifico, este Timer se activa estableciendo su propiedad Interval con el valor True y se ejecutar hasta que por medio de la accin del usuario lo detenga o se desactive el temporizador. Cuando agrega un Timer este no es visible en el formulario pero si en la parte inferior de la pantalla (Bandeja de Componentes), justo debajo del formulario. El control timer, se encuentra ubicado dentro de la categora componentes:

EJEMPLO N 1: Mostrar la hora del sistema en una etiqueta, como se muestra a continuacin. Para dicho ejemplo hay que establecer 2 propiedades. Enabled: poner con el valor de true, para que empiece a funcionar 33

Interval: poner a 1000, ya que este valor equivale a 1 segundo

Luego en el mismo control timer, ingresamos el cdigo siguiente: Private Sub tmrReloj_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrReloj.Tick lblHora.Text = TimeString End Sub EJEMPLO N 2: Construir un cronometro.

Dim i As Integer Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click tmrReloj.Enabled = True End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub btnParar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParar.Click tmrReloj.Stop() End Sub ------------------------------------------------------------------------------------------------------------------------------------------------Private Sub tmrReloj_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrReloj.Tick lblcronometro.Text = CStr(i) i=i+1 End Sub

EJERCICIO PROPUESTO Paso N 1: Dibujar el siguiente formulario

34

Si el usuario es: infounsa y la contrasea es: sistemas, se mostrara el siguiente formulario y ocultarse el formulario del Sistema de control. Paso N 2: Dibujar el siguiente formulario

Paso N 3: Al hacer clic en la opcin matricula debe mostrarse el siguiente formulario.

35

Los montos a considerar son: Colegio Nacional Parroquial Particular Matricula 100 150 200 Item Hermanos SOLUCION: Paso N 1: Public Class Form1 -----------------------------------------------------------------------------------------------------------------------------------------Private Sub txtUsuario_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtUsuario.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then If txtUsuario.Text = "infounsa" Then txtContrasea.Focus() Else MessageBox.Show("Usuario Incorrecto") txtUsuario.Focus() End If End If End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub txtContrasea_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEvent Args) Handles txtContrasea.KeyPress If e.KeyChar = ChrW(Keys.Enter) Then If txtContrasea.Text = "sistemas" Then Form2.Show() Else MessageBox.Show("Contrasea Incorrecta") txtContrasea.Focus() 36 Especialidad Diseo Sistemas Contabilidad Descuento 2% por hermano con respecto a la pensin Pensin 200 180 100

End If End If End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click Me.Close() End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click txtUsuario.Text = "" txtContrasea.Text = "" txtUsuario.Focus() End Sub End Class Paso N 2: Public Class Form2 -----------------------------------------------------------------------------------------------------------------------------------------Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblHora.Click lblHora.Text = TimeString End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub MatriculaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MatriculaToolStripMenuItem.Click Form3.Show() End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick lblHora.Text = TimeString End Sub End Class Paso N 3: Public Class Form3 -----------------------------------------------------------------------------------------------------------------------------------------Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblTotalPago.Click Dim PagoMatricula As Integer Dim PagoPension As Integer Dim Descuento As Integer If rdbNacional.Checked = True Then PagoMatricula = 100 End If If rdbParroquial.Checked = True Then PagoMatricula = 150 End If If rdbParticular.Checked = True Then PagoMatricula = 200 End If If rdbContabilidad.Checked = True Then PagoPension = 100 End If If rdbSistemas.Checked = True Then

37

PagoPension = 180 End If If rbdDiseo.Checked = True Then PagoPension = 200 End If Descuento = 0.02 * PagoPension * Val(txtHermanos.Text) lblTotalPago.Text = PagoMatricula + PagoPension - Descuento End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub rdbNacional_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbNacional.CheckedChanged Dim PagoMatricula As Integer If rdbNacional.Checked = True Then PagoMatricula = 100 End If lblPagoMatricula.Text = PagoMatricula End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub rdbParroquial_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbParroquial.CheckedChanged Dim PagoMatricula As Integer If rdbParroquial.Checked = True Then PagoMatricula = 150 End If lblPagoMatricula.Text = PagoMatricula End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub rdbParticular_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbParticular.CheckedChanged Dim PagoMatricula As Integer If rdbParticular.Checked = True Then PagoMatricula = 200 End If lblPagoMatricula.Text = PagoMatricula End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub rdbContabilidad_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbContabilidad.CheckedChanged Dim PagoPension As Integer If rdbContabilidad.Checked = True Then PagoPension = 100 - 100 * 0.02 * Val(txtHermanos.Text) End If lblPension.Text = PagoPension End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub rdbSistemas_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbSistemas.CheckedChanged Dim PagoPension As Integer If rdbSistemas.Checked = True Then PagoPension = 180 - 180 * 0.02 * Val(txtHermanos.Text) End If lblPension.Text = PagoPension End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub rbdDiseo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbdDiseo.CheckedChanged Dim PagoPension As Integer If rbdDiseo.Checked = True Then PagoPension = 200 - 200 * 0.02 * Val(txtHermanos.Text)

38

End If lblPension.Text = PagoPension End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub lblPension_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lblPension.TextChanged lblTotalPago.Text = Val(lblPagoMatricula.Text) + Val(lblPension.Text) End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub lblPagoMatricula_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lblPagoMatricula.TextChanged lblTotalPago.Text = Val(lblPagoMatricula.Text) + Val(lblPension.Text) End Sub -----------------------------------------------------------------------------------------------------------------------------------------Private Sub txtHermanos_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHermanos.TextChanged Dim PagoMatricula As Integer Dim PagoPension As Integer Dim Descuento As Integer If rdbNacional.Checked = True Then PagoMatricula = 100 End If If rdbParroquial.Checked = True Then PagoMatricula = 150 End If If rdbParticular.Checked = True Then PagoMatricula = 200 End If If rdbContabilidad.Checked = True Then PagoPension = 100 End If If rdbSistemas.Checked = True Then PagoPension = 180 End If If rbdDiseo.Checked = True Then PagoPension = 200 End If Descuento = 0.02 * PagoPension * Val(txtHermanos.Text) lblTotalPago.Text = PagoMatricula + PagoPension - Descuento End Sub End Class

39

También podría gustarte