You are on page 1of 10

GUA IV Visual Basic TEMA: Creacin de Procedimientos Lugar de ejecucin: Computo Pilet Tiempo de ejecucin: 3 hrs. Docente: Ing.

Yesenia Escobar I. II.

Departamento: Ao: Periodo: Asignatura:

Informtica Segundo Ao I Lenguajes de Programacin II

Objetivos Identificar varias de las funciones de manejo de Fechas. Crear e invocar apropiadamente a procedimientos Sub y Function. Determinar el tipo de paso de argumento (por valor y por referencia) apropiado. Elaborar programas complejos, dividindolos en procedimientos simples y relacionados entre s. Introduccin Terica

FUNCIONES INTRNSECAS Las funciones intrnsecas son proporcionadas directamente por el lenguaje de programacin. Las funciones ms comunes son las de conversin de tipos de datos y matemticas, que ya se han visto en guas anteriores; las funciones de fecha se vern en el procedimiento de esta gua. Funciones de manejo de Fechas De manera similar a las funciones de manejo de cadenas de caracteres incluidas con la clase String, VB.net ofrece el tipo de dato Date, la cual es una clase con funciones dedicadas a datos de fechas y operaciones con las mismas. Muchas de estas funciones pueden ser invocadas con el mtodo compartido y el resto se invocan con el mtodo de instancia de clase. Algunas de las funciones/mtodos disponibles son las siguientes: Funcin Resultado Now() Devuelve la fecha y hora actual del sistema, en un formato largo. Date() Esta funcin retorna la fecha actual del sistema. Year(Fecha) Devuelve el ao de una fecha especificada. Month(Fecha) Obtiene el Nmero de mes de una fecha especificada. Day(Fecha) Obtiene el nmero de da de una fecha enviada o especificada WeekDay(Fecha) Obtiene el nmero del da de la semana, tomando el domingo como valor nmero 1. DateAdd(TipoIntervalo,ValorIntervalo,Fecha) Suma o resta a una fecha, un intervalo determinado, para determinar si se realiza una suma o resta, el TipoIntervalo puede ser das, semanas, horas, meses, aos, etc. ValorIntervalo deber de ser positivo o negativo respectivamente. DateDiff(TipoIntervalo,FechaPrimera,FechaSegunda) Calcula la diferencia existente entre dos fechas DatePart(TipoIntervalo,fecha) Extrae la parte de una fecha indicada. FUNCIONES CREADAS POR EL USUARIO El desarrollo de una aplicacin, especialmente si se trata de un proyecto de gran tamao, es ms fcil si se divide en piezas ms pequeas. El uso de procedimientos puede ayudarnos a agrupar nuestro cdigo en secciones lgicas y condensar tareas repetidas o compartidas, como clculos utilizados frecuentemente.

Los procedimientos son las sentencias de cdigo ejecutable de un programa. Las instrucciones de un procedimiento estn delimitadas por una instruccin de declaracin y una instruccin End. En esta gua, aprenderemos a crear y utilizar Subrutinas y Funciones. Tipos de procedimientos Existen tres tipos de procedimientos en Microsoft VB.NET: a) procedimientos Sub, b) procedimientos Function y c) procedimientos Property a) 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. b) procedimientos Function pueden devolver un valor al procedimiento que origina la llamada. La instruccin MessageBox.Show es un ejemplo de funcin. c) Los procedimientos Property devuelven y asignan valores de propiedades de clases, estructuras o mdulos. Uso de procedimientos Un procedimiento puede ser invocado, o llamado, desde otro procedimiento. Cuando un procedimiento llama a otro procedimiento, se transfiere el control al segundo procedimiento. Luego, al finaliza la ejecucin del cdigo del segundo procedimiento, ste devuelve el control al procedimiento que lo invoc. Debido a esta funcionalidad, los procedimientos resultan tiles para realizar tareas repetidas o compartidas. En lugar de escribir el mismo cdigo ms de una vez, podemos escribir un procedimiento e invocarlo desde varios puntos de nuestra aplicacin o desde otras aplicaciones. Accesibilidad del procedimiento Utilizamos un modificador de acceso para definir la accesibilidad de los procedimientos que escribimos (es decir, el permiso para que otro cdigo invoque al procedimiento). Si no especificamos un modificador de acceso, los procedimientos son declarados public de forma predeterminada. La siguiente tabla muestra las opciones de accesibilidad para declarar un procedimiento dentro de un mdulo: Modificador de acceso Descripcin Public Ninguna restriccin de acceso Friend Accesible desde el programa que contiene la declaracin y desde cualquier otro lugar del mismo ensamblado Private Accesible nicamente en el mdulo que contiene la declaracin Cmo crear procedimientos Sub? Un procedimiento Sub es una serie de instrucciones de Visual Basic delimitadas por las instrucciones Sub y End Sub. Los procedimientos Sub realizan acciones pero no devuelven un valor al procedimiento que origina la llamada. Sintaxis: [accessibility] Sub subname[(argumentlist)] 'Las sentencias del procedimiento van aqu End Sub El siguiente cdigo crea un procedimiento Sub (Sub AboutHelp) que utiliza un cuadro de mensaje para mostrar un nombre de producto y un nmero de versin: Private Sub AboutHelp( ) MessageBox.Show("MyProgram V1.0", "MyProgram Help") End Sub

