Sie sind auf Seite 1von 7

MATERIAL DE APOYO SOCIALIZACIN 5

MODULARIDAD.
Leer el tema pg. 64-69
Los mdulos son archivos especiales cuya extensin de nombre de archivos es
.vb, y contienen declaraciones de variables y procedimientos que se pueden
utilizar en cualquier lugar del programa.
Al igual que los formularios, los mdulos se listan de forma separada dentro
del explorador de soluciones, y pueden guardarse en el disco empleando el
comando Guardar NombredeModulo.vb como del men Archivo (El
NombredeModulo.vb debe coincidir con el nombre del proyecto). A diferencia
de los formularios, los mdulos slo contienen cdigo y no cuentan con una
interfaz de usuario. A pesar de que los mdulos tienen algunas similitudes con
las clases, la diferencia de stas, es porque en aquel instante no estaban
orientadas a objetos, ni tampoco, definan estructura, ni caractersticas de
objetos, y no pueden heredar.
Los mdulos slo contienen cdigo y no cuentan con una interfaz de usuario.
Crear un mdulo:
Barra de herramientas Estndar clic en agregar nuevo elemento o del men
Proyecto escoger la plantilla Mdulo y especificar el nombre de dicho
elemento.
Procedimiento es un bloque de instrucciones de visual Basic delimitado por una
instruccin de declaracin y una instruccin End.
Hay dos ventajas principales cuando se programa con procedimientos:
1. Los procedimientos permiten dividir los programas en unidades lgicas
discretas, cada una de las cuales se puede depurar ms fcilmente que un
programa entero sin procedimientos.
2. Los procedimientos que se utilizan en un programa pueden actuar como
bloques de construccin de otros programas, normalmente con pocas o
ninguna modificacin. (Reutilizacin de cdigo)
En Visual Basic se utilizan varios tipos de procedimientos:
Procedimientos Sub que no devuelven un valor.
Procedimientos Function que devuelven un valor.
Procedimientos Property que pueden devolver y asignar valores, as como
establecer referencias a objetos.
Procedimientos Sub
Un procedimiento Sub es un bloque de cdigo que se ejecuta como respuesta a
un evento. Al dividir el cdigo de un mdulo en procedimientos Sub, es ms
sencillo encontrar o modificar el cdigo de la aplicacin.
La sintaxis de un procedimiento Sub es la siguiente:
[Accesibilidad] Sub Nombre Procedimiento [(Lista de argumentos)]
1

instrucciones
End Sub
Accesibilidad puede ser: Public, protected, friend, private.
Los procedimientos por defecto son public, es decir, se les puede llamar desde
cualquier parte de una aplicacin.
Resulta muy til en Visual Basic distinguir entre dos tipos de procedimientos
Sub:
1. Procedimientos generales
2. Procedimientos de evento.
Un procedimiento general indica a la aplicacin cmo realizar una tarea
especfica y se le debe llamar especficamente desde la aplicacin.
Por el contrario, un procedimiento de evento permanece inactivo hasta que se
le llama para responder a eventos provocados por el usuario o desencadenados
por el sistema
Es una buena estrategia de programacin colocar las instrucciones comunes en
un procedimiento distinto (un procedimiento general) y hacer que los
procedimientos de evento lo llamen.
Esto elimina la necesidad de duplicar cdigo y tambin hace que la aplicacin
sea ms fcil de mantener.
Cuando un objeto en Visual Basic reconoce que se ha producido un evento,
llama automticamente al procedimiento de evento utilizando el nombre
correspondiente al evento.
Como el nombre establece una asociacin entre el objeto y el cdigo, se dice
que los procedimientos de evento estn adjuntos a formularios y controles.
Un Procedimiento de Evento de un CONTROL combina el nombre real del
control (especificado en la propiedad Name), un carcter de subrayado (_)
y el nombre del evento. Por ejemplo, Button1_Click()
Un Procedimiento de Evento de un FORMULARIO combina la palabra
"Form", un carcter de subrayado y el nombre del evento. Por Ejemplo,
Form_Load()
Todos los procedimientos de evento utilizan la misma sintaxis general.
Sintaxis de un Evento de Control
Private Sub NombreControl_NombreEvento(Argumentos)
Instrucciones
End Sub
Sintaxis de un Evento de Formulario
Private Sub Form_NombreEvento (Argumentos)
Instrucciones
End Sub

Cuando se pasa una variable a un procedimiento, se llama


