Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Manual - Visual Basic - 6

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 55

Manual del Programador - Prof.

Freddy Hervias Vargas

1
ITAE

2
Manual del Programador - Prof. Freddy Hervias Vargas

Introducción

Esta guía esta destinado para aquellos que nunca han entrado en contacto con
este lenguaje de programación. Este tutorial está basado en la versión 6.0 de
visual basic, aunque con otras versiones no creo que tengas problemas.
Entrando en el tema, con este lenguaje de programación puedes realizar casi
cualquier tipo de programa para plataformas windows, esto quiere decir, que
puedes programar utilitarios para windows, bases de datos, aplicaciones comer-
ciales y de gestión, juegos, etc.. .

Sin embargo lo que no puedes desarrollar son por ejemplo: aplicaciones que
administren bases de datos gigantes, drivers para dispositivos , juegos que uti-
licen una interfaz gráfica compleja, ya que tendrías que utilizar otro entorno de
desarrollo o lenguaje , como por ejemplo el C, el C++, Delphi , .NET u otros, es
decir lenguajes que sean mas rápidos y que tengan soporte para este tipo de
proyectos y programas.

Breve historia y alcance del lenguaje

Las siglas Basic significan (beginner’s all-purpose simbolic instruction Codic). El


lenguaje Basic fue creado en el año 1964 y se modificó varias veces hasta que en
el año 1978 se estableció el Basic estándar. Este anteriormente se llamo “gwba-
sic”, luego “QuickBasic” y asi fue evolucionando y finalmente llegamos al “Visual
Basic”, todas con sus diferentes versiones, la 1, 2 , 6.0 hasta el Visual Studio y
Visual NET.

La interface del Vb - El IDE

El IDE significa interface de entorno de desarrollo, y se refiere a la interface del


propio programa, es decir a las distintas partes que componen el propio Visual
Basic para poder desarrollar nuestros proyectos (es el entorno de trabajo)

En esta parte, se describirá un pantallazo de las secciones principales de este en-


torno. Para inicializar el programa, luego de haberlo instalado obviamente, desde
el menú inicio > programas > microsoft visual basic 6.0, puedes crear un Acceso
directo en tu escritorio para tenerlo mas a mano.

3
ITAE

Puntero PictureBox

Label TexBox

Frame Comand Button

CheckBox OptionButton

ComboBox ListBox

HScrollBar VScrollBar

Timer DriverListBox

DirListBox FileListBox

Shape Line

Image Data

En la imagen superior podemos ver la barra de controles. Esta barra contiene los
controles estándar de Visual Basic. Se los llama estándar porque que son los con-
troles que por defecto añade Visual Basic cuando creamos un programa desde
0. A los controles no estándar, u otro tipo de controles, por ejemplo los creados
por nosotros, los que tengamos instalados en el sistema, y demás que se instalan
con el VB, hay que agregarlos a mano, es decir uno mismo, esto se hace desde el
Menú Componentes o presionando las combinaciones de tecla Ctrl+T. Cuando se
agrega un control no estándar, se añade a la barra y ya lo puedes utilizar.

Los controles estándar son los controles básicos, por ejemplo los Command
Button o botones de comando, Control TextBox o caja de texto, Picture Box o caja
de imagen. El control FileListBox para ver archivos, y varios otros que se explican
en los siguientes capítulos.

4
Manual del Programador - Prof. Freddy Hervias Vargas

La imagen, nos muestra los formularios (ven-


tanas) , módulos de código, y otros tipos de
objeto que componen el proyecto que esta-
mos realizando.

Desde esta ventana podemos hacer varias


operaciones, por ejemplo al seleccionar un
formulario, en los botones “Ver Objeto” y
“Ver código” en la parte superior, accedemos
a la vista de diseño del formulario, mientras
que si elegimos Ver código, se abre una ven-
tana que muestra el código de ese formulario
seleccionado.

También podemos desde esta ventana, Guardar el formulario, eliminarlo y varias


otras acciones.

Esta otra ventana acoplable que está debajo de la ventana de Proyecto, se llama
Ventana de propiedades de Visual Basic.

Desde la Ventana de Propiedades po-


demos modificar las características
del objeto o control seleccionado ac-
tualmente. Por ejemplo si agrego un
formulario y lo selecciono, puedo es-
tablecerle el color de fondo, el ancho,
alto, el nombre que va a tener para
poder identificarlo y muchas otras pro-
pieades.

Lo importante que quede claro es que


esta ventana cambia cada ves que
seleccionamos un objeto o control di-
ferente, si seleccionamos un botón o
Command Button, visualizará las pro-
piedades de ese botón, si selecciona-
mos un formulario las propiedades de
ese formulario, si seleccionamos un
TextBox, mostrará ls propiedades de
ese textBox , etc..

5
ITAE

Esta es la barra de menues y barra de herramientas de Visual Basic. Para no ha-


cerla pesada y describir todas las opciones ya que no tiene sentido describir todo,
desde aquí se puede configurar todo el entorno o IDE, elegir el tipo de proyecto
que vamos a crear, ( por ejemplo un programa Exe común , una Dll ActiveX o
un Proyecto Ocx), También Compilar el proyecto en un ejecutable, Acceder a la
ayuda, (tenés que tener instalados los CD del Msdn), Abrir un proyecto, Guardar,
El acceso a los distintos modos y opciones de depuración de errores, y muchas
opciones mas.

Formularios, propiedades, métodos y eventos

En esta parte se realizará un ejemplo simple que consistirá en una ventana o for-
mulario que contendrá un botón, y al presionar este botón nos mostrará o abrirá
otra ventana con un mensaje, como las que utiliza windows cuando nos informa
sobre algo . Este mensaje visualizará un texto con la descripción:

”Mi primer programa”

Pero antes de realizar este ejercicio veamos un par concep-


tos básicos necesarios

Formulario

Es la ventana o contenedor donde colocamos y agregamos


controles de comando, como un botón, una caja de texto,
un control de imagen, etc... Cuando hacemos un programa
podemos tener varios formularios. Por ejemplo podemos
tener un formulario1 con un botón y al presionar este botón
hacer aparecer otro formulario en este caso un formula-
rio2.

6
Manual del Programador - Prof. Freddy Hervias Vargas

Propiedades

Cuando hablamos de propiedades nos estamos refiriendo a las


características que puede tener un control u objeto, por ejemplo:
los botones llamados commandbutton tienen una propiedad lla-
mada caption. Esta propiedad establece el texto que va a mostrar
el botón en el propio botón.
Los formularios también poseen esta propiedad caption y muchos
otros controles también la poseen, pero no todos. Otro ejemplo de
una propiedad puede ser el color de fondo de un control, el ancho,
el alto, el nombre que lleva para poder identificarlos, etc.. .
En resumen las propiedades, haciendo una comparación, serían
como para las personas tener 2 brazos, 2 piernas, el color del
pelo, el color de los ojos, el nombre de la persona, donde vive, su
código postal, etc.

Los Eventos

Los controles y objetos poseen Eventos, pero no son todos iguales


para todos los controles. Ejemplos de eventos serian:
Para un botón: el evento click (cuando lo presionamos), para un
formulario: load (este evento se ejecuta cuando se carga el for-
mulario en la memoria), para un textbox o caja de texto: keypress
(este evento se dispara cuando presionamos una tecla y el foco
está puesto dentro de la caja de texto).

Los Métodos

Los métodos de un objeto son funciones propias que tiene cada


objeto. Por ejemplo los formularios poseen un método llamado
show , y lo que hace es cargarlo y hacerlo visible. Para un control
combobox este tiene un método llamado additem, y lo que hace
es agregar elementos en dicho control. Pero los métodos al igual
que las propiedades y eventos, no están presentes en todos los
controles de manera igual, es decir algunos objetos y controles
pueden compartirlos, pero otros no. Por ejemplo el método Show
de los formularios, no lo posee ningún control estándar excepto
los formularios.

7
ITAE

Pasos para realizar el ejemplo

1. Abre el Visual Basic y te aparecerá una ventana para que puedas elegir el tipo
de Proyecto o programa que querés realizar. Como verás hay muchas opciones,
nosotros elegiremos la opción Estándar EXE como muestra la imagen:

2 - Ya abierto el Visualo Basic puedes ver que tienes un formulario llamado


Form1, este es agregado automáticamente cuando comenzás un nuevo progra-
ma o proyecto, y es el nombre por defecto que se le asigna, obviamente esto se
puede cambiar utilizando la propiedad Name que poseen los controles.

3 - Como se dijo nuestro programa va a consistir en un formulario con un botón


que al presionarlo muestre un texto diciendo “Mi Primer programa”, entonces
agregá un botón a nuestro formulario. Para agregarlo lo puedess hacer desde
la barra de controles, en la parte izquierda del IDE, y buscá entre todos ellos un
control llamado Command Button (Botón de comando). Haciendo doble click so-
bre el control, o dibujandolo sobre el formulario.