Cmo crear procedimientos Function? Un procedimiento Function es una serie de instrucciones Visual Basic delimitadas por las instrucciones Function y End Function. Los procedimientos Function son similares a los procedimientos Sub, pero las funciones pueden devolver un valor al programa que origina la llamada. Sintaxis: [accessibility] Function functionname[(argumentlist)] As datatype End Function El siguiente cdigo crea una funcin denominada Square que devuelve el cuadrado de un nmero entero (integer): Function Square(SquareValue As Integer) As Integer Square = SquareValue * SquareValue End Function El valor que devuelve un procedimiento Function al programa que origina la llamada se denomina valor de retorno. La funcin devuelve el valor en una de las dos formas siguientes: 1. Asigna un valor al nombre de su propia funcin en una o ms instrucciones dentro del procedimiento. El control no se devuelve al programa que origina la llamada hasta que se ejecuta una instruccin Exit Function o End Function. La instruccin Exit Function provoca la salida inmediata de un procedimiento Function. Cualquier nmero de instrucciones Exit Function pueden aparecer en cualquier lugar del procedimiento. 2. Se utiliza una instruccin Return para especificar el valor devuelto, y devuelve el control inmediatamente a programa que origina la llamada. La ventaja de asignar el valor devuelto al nombre de funcin es que el control no se devuelve desde la funcin hasta que el programa encuentra una instruccin Exit Function o End Function. Esto permite asignar un valor preliminar y ajustarlo ms tarde si es necesario. Si salimos de la funcin sin asignar un valor devuelto, la funcin devuelve el valor predeterminado apropiado para el tipo de datos de la funcin. Por ejemplo, devuelve 0 para Byte, Char, Decimal, Double, Integer, Long, Short y Single; o tambien, si es de tipo Boolean se retorna False En cambio, la instruccin Return asigna simultneamente el valor devuelto y sale de la funcin. Cmo declarar argumentos en procedimientos? Un procedimiento que realiza tareas repetidas o compartidas utiliza distinta informacin en cada llamada. Esta informacin puede estar formada por variables, constantes y expresiones que se pasan al procedimiento por el procedimiento que origina la llamada. Cada valor que se pasa a un procedimiento se denomina Argumento. Cuando definimos un procedimiento en Visual Basic .NET, describimos los datos y los tipos de datos para los que el procedimiento est diseado para aceptar desde un procedimiento de llamada. Los elementos definidos en el procedimiento se denominan parmetros. Cuando invocamos el procedimiento, sustituimos un valor actual de cada parmetro. Los valores que asignamos en lugar de los parmetros se denominan argumentos. Cuando definimos un procedimiento, definimos el modo en el que otros procedimientos pueden pasar argumentos al procedimiento. Podemos escoger pasar argumentos por referencia (ByRef) o por valor (ByVal). En Visual Basic .NET, el mecanismo predeterminado de paso de parmetros es por valor. Declarando Argumentos Utilizamos la misma sintaxis para declarar los argumentos para procedimientos Sub y procedimientos Function. Declaramos cada argumento de un procedimiento del mismo modo en que declaramos una variable, especificando el nombre del argumento y el tipo de datos. Tambin podemos especificar el mecanismo de paso y si el argumento es opcional. La sintaxis para cada argumento en la lista de argumentos de un procedimiento es como sigue: ([ Optional][ByVal|ByRef] [ParamArray] nombreargumento [()]As tipo)