ARGUMENTO
Sub no devuelve nada.
Function devuelve un valor.
Si quiero varios valores, los devuelvo en un arreglo.
Las variables de un procedimiento de evento son locales a el. Las variables
fuera y arriba del cdigo del formulario son usadas en todo el formulario. No a
otros formularios.
Los procedimientos Sub pueden recibir argumentos y devolver valores
modificados dentro de una lista de argumentos. Sin embargo, a diferencia de
las funciones, no producen valores asociados con sus nombres de
procedimiento Sub en particular.
Funciones:
Una funcin es un procedimiento que cuando se ejecuta devuelve un resultado.
La diferencia fundamental con respecto a los procedimientos o subrutinas es
que estos, luego de ejecutar el cdigo que tengan en su interior, al final
retornan un valor, y este valor luego lo podemos utilizar para una determinada
tarea.
Generalmente, se llama a una funcin incluyendo el nombre y los argumentos
del procedimiento en la parte derecha de una instruccin o expresin
mayor:(valorRetorno = funcin()).
Sintaxis de Funciones:
Function nombre[ByVal parmetro1, ByVal parametro2, ] [As Tipo]
[Sentencias]
[nombre = expresin] o [Return (Valor retorno)]
EndFunction
Los argumentos por defecto son ByVal. Utilice la palabra clave ByVal para
indicar un argumento pasado por valor. Indican que una copia de los datos se
ha enviado a la funcin por medio de este argumento pero que ningn cambio
en los argumentos ser devuelto a la rutina que realiz la llamada.
Cuando se ejecuta Return, la funcin se abandona y si hay instrucciones
despus de ella no se realizarn.
Function Hipotenusa (A As Integer, B As Integer) As String
Hipotenusa = Sqr(A ^ 2 + B ^ 2)
End Function
Private Function Total(Valor1 As Integer, Valor2 As Integer) As Long
Total = Valor1 + Valor2
End Function
Pasar Argumentos a los procedimientos:
PASAR ARGUMENTOS POR VALOR(ByVal)
3

Slo se pasa una copia de la variable cuando se pasa un argumento por valor.
Si el procedimiento cambia el valor, el cambio afecta slo a la copia y no a la
variable propiamente dicha.Se enva una copia de la variable, y de esta
manera si se efecta un cambio en el procedimiento, solo tendr efecto dentro
del procedimiento o funcin, una vez que termine y finalice el mismo, la
variable original pasar a valer el dato que tena, es decir no se modifica.
Ejemplo:
Sub Cuentas (ByValintNumCuenta as Integer)
' Instrucciones.
End Sub
PASAR ARGUMENTOS POR REFERENCIA
Pasar argumentos por referencia le da al procedimiento acceso al contenido
real de la variable en su ubicacin de direccin de memoria.
Como resultado, el procedimiento al que se ha pasado el valor de la variable se
puede modificar de forma permanente.
En los parmetros enviados por Referencia, lo que se hace es enviar un
puntero de la variable original. Entonces, si en la funcin o procedimiento se
cambia el valor de la variable, el cambio seguir mantenindose una vez que
finalice la ejecucin del procedimiento o funcin.
La forma predeterminada de pasar valores en Visual Basic es por referencia, lo
cual significa que los cambios a argumentos dentro de un procedimiento no se
envan de vuelta a la rutinaque hizo la invocacin.
Ejemplo:
Sub ProcedimientoQueLlama ()
Dim intX As Integer
intX = 12 * 3
Foo(intX)
End Sub
Sub Foo(Bar As String)
MsgBox Bar 'El valor de Bar es la cadena "36".
End Sub
Visibilidad de las Variables:
Variable Local: Se declaran en los subprogramas y solo estn disponibles
durante el funcionamiento de un subprograma. Su valor se pierde una vez
que el subprograma termina.
4

Variable Global: Se declara en el programa principal. Est disponible en el


programa principal y en todos los subprogramas. Su valor se pierde una
vez que el programa principal termina.
EJEMPLO:
Un Ejemplo de una funcin es el clculo de la media de un arreglo:
Function fnMedia(ByVal x() As Integer) As Integer
Dim v as integer
Dim Suma As integer
Dim n As Integer
Dim i as Short
Calcular la media de los valores del arreglo
For i = LBound (x) To UBound(x)
Suma = Suma + v
n = n +1
Next
fnMedia = Suma / n valor que se devuelve
End Function
Private Sub Form2_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim a(1 To 3) As Integer
Asignar el valor al Arreglo
a(1) = 3: a(2) = 5: a(3) = 8
Media = fnMedia(a) Se pasa como argumento al arreglo
MsgBox ("La Media es:" & Media, vbInformation, "Valor de la Media")
End Sub
Este procedimiento define un arreglo denominado a y llama a la funcin
frMedia pasndola como argumento en dicho arreglo.
Declare en la Seccin General de Variables:
Media As Integer.
EJEMPLO (Hallar el mayor usando funciones)
Public Class Form1
Private Function mayor(ByVal num1 As Integer, ByVal num2 As Integer) As Integer
If num1 > num2 Then
mayor = num1
Else

mayor = num2
End If
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim x, y As Integer
x = CInt(TextBox1.Text)
y = CInt(TextBox2.Text)
Label4.Text = ("El mayor es: " & mayor(x, y))
End Sub
End Class

El mismo ejercicio pero con procedimientos:


Public Class Form1
Dim elmayor As Integer
Private Sub mayor(ByVal num1 As Integer, ByVal num2 As Integer, ByRef max As Integer)
If num1 > num2 Then
max = num1
Else
max = num2
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
Dim n1, n2 As Integer
elmayor = 0
n1 = CInt(TextBox1.Text)
n2 = CInt(TextBox2.Text)
mayor(n1, n2, elmayor)
Label3.Text = elmayor
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
End Sub
End Class

Das könnte Ihnen auch gefallen