Unidad IV Funciones Sub Procedimientos Formularios
Transcript of Unidad IV Funciones Sub Procedimientos Formularios
LOGO
Email: [email protected]
Lenguaje de Programación II
Docente: Ing. Carolina Robelo
Universidad Tecnológica La Salle León, Nicaragua
Unidad IV: Programación Orientada a Objetos
VB.NET
FUNCIONES
SUBRUTINAS
PROCEDIMIENTOS
Procedimientos
Procedimientos Sub realizan acciones pero no devuelven un valor al procedimiento que origina la llamada.
Los controladores de eventos son procedimientos Sub que se ejecutan en respuesta a un evento.
Procedimientos Function pueden devolver un valor al procedimiento que origina la llamada.
La instrucción MessageBox.Show es un ejemplo de función.
Procedimeinto Property devuelven y asignan valores de propiedades de clases, estructuras o módulos. Sirven para crear y manipular propiedades personalizadas de los objetos.
¿Cómo crear procedimientos Sub?
Los procedimientos Sub realizan acciones pero no devuelven un valor al procedimiento que origina la llamada.
Sintaxis [accesibilidad] Sub nombre_del_procedimiento [(lista de
argumentos)]
‘Las declaraciones del procedimiento sub van aquí
End Sub
Ejemplo
Private Sub acercadade()
MsgBox("Mi Primer Aplicacion .Net")
End Sub
¿Cómo crear procedimientos Function?
Los procedimientos Function son similares a los procedmientos Sub, pero las funciones pueden devolver un valor al programa que origina la llamada.
Sintaxis
Ejemplo
Public Function Cuadrado(ByVal valor As Integer) As Integer
Cuadrado = valor * valor
End Function
[accesibilidad] Function nombre_del_procedimient [(lista de
argumentos)] As tipo_de_dato_que_devuelve
‘Las declaraciones de la funcion van aquí
End Sub
Uso de Estructuras de Decisión
Como utilizar instrucciones If….then
La versión en una sola línea no requiere el uso de una instrucción End If.
En instrucciones If… Then en forma de bloque, es habitual identificar el código entre las instrucciones If y End If
Sintaxis en una linea
Sintaxis en forma de bloque
If condición Then instruccion
If condicion Then
instrucciones
End If
Uso de Estructuras de Decisión
Ejemplo El siguiente ejemplo compara el valor de un
entero denominado Ventas con 10,000. Si ventas es superior a 10,000, se calcula un 10 por ciento de bonus. Si el valor de ventas no supera 10,000, se ignora la línea de código detrás del Then y no se calcula bonus.
If ventas > 10000 Then
bonus = 0.1 * ventas
End If
Uso de Estructuras de Decisión
Como utilizar instrucciones If….then…Else
Se utilizan para una decisión con dos opciones como mínimo
Cada instrucción If debe de tener un End If correspondiente
Si la condición es True, se ejecutaran las instrucciones que siguen a la instrucción If
Si la condición es False, se ejecutaran las instrucciones que siguen a la instrucción Else
Ejemplo
If ventas > 10000 Then
bonus = 0.1 * ventas
Else
bonus = 0
End If
Uso de Estructuras de Decisión
Como utilizar instrucciones If….then…ElseIf
Se utilizan para anidar instrucciones de decisión
Cada instrucción If debe tener su correspondiente End If
Las instrucciones Elseif no tienen su propio End If.
Las instrucciones Elseif pueden aparecer después de Else
Ejemplo If ventas > 10000 Then
Bonus = 0.1 * ventas
Elseif ventas > 5000 Then
Bonus = 0.5 * ventas
Else
Bonus = 0.2 * ventas
End If
Uso de Estructuras de Decisión
Como utilizar instrucciones Select Case
La instrucción Select Case funciona como una compleja estructura If…then…else anidada, pero su mantenimiento es más sencillo.
Sintaxis
Select Case expresion
[Case lista-expression-n]
Instrucciones-n
[Case Else]
Otras_instrucciones
End Select
Uso de Estructuras de Decisión
Ejemplo: El siguiente ejemplo muestra cómo utilizar la
instrucción Select Case para evaluar el valor de un bonus basado en seis condiciones distintas. Si ninguna de estas condiciones es verdadera, el bonus será del 15 por ciento.
Dim Rank, bonus As Integer
'Establecemos el valor del rank
Select Case Rank
Case 1
bonus = 0
Case 2, 3
bonus = 0.5 * ventas
Case 4 To 6
bonus = 0.1 * ventas
Case Else
bonus = 0.15 * ventas
End Select
Uso de Estructuras Repetitivas
Como utilizar instrucciones For…Next
Un bucle For…Next se ejecuta un número determinado de veces fijado por un contador de bucles. El valor del contador de un bucle For…Next puede incrementarse o disminuir dependiendo de si step es positivo o negativo.
Sintaxis
For counter = valor-inicio to valor-final [step]
Instrucciones
Next
Uso de Estructuras Repetitivas
Como utilizar instrucciones For Each…Next
Una instrucción For Each… Next ejecuta un bloque de instrucciones para cada elemento de una colección o una matriz. Una colección es un conjunto de objetos agrupados a los que se hace referencia como una unidad.
Sintaxis For Each variable in Coleccion
Instrucciones
Next
Uso de Estructuras Repetitivas
Como utilizar instrucciones Do… Loop
Las instrucciones Do…Loop proporcionan un modo para que se nuestra aplicación ejecute un bloque de código mientras una condición sea verdadera o hasta que lo sea.
Do…Loop Until: Ejecuta el código del bucle y evalúa la condición. Repite hasta que la condición se evalúa como True.
Do Until…Loop: Ejecuta el código en el bucle solo si la condición se evalua como False, y repite hasta que la expresión sea True.
Uso de Estructuras Repetitivas
Como utilizar instrucciones Do… Loop
Do…Loop While: Ejecuta el código en el bucle y evalúa la
condición. Repite hasta que la condición sea False.
Do While…Loop: Ejecuta el código en el bucle solo si la
condición se evalúa como true, y se repite hasta que la
expresión sea False.
VB.NET
WINDOWS FORMS
Windows Forms
Las aplicaciones de escritorio son aquellas basadas en ventanas y controles comunes de Windows que se ejecutan en el sistema local.
En la plataforma .NET, el espacio de nombres que ofrece las clases necesarias para construir aplicaciones de escritorio bajo Windows se denomina Windows Forms.
Un control es aquel elemento situado dentro de una ventana o formulario y que permite al usuario de la aplicación Windows interactuar con la misma, para introducir datos o recuperar información.
Cómo crear un formulario
Cómo establecer las propiedades del formulario
Modelo de eventos del .NET Framework
¿Qué es un evento?
Un evento es una acción a la que se puede responder o que
se puede "controlar" mediante código.
• Los eventos se pueden generar mediante una acción del
usuario, por ejemplo, haciendo clic con el mouse (ratón) o
presionando una tecla, mediante código del programa o
mediante el sistema.
• Las aplicaciones controladas por eventos ejecutan código en
respuesta a los eventos.
• Cada formulario y cada control expone un conjunto de eventos
predefinido que se puede utilizar al programar. Si se produce
uno de estos eventos y hay código en el controlador de
eventos asociado, se invocará este código.
Trabajando con Controles
Controles mas comunes
Button
Label
TextBox
ListBox
ComboBox
CheckBox
RadioButton
GroupBox
Trabajando con Controles
Button
Las propiedades más importantes de este control son las siguientes:
Text : Almacena el título del botón.
TextAlign : Indica la alineación del texto dentro del botón.
BackColor : Indica el color de fondo para el botón.
Font : Cambia el tipo de letra para el título del botón.
Enabled : Permite habilitar/deshabilitar el botón.
Trabajando con Controles
Eventos sobre controles
Los eventos son sucesos provocados por los controles cuando un usuario actúa sobre ellos
Pueden ser capturados para asociar código a los mismos, de manera que cada vez que se produzca una acción determinada del usuario se producirá un evento.
Ejemplo: Al pulsar un botón se producirá un evento Click y el programador podrá escribir código asociado a ese evento.
Trabajando con Controles
Ejemplo – Evento sobre el control Button
Private Sub boton_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles boton.Click
MessageBox.Show("Acabas de pulsar este boton")
End Sub
Trabajando con Controles
Eventos sobre Formularios
También es posible, asociar código a eventos sobre formularios. Por ejemplo, al evento que lanza un formulario cuando el usuario cierra el mismo.
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If MessageBox.Show("¿Cerrar la ventana?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.No Then
e.Cancel = True
End If
End Sub
Trabajando con Controles
Label
Se trata de un control estático por lo que el usuario no podrá interactuar con él ya que simplemente se limita a mostrar un determinado texto.
Trabajando con Controles
TextBox Text : Almacena el texto del control.
Multiline: Permite indicar si queremos permitir almacenar una sola línea o varias en el mismo control.
Enabled: Permite habilitar/deshabilitar la caja de texto.
ReadOnly: Permite indicar que el contenido de la caja de texto sea de sólo lectura por lo que el usuario no podrá alterar su contenido.
MaxLength: Permite indicar el máximo de caracteres que será capaz de almacenar la caja de texto.
TextLength: Devuelve la longitud del texto que actualmente está almacenado en este control.
Trabajando con Controles
Eventos sobre TextBox
El evento más importante de los controles TextBox se llama TextChanged y tiene lugar cada vez que se altera el contenido del control (el texto que éste contiene)
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
' Cuando cambie el texto, cambiará su longitud
Me.TextBox2.Text = Me.TextBox1.TextLength
End Sub
Trabajando con Controles
Ejemplo – Controles Basicos
Button, Label y TextBox
Trabajando con Controles
CheckBox
Este control muestra una casilla de verificación, que podemos marcar o no para activar alguna opción de nuestro programa.
Internamente este control funciona como un Boolean ya que su estado podrá ser Verdadero (ha sido seleccionado) o Falso (no está seleccionado).
Las propiedades más importantes de este control son las
siguientes:
Checked : Indica True o False dependiendo de si el control ha sido
seleccionado o no, respectivamente
Trabajando con Controles
Ejemplo: CheckBox
Trabajando con Controles
Ejemplo: CheckBox Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnEnviar.Click
Dim aficiones As String
If ckbCine.Checked = False And ckbEstudiar.Checked = False And
ckbPlaya.Checked = False Then
MsgBox("No tienes aficiones!!!")
Else
If ckbCine.Checked = True Then
aficiones = aficiones + Me.ckbCine.Text
End If
If ckbEstudiar.Checked = True Then
aficiones = aficiones + " " + ckbEstudiar.Text
End If
If ckbPlaya.Checked = True Then
aficiones = aficiones + " " + ckbPlaya.Text
End If
MsgBox("Tus aficiones son: " & aficiones)
End If
End Sub
Trabajando con Controles
RadioButton Permite definir conjuntos de opciones auto
excluyentes.
Para poder detectar cuando ha sido seleccionada la opción de un determinado RadioButton disponemos del evento CheckedChange, el cual podremos implementar convenientemente de manera que cada vez que se pulse dicho RadioButton se ejecuten las acciones que correspondan.
Trabajando con Controles
GroupBox
Este control permite agrupar controles en su interior y en cierta manera permanezcan aislados del resto de controles del formulario.
Este control nos será útil para crear más de un grupo de RadioButton ya que si no los separamos con un control de este tipo se relacionarían entre ellos y representarían la misma opción.
Trabajando con Controles
Ejemplo : RadioButton y GroupBox
Trabajando con Controles
Ejemplo : RadioButton y GroupBox Private Sub btComprobar_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btComprobar.Click
Dim edad, ciudad As String
If Me.rbEdadOp1.Checked = True Then
edad = "Tienes menos de 18 años"
ElseIf Me.rbEdadOp2.Checked = True Then
edad = "Tienes de 18 a 35 años"
ElseIf Me.rbEdadOp3.Checked = True Then
edad = "Tienes más de 35 años"
End If
If Me.rbBarrioOp1. Checked = True Then
ciudad = "Vives en Zaragoza"
ElseIf Me.rbBarrioOp2. Checked = True Then
ciudad = "Vives en Laborio"
ElseIf Me.rbBarrioOp3. Checked = True Then
ciudad = "Vives en Subtiava"
End If
MessageBox.Show(edad & " y " & ciudad)
End Sub
Trabajando con Controles
Este control es capaz de almacenar una lista de valores, y a la vez permite al usuario seleccionar uno o varios de estos valores.
Items: Contiene la lista de valores que almacena el ListBox
Add(item): Permite añadir un nuevo elemento a la lista.
ListBox
Sorted: Si almacena el valor True, se ordenarán todos los
elementos de la lista (tanto los que ya estaban almacenados
como los que se inserten posteriormente) y se le asigna el valor
False ya no se ordenarán los nuevos elementos que se inserten
(aunque los que ya estaban insertados mantendrán el orden).
SelectedItem: Devuelve el elemento de la lista que se
encuentra seleccionado por el usuario.
Trabajando con Controles
Ejemplo: ListBox
Private Sub btInsertar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btInsertar.Click
If Me.txtCajaTexto.Text.Length > 0 Then
Me.lbLista.Items.Add(Me.txtCajaTexto.Text)
Me.txtCajaTexto.Clear()
End If
End Sub
Trabajando con Controles
Private Sub ckOrdenado_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ckOrdenado.CheckedChanged
If Me.ckOrdenado.Checked = True Then
Me.lbLista.Sorted = True
Else
Me.lbLista.Sorted = False
End If
End Sub
Private Sub btEliminar_Click_1(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btEliminar.Click
Me.lbLista.Items.Remove(Me.lbLista.SelectedItem)
End Sub
Private Sub btLimpiar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btLimpiar.Click
Me.lbLista.Items.Clear()
End Sub
Trabajando con Controles
Private Sub ckLectura_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ckLectura.Chec
If Me.ckLectura.Checked = True Then
Me.txtCajaTexto.Enabled = False
Me.btEliminar.Enabled = False
Me.btInsertar.Enabled = False
Else
Me.txtCajaTexto.Enabled = True
Me.btEliminar.Enabled = True
Me.btInsertar.Enabled = True
End If
End Sub
Trabajando con Controles
ComboBox Se trata de un control mezcla de otros dos que ya
hemos visto, el TextBox y el ListBox.
A diferencia de este último, si pulsamos sobre él desplegará la lista de los valores que almacena.
Trabajando con Controles
Menus