4 - Como te darás cuenta, el texto que muestra el botón por defecto es “Com-
mand1”. Nosotros lo vamos a cambiar por “Mostrar mensaje”. Para ello tenemos
que cambiarle la propiedad Caption del botòn. Entonces seleccioná con un click
el command1 (serciorate que esté seleccionado, cuando al rededor del botòn
aparece unos puntos azules) y en la ventana de propiedades de los controles que
esta ubicada en la parte derecha del IDE, te mostrará las propiedades del control
que está seleccionado actualmente. En este caso como está seleccionado el bo-
tón solo nos mostrarà las propiedades del Command1. Ahora buscá en la lista de
propiedades la propiedad Caption y verás que dice Command1, borrala y escribe:
“Mostrar mensaje”. Como puedes ver el texto o leyenda del botón a cambiado.

8
Manual del Programador - Prof. Freddy Hervias Vargas

NOTA: Nosotros todavía no hemos ejecutado nuestro programa por que obviamente lo estamos
diseñando. A esto se lo denomina trabajar en “Tiempo de diseño”. La otra forma de tra
bajo se denomina “Tiempo de ejecución”, que es cuando nuestro programa está siendo
ejecutado o cargado en memoria.


Tendrías que tener algo por el estilo en tu formulario Form1

5. Ahora vamos a agregar las instrucciones o líneas de código para que cuando pulsés el botón se
despliegue un mensaje. Haces Doble click sobre el botòn y pudes ver que se habre una ventana
donde escribir el código. Esta se llama precisamente ventana de Código. Al abrirse la ventana
muestra una serie de instrucciones

Private Sub Command1_Click()


End Sub

A esto se lo llama Subrutina o procedimiento de código, y estas subrutinas tienen un comienzo


un fin. Después se explica mas adelante que es eso de Private sub, End Sub, procedimientos,
funciones...etc.
Por ahora lo que te tiene que quedar claro es que nosotros vamos a ingresar el còdigo necesario
para mostrar, por medio de una ventana, el mensaje “mi primer programa”.
Entre la declaración Private sub Command1_click y End sub escribe lo siguiente

Msgbox “Mi primer programa”

El código tendría que quedarte de la siguiente manera:

Private Sub Command1_click()


MsgBox “Mi primer programa”
End Sub

6. Lo que se hizo fue utilizar una función llamada MsgBox , que sirve para mostrar mensajes. Ya
podemos ejecutar o probar el ejemplo, para ello hay varias opciones y formas:

Desde la barra de herramientas y presionas la flecha azul


Ir al menú Ejecutar > opción Iniciar
La mas sencilla de todas que es presionando la tecla F5.
Cuando ejecutés el programa y presionés el Command1, se mostrará el men-
saje.
En este momento nuestro programa está en ejecución, para volver a la pan-
talla de vista de diseño y detener el programa, tenemos que presionar el
ícono con un cuadrado azul (stop) o ir al menú ejecutar y elegir la opción terminar.

9
ITAE

LOS FORMULARIOS

HFormularios , propiedades métodos y eventos

En esta sección se ven las características principales de los Formularios.


Como vimos en la página anterior, los formularios son las ventanas que contie-
nen a otros controles y en ellos podemos incluir controles de comando, como
botones, cajas de texto, controles para bases de datos, y por supuesto el código
necesario de nuestros programas.