En donde: Optional indica que el argumento no se necesita. Todos los argumentos optional deben de ser de tipo Variant ParamArray utilizado para indicar que el argumento final es una lista opcional de argumentos. Proporciona una forma de pasar un numero arbitrario de argumentos No es necesario que los nombres de argumentos utilizados cuando se invoca un procedimiento coincidan con los nombres de parmetros utilizados para definir el procedimiento. En el siguiente ejemplo, el procedimiento Sub Hello est diseado para tomar un argumento Name de tipo String por valor desde un procedimiento de llamada. Public Sub Hello(ByVal Name As String) MessageBox.Show("Hello, " & Name & "!") End Sub Reutilizacin de cdigo (Creando un Mdulo) Uno de los procesos ms importantes en la creacin de una aplicacin basada en VB es disear cdigo para su reutilizacin. El modo como escribimos el cdigo afecta a su reutilizacin. Podemos escribir cdigo para ser reutilizado, redactndolos en procedimientos, en estructuras, mdulos o clases. Para crear un mdulo, aadimos primero un mdulo a nuestro proyecto. A continuacin, escribimos las instrucciones del cdigo que definen los datos y procedimientos de nuestro mdulo. Aadir un mdulo a un proyecto 1. Si el Explorador de soluciones no est abierto, en el men Ver, hacer clic en Explorador de soluciones. 2. En el Explorador de soluciones, hacer clic con en botn derecho en nuestro proyecto, seleccionar Agregar y, a continuacin, hacer clic en Agregar nuevo elemento. 3. En el cuadro de dilogo Agregar nuevo elemento, en el cuadro Nombre, escribir un nombre para su mdulo, seleccione Mdulo en las Plantillas y, a continuacin, hacer clic en Abrir. La siguiente sintaxis declara un bloque de mdulo: [Public|Friend] Module nombremdulo ' Se agregan procedimientos, las clases (con sus propiedades, metodos y eventos) End Module Uso de procedimientos Uno de los principales beneficios del uso eficaz de procedimientos es la reutilizacin de cdigo. Los procedimientos que creamos en un programa pueden utilizarse en ese programa y en otros proyectos, frecuentemente con poca o nula modificacin. Los procedimientos son tiles para tareas repetidas o compartidas, como clculos utilizados frecuentemente. Cmo utilizar los procedimientos Sub Para utilizar un procedimiento Sub, lo invocamos desde otro procedimiento. Cada vez que se invoca un procedimiento Sub, se ejecutan sus instrucciones, empezando por la primera instruccin ejecutable despus de la instruccin Sub y finalizando con la primera instruccin End Sub, Exit Sub o Return encontrada. Despus de que el procedimiento Sub ejecute nuestro cdigo, devuelve la ejecucin del programa a la lnea de cdigo que sigue a la lnea que invoc el procedimiento Sub. La sintaxis para invocar un procedimiento Sub es la siguiente: [Call] NombreProcedimiento [(Lista de Argumentos)] Reglas de uso de procedimientos Sub Debemos invocar el procedimiento Sub en una lnea por s mismo en nuestro cdigo (no puede invocarlo utilizando su nombre dentro de una expresin). La instruccin de llamada debe proporcionar valores para todos los argumentos que no son opcionales.

