Visual Basic. Procedimientos Sub. Funciones Function. Parámetros. Programas Con módulos.
Enviado por thonny_o1 • 17 de Mayo de 2015 • 1.611 Palabras (7 Páginas) • 373 Visitas
Resumen: Entrega nº37 del curso Aprender a programar en Visual Basic desde cero.
Codificación aprenderaprogramar.com: CU00338A
PROGRAMACIÓN DE MÓDULOS. TIPOS: PROCEDIMIENTOS SUB, FUNCIONES FUNCTION.
Visual Basic, como no podía ser de otra manera, está orientado a la programación modular. Ya hemos comentado que puede haber cierta confusión terminológica: el concepto de módulo que hemos usado en cursos de bases de programación de aprenderaprogramar.com no coincide con el concepto de módulo en la terminología de Visual Basic. Vamos a hacer una clasificación libre tratando de conectar el Visual Basic con el desarrollo que hemos realizado en otros cursos.
Visual Basic
DESCRIPCIÓN
Terminología de Visual Basic
Formulario: ventana de formulario, objetos sobre el formulario, código
Módulo de formulario (fichero *.frm ó *.vb, según versiones)
Código de declaraciones y definiciones de procedimientos, tipos y datos con carácter público para otros módulos
Módulo estándar (fichero *.bas ó *.vb, según versiones)
Código de definición de una clase de objeto
Módulo de clase (Fichero *.cls ó *.vb, según versiones)
Módulo de código que se ejecuta cuando tiene lugar un evento determinado
Procedimiento conducido por eventos (Sub)
Módulo de código que se ejecuta cuando es llamado desde algún punto del programa
Procedimientos generales (Sub)
Módulo de código que se ejecuta cuando es llamado desde algún punto del programa y devuelve un valor
Procedimiento función (Function)
Dado que el código contenido en un módulo estándar de Visual Basic es accesible desde distintos formularios del programa, será ventajoso colocar en este módulo todo lo que queramos disponer como "código compartido".
Buscando analogías con el desarrollo que hacemos en los cursos de pseudocódigo de aprenderaprogramar.com, usaremos el evento que se produce cuando ordenamos la ejecución de nuestros programas (carga del formulario o Form_Load) para disponer en él el código del "algoritmo principal" o guía del programa y el resto del código irá ordenado en procedimientos conducidos por eventos, procedimientos generales ó procedimientos función.
Habíamos dicho que un módulo no se ejecuta hasta que es llamado a ejecutarse desde el algoritmo principal de acuerdo con la sintaxis de pseudocódigo:
Llamar [Nombre del Módulo]
Sin embargo con programación guiada por eventos esto es sólo parcialmente cierto: un módulo puede ejecutarse por ser llamado desde algún punto del código pero también sin ser llamado desde el código, cuando tiene lugar un determinado evento.
La declaración de un procedimiento general se realizará mediante la sintaxis:
[Carácter Público o Privado] Sub [Nombre del procedimiento]([Parámetros])
EJEMPLO
Private Sub Calcular()
Todo procedimiento tiene un final indicado mediante End Sub, aunque se puede provocar una salida forzada usando la expresión Exit Sub.
El carácter público o privado se establece mediante las palabras clave Public o Private, que dan lugar a que dicho procedimiento pueda invocarse o no desde otros módulos. Sub indica que se está declarando un procedimiento Sub con un nombre determinado, y los paréntesis están destinados a contener parámetros requeridos por el procedimiento para ser invocado. El paso de parámetros lo veremos más adelante, por lo que consideraremos de momento procedimientos sin parámetro (paréntesis vacíos).
La declaración de un procedimiento conducido por eventos la realizaremos usando las listas desplegables de objetos y eventos que vimos cuando hablamos de botones (Buttons o Command Buttons). De esta manera, al seleccionar un objeto y un evento automáticamente nos aparecerá un código del tipo (según versiones habrá diferencias):
Código (versiones VB menos recientes) Código (versiones VB más recientes)
Private Sub Text1_Change()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
Este es un procedimiento conducido por eventos que se invoca cuando el texto contenido en el TextBox cambia. No prestaremos atención de momento a los parámetros que puedan aparecer automáticamente.
La declaración de una función se realizará mediante la sintaxis:
[Carácter Público o Privado] Function [Nombre de la función]([Parámetros]) As [Tipo de dato]
EJEMPLO
Private Function Hipotenusa() As Single
·
·
·
End Function
Como hemos dicho, una función devuelve un valor, de ahí que especifiquemos un tipo de dato para ella. En caso de no especificarse, el tipo será Variant u Object (dependiendo de la versión) por defecto.
El
...