También se dijo, los controles e inclusive los Formularios tienen sus propias ca-
racterísticas, como las propiedades (un ejemplo el color del fondo o propiedad
Backcolor), sus eventos (el evento load que se ejecuta cuando cargamos el for-
mulario en memoria), y sus métodos (por ejemplo el método show que es para
mostrar el formulario y el método hide que es para ocultarlo, en el caso de un
formulario.

Acá hay que hacer una cosa muy importante. Cuando se comienza a progra-
mar, suele ser muy casual confundir métodos y eventos y no son lo mismo. Los
métodos son funciones propias de cada objeto, por ejemplo el método hide de
un formulario no lo posee un command button. Con los eventos suele ocurrir lo
mismo. Un formulario posee el evento load y un command button no lo posee (a
no ser que pertenezca un arreglo de controles pero ese es otro tema que se verá
en otra ocación).

Pero otros eventos si los comparten ambos. Siguiendo el ejemplo del formulario y
el botón, los dos tienen un evento llamado click, y todas las instrucciones de có-
digo que escribamos en la rutina de código o procedimiento que estén bajo este
evento, se ejecutarán cuando hagamos un click con el mouse sobre el objeto. El
evento Click lo poseen la mayoría de los controles, pero no tiene porque ser así.

Para seguir con el tema de los métodos y eventos, vamos a hacer un ejemplo
simple de ejercicio. Este ejemplo, consistirá en un formulario que contendrá un
botón y , al presionarlo nos mostrará otro formulario.

10
Manual del Programador - Prof. Freddy Hervias Vargas

Ejemplo sobre métodos y eventos

Pasos a seguir para el ejemplo:

1. Comienzá un nuevo proyecto Exe. Por defecto visual basic te agrega un for-
mulario llamado Form1. este formulario contendrá el botón que al presionarlo
muestre otro formulario, en este caso un Form2.

2. Desde la barra de controles agregá un Commandbutton al formulario. Por


defecto el texto que muestra es Command1 , nosotros lo cambiaremos por :
“Mostrar formulario 2”.

Ahora selecciona el botón para que te muestre la lista de propiedades del mis-
mo. Por si ya te olvidaste, la ventana de propiedades está a la derecha y te
muestra las propiedades del objeto seleccionado actualmente en el entorno
de trabajo del vb. Una ves seleccionado el botón, buscá la propiedad caption
y escribí : mostrar formulario 2

3. Ahora hay que agregar el otro formulario es decir el Form2 a nuestro proyecto.
Como en la barra de controles no tienes la opción de agregar otros formu-
larios, tendrás que agregarlo desde la barra de menú >proyecto> Agregar
formulario.

Te va a aparecer un cuadro de diálogo y eliges la opción


formulario. Como puedes ver se ha agregado otro for-
mulario llamado form2, y la ventana del explorador de
proyectos ahora contiene 2 formularios.

4. Ahora tenemos que introducir el código en el command1 que insertamos en el


Form1, para que cuando ejecutemos el programa , al presionar el Command1
nos muestre el form2 que agregamos anteriormente. Para esto tienes que vol-
ver a ir al Form1, haciendo un click en la ventana de explorador de proyectos

y seleccioná el form1.

5 - Para ingresar el código al botón, hacé doble click en el mismo e ingresá la


siguiente instrucción de código: Form2.show.
La rutina de código del botón command1 te quedaría algo parecido a esto:

11
ITAE

Nota: Como seguro te diste cuenta, cuando escribes Form2 y


presionas el punto “.”, visual basic te muestra una lista
con todas las propiedades y métodos que tiene form2,
y así ocurre con todos los objetos que tienen propieda-
des y métodos. En este caso el método show mostrará
el Form2 en pantalla, es decir el método Show lo que
hace es cargar en la memoria un formulario y automá-
ticamente lo hace visible.

6. Corre el programa pulsando la tecla F5 para ver como funciona. Para termi-
narlo pulsa el ícono con la imagen de un cuadrado azul desde la barra de
herramientas.

Otro ejemplo sobre formularios

Ahora vamos a hacer un programa de ejemplo parecido al anterior, pero con al-
gunas variantes.

En la primera parte, el programa que hicimos consistía en un formulario que


tenía un botón (Command1), y al presionarlo mostraba otro formulario . Este
lo llevamos a cabo con el método show que tienen los formularios y sirve para
mostrarlos en pantalla.
El objetivo de este programa es mostrar cuatro métodos que poseen los formu-
larios, ellos son: Load, Unload, Hide y Show.
El método Load tiene la función de cargar el formulario en la memoria y unload
descargarlo de la memoria. Esto no significa que si el método load carga el
formulario, automáticamente se muestre en la pantalla, quiere decir que solo
permanece cargado en memoria, luego para mostrarlo tendríamos que utilizar el

12
Manual del Programador - Prof. Freddy Hervias Vargas

método show por ejemplo.


El método Hide oculta el formulario pero sigue permaneciendo en la memoria.
Para descargarlo completamente de la memoria ram, tendríamos que usar el
método Unload.

Imagen previa del ejemplo:

Pasos a seguir

1. Crea un nuevo proyecto exe.


2. Desde la barra de controles agrega 4 command button.
3. Ahora selecciona el Command1 y en la propiedad caption borrale el “com-
mand1” y escribe “Cargar formulario en memoria (Load)”.
A hora lo mismo pero en el command2 desde la propiedad caption escribí
“Mostrar formulario 2 (Show)”.
En el Command3 “Descargar formulario de la memoria (UnLoad)”
En el Command4 , “Ocultar formulario (Hide)”.
4. Ya terminando, ubicá los botones en el formulario de forma similar, como
muestra la imagen anterior.
Para mover los botones o cualquier otro objeto dentro de un formulario,
solo tenés que seleccionar el objeto que quieras, mantener presionado
el botón izquierdo del mouse y soltarlo en el lugar que quieras. lo mismo
pasa con el tamaño de los controles, cuando los seleccionas podés cam-
biarle el tamaño.
5. Ahora vamos a escribir el código para los botones. Por si ya te olvi-
daste lo que íbamos a hacer, lo que harán estos botones son: E l
Command1 Cagar en la memoria mediante Load el Formulario pero no lo
hace visible.
El Command2 hace las 2 cosas al mismo tiempo, es decir lo carga y lo
hace visible.
El Command3 Descarga completamente el Formulario de memoria
El Command4, mediante Hide lo oculta, aunque esté oculto sigue perma-
neciendo cargado.

13
ITAE

En el Command1 entonces, hacé doble click en dicho botón y tipea: Load


Form2.
Para el Command2 que mostrará el Form2: Form2.show.
El botón Command3: Unload form2
El Command4: Form2.hide .

6. El último paso que nos queda para poder correr nuestro programa es ingre-
sar un nuevo formulario, entonces desde el menú proyecto eliges la opción
agregar formulario y agregas uno nuevo al proyecto.

Ahora pulsá F5 y prueba el programa.

Nota :
Seguro que te preguntarás para que sirve el método Load,
si para que aparezca en pantalla el Form2 tengo que usar la
instrucción show. Supongamos que tenemos un programa
con varios formularios y que estos tienen muchos controles
y es medio “pesado” (me refiero en bytes), entonces a ve-
ces conviene cargar dichos formularios en la memoria, para
que cuando necesitamos llamarlos o mostrarlos en pantalla,
estos se muestren de forma mas rápida. Esta es una de las
posibilidades del uso no es la única.

El código completo sería el siguiente:

‘Carga el form2 pero no lo ‘Descarga completamente de


muestra la memoria el Form2
Private Sub command1_click() Private Sub command3_
Load Form2 click()
End Sub Unload Form2
End Sub
‘Carga y muestra el Form2 ‘lo oculta pero no descarga el
Private Sub command2_click() Form2 de la memoria
Form2.Show Private Sub command4_
End Sub click()
Form2.Hide
End Sub

14
Manual del Programador - Prof. Freddy Hervias Vargas

Variables y Tipos de datos

Todos los lenguajes utilizan este sistema o metodología para la programación de aplica-
ciones,
pero varían la forma en que se utilizan, su sintaxis etc...

Cuando uno recién empieza a programar, parece muy complicado entender estos temas, pero con
la práctica todo se va aclarando.
Lo bueno de comprender los fundamentos de la programación, es que nos permite luego po-
der programar en casi cualquier lenguaje, por que la forma de programar en general no varía
demasiado, lo que cambia en cada uno de ellos es su sintaxis y funciones y cosas propias del
lenguaje.

1. Las Variables

Las variables, como su nombre lo indica, se utilizan para almacenar valores que tienen la pro-
piedad de variar el contenido. Cuando hablamos de contenido nos referimos a cualquier tipo de
datos, por ejemplo un nombre, una fecha, un color, un número etc... .

A las variables se les asigna un nombre para poder utilizarlas. Por ejemplo puedo crear una varia-
ble llamada fecha y esta almacenará una fecha. A los nombres de las variables se los denomina
identificadores. Cuando creamos variables, tenemos que tratar de asignarles un nombre que se
relacione con el tipo de dato que queremos almacenar. Por ejemplo no tendría mucho sentido
crear una variable llamada m y allí guardar o almacenar un nombre o un apellido, por que cuan-
do echemos vista al código resultaría mas difícil deducir que tipo de dato estoy guardando. Por
ejemplo en este último caso sería mucho mas lógico crear una variable llamada “nombres” y allí
guardar “Luciano”, “Pedro”, “Natalia” etc..

En visual basic a las variables conviene declararlas, o sea, avisarle a vb que vamos a utilizar dichas
variables. A estas se las declara en el comienzo del código y se les antepone la palabra reserva-
da Dim, luego el nombre que nosotros queramos y seguido el tipo de dato que almacenará, por
ejemplo si quiero almacenar en una variable llamada Numero

Dim numero As Integer

La palabra Integer le avisa a vsiaual basic que voy a guardar un número entero. Después de de-
clararla le podemos asignar un valor con el operador “=”, ejemplo:

Dim numero As Integer


numero = 1500

Pero hay que tener en cuenta que al declarar una variable, en este caso, de tipo integer, no po-
dríamos almacenar en ella una cadena de caracteres como por ejemplo un nombre o cualquier
otro tipo de datos que no sea un número entero. Si sucedería esto nuestro programa daría un
error en tiempo de ejecución, mostrándonos un feo cartel diciéndoos que no coinciden los tipos
de datos..

15
ITAE

2. Tipos de datos:

Los tipos de datos, indican el tipo de valor que puede almacenar una variable. Los principales
tipos de datos:

Números enteros: dentro de los números enteros tenemos varios tipos de datos de-
pendiendo el rango que queramos utilizar:

Byte: puede almacenar números enteros dentro del rango desde 0 a 255
Integer: puede almacenar números enteros dentro del rango -32.768 a
32.767
Long: puede almacenar números enteros dentro del rango -2.147.483.648
hasta 2.147.483.648

Números decimales: para almacenar números decimales contamos con los siguien-
tes tipos de datos:

Single: almacena números decimales en el rango +/- 1e-45 hasta 3e38


Double: desde +/- 5e-324 hasta 1.8e308

Cadenas de caracteres: las cadenas de caracteres se definen con la palabra String y


tienen un rango de hasta 2 billones de caracteres.
Tipos de valores lógicos: para almacenar tipos de valores lógicos como verdadero
o falso, se utiliza la palabra Boolean y sus 2 posibles valores son True (verdadero) y
False (falso).
Fechas y horas: Para almacenar fechas y horas se utiliza la palabra Date
Tipo variant: Las variables de este tipo pueden almacenar cualquier tipo de valor, pero
ocupan mas memoria.

Nota: hay mas tipos de datos, incluso nosotros podemos crear los nuestros.

3. Constantes

Las constentes, como las variables, se utilizan para guardar datos y valores para nuestro progra-
ma, pero a diferencia de estas últimas (las variables), el contenido que almacenen no cambia,
siempre es constante.
A diferencia de las variables que se declaran con la palabra Dim, las Constantes se declaran con
la palabra Const.

Ejemplo:

Const numero = 53

En la línea anterior he creado una constante, que la llamé numero y va a almacenar un número
, y este valor, cuando se ejecute mi programa se mantendrá invariable.

Un ejemplo:

1. En la siguiente línea se declaran 2 tipos de variables de tipo Integer llamadas num1 y num2.
Luego se les asigna un valor a cada una y luego las sumamos, y mediante la función MsgBox
que es una función de Visual Basic para mostrar mensajes, mostramos el resultado de esa
suma.

16
Manual del Programador - Prof. Freddy Hervias Vargas

Coloca un botón (CommandButton) llamado Command1. Hacé dobleClick sobre el botón para
que se abra la ventana de código de Visual Basic. Dentro del procedimiento Click pega este
código:

Dim num1 As Integer


Dim num2 As Integer
num1 = 10
num2 = 20

‘se mostrará un mensaje con la suma de las variables con el resultado 30


MsgBox num1 + num2

Al ejecutar el programa, puedes ver como se presenta una caja de mensaje con el resultado al
sumar las 2 variables num1 y num2

2. Ahora vamos a declarar y crear 2 variables de tipo String, es decir vamos a almacenar cadenas
de caracteres en cada una de ellas. En el ejemplo se crean 2 variables, una llamada nombre
y otra apellido. Después le asignamos un valor, y por ultimo mostramos las variables con un
mensaje usando la función MsgBox como en el ejemplo anterior. Pero antes hay que aclarar
algo importante, las cadenas en visual basic se encierran entre comillas dobles como podés
ver en el ejemplo, de lo contrario se va a producir un error.

Dim nombre As String


Dim apellido As String
‘le establecemos valores
nombre = “Carlos”
apellido = “Peres”
‘mostramos un mensaje con el valor de las variables
MsgBox nombre
MsgBox apellido

3. Ahora un ejemplo que produce un error en tiempo de ejecución. Creamos 2 variables exac-
tamente igual que en el ejemplo anterior, pero en ves de declarar las variables nombre y
apellido como de tipo String lo hacemos como de tipo Integer.

Dim Nombre As Integer


Dim Apellido As Integer
‘Le establecemos valores numericos
Nombre = “Carlos”
Apellido = “Peres”

Si probás el ejemplo, visual basic te mostrará un mensaje de error como el siguiente: “no coinci-
den los tipos de datos”:
...ya que las variables están declaradas como de tipo Integer, y le estás asignando un tipo de dato
que no lo acepta.

4. Un ejemplo que almacena un número en una variable de tipo Byte (números de 0 a


255). Primero declaramos la variable y le damos un nombre, por ejemplo si queremos
alma cenar el número 88 hacemos por ejemplo así.

17
ITAE

Dim Edad As Byte


Para asignarle un valor a esa variable:
Edad = 88

Para mostrar el valor de la variable Edad en un control TextBox cuando presionamos un botón
Command1, sería de esta manera:

Private Sub Command1_Click()


‘Declaramos la variable
Dim Edad As Byte
‘Le asignamos un valor que no sea inferior a 0 ni mayor a 255
Edad = 88
‘Lo mostramos en el control llamado Text1
Text1 = Edad
End Sub

Si probaras cambiando el valor 88 por ejemplo a 300, ocurriría lo mismo que en el ejemplo
anterior, es decir un Error 13 en tiempo de ejecución “No coinciden los tipos de datos”

4. Estructuras de control

Las estructuras de control se utilizan para controlar el flujo del programa en una rutina o fun-
ción. Mediante ellas podemos controlar, mediante una condición, que se ejecute una determina-
da línea o bloque de líneas de código .. o que no se ejecuten.

Estructura If - Then - Else

Esta estructura permite mediante una condición, que se ejecute o no se ejecute


determinada tarea o línea de código.

Por ejemplo supongamos que tenemos en un formulario un control Label con la


propiedad Caption con el valor 50


If Label1.Caption = “50” Then
msgbox “mi label tiene un valor de 50”
else
msgbox “mi label NO tiene un valor de 50”
end if

Esto traducido al español significaría lo siguiente:

Si (If) la propiedad caption del label1 que tengo en el formulario es igual (=) a
“50” entonces (Then) que muestre un determinado mensaje, si no (Else) que
muestre el otro mensaje.

18
Manual del Programador - Prof. Freddy Hervias Vargas

En conclusión lo que hace esta estructura es evaluar una condición, si se cumple, que se ejecute
determinada tarea. si no se cumple, se ejecutará las líneas de código que estén bajo la cláusula
Else. Luego tenemos que cerrar la estructura con la palabra end if.

Tenemos que aclarar que no es obligatorio usar If y else juntos en la misma cláusula. Por ejemplo
podríamos utilizar solo una estructura If sin else. Por ejemplo:

Private Sub Command1_Click()


‘Si la propiedad caption del Label1 es “Hola” entonces se termina el programa
If Label1.Caption = “Hola” Then

End

End If
‘Si no, se prosigue con esta línea

MsgBox “No se ejecutó el bloque If Anterior porque el Caption del control La


bel1 no era Hola”
End Sub

Coloca un Label1 y un Command1. En la propiedad caption del Label1 escribe “Hola”. Al ejecutar
el programa y presionar el Command1, se termina el programa con la sentencia End de Visual
Basic (End sirve para finalizar completamente la ejecución de nuestro programa). En cambio si
ahora le cambia el caption al Label1 y volvés a ejecutar el proyecto, podés ver que la instrucción
End no se ejecuta, si no que la pasa por alto y sigue con las restantes líneas, en este caso ejecuta
la función MsgBox con el mensaje.

Estructura While - Wend

Esta estructura de control repetirá sin detenerse un determinado código mientras se cumpla una
condición.

Por ejemplo supongamos que tenemos una variable llamada x que tiene un valor de 100.


while x = 100
...se ejecutan todas las líneas de código que estén aquí
wend

Esto traducido al español significaría lo siguiente:

Mientras (While) la variable x sea igual a 100, y no cambie su valor, se formará un bucle intermi-
nable, hasta que x cambie a cualquier otro valor disto de 100. Si x cambia el valor, por ejemplo
a 234 saldría del bucle While - wend y seguiría ejecutando el resto del código, si es que hay mas
código o instrucciones a ejecutar.

Un ejemplo, agrega un Command1 al formulario y un control Text1. Cuando ejecutemos el ejem-


plo, se deberá escribir un número dentro del control textBox. Entonces se creará un bucle While,

19
ITAE

que mostrará en el Caption del formulario, es decir en la barra de título, el intervalo desde 0
hasta el número que hayamos ingresado en el Text1. Es decir si ingresamos el número 9000, en
el caption del formulario se imprimirán los número desde 0 hasta 9000.

Para hacer esto, dentro del bucle While pondremos una variable llamada Contador, que en cada
pasada se incrementará en 1, pero cuando la variable Contador sea igual al número que haya en
el Text1, se finalizará el bucle y se mostrará un mensaje que finalizó el mismo

Private Sub Command1_Click()


Dim contador As Integer ‘Declaramos la variable
While contador <> Text1

‘Mostramos en el formulario el valor de la variable contador


Me.Caption = contador

‘Incrementamos la variable en 1
contador = contador + 1

Wend

MsgBox “Terminó el bucle”

End Sub

Estructura For - next

La estructura es utilizada para generar una repetición de instrucciones o bucle, pero no evalúa
una condición como en el caso del bucle While, si no que lo hace entre un número inicial y un
número final que le debemos indicar al mismo.

Por ejemplo, tenemos un formulario con un Label1 y declaramos una variable de tipo integer
llamada “contador” como en el caso anterior


Private Sub Command1_Click()
Dim contador As Integer
For contador = 0 To 1000

Label1.Caption = contador

Next contador

End Sub

Esto traducido significaría lo siguiente:

Primero, tenemos una variable llamada “contador”. Mediante el bucle For - next podemos contro-
lar la cantidad de veces que queremos repetir un determinado proceso o instrucción. Esta posee

20
Manual del Programador - Prof. Freddy Hervias Vargas

un principio y un fin, en este caso el principio sería 0 y el fin 1000, de manera que la variable con-
tador se incrementará en 1 hasta que llegue a 1000, y repetirá 1000 veces todas las instrucciones
que estén bajo la cláusula For-next. En este caso nuestro control Label1 mostraría el contenido
de la variable contador

Para ver en forma detallada y paso a paso esto, pongamos un ejemplo que lo que hace es repetir
10 veces (desde el 1 hasta el 10 en el intervalo del bucle For) y mostrará un mensaje con el valor
de la variable Contador. Una ves que llegue a 10, terminará.

Colocá un Command1. Doble Click en el botón para escribir dentro del procedimiento que se eje-
cutará cuando lo presionemos. El código:

Dim contador As Integer

For contador = 1 To 10

MsgBox “La variable Contador vale: “ & contador

Next contador

MsgBox “Fin del bucle For”

Estructura Select case

La estructura Select Case se suele utilizar para evitar el uso de muchas cláusulas If y de esta
manera no tener que anidarlas. La claúsula Select evalúa una condición y las cláusulas case
contienen valores, si el valor que contiene la cláusula case es igual a la condición que se evaluó,
ejecutará las instrucciones en dicha cláusula.

Dim Nombre As String

Nombre = Text1
Select Case Nombre
Case “Jorge”

MsgBox “Se ejecutó la cláusula case: “ & Nombre


Case “Pedro”
MsgBox “Se ejecutó la cláusula case: “ & Nombre
Case “Carolina”

MsgBox “Se ejecutó la cláusula case: “ & Nombre

End Select

Esta estructura es muy práctica. En el ejemplo anterior, la cláusula Select case contiene como
condición el valor de la variable llamada Nombre. Esa Variable toma el valor que tenga un con-
trol Text1, entonces buscará en todas las cláusulas case, y si encuentra una igual a la condición,
ejecutará solo las instrucciones de la cláusula case que tenga el mismo valor, por ejemplo si in-
gresara el nombre “Martín” no se ejecutará ninguna cláusula Case. En cambio si ingreso “Jorge”
se ejecutará solo las instrucciones que estén en la sección Case “Jorge” y asi...

21
ITAE

En el caso anterior solo hemos colocado un valor para cada Case. Si quisieramos colocar mas
valores podríamos hacerlo de esta forma:

Private Sub Form_Load()


Dim x As Integer
x = 10 ‘Le ponemos un valor a x
Select Case x
Case 5, 10
MsgBox “Se ejecutó el case que tiene el 5 y el 10”
‘Se ejecuta esta sección

Case 15, 20
‘Esto no se ejecuta
Case 25, 30
‘Esto tampoco
End Select

End Sub

es decir que podemos listar los valores en los Case separados por comas. En el caso anterior se
ejecutará el case 5, 10 ya que la variable x vale 10

6. Operadores de Visual basic

Los operadores nos permiten operar, validar, comparar, asignar, distinguir, etc.., los datos e ins-
trucciones de código de nuestros programas. A continuación los operadores mas importantes.

Operadores aritméticos

Estos operadores nos permiten trabajar con cálculos matemáticos como la suma (+), resta (-),
división (/) y multiplicación (*).

Ejemplos:

a=5
b = 15
c = a + b ‘ en este caso la variable c contendría el valor 20
ganancia = 500
perdida = 200
total = ganancia - perdida ‘la variable total pasaría a valer 300
x = 100
y = 20

z = x / y ‘ La Variable z vale 5
x = 100
y = 20
z = x * y ‘ La Variable z vale 2000

22
Manual del Programador - Prof. Freddy Hervias Vargas

Operadores lógicos

Se utilizan en expresiones para devolver resultados del tipo True o False, es decir Verdadero o
falso. Los mas comunes son el operador And y el operador Or

Ejemplos:

If (x = 10) And (nombre = “maría”) Then

‘solo se ejecutará el código dentro de este bloque IF si la variable


‘x vale 10 y la variable nombre es igual a maría

End If
If (m = 10) Or (nombre = “pedro”) Then

‘el código se ejecutará si por lo menos una variable es correcta


‘es decir si por lo menos se cumple una condición

End If

Operadores de comparación

Los operadores de comparación se utilizan para comparar expresiones de cualquier tipo. Los
mas importantes son: El operador de igualdad (=), menor que (<), mayor que (>), distinto
a(<>)

Ejemplos:

If label1.Caption = “06/08/1978” Then

‘si el control label1 en su caption contiene esa fecha


‘se ejecutará el código que este aquí

End If
if x > 6 then
‘si la variable x es mayor que 6 se ejecutará el código que este aquí
end if
If país <> “Estados unidos” Then
‘si la variable país es distinta a “Estados unidos” se ejecutará el código
End If
While c <= 87
‘mientras la variable c sea menor o igual a 87 se ejecutará
‘el bucle While
Wend

Por último quedaría por ver el operador de concatenación (&) que se utiliza para unir cadenas
de caracteres.

Por ejemplo:

23
ITAE

nombre = “Jose”
apellido = “Peralta”
nombrecompleto = nombre & apellido
‘La variable nombrecompleto pasaría a contener la unión de las otras dos variables
‘es decir Jose Peralta

Nota: hay muchos mas operadores en Visual Basic, estos son los básicos

24
Manual del Programador - Prof. Freddy Hervias Vargas

Subrutinas de código,
procedimientos y funciones

Subrutinas de código

Se denomina subrutina a una porción de código que tiene como principal función ejecutar una
determinada tarea. zEstas tienen un nombre para poder identificarlas y luego poder llamarlas
para poder utilizarlas.

Las subrutinas tienen un principio y un fin y estas pueden tener distinto tipo de alcance, o sea
pueden ser de tipo privadas o públicas.

En el siguiente ejemplo se muestra una subrutina que crea visual basic automáticamente cuando
en un formulario insertamos un botón llamado Command1 y desde la ventana de eventos selec-
cionamos el evento click del mismo

Private Sub Command1_Click()

End Sub

Ahora, si colocamos por ejemplo un control TextBox llamado TextPedidos y hacemos doble click
sobre el mismo, se crea el procedimiento por defecto para los TextBox, que es el evento Change

Private Sub TextPedidos_Change()

End Sub

En estos 2 últimos ejemplos tenemos una subrutina o procedimiento de tipo Privado, esto quiere
decir que la podemos utilizar solo en el formulario o módulo donde está declarada o escrita

La palabra sub le sigue el nombre de la rutina que la identifica. En este caso Command1_click()
y en el otro ejemplo TxtPedidos_Change().

Si quisiéramos que estos procedimientos se puedan llamar desde otro formulario, lo que ten-
dríamos que hacer es cambiar el alcance del procedimiento, en ves de Private Sub cambiarlo por
Public Sub. si hacemos esto, ese procedimiento de código puede ser utilizado desde cualquier
parte del proyecto.

Subrutinas y Procedimientos propios

También podemos crear nuestros propios Procedimientos y Subrutinas de código para ejecutar
una determinada tarea.

Para crear un procedimiento de código se debe escribir la palabra Private sub o Public sub (de-
pende el alcance), seguida del nombre del procedimiento (un nombre que queramos) y los pará-

25
ITAE

metros, si es que le enviaremos parámetros (los parámetros son opcionales). Además el proce-
dimiento debe ser escrito en un lugar vacío de la ventana de código, es decir no se puede crear
un procedimiento dentro de otro

Un ejemplo para crear un procedimiento:

Private Sub ProcedimientoBorrar()

label1 = “”
label2 = “”
label3 = “”

End Sub

En este ejemplo creamos un procedimiento muy simple que tendrá la función específica de borrar
el contenido de 3 controles label.

¿Pero ahora te preguntarás como hacemos para que se ejecute el procedimiento que he crea-
do?.

Muy fácil. Solo debemos escribir el nombre del procedimiento en el lugar donde queremos que
se ejecute. Por ejemplo supongamos que tenemos un formulario con 3 controles Label (Label1,
Label2 y Label3), También un Commandbutton llamado Command1 y en la ventana de código he-
mos escrito el procedimiento del ejemplo anterior. Si nosotros queremos llamar al procedimiento,
que borrará el contenido de los label cuando hagamos click en el Command1 lo haríamos así:

Private Sub command1_click()

ProcedimientoBorrar

End Sub

Al presionar el Command1 visual basic detectaría el nombre ProcedimientoBorrar, y automática-


mente saltaría al lugar donde creamos el procedimiento y ejecutaría las líneas de código que haya
en ese procedimiento.

También podemos llamar a un procedimiento utilizando la palabra Call, que quiere decir llamar,
seguida del nombre del procedimiento, pero en este caso si utilizamos call y nuestro procedimien-
to contiene parámetros, debemos pasarlos entre paréntesis ( los parámetros de procedimientos
y funciones se explican a continuación)

una vez que se ha terminado de ejecutar las instrucciones que estén dentro del bloque del proce-
dimiento, volvería a la línea siguiente de donde fue llamado el mismo, y ejecutaría todas las líneas
restantes de código. En este caso no ejecutaría nada mas por que no hemos puesto ninguna otra
instrucción debajo de ProcedimientoBorrar.

26
Manual del Programador - Prof. Freddy Hervias Vargas

La principal ventaja de crear procedimientos de código es que evita tener que escribir varias veces
las mismas instrucciones en un programa, el código se hace mucho mas funcional y entendible,
se pueden dividir un problema (una rutina), en varios procedimientos y probarlos independiente-
mente, y además la posibilidad de enviar parámetros a los procedimientos.

Pasar parámetros a los procedimientos:

Se utilizan los parámetros en los procedimientos para que el procedimiento no ejecute siempre las
mismas líneas de código y pueda variar, teniendo la posibilidad de hacerlo mas dinámicamente.
En ciertas ocaciones no es necesario enviar parámetros, pero en otras es prácticamente funda-
mental. Los parámetros son datos, casi de cualquier tipo, que se pasan seguido del nombre del
procedimiento, y si es mas de uno deben ir separados por comas (,). Ejemplo:

DatosPersonales “Luciano”, 25, “La plata”

En este ejemplo pasamos tres parámetros: El primero es un nombre y es un dato de tipo String y
por ende debe ir entre comillas. El segundo es un número y el tercero también un string. , o sea
una cadena de caracteres

Pero la cosa no queda acá. Si nosotros vamos a pasar parámetros a un procedimiento, cuando
creamos el procedimiento debemos establecer que tipo de parámetros va a recibir el mismo.
Ejemplo:

Private Sub DatosPersonales(nombre As String, edad As Integer, ciudad As String)

Label1 = nombre
Label2 = edad
Label3 = ciudad

End Sub

siguiendo, el ejemplo anterior creamos un procedimiento con tres parámetros. Cada parámetro
se declara como se hace con las variables, o sea que debemos darles un nombre a la variable y
definir el tipo de dato ( sin utilizar la palabra Dim ) que recibirá cuando las llamemos.

Ahora podríamos por ejemplo, en el evento click de un Command1, llamar al procedimiento y


pasarle los parámetros.

Coloca un Command1 , 3 controles Label, copia en la ventana de código el procedimiento anterior


llamado DatosPersonales, y ahora pega el siguiente código

Private sub command1_click()

DatosPersonales “Luciano”, 25, “La plata”

End sub

27
ITAE

Al presionar el botón se llamará al procedimiento que habíamos creado anteriormente, y le pasará


los valores de los parámetros en el orden en que estén establecidos declarados en el procedimien-
to. Esto quiere decir que el primer parámetro con el valor “Luciano” se almacenará o asignará
a la variable nombre , el valor 25 se le asignará a la variable edad y el último valor a la variable
ciudad.

Después que las variables ya cargaron el valor las podemos utilizar dentro del procedimiento,
como en el ejemplo anterior que le asignamos a un control Label1 el contenido de la variable
nombre, al Label2 el contenido de edad y al Label3 el contenido de la variable ciudad.

Es muy importante respetar el orden en que pasamos los parámetros en un procedimiento, por
que por ejemplo en el caso anterior si hubiésemos pasado los parámetros de esta forma:

DatosPersonales 25, “Luciano”, “La plata”

el segundo parámetro “Luciano” se almacenaría en la variable Edad que es de tipo Integer y se


produciría un error en tiempo de ejecución por no coincidir los tipos de datos, ya que la variable
espera un valor numérico de tipo Integer y nosotros le estamos pasando una cadena de caracte-
res, un dato de tipo String

Otra cosa importante es que cuando creamos, por ejemplo un procedimiento que va a recibir 2
parámetros, cuando lo llamemos, no podemos enviarle solo 1 parámetro, debemos obligatoria-
mente pasarle los 2 parámetros que hubiésemos declarado en el mismo. Un ejemplo que daría un
error en tiempo de ejecución por no pasar adecuadamente los parámetros sería:

Private Sub sumar(a As Integer, b As Integer)

Label1 = a + b

End Sub

hasta aquí creamos un procedimiento llamado sumar que recibirá 2 parámetros de tipo Integer,
si nosotros llamamos al procedimiento y le pasamos un solo valor, por ejemplo:

Call sumar ( 456 )

Esto daría un error de compilación por que el procedimiento espera recibir 2 parámetros ..y no-
sotros le estamos pasando o enviando solo uno de ellos.

Precisamente el cartel de error que te mostraría visual basic sería el siguiente:

28
Manual del Programador - Prof. Freddy Hervias Vargas

Nota: hay una sentencia llamada Optional que SI permite pasar parámetros de forma opcional,
por ejemplo:

Private Sub Con_Parametro_Opcional(Nombre As String, _


Optional Email As String)

MsgBox Nombre

MsgBox Email

End Sub

Ahora si llamas a la rutina anterior, y omites el parámetro Email, esta no dará error, por ejem-
plo:

Call Con_Parametro_Opcional(“Maria”)

Nota: Los parámetros opcionales, si o si deben estar declarados al final de la lista de parámetros,
por ejemplo esto no se puede hacer:

Private sub una_Rutina ( Optional Email As String, Nombre as String )

Función IsMissing

Esta función se utiliza cuando utilizamos parámetros opcionales en una función o procedimiento,
y nosotros, dentro del mismo queremos saber y averiguar si se han enviado los parámetros op-
cionales

El uso de IsMissing muy simple. Esta función retorna el valor True si NO se ha enviado el paráme-
tro que queremos comprobar, y devuelve False si el parámetro ha sido enviado:

por ejemplo , colocar dos CommandButton

Private Sub Mostrar_Dato(Optional Nombre As Variant)

‘ Si IsMissing devuelve Verdadero, es por que no se envíó


If IsMissing(Nombre) = True Then
MsgBox “ NO Se ha enviado el parámetro NOMBRE “, vbInformation
Else
MsgBox “ Se ha enviado el parámetro NOMBRE “, vbInformation
End If

29
ITAE

End Sub

‘Acá No se envía el parámetro


Private Sub Command1_Click()
Mostrar_Dato
End Sub

‘Acá Si se envía el parámetro

Private Sub Command2_Click()


Mostrar_Dato “María”
End Sub

--------------------------------------------------------------------------------

Pasar parámetros por valor y por referencia ( ByVal y ByRef )

Los parámetros en las funciones y procedimientos, se pueden enviar de dos maneras: por Valor
y por Referencia.

Si están declarados como ByVal, los mismos serán por valor, si se declaran como ByRef serán por
referencia.

La diferencia entre uno y otro método de paso de parámetros, es que en ByVal se envía una copia
de la variable, y de esta manera si se efectúa un cambio en el procedimiento, solo tendrá efecto
dentro del procedimiento o función, una ves que termine y finalice el mismo, la variable original
pasará a valer el dato que tenía, es decir no se modifica

En los parámetros enviados por Referencia, lo que se hace es enviar un puntero de la variable
original. Entonces, si en la función o procedimiento se cambia el valor de la variable, el cambio
seguirá manteniéndose una ves que finalice la ejecución del procedimiento o función.

Ejemplo de envío de parámetros por Valor ( ByVal )


Código de ejemplo

Private Sub Command1_Click()

Dim Un_Valor As Long


Un_Valor = 100
‘Se envía la variable por Valor ( ByVal )

Call Sumar(Un_Valor)

‘Muestra el valor que es 100, ( no se modificó en la función Sumar )


MsgBox Un_Valor

End Sub

30
Manual del Programador - Prof. Freddy Hervias Vargas


Sub Sumar(ByVal Valor As Long)
‘Modifica la variable
Valor = Valor + 100

End Sub

En el ejemplo anterior hay una Sub llamada Sumar que recibe como parámetro una variable
enviada por valor con ByVal ( es decir es una copia de la variable original ). al presionar el Comm-
mand1.

Al entrar en la Sub Sumar, el dato se modifica ( Valor = Valor + 100). Cuando finaliza el procedi-
miento Sumar y retorna a la línea siguiente de la llamada a la Sub sumar, muestra mediante un
MsgBox el valor de la misma, en este caso es 100, y NO 200 que es el cambio que tuvo dentro
del procedimiento Sumar ( Valor = Valor + 100 ).

Con esto queda visto que en realidad al enviarla como ByVal, se envía una copia de la variable
original y cualquier cambio que se produzca, será solo en el ámbito del procedimiento o función

Ejemplo de envío de parámetros por Referencia ( ByRef )

Este ejemplo es igual que el anterior, pero en la Sub sumar , la variable Valor se declara con ByRef
( por Referencia )

Código

Private Sub Command1_Click()

Dim Un_Valor As Long

Un_Valor = 100

‘Se envía la variable por Referencia ( ByRef ) con el valor 100

Call Sumar(Un_Valor)

‘Muestra el valor que ahora es 200, ( ya que se modificó en la Sub Su


mar)
MsgBox Un_Valor

End Sub

Sub Sumar(ByRef Valor As Long)


‘Modifica la variable
Valor = Valor + 100

End Sub

31
ITAE

Al probar el código, ahora el Msgox al mostrar el valor de la variable, es de 200, y NO de 100


como en el ejemplo de ByVal.

Esto demuestra que al enviar la variable como referencia, si la misma se modifica dentro del pro-
cedimiento o función, se está modificando la variable REAL, es decir cualquier cambio que se le
haga a la misma, se mantendrá, ya que se está modificando la variable Real ( no es una copia )

Nota Importante: cuando no se indica a un parámetro de una función o Rutina ni ByVal, ni ByRef,
se asume que la misma se está enviando como referencia (ByRef).

Es decir lo siguiente recibe el parámetro como Referencia

Sub Sumar(Valor As Long)


.. que es lo mismo a esto:

Sub Sumar(ByRef Valor As Long)

--------------------------------------------------------------------------------

Las Funciones en visual basic

Las funciones son casi exactamente iguales que los procedimientos con respecto a la forma en
que se los llama y se los crea o declara en el código, en como se le pasa los parámetros etc..

La diferencia fundamental con respecto a los procedimientos o subrutinas es que estos, luego
de ejecutar el código que tengan en su interior, al final retornan un valor, y este valor luego lo
podemos utilizar para una determinada tarea. En cambio los procedimientos, solo ejecutan el
código que contienen.

Para declarar o crear una función podríamos escribir lo siguiente:


Private Function Total(Valor1 As Integer, Valor2 As Integer) As Long

Total = Valor1 + Valor2

End Function

Seguramente notaste que declaramos la función llamada Total, y al final de los parámetros dice
As Long , esto es por que como dijimos las funciones retornan o devuelven un valor, o sea que en
este caso la función es de tipo Long, o mejor dicho devolverá un valor de tipo Long., y luego ese
valor devuelto lo podemos utilizar en otra parte del programa.

Las Funciones pueden retornar casi cualquier tipo de datos, como números, cadenas, fechas,
arreglos y vectores.
Para llamar a la función anterior podríamos hacerlo de la siguiente manera:

Label1.caption = Total 502, 1478

En este caso el control Label1 llamaría a la función Total , la función realizaría la suma de los
valores pasados como parámetros y por último el valor final de la suma se lo asignaría al control
label1.

32
Manual del Programador - Prof. Freddy Hervias Vargas

PRACTICAS DIRIGIDAS

Aplica 01

Crear una aplicación que solicite ingresar dos números enteros y permita realizar las operaciones
matemáticas básicas con dichos números.

Solución:

1. Iniciar un nuevo proyecto EXE estándar. Creación del formulario frmAplica01


2. Ubicar los siguientes controles:

- 3 etiquetas (Label)
- 3 cajas de Texto
- 1 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera.

Escriba el siguiente código para la aplicación:


Código del Formulario frmaplica01

General Declaraciones

Dim n2 As Double
Dim suma As Long, resta As Long, multi As Long, diviE As Long
Dim resto As Integer
Dim div As Double
Dim potencia As Double

Objeto: cmdOperacion Evento: Click

Private Sub cmdOperacion_Click()


‘Revisar

n1 = Val(txtNumero1.Text)
n2 = Val(txtNumero2.Text)

33
ITAE

‘Proceso
On Error Resume Next ‘Activar la deteccion de errores
suma = n1 + n2
resta = n1 - n2
multi = n1 * n2
div = n1 / n2
diviE = n1 \ n2
resto = n1 Mod n2
potencia = n1 ^ n2

‘Salida de resultados
txtSalida.Text = _
“Suma :” + Str(suma) + vbCrLf & _
“Resta :” + Str(resta) + vbCrLf & _
“Multiplicación :” + Str(multi) + vbCrLf & _
“Division :” + Str(div) + vbCrLf & _
“Division Entera :” + Str(diviE) + vbCrLf & _
“Resto :” + Str(resto) + vbCrLf & _
“Potencia :” + Str(potencia)
If Err Then
MsgBox “Se produce el Error “ & Err & “ “ & Err.Description, vbCritical, “Error”
End If
On Error GoTo 0 ‘Desactivar la deteccion de errores
End Sub

Private Sub Form_Load()

End Sub


Al ejecutar la aplicación se presentará una pantalla como
la siguiente:

34
Manual del Programador - Prof. Freddy Hervias Vargas

Aplica 02

Desarrollar un programa que permita convertir una cantidad dada en metros a sus equivalentes
en: centímetros, pulgadas, pies y yardas. Considere la siguiente información:

1 metro = 100 cm.


1 pulgada = 2.54 cm.
1 pie = 12 pulgadas.
1 yarda = 3 pies.
Solución:

1. Iniciar un nuevo proyecto EXE estándar. Creación del formulario frmAplica02


2. Ubicar los siguientes controles:

- 2 etiquetas (Label)
- 2 cajas de Texto
- 1 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera.

El código de la aplicación es la siguiente:

35
ITAE

General
Dim n1, metros, pies, pulgadas, yardas, centimetros As Double

Objeto: Comand1

Private sub botónConvertir_Click()

centimetros = Val(txtMetros.Text) * 100


pulgadas = centimetros / 2.54
pies = pulgadas / 12
yardas = pies / 3
‘Salida de resultados
txtSalida.Text = _
“Centimetros :” + Str(centimetros) + vbCrLf & _
“Pulgadas :” + Str(pulgadas) + vbCrLf & _
“Pies :” + Str(pies) + vbCrLf & _
“Yardas :” + Str(yardas)

End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

36
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 03

Desarrollar un programa que permita, el calculo del pago mensual de un empleado de una em-
presa, se efectúa de la siguiente manera:

El sueldo básico se calcula en base al número total de horas trabajadas basado en una tarifa hora-
ria, al sueldo básico se le aplica una bonificación del 20% obteniendose el sueldo bruto, al sueldo
bruto se le aplica un descuento del 10% obteniéndose el sueldo neto. El programa debe calcular
y mostrar, el sueldo básico, el sueldo bruto y el sueldo neto de un trabajador.

Solución:

1. Iniciar un nuevo proyecto EXE estándar. Creación del formulario frmAplicacion03


2. Ubicar los siguientes controles:

- 3 etiquetas (Label)
- 3 cajas de Texto
- 1 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera.

El código de la aplicación es la siguiente:

General Declaraciones

‘Declaracion de variables

Dim horasTrab As Double


Dim tarifaHor As Double
Dim sueldoBas As Double
Dim montoBoni As Double
Dim sueldoBru As Double
Dim montoDesc As Double
Dim sueldoNet As Double

37
ITAE

Objeto: BotónCalcular

‘Asignar valor a la variable con los datos de entrada

horasTrab = Val(text1.Text)
tarifaHor = Val(text2.Text)

‘Proceso
sueldoBas = horasTrab * tarifaHor
montoBoni = 0.2 * sueldoBas
sueldoBru = sueldoBas + montoBoni
montoDesc = 0.1 * sueldoBru
sueldoNet = sueldoBru - montoDesc

‘Salida de resultados
texte3.Text = _
“Sueldo Básico :” & Str(sueldoBas) & vbCrLf & _
“Bonificación :” & Str(montoBoni) & vbCrLf & _
“Sueldo Bruto :” & Str(sueldoBru) & vbCrLf & _
“Descuentos :” & Str(montoDesc) & vbCrLf & _
“Sueldo Neto :” & Str(sueldoNet)

End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

38
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 04

Diseñe un programa que determine con que velocidad inicial partió un movil de un determinado
punto y que espacio recorrió conociendo su velocidad final, su aceleración y el tiempo empleado
en el recorrido. Considere las siguientes fórmulas:

e = Vo t + a t2 / 2

Vf = Vo + a t

Donde:
Vf = Velocidad final
Vo = Velocidad inicial
a = aceleración
e = espacio recorrido
t = tiempo empleado en el recorrido

Solución:

1. Iniciar un nuevo proyecto EXE estándar. Creación del formulario frmAplicacion04


2. Ubicar los siguientes controles:

- 4 etiquetas (Label)
- 4 cajas de Texto
- 1 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera.

El código de la aplicación es la siguiente:

39
ITAE

General Declaraciones

‘Declaracion de variables

Dim vFin As Double


Dim vIni As Double
Dim tiempo As Double
Dim aceler As Double
Dim espacio As Double

Objeto: BotonCalcular

Private Sub BotonCalcular_Click

‘Asignar valor a la variable con los datos de entrada

vFin = Val(text1.Text)
aceler = Val(text2.Text)
tiempo = Val(text3.Text)

‘Proceso
vIni = vFin - aceler * tiempo
espacio = vIni * tiempo + aceler * tiempo * tiempo / 2

‘Salida de resultados
text4.Text = _
“La Velocidad Inicial es :” & Str(vIni) & “ m/sg” & vbCrLf & _
“El Espacio Recorrido es :” & Str(espacio) & “ m”

End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

40
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 05

Diseñe un programa que permita calcular el área y perímetro de un triángulo rectángulo cono-
ciendo la longitud de sus catetos. Si a, b y c representan los tres lados de un triángulo entonces
la fórmula que determina su área será:

A= (p ( p - a ) (p - b ) ( p - c ) ) 1/2

Donde:
p=(a+b+c)/2

Solución:

1. Iniciar un nuevo proyecto EXE estándar.


Creación del formulario frmAplicacion05
2. Ubicar los siguientes controles:

4 etiquetas
4 cajas de texto
1 botón de comando

Una vez terminado el diseño del formulario, está


se presentará de la siguiente manera:

El código de la aplicación es la siguiente:

General Declaraciones

‘Declaracion de variables
Dim p As Double
Dim a As Double
Dim b As Double
Dim c As Double
Dim area As Double
Dim perimetro As Double

Objeto: BotonCalcular

Private Sub BotonCalcular_Click()

‘Asignar valor a la variable con los datos de entrada


a = Val(text1.Text)
b = Val(text2.Text)
c = Val(text3.Text)
‘Proceso
p = (a + b + c) / 2
area = (p * (p - a) * (p - b) * (p - c)) ^ (1 / 2)
perimetro = 2 * p
‘Salida de resultados
txtSalida.Text = _
“El Área del Triángulo es :” & Str(area) & “ u²” & vbCrLf & _
“El Perímetro del Triángulo es :” & Str(perimetro) & “ u”
zEnd Sub

41
ITAE

Aplicación 06

Escriba un programa que calcule el área total y el volumen de un cilindro. Considere las siguientes
fórmulas:

A = 2 * 3.1416 * r ( r + h )
V = r2 * h
Siendo A el área, V el volumen, r el radio y h la altura.

Solución:

1. Iniciar un nuevo proyecto EXE standar. Creación del formulario frmAplicacion06.


2. Ubicar los siguientes controles:

3 etiquetas
3 cajas de texto
1 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera:

Escribir el siguiente código para la aplicación:


Código del formulario frmAplicación06

General Declaraciones

‘Declaracion de variables
Dim radio As Double
Dim altura As Double
Dim area As Double
Dim volumen As Double
Dim pi As Double

42
Manual del Programador - Prof. Freddy Hervias Vargas

Objeto: botonCalcular

Private Sub botonCalcular_Click()


‘Asignar valor a la variable con los datos de entrada
radio = Val(txtRadio.Text)
altura = Val(txtAltura.Text)
pi = 3.1416

‘Proceso
area = 2 * pi * radio * (radio + altura)
volumen = radio * radio * altura

‘Salida de resultados
txtSalida.Text = _
“El Area del Cilindro es :” & Str(area) & vbCrLf & _
“El Volumen del Cilindro es :” & Str(volumen)

End Sub

Al ejecutar la aplicación se presentará la siguiente pantalla:Aplicación 06

43
ITAE

Aplicación 07
Escriba un programa que solicite el ingreso de un número y determinar si el número ingresado es
par o impar. En cada uno de los casos debe presentar el mensaje respectivo.

Solución:

1. Iniciar un nuevo proyecto EXE standar. Creación del formulario frmAplicacion07.


2. Ubicar los siguientes controles:

2 etiquetas
1 cajas de texto
2 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera:

Escriba el siguiente código para la aplicación:

Objeto: botonAceptar Evento: Click

Private Sub botonAceptar_Click()


If Val(txtNumero.Text) Mod 2 = 0 Then
label1.Text = “ El Número es Par”
Else
label1.Text = “ El Número es Impar”
End If
End Sub

Objeto: botonSalir Evento: Click

Private sub botonSalir_Click()


End
End Sub

Al ejecutar la aplicación se presentará una pantalla


como la siguiente:

44
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 08

Escribir un programa que permita determinar el mayor de tres números ingresados por el tecla-
do.

Solución:

1. Iniciar un nuevo proyecto EXE standar. Creación del formulario frmAplicacion08.


2. Ubicar los siguientes controles:

4 etiquetas
3 cajas de texto
2 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera:

Escriba el siguiente código para la aplicación:

Objeto: botonAceptar Evento: Click

Private Sub botonAceptar_Click()


Dim a,b,c, mayor as integer
a = val(text1.text)
b = val(text2.text)
c = val(text3.text)

If a > b then
if a > c then
mayor = a
else
mayor = c
End if
Else
If b > c then
mayor = b
else
mayor = c
End if
End if

Label1.caption = “El número mayor es:” & Str(mayor)
End Sub

Objeto: botonSalir Evento: Click

Private sub botonSalir_Click()


End
End Sub

Al ejecutar la aplicación se presentará una pantalla


como la anterior.

45
ITAE

Aplicación 9

Un instituto categoriza a sus estudiantes según el promedio ponderado obtenido en el ciclo ante-
rior de acuerdo a la siguiente tabla:

Promedio (P) Categoría


0 < = P < 5 D
5 < = P < 10 C
10 < = P < 15 B
15 < = P < = 20 A
Escriba un programa que pida el ingreso del promedio ponderado del estudiante e imprima su
categoría. si el promedio no está comprendido en alguno de los intervalos imprimir el mensaje
“Promedio no válido”.

Solución:

1. Iniciar un nuevo proyecto EXE standar. Creación del formulario frmAplicacion09.


2. Ubicar los siguientes controles:

2 etiquetas
1 cajas de texto
2 botón de comando
Una vez terminado el cambio de las propiedades, el formulario se presentará de la siguiente
manera:

Escriba el siguiente código para la aplicación:

Objeto: botonAceptar Evento: Click

Private Sub botonAceptar_Click()


Dim prom as Double
prom = val(Text1.text)
If (prom > 0 and prom < 5) then
Label1.caption = “La categoría es: D”
else
If (prom >= 5 and prom < 10) then
Label1.caption = “La categoría es: C”
else
If (prom >= 10 and prom < 15) then
Label1.caption = “La categoría es: B”
else
If (prom >= 15 and prom <= 20) then
Label1.caption = “La categoría es: A”
else
Label1.caption = “El promedio no es válido”
End if
End if
End if
End if
End Sub

46
Manual del Programador - Prof. Freddy Hervias Vargas

Objeto: botonSalir Evento: Click


Private sub botonSalir_Click()
End
End Sub

Al ejecutar la aplicación se presentará una pantalla


como la anterior.

Aplicación 10

Una empresa dedicada a la venta de varios productos paga a sus trabajadores quincenalmente un
porcentaje del total de las ventas efectuadas, de acuerdo a la siguiente tabla:

Monto de la venta (MV) Porcentaje de pago

MV >= 2800 20%


2000 <= MV < 2800 15%
800 <= MV < 2000 12%
MV < 800 10%

Diseñar un programa que ingrese el monto total de las ventas efectuadas e imprimir el monto
total de las ventas y el monto a pagar al trabajador. Si se ingresa un monto negativo imprimir el
mensaje “Monto no valido”.

Solución:

47
ITAE

Botón Aceptar

Dim Monto As Double


Dim pago As Double
Private Sub cmdAceptar_Click()
Monto = Val(txtMonto.Text)
‘Proceso
If (Monto >= 2800) Then
pago = Monto * (0.2)
ElseIf (Monto >= 2000 And Monto < 2800) Then
pago = Monto * (0.15)
ElseIf (Monto >= 800 And Monto < 2000) Then
pago = Monto * (0.12)
ElseIf (Monto <= 800 And Monto > 0) Then
pago = Monto * (0.1)
Else
MsgBox (“Monto no Válido”)
Monto = 0
pago = 0
End If
txtSalida.Text = _
“El Monto de la Venta es :” + Str(Monto) + vbCrLf & _
“El Pago al Trabajador es:” + Str(pago)
End Sub

Botón Salir

Private Sub cmdSalir_Click()


End
End Sub

48
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 11

Diseñar un programa que ingrese un número entero e imprima el nombre de una estación del año
de acuerdo con la siguiente tabla:

Número Estación

1 Primavera
2 Verano
3 Otoño
4 Invierno

Para cualquier otro número imprima el mensaje “Estación incorrecta”

Solución:

Se escribe el siguiente código para la aplicación:

Private Sub cmdAceptar_Click()

Dim num As Integer


num = Val(txtNumero.Text)
‘Proceso
If (num = 1) Then
lblResultado.Caption = “La Estación es: PRIMAVERA”
ElseIf (num = 2) Then
lblResultado.Caption = “La Estación es: VERANO”
ElseIf (num = 3) Then
lblResultado.Caption = “La Estación es: OTOÑO”
ElseIf (num = 4) Then
lblResultado.Caption = “La Estación es:INVIERNO”
Else
lblResultado.Caption = “El Número no es válido”
End If
End Sub

Private Sub cmdSalir_Click()

End
End Sub

49
ITAE

Aplicación 12

Escribir un programa que permita imprimir la serie 1,2,3,4, ..........10 un número en cada línea.

Solución:

Se escribe el siguiente código para la aplicación:

Private Sub cmdAceptar_Click()

Dim I As Integer
I=1
txtResultados = “”
Do While I <= 10
txtResultados = txtResultados & Trim(Str(I)) & vbCrLf
I=I+1
Loop
End Sub

Private Sub cmdSalir_Click()

End
End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

50
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 12

Escribir un programa que imprima 20 veces el texto “I.E. Fe y Alegría Nº 43 - De La Salle ”

Solución:

Se escribe el siguiente código para la aplicación:

Botón Aceptar

Private Sub cmdAceptar_Click()


Dim I As Integer
I=1
Do While I <= 20
txtResultados = txtResultados & Trim(Str(I)) & _
“) I.E. Fe y Alegría Nº43 - De la Salle” & vbCrLf
I=I+1
Loop
End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

