Vous êtes sur la page 1sur 27

VISUAL BASIC 6.

0
QUINTA CLASE

1
CONTENIDO
2

Modularizacin.
Los procedimientos.
Procedimientos Sub y Procedimientos Function.
Los parmetros y los argumentos.
Llamadas a procedimientos.
Pasar argumentos.
Por valor.
Por referencia.
Las funciones.
Llamadas a funciones.
Valor devuelto.
2
La solucin del problema

Es necesario dividir el problema en


subproblemas ms sencillos de resolver.
Mtodo de divisin de un problema en
otros subproblemas ms sencillos,
denominado diseo descendente.
El proceso de descomponer el problema
principal en etapas o subproblemas ms
sencillos se denomina refinamiento
paso a paso o sucesivos.
3
Anlisis del problema

El
clculo del rea del rectngulo se
puede dividir en:
Entrada de datos (altura, base).
Proceso el clculo del rea = base x
altura.
Salida de datos (Area).

4
Problema de
clculo del rea
del rectngulo

Entrada de Datos Salida de


Clculo de rea
Resultados

Base Altura Area = Base x Altura Area

5
MODULARIZACIN
Descomposicin de un programa en
subprogramas concisos e individuales.
Cada uno representa una parte bien
definida del problema total.
Puede ser definido una vez y llamado luego
desde varios puntos diferentes del
programa.
Cada vez que el mdulo sea invocado podr
procesar u conjunto diferente de datos.
Ventajas:
Reduce la longitud de un programa.
Otorga claridad lgica.
Evita programacin repetida del mismo conjunto
de instrucciones. 6
SUBPROGRAMAS
Una porcin del cdigo dentro de un programa
ms grande.
Son rutinas, procedimientos o conjuntos de
instrucciones que realizan una labor especfica.
En VB 6 son Procedimientos.
Los procedimientos de suceso: asociados a un
evento.
Son locales al formulario que los contiene.
Responden a eventos provocados por el
usuario o desencadenados por el sistema.

7
VENTAJAS

Ahorra tiempo de desarrollo.


Disminuye el tamao de los programas.
Aumenta la claridad en la lectura de los programas.
Disminuye la posibilidad de error.
Facilita la reutilizacin del cdigo en otros
programas.

8
PROCEDIMIENTOS GENERALES
No son similares a un procedimiento de suceso, no
estn asociados con un suceso.
Se invocan desde otros procedimientos a partir del
nombre que se le asigna.
Cuando se invocan, el control se transfiere al comienzo
del procedimiento.
Cuando finalizan, el control se transfiere a la siguiente
instruccin que transfiri.
En VB son Procedimientos Function y Procedimientos
Sub.

9
Procedimientos Sub y Function
Procedimiento Procedimiento Sub:
Function: Son invocados por su
nombre.
Son invocados por su
nombre. Pueden recibir
Pueden recibir argumentos.
argumentos. No devuelven un
Devuelven un valor valor cuando
cuando devuelven el devuelven el control.
control. Se suelen utilizar
Se suelen utilizar para para recibir o
llevar a cabo clculos. procesar entradas,
mostrar las salidas o
definir propiedades.
10
PROCEDIMIENTOS SUB
Se ejecutan las instrucciones entre las sentencias: Sub y End Sub.
El control no vuelve al programa de llamada hasta que se ejecuta una
instruccin End Sub.
Exit Sub para salir antes.

Sub Seleccion(Cuadro As TextBox)


Cuadro.SelStart = 0
Cuadro.SelLength = Len(Cuadro.Text)
End Sub

11

11
Llamadas a procedimientos Sub
Escribiendo el nombre del procedimiento en el lugar
donde queremos que se ejecute.
Private Sub Command1_Click()
ProcedimientoBorrar(objeto)
End Sub

Si el procedimiento contiene parmetros stos debern


ser pasados entre parntesis.
Otra forma: la instruccin Call con el nombre del
procedimiento.
Private Sub Command1_Click()
Call ProcedimientoBorrar objeto
End Sub
12

12
Parmetros y argumentos

Los parmetros permiten intercambiar


informacin entre un procedimiento y su
punto de referencia.
Se utilizan para que el procedimiento
pueda variar.
Los datos que se transfieren pueden ser
variables, constantes y expresiones.
El procedimiento define un parmetro, y
el cdigo de llamada transfiere un
argumento a dicho parmetro.

13

13
Parmetros
Los parmetros son variables locales al procedimiento.
La declaracin del procedimiento define sus
parmetros.
La lista de parmetros entre parntesis,
inmediatamente despus del nombre del
procedimiento.
Representan un valor que el procedimiento espera que
se transfiera.

14

14
Declaracin de parmetros
Se declaran igual que las variables especificando:
un nombre, un tipo de datos y un mecanismo para
pasar argumentos (ByVal o ByRef)
Por defecto son del tipo Variant.
Tambin se puede indicar un parmetro opcional.

Private Sub DatosPersonales(nombre As String,


edad As Integer, ciudad As String)
lblNombre = nombre
lblEdad = edad
lblCiudad = ciudad
End Sub
15

15
Ejemplo de parmetro opcional
Private Sub DatosPersonales(Nombre As String, Edad As Integer,
Ciudad As String)
Label1 = Nombre
Label2 = Edad
definicin Label3 = Ciudad
End Sub

Private Sub Command1_Click()


DatosPersonales Luciano, 25
llamada End Sub

16

16
Instruccin Optional
Permite pasar parmetros de forma opcional.
Sintaxis de los parmetros:

[Optional] [ByVal | ByRef] nombreparametro As tipo_dato

Private Sub DatosPersonales(Nombre As String, _


Edad As Integer, Optional Ciudad As String)
Label1 = Nombre
Label2 = Edad
End Function
17

17
Argumentos
Valor que se transfiere a un parmetro del
procedimiento cuando llama al procedimiento.
Lista de argumentos entre parntesis
inmediatamente despus del nombre del
procedimiento.
Cada argumento se corresponde con el parmetro
situado en la misma posicin de la lista.
Tipo de datos del argumento debe coincidir con el
tipo de datos definido para el parmetro.

18

18
Sub AadirNombre(persona$)
If persona$<> then
Form1.List1.AddItem persona$
Else
MsgBox Nombre no especificado
End if
End Sub
Private Sub Command1_Click()
Call AadirNombre(nom)
End Sub

Lista Nombres Multiplica


19
Procedimiento Function
Instrucciones localizadas entre Function y End
Function.
Function NombreFuncin([parametros]) [As Tipo]
<Instrucciones>
End Function

El control no vuelve al programa de llamada


hasta que se ejecuta una instruccin End
Function o Exit Function.
Tipo de funcin [As Tipo] especifica el tipo
de dato que devuelve.
Por defecto es Variant. 20

20
Llamada a una funcin

Para ejecutar o llamar una funcin:


Nombre([argumentos])
Incluir los parntesis aunque no tenga argumentos.
Argumentos: variables o expresiones que se pasan a la
funcin. Se separan con coma.
Nmero y tipo de argumentos deben coincidir con nmero y
tipo de parmetros de la funcin.
Se utiliza su nombre en una expresin:
lblImpuestos.Caption = ImpuesTotales(5000)
Igual que a un procedimiento Sub: Call.
Call ImpuesTotales(5000)
Booleana
21

Sin Funcin Con funcin 21


Valor devuelto en el nombre de la
funcin
Function QuComer (DaSemana As String, Hora
As Integer) As String
'Devuelve el men del almuerzo basndose en el
da y la hora.
If DaSemana = "Viernes" then
QuComer = "Pescado
Else
QuComer = "Pollo
End If
If Hora > 4 Then QuComer = "Demasiado tarde
End Function
Comidas
22

22
Por valor: se enva una copia de la variable.
Cualquier cambio realizado en el
procedimiento no afecta a la variable
original.
Por referencia: se enva la direccin de
memoria (puntero a la variable original).
Cualquier cambio dentro de la rutina
afecta la variable original.
Por defecto se pasa por referencia.

23

23
Pasaje por referencia.
Ejemplo
Definicin del procedimiento
Sub PrecioMasInteres(Precio, Total)
Precio = Precio + 1.10 incrementa un 10%
Total = Int(Precio)
End Sub

Precio = 100 : Total = 0


Llamada al procedimiento
PrecioMasInteres Precio, Total
Print Precio, Total valores modificados

24
ByVal o ByRef
En VB se usa ByVal para indicar por valor.

Sub Muestra(ByVal Altura As Single, Base As Single)

En VB se usa ByRef para indicar por


referencia.

Sub Muestra(ByRef Altura As Single, Base As Single)

Por referencia
25

25
Variables globales y locales
mbito de una variable: regin donde se encuentra declarada.
En Declaraciones Generales: Globales.
Pueden ser utilizadas interiormente o exteriormente.
Internamente o localmente: Locales.
No pueden ser utilizadas exteriormente.
Usar variables globales o locales depende del la necesidad del programa.
Puede utilizarse el mismo identificador para representar entidades
diferentes en parte diferentes.

26

26
Locales:
Dim: accesibles dentro del procedimiento.
Globales a nivel de mdulo (cdigo fuera de un
procedimiento):
Private o Dim: accesibles dentro del mdulo.
Dim factor As Integer
Function Factorial(ByVal numero As Integer)
Dim producto As Integer
If numero <= 1 Then Factorial = 1
Else
producto= 1
For factor = 2 To numero
producto = producto * factor
Next
Calculo Factorial = producto
End If
27
End Sub
27

Vous aimerez peut-être aussi