Unidad IV Funciones Sub Procedimientos Formularios

43
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

Transcript of Unidad IV Funciones Sub Procedimientos Formularios

Page 1: 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

Page 2: Unidad IV Funciones Sub Procedimientos Formularios

VB.NET

FUNCIONES

SUBRUTINAS

PROCEDIMIENTOS

Page 3: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 4: Unidad IV Funciones Sub Procedimientos Formularios

¿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

Page 5: Unidad IV Funciones Sub Procedimientos Formularios

¿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

Page 6: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 7: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 8: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 9: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 10: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 11: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 12: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 13: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 14: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 15: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 16: Unidad IV Funciones Sub Procedimientos Formularios

VB.NET

WINDOWS FORMS

Page 17: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 18: Unidad IV Funciones Sub Procedimientos Formularios

Cómo crear un formulario

Page 19: Unidad IV Funciones Sub Procedimientos Formularios

Cómo establecer las propiedades del formulario

Page 20: Unidad IV Funciones Sub Procedimientos Formularios

Modelo de eventos del .NET Framework

Page 21: Unidad IV Funciones Sub Procedimientos Formularios

¿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.

Page 22: Unidad IV Funciones Sub Procedimientos Formularios

Trabajando con Controles

Controles mas comunes

Button

Label

TextBox

ListBox

ComboBox

CheckBox

RadioButton

GroupBox

Page 23: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 24: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 25: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 26: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 27: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 28: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 29: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 30: Unidad IV Funciones Sub Procedimientos Formularios

Trabajando con Controles

Ejemplo – Controles Basicos

Button, Label y TextBox

Page 31: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 32: Unidad IV Funciones Sub Procedimientos Formularios

Trabajando con Controles

Ejemplo: CheckBox

Page 33: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 34: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 35: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 36: Unidad IV Funciones Sub Procedimientos Formularios

Trabajando con Controles

Ejemplo : RadioButton y GroupBox

Page 37: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 38: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 39: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 40: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 41: Unidad IV Funciones Sub Procedimientos Formularios

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

Page 42: Unidad IV Funciones Sub Procedimientos Formularios

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.

Page 43: Unidad IV Funciones Sub Procedimientos Formularios

Trabajando con Controles

Menus