51
ITAE

Aplicación 13

Escribir un programa que imprima los números pares comprendidos entre 0 y 200

Solución:

Se escribe el siguiente código para la aplicación:

Objeto: Botón Aceptar

Private Sub cmdAceptar_Click()


Dim I As Integer

‘Proceso
I=0
txtResultados = “”
Do
If I Mod 2 = 0 Then
txtResultados = txtResultados & Trim(Str(I)) & vbCrLf
End If
I=I+1
Loop Until I = 200
End Sub

Private Sub cmdSalir_Click()


End
End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

52
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 14

Escribir un programa que permita calcular la suma de los números enteros entre 0 y 100

Solución:

Se escribe el siguiente código para la aplicación:

Objeto: Botón Aceptar

Private Sub cmdAceptar_Click()


Dim I As Integer
Dim Acumulador As Integer

I=0
‘ Proceso
Do While I <= 100
Acumulador = Acumulador + I
I=I+1
Loop
txtResultados = “La suma de los 100 primeros números “ & vbCrLf & _
“enteros es: “ & Trim(Str(Acumulador))
End Sub

Private Sub cmdSalir_Click()


End
End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

53
ITAE

Aplicación 15

Escribir un programa que permita calcular el promedio de notas de un salón de clases. El número
de alumnos se debe ingresar por teclado.

Solución:

Se escribe el siguiente código para la aplicación:


Objeto: Botón Aceptar

Private Sub cmdIngreso_Click()


Dim Nota As Double
Dim Numero As Integer
Dim I As Integer
Dim Promedio As Double
‘ Proceso
I=1
Numero = Val(txtAlumnos)
txtResultados = “”
Do
Nota = Val(InputBox(“Ingrese la nota “ & _
Trim(Str(I)), “Ingreso de notas”))
txtResultados = txtResultados & “Nota “ & _
Trim(Str(I)) & “: “ & Trim(Str(Nota)) & vbCrLf
Promedio = Promedio + Nota
I=I+1
Loop While I <= Numero
Promedio = Promedio / Numero
txtResultados = txtResultados & “El promedio es: “ & Promedio
End Sub

Private Sub cmdSalir_Click()


End
End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

54
Manual del Programador - Prof. Freddy Hervias Vargas

Aplicación 16

Escribir un programa que permita calcular el número de alumnos aprobados y desaprobados de


un salón de clases. El número de alumnos se debe ingresar por teclado.

Solución:

Se escribe el siguiente código para la aplicación:

Objeto: Botón Aceptar


Private Sub cmdIngreso_Click()
Dim Nota As Double
Dim Numero As Integer
Dim I As Integer
Dim nAprobados As Double
Dim nDesaprobados As Double
I=1
Numero = Val(txtAlumnos)
txtResultados = “”
Do
Nota = Val(InputBox(“Ingrese la nota “ & _
Trim(Str(I)), “Ingreso de notas”))
txtResultados = txtResultados & “Nota “ & _
Trim(Str(I)) & “: “ & Trim(Str(Nota)) & vbCrLf
If Nota <= 10 Then
nDesaprobados = nDesaprobados + 1
Else
nAprobados = nAprobados + 1
End If
z I=I+1
Loop While I <= Numero

txtResultados = txtResultados & “El total de aprobados es: “ & _


nAprobados & vbCrLf
txtResultados = txtResultados & “El total de desaprobados es: “ & _
nDesaprobados
End Sub

Al ejecutar la aplicación se presentará una pantalla como la siguiente:

55

También podría gustarte