jueves, 14 de febrero de 2013

 Procedimientos

Un procedimiento representa la definición o declaración de un objeto. Los procedimientos se
encuentran dentro de los módulos, y contienen el conjunto de instrucciones que se ejecutan cuando
el usuario realiza algún evento sobre el objeto, o cuando estos son llamados por su nombre. Un
procedimiento viene representado por un nombre, los argumentos (constantes, variables o
expresiones) y el código que compone el cuerpo del procedimiento. Algunos procedimientos sólo
vienen representados con un nombre, es decir, sin argumentos, y otros vienen representados con el
nombre del procedimiento, los argumentos y el nombre del evento que activa dicho objeto.
Para definir un procedimiento, se utiliza la palabra clave Sub, seguida del nombre del
procedimiento y los argumentos (si el procedimiento lo requiere), así como el alcance del
procedimiento. Cuando hablamos del alcance del procedimiento, nos estamos refiriendo a la
posibilidad de llamar un procedimiento desde otros módulos de la misma aplicación, principalmente
desde otros formularios.
El alcance de un procedimiento puede ser declarado de dos formas: privado ó público. Privado
cuando el procedimiento puede ser utilizado en un mismo modulo (formulario), es decir, sólo los
procedimientos dentro del mismo módulo pueden invocar dicho procedimiento. Para declarar un
procedimiento como privado se utiliza la palabra clave Private.
El alcance de un procedimiento declarado como Público es mucho más amplio. Un procedimiento
público puede ser invocado desde otros módulos o formularios que se encuentren en la misma
aplicación. Este segundo método de declaración es muy importante cuando un procedimiento es
utilizado con mucha frecuencia en una aplicación. Para declarar un procedimiento como privado se
utiliza la palabra clave Public.
En resumen, la representación o formato de un procedimiento seria el siguiente:
1) Private Sub ó Public Sub [Nombre_del_procedimiento] (argumentos)
End Sub
2) Private Sub ó Public Sub [Nombre_del_procedimiento]_[Evento] (argumentos)
End Sub
3) Private Sub ó Public Sub [Nombre_del_procedimiento]_[Evento]
End Sub
4) Sub [Nombre_del_procedimiento] ( )
End Sub
En algunos procedimientos se omite su alcance como lo es en el ejemplo 4. Cuando se omite el
alcance del procedimiento, entonces, Visual Basic lo interpreta como Privado (Private).
Se ha dicho anteriormente que todo objeto o tipo de control viene representado por un
procedimiento, y que cada procedimiento posee códigos que se ejecutan cuando el usuario realiza
una acción (evento) sobre el objeto. Por ejemplo, el evento Click de un botón de comando vendría
representado de la siguiente manera:
10
Ing. Carlos Manuel Rodríguez Bucarelly
Visual Basic 6.0
Capítulo 1
Introducción a la programación orientada a objetos
Private Sub Command1_Click ( )
End ‘La sentencia End se utiliza para salir de la aplicación.
End Sub
Las especificaciones anteriores muestran un procedimiento que representa el evento Click de un
botón de comando. Como explicamos anteriormente, la sentencia Private Sub indica que el
procedimiento es Privado, y que sólo puede ser utilizado en un mismo módulo. Command1
especifica el nombre del objeto o control, en este caso el nombre por defecto del botón de
comando. El carácter underscore o subrayado (_), se utiliza para separar el nombre del objeto y el
nombre del evento. El término Click indica el nombre del evento, que especifica que la acción de
ese procedimiento se ejecutará cuando el usuario haga click sobre el botón. Los paréntesis ( ) se
utilizan para separar los argumentos del nombre del objeto y el nombre del evento; en este caso, el
procedimiento anterior no posee ningún argumento.
La sentencia End se utiliza para salir de la aplicación y en este caso es el cuerpo del procedimiento.
La sentencia End cierra todos los formularios abiertos sin importar la acción que se este realizando
sobre ellos. End Sub indica el fin del procedimiento, es decir, donde finaliza la codificación.
Otro ejemplo de un procedimiento sería el evento KeyPress de una caja de texto (TextBox):
Private Sub Text1_KeyPress (KeyAscii As Integer)
End Sub
El término KeyPress es un evento que ocurre cuando el usuario presiona y suelta una tecla sobre
la caja de texto. Este evento puede ser muy útil a la hora de programar una caja de texto, debido a
que permite obtener el valor numérico de una tecla pulsada sobre la caja.
Se puede observar en este procedimiento, que existen algunas especificaciones dentro de los
paréntesis, que en este caso son los argumentos del evento KeyPress. El término KeyAscii es
una variable de tipo entero que almacena el valor ANSI de la tecla presionada. Los valores ANSI
son Juegos de caracteres de 8 bits del Instituto Americano de Normas Nacionales (ANSI), usado
por Microsoft Windows, que permite representar hasta 256 caracteres (0–255) con el teclado. As
Integer declara la variable KeyAscii como tipo entero, es decir, como un número sin punto decimal.
- 1.4.6 Eventos
Ya se ha dicho que las acciones que realiza el usuario sobre un objeto se llaman eventos. Son
eventos típicos: hacer clic sobre un botón (evento Click), hacer doble clic sobre un fichero (evento
DblClick), arrastrar un icono (evento DragOver), pulsar una tecla o una combinación de teclas
(evento KeyPress), escribir en una caja de texto (evento Change), o simplemente desplazar el
puntero del Mouse sobre un objeto (evento MouseMove).
Los eventos vienen especificados junto con el procedimiento del objeto, separado por el carácter
underscore o subrayado (_), como vimos anteriormente en las declaraciones de procedimientos.
En Visual Basic 6.0, existe un sin número de eventos que estudiaremos más adelante, en la
definición de cada uno de los controles de Visual Basic 6.0. La siguiente tabla muestra los eventos
más comunes de los controles de Visual Basic 6.0.
11
Ing. Carlos Manuel Rodríguez Bucarelly
Visual Basic 6.0
Capítulo 1
Introducción a la programación orientada a objetos
Evento Descripción
Click Ocurre cuando el usuario presiona y suelta un botón del mouse sobre un objeto.
DblClick Ocurre cuando el usuario presiona y suelta dos veces un botón del mouse sobre un
objeto.
DragDrop Ocurre como resultado de arrastrar y soltar con el mouse un control sobre un
determinado tipo de objeto.
DragOver Ocurre cuando una operación de arrastrar y colocar está en curso. Puede usar este
evento para controlar el puntero del mouse a medida que entra, sale o descansa
directamente sobre un destino válido.
GotFocus Ocurre cuando un objeto recibe el { CONTROL Internet.HHCtrl.1 }{ HYPERLINK
"JavaScript:alink_4.Click()" }, ya sea mediante una acción del usuario, como tabular
o hacer clic en el objeto, o cambiando el enfoque en el código mediante el método
SetFocus.
LostFocus A diferencia del evento anterior, este evento ocurre cuando el objeto pierde el
enfoque, ya sea mediante tabulaciones o hacer clic sobre otro objeto.
KeyDown Ocurre cuando el usuario mantiene presionada una tecla.
KeyUp Ocurre cuando el usuario termina la operación de pulsar una tecla. Se podría decir,
que este evento ocurre precisamente al terminar el evento KeyDown.
KeyPress Ocurre como resultado de presionar y soltar una tecla.
MouseDown Ocurre cuando el usuario presiona un botón del mouse, pero a diferencia del evento
MouseDown, permite identificar cuales de los tres botones del mouse fue
presionado y las combinaciones de tecla ALT, MAYÚS y CTRL.
MouseUp El evento MouseUp se produce cuando el usuario suelta el botón del mouse.
MouseUp es un compañero útil a los eventos MouseDown y MouseMove.
MouseMove Este evento ocurre mientras el usuario mueve o desplaza el puntero del mouse
sobre un objeto.
Tabla 1.2 Eventos más comunes de los controles de Visual Basic 6.0.
Más adelante, veremos cómo utilizar cada uno de estos eventos y cómo se comportan ante algunas
situaciones.
- 1.4.7 Métodos
Los métodos son funciones que también son llamadas desde el programa, pero a diferencia de los
procedimientos no son codificados por el programador. Los métodos, son llamados desde código
en Visual Basic de la misma manera como se hace referencia a una propiedad del control. Cada
tipo de objeto o control poseen sus propios métodos, aunque algunos tipos objetos tienen métodos
comunes.
Los formularios en Visual Basic poseen un método llamado Hide, que permite ocultar el formulario y
otro método llamado Show, que permite mostrar el formulario después de haber sido ocultado. Un
ejemplo de cómo hacer referencia a uno de estos métodos sería el siguiente:
- Para ocultar el formulario: Form1.Hide

4 comentarios: