Unidad IV Funciones Sub Procedimientos Formularios

Preview:

Citation preview

LOGO

Email: carolina.robelo@ulsa.edu.ni

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

Recommended