Opcionalmente, podemos utilizar la instruccin Call para invocar un procedimiento Sub. El uso de la instruccin Call puede mejorar la legibilidad de nuestro programa. Los procedimientos Sub no devuelven un valor a la instruccin de llamada. Sin embargo, un procedimiento Sub pasar informacin de retorno al cdigo de llamada modificando argumentos pasados por referencia. Cmo utilizar los procedimientos Function? Un procedimiento Function se diferencia de un procedimiento Sub en que el primero puede devolver un valor al procedimiento de llamada. Invocamos un procedimiento Function incluyendo su nombre y sus argumentos en el lado derecho de una instruccin de asignacin o en una expresin. Estudie la funcin siguiente, que convierte una temperatura en Fahrenheit a una temperatura en Celsius. Function FtoC(ByVal temperature As Single) As Single FtoC = (temperature - 32.0) * (5 / 9) End Function Las siguientes llamadas de ejemplo muestran cmo podramos invocar esta funcin: Dim celsiusTemperature As Single celsiusTemperature = FtoC(80) Cada vez que se invoca la funcin se ejecutan sus instrucciones, empezando por la primera instruccin ejecutable tras la instruccin Function y finalizando con la primera instruccin End Function, Exit Function o Return que se indique.

III. Materiales y Equipo Una Computadora Visual Basic Xpress 2008 Memoria USB IV. Procedimiento Cree una carpeta en su USB con el nombre guia7_LPII. Abra Visual Basic y cree un nuevo proyecto, nmbrelo con su nombre completo _Guia7LPII Parte II. Procedimientos y Funciones Problema a solucionar: Elabore un programa que permita registrar los diferentes montos ($) de ventas realizadas durante el ao 2012, para luego determinar los Montos de ventas ($) generados por cada trimestre de ese ao. 1. Agregue un nuevo formulario al proyecto y eljalo como formulario de inicio. 2. Disee el siguiente esquema de objetos (Figura 1) y asigne los valores a las propiedades descritas.

DataTimePicker

TagControl

DataGridView

(Controles) Form1 Label1 Label2 Button1 Button2 MaskedTextBox1 ListBox1 DataGridView1 GroupBox1 DateTimePicker1

Propiedades Name frmVentas

btnRegistrar btnVer mtbMonto lsbVer dgvDatos dtpFecha

Text Ingreso de ventas 2011 *Monto Venta: *Fecha Venta: Registrar Ver Resumen Ventas

Detalle de venta

Figura 1 3. Para resolver el siguiente problema se necesita de un contador para registrar la cantidad de montos registrados, la cual declararemos a nivel de formulario:

4. Se dividirn las tareas en pequeos procedimientos, el primero ser de inicializacin, donde se colocaran los valores iniciales a las variables y controles, este procedimiento tambin se coloca a nivel de formulario:

5. El siguiente procedimiento registrar la venta en el datagrid, para ello necesita dos parmetros MontoVe y Fecha

6. El siguiente procedimiento realiza los clculos de ventas trimestrales a partir de los datos almacenados en el datagrid.

7. Por ltimo el procedimiento que valida los datos y llama al procedimiento RegistrarVenta

8. Ahora en el evento load del formulario se coloca el siguiente cdigo:

9. Solo falta agregar el cdigo al evento clic del botn btnRegistrar y btnVer:

10. Ejecute la aplicacin y realice una prueba agregando varias ventas. 11. Agregue un nuevo Tag al Tagcontrol y en este muestre otro DataGridView y un botn. Al presionar el botn muestre la mayor venta que se realizo en cada mes del ao. (Realice un procedimiento para realizar dicho clculo. Debe mostrar todos los meses aunque no se haya registrado venta para dicho mes)

V. Anlisis de Resultados Cree una aplicacin con su nombre completo mas Guia4 con un formulario para cada problema y un men para acceder a cada uno. 1. Realice las modificaciones que se le solicitan al ejemplo 1 2. Realice una aplicacin para un maestro de Biologa el cual quiere registrar las 4 notas de periodo de su materia y calcular el promedio. Para ello ingresar el nombre del alumno y sus 4 notas (20%, 30%, 15% y 35% respectivamente) Deber tener un DatagridView donde se almacenen todos los datos de los alumnos. Adems el profesor quiere ver el cuadro de honor, muestre el 1er, 2do y 3er lugar en notas con nombre y promedio. Y por ltimo muestre el promedio general y un listado con los alumnos por debajo del promedio general

VI. Bibliografa Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), Espaa. Editorial Anaya Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), Mexico, Editorial ALFAOMEGA, ISBN: 9701512189

You might also like