Sie sind auf Seite 1von 32

Bienvenido a la introduccin de este tutorial bsico de visual basic Esta gua esta destinado para aquellos que nunca

han entrado en contacto con este lenguaje de programacin. ( para que te des una idea se va a realizar en este captulo algo parecido al Hola mundo), si sos nuevo puede venirte como anillo al dedo, si no, te recomiendo que no pierdas ni un segundo leyendo de gusto y cierres la ventana, jeje. Este tutorial est basado en la versin 6.0 de visual basic, aunque con otras versiones no creo que tengas problemas. Entrando en el tema, con este lenguaje de programacin pods realizar casi cualquier tipo de programa para plataformas windows, esto quiere decir, que pods programar utilitarios para windows, bases de datos, aplicaciones comerciales y de gestin, juegos, etc.. . Sin embargo lo que no pods desarrollar son por ejemplo: aplicaciones que administren bases de datos gigantes, drivers para dispositivos , juegos que utilicen una interfaz grfica compleja, ya que tendras 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 rpidos y que tengan soporte para este tipo de proyectos y programas.

2 - Breve historia y alcance del lenguaje


Las siglas Basic significan (beginner's all-purpose simbolic instruction Codic). El lenguaje Basic fue creado en el ao 1964 y se modific varias veces hasta que en el ao 1978 se estableci el Basic estndar. Este anteriormente se llamo "gwbasic", luego "QuickBasic" y asi fue evolucionando y finalmente llegamos al "Visual Basic", todas con sus diferentes versiones, la 1, 2 , etc.. hasta la 6.0 Las aplicaciones que se puden desarrollar con visual basic 5 y 6 son aplicaciones de 32 bits solo para plataformas Windows. Mas informacin sobre la historia de visual basic en la Wikipedia

3 - 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 entorno Para inicializar el programa, luego de haberlo instalado obviamente, desde el men inicio > programas > microsoft visual basic 6.0, te pods crear un Acceso directo en tu escritorio para tenerlo mas a mano.

En la imagen superior pods ver la barra de controles. Esta barra contiene los controles estndar de Visual Basic. Se los llama estndar porque que son los controles que por defecto aade Visual Basic cuando creamos un programa desde 0. A los controles no estndar, u otro tipo de controles, por ejemplo los creados por nosotros, los que tengamos instalados en el sistema, y dems 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 teclaCtrl+T. Cuando se agrega un control no estndar, se aade a la barra y ya lo pods utilizar.. Los controles estndar son los controles bsicos, 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 captulos.

La imagen anterior, nos muestra los formularios (ventanas) , mdulos de cdigo, y otros tipos de objeto que componen el proyecto que estamos realizando. Desde esta ventana podemos hacer varias operaciones, por ejemplo al seleccionar un formulario, en los botones "Ver Objeto" y "Ver cdigo" en la parte superior, accedemos a la vista de diseo del formulario, mientras que si elegimos Ver cdigo, se abre una ventana que muestra el cdigo de ese formulario seleccionado. Tambin 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 podemos modificar las caractersticas del objeto o control seleccionado actualmente. Por ejemplo si agrego un formulario y lo selecciono, puedo establecerle el color de fondo, el ancho, alto, el nombre que va a tener para poder identificarlo y muchas otras propieades. Lo importante que quede claro es que esta ventana cambia cada ves que seleccionamos un objeto o control diferente, si seleccionamos un botn o Command Button, visualizar las propiedades de ese botn, si seleccionamos un formulario las propiedades de ese formulario, si seleccionamos un TextBox, mostrar ls propiedades de ese textBox , etc..

Esta es la barra de menues y barra de herramientas de Visual Basic. Para no hacerla 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 comn , una Dll ActiveX o un Proyecto Ocx), Tambin Compilar el proyecto en un ejecutable, Acceder a la ayuda, (tens que tener instalados los CD del Msdn), Abrir un proyecto, Guardar, El acceso a los distintos modos y opciones de depuracin de errores, y muchas opciones mas.

4 - Formularios, propiedades, mtodos y eventos

En esta parte se realizar un ejemplo simple que consistir en una ventana o formulario que contendr un botn, y al presionar este botn 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 descripcin"Mi primer programa". Pero antes de realizar este ejercicio veamos un par conceptos bsicos necesarios Formulario

Es la ventana o contenedor donde colocamos y agregamos controles de comando , como un botn, 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 botn y al presionar este botn hacer aparecer otro formulario en este caso un formulario2. Propiedades: Cuando hablamos de propiedades nos estamos refiriendo a las caractersticas que puede tener un control u objeto, por ejemplo: los botones llamados commandbutton tienen una propiedad llamada caption. Esta propiedad establece el texto que va a mostrar el botn en el propio botn. Los formularios tambin poseen esta propiedad caption y muchos otros controles tambin 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 comparacin, seran 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 cdigo 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 botn: el evento click (cuando lo presionamos), para un formulario: load (este evento se ejecuta cuando se carga el formulario 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 Mtodos Los mtodos de un objeto son funciones propias que tiene cada objeto. Por ejemplo los formularios poseen un mtodo llamado show , y lo que hace es cargarlo y hacerlo visible. Para un control combobox este tiene un mtodo llamado additem, y lo que hace es agregar elementos en dicho control. Pero los mtodos al igual que las propiedades y eventos, no estn presentes en todos los controles

de manera igual, es decir algunos objetos y controles pueden compartirlos, pero otros no. Por ejemplo el mtodo Show de los formularios, no lo posee ningn control estndar excepto los formularios.

5 - Pasos para realizar el ejemplo


1 - Abr el Visual Basic y te aparecer una ventana para que puedas elegir el tipo de Proyecto o programa que quers realizar. Como vers hay muchas opciones, nosotros elegiremos la opcin Estndar EXE como muestra la imagen:

2 - Ya abierto el VB pods ver que tens un formulario llamado Form1, este es agregado automticamente cuando comenzs un nuevo programa o proyecto, y es el nombre por defecto que se le asigna, obviamente esto se puede cambiar utilizando la propiedad Name queposeen los controles. 3 - Como se dijo nuestro programa va a consistir en un formulario con un botn que al presionarlo muestre un texto diciendo "Mi Primer programa", entonces agreg un botn a nuestro formulario. Para agregarlo lo pods hacer desde la barra de controles, en la parte izquierda del IDE, y busc entre todos ellos un control llamado Command Button (Botn de comando). Haciendo doble click sobre el control, o dibujandolo sobre el formulario.

4 - Como te dars cuenta, el texto que muestra el botn por defecto es "Command1". Nosotros lo vamos a cambiar por "Mostrar mensaje". Para ello tenemos que cambiarle la propiedadCaption del botn. Entonces seleccion con un click el command1 (serciorate que est seleccionado, cuando al rededor del botn 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 botn solo nos mostrar las propiedades del Command1. Ahora busc en la lista de propiedades la propiedad Caption y vers que dice Command1, borrala y escribe: "Mostrar mensaje". Como pods ver el texto o leyenda del botn a cambiado. NOTA: Nosotros todava no hemos ejecutado nuestro programa por que obviamente lo estamos diseando. A esto se lo denomina trabajar en "Tiempo de diseo". La otra forma de trabajo se denomina "Tiempo de ejecucin", que es cuando nuestro programa est siendo ejecutado o cargado en memoria. Tendras que tener algo por el estilo en tu formulario Form1

5 - Ahora vamos a agregar las instrucciones o lneas de cdigo para que cuando pulss el botn se despliegue un mensaje. Hac Doble click sobre el botn y pods ver que se habre una ventana donde escribir el cdigo. Esta se llama precisamente ventana de Cdigo. Al abrirse la ventana muestra una serie de instrucciones

Private Sub Command1_Click() End Sub

A esto se lo llama Subrutina o procedimiento de cdigo, y estas subrutinas tienen un comienzo y un fin.

Despus 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 cdigo necesario para mostrar, por medio de una ventana, el mensaje "mi primer programa". Entre la declaracin Private sub Command1_click y End sub escribe lo siguiente

Msgbox "Mi primer programa"

El cdigo tendra que quedarte de la siguiente manera

Private Sub Command1_click() MsgBox "Mi primer programa" End Sub

6 - Ac lo que se hizo fue utilizar una funcin 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 > opcin Iniciar La mas sencilla de todas que es presionando la tecla F5.

Cuando ejecuts el programa y presions el Command1, se mostrar el mensaje.

En este momento nuestro programa est en ejecucin, para volver a la pantalla de vista de diseo y detener el programa , tenemos que presionar el cono con un cuadrado azul (stop) o ir al men ejecutar y elegir la opcin terminar.

6 - Sobre los proyectos en Visual Basic


Por ltimo para cerrar esta intruduccin muy bsica una aclaracin sobre los Proyectos. Cada vez que inicias un programa nuevo Standar Exe Visual Basic Hace lo siguiente: Crea un formulario llamado "Form1" y tambin un proyecto de trabajo llamado por defecto "Proyecto1". Cuando lo guards, desde el men Archivo > Guardar proyecto, se crear un archivo llamado "proyecto1.vbp", otro archivo con los formularios que tengas en el proyecto, en nuestro caso "Form1.frm" y otro archivo en este caso "Proyecto1.vbw" que es un archivo de configuracin. Este ltimo archivo a nosotros no nos interesa, ya que lo usa Visual Basic para configurar el proyecto cada vez que lo abrimos. Para guardar proyectos, hay que ir al men archivo y elegir guardar proyecto, tambin te pedir que guardes el formulario form1.frm . En ambos casos puedes asignarle el nombre que quieras.

1 - Formularios , propiedades mtodos y eventos


En esta seccin se ven las caractersticas principales de los Formularios. Como vimos en la pgina anterior, los formularios son las ventanas que contienen 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 cdigo necesario de nuestros programas. Tambin se dijo, los controles e inclusive los Formularios tienen sus propias caractersticas, como las propiedades (un ejemplo el color del fondo o propiedad Backcolor), sus eventos (el evento load que se ejecuta cuando cargamos el formulario en memoria), y sus mtodos (por ejemplo el mtodo show que es para mostrar el formulario y el mtodo hide que es para ocultarlo, en el caso de un formulario. Ac hay que hacer una cosa muy importante. Cuando se comienza a programar, suele ser muy casual confundir mtodos y eventos y no son lo mismo. Los mtodos son funciones propias de cada objeto, por ejemplo el mtodo 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 ocacin). Pero otros eventos si los comparten ambos. Siguiendo el ejemplo del formulario y el botn, los dos tienen un evento llamado click, y todas las instrucciones de cdigo que escribamos en la rutina de cdigo o procedimiento que estn bajo este evento, se ejecutarn cuando hagamos un click con el mouse sobre el objeto. El evento Click lo poseen la mayora de los controles, pero no tiene porque ser as.

Para seguir con el tema de los mtodos y eventos, vamos a hacer un ejemplo simple de ejercicio. Este ejemplo, consistir en un formulario que contendr un botn y , al presionarlo nos mostrar otro formulario.

1.1 - Ejemplo sobre mtodos y eventos


Pasos a seguir para el ejemplo: 1 - Comenz un nuevo proyecto Exe. Por defecto visual basic te agrega un formulario llamado Form1. este formulario contendr el botn 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 botn para que te muestre la lista de propiedades del mismo. 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 botn, 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 opcin de agregar otros formularios, tendrs que agregarlo desde la barra de men >proyecto> Agregar formulario. Te va a aparecer un cuadro de dilogo y eliges la opcin formulario. Como pods ver se ha agregado otro formulario llamado form2, y la ventana del explorador de proyectos ahora contiene 2 formularios.

4 - Ahora tenemos que introducir el cdigo 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 tens que volver a ir al Form1, haciendo un click en la ventana de explorador de proyectos (la imagen de arriba) y seleccion el form1. 5 - Para ingresar el cdigo al botn, hac doble click en el mismo e ingres la siguiente instruccin de cdigo: Form2.show. La rutina de cdigo del botn command1 te quedara algo parecido a esto:

Nota: Como seguro te diste cuenta, cuando escribs Form2 y presionas el punto ".", visual basic te muestra una lista con todas las propiedades y mtodos que tiene form2, y as ocurre con todos los objetos que tienen propiedades y mtodos. En este caso el mtodo show mostrar el Form2 en pantalla, es decir el mtodo Show lo que hace es cargar en la memoria un formulario y automticamente lo hace visible.

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

1.2 - Otro ejemplo sobre formularios


Ahora vamos a hacer un programa de ejemplo parecido al anterior, pero con algunas variantes. En la primera parte, el programa que hicimos consista en un formulario que tena un botn (Command1), y al presionarlo mostraba otro formulario . Este lo llevamos a cabo con el mtodo show que tienen los formularios y sirve para mostrarlos en pantalla. El objetivo de este programa es mostrar cuatro mtodos que poseen los formularios, ellos son: Load, Unload, Hide y Show. El mtodo Load tiene la funcin de cargar el formulario en la memoria y unload descargarlo de la memoria. Esto no significa que si el mtodo load carga el formulario, automticamente se muestre en la pantalla, quiere decir que solo permanece cargado en memoria, luego para mostrarlo tendramos que utilizar el mtodo show por ejemplo (hay otras opciones para hacer lo mismo pero no vienen al caso detallarlas para este ejemplo). El mtodo Hide oculta el formulario pero sigue permaneciendo en la memoria. Para descargarlo completamente de la memoria ram, tendramos que usar el mtodo 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 "command1" 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)" E n 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 tens que seleccionar el objeto que quieras, mantener presionado el botn izquierdo del mouse y soltarlo en el lugar que quieras. lo mismo pasa con el tamao de los controles, cuando los seleccionas pods cambiarle el tamao. 5 - Ahora vamos a escribir el cdigo para los botones. Por si ya te olvidaste lo que bamos a hacer, lo que harn estos botones son: El Command1 Cargar 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 permaneciendo cargado. En el Command1 entonces , hac doble click en dicho botn y tipea: Load Form2 . Para el Command2 que mostrar el Form2: Form2.show. El botn Command3: Unload form2 El Command4: Form2.hide . 6 - El ltimo paso que nos queda para poder correr nuestro programa es ingresar un nuevo formulario, entonces desde el men proyecto eliges la opcin agregar formulario y agregas uno nuevo al proyecto. Ahora puls F5 y prueba el programa. Nota : seguro que te preguntars para que sirve el mtodo Load, si para que aparezca en pantalla el Form2 tengo que usar la instruccinshow. Supongamos que tenemos un programa con varios formularios y que estos tienen muchos controles y es medio "pesado" (me refiero en bytes), entonces a veces conviene cargar dichos formularios en la memoria, para que cuando necesitamos llamarlos o mostrarlos en pantalla, estos se muestren de forma mas rpida. Esta es una de las posibilidades del uso no es la nica.

El cdigo completo sera el siguiente:

'Carga el form2 pero no lo muestra Private Sub command1_click() Load Form2 End Sub 'Carga y muestra el Form2 Private Sub command2_click() Form2.Show End Sub 'Descarga completamente de la memoria el Form2 Private Sub command3_click() Unload Form2 End Sub 'lo oculta pero no descarga el Form2 de la memoria

Private Sub command4_click() Form2.Hide End Sub

Nota Sobre los comentarios en el cdigo Para colocar comentarios en nuestros programas, se antepone la comilla simple o la palabra Rem (esta ltima prcticamente no se utiliza). Es fundamental escribir comentarios sobre los bloques de cdigo que componen las distintas partes del programa, para que cuando echemos una mirada al cdigo sepamos de que se trata. Estos comentario o lneas descriptivas no se ejecutan y no influye en nada a la ejecucin de los procedimientos, solo es informacin que ayuda a entender cada lnea o seccin de un bloque de cdigo.

2 - Controles Estndar de Visual basic


Para ver una descripcin bsica de los controles estndar de visual basic, es decir los que aparecen por defecto en el cuadro de controles en la parte izquierda del IDE, pods acceder a esta seccin apartada del tutorial en el siguiente enlace, donde se explica el funcionamiento bsico de los mismos con algunos ejemplos prcticos: Tutorial de los controles de Visual Basic Tambin en la misma pgina hay ejemplos de los controles no estndar, es decir controles que debemos incorporarlos nosotros y que visual basic no los incorpora por defecto al iniicar un proyecto

1 - Introduccin
Todos los lenguajes utilizan este sistema o metodologa para la programacin de aplicaciones, pero varan la forma en que se utilizan, su sintaxis etc... Cuando uno recin empieza a programar, parece muy complicado entender estos temas, pero con la prctica todo se va aclarando. Lo bueno de comprender los fundamentos de la programacin, es que nos permite luego poder programar en casi cualquier lenguaje, por que la forma de programar en general no vara demasiado, lo que cambia en cada uno de ellos es su sintaxis y funciones y cosas propias del lenguaje. Aunque tampoco es tan as, ya que esto no significa que por que uno sea experto por ejemplo programando en lenguaje C, lo sea en Visual Basic y Viceversa.

2 - Las Variables

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

A las variables se les asigna un nombre para poder utilizarlas. Por ejemplo puedo crear una variable 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 tendra mucho sentido crear una variable llamada m y all guardar o almacenar un nombre o un apellido, por que cuando echemos vista al cdigo resultara mas difcil deducir que tipo de dato estoy guardando. Por ejemplo en este ltimo caso sera mucho mas lgico 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 cdigo y se les antepone lapalabra reservada 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 nmero entero. Despus de declararla 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 podramos almacenar en ella una cadena de caracteres como por ejemplo un nombre o cualquier otro tipo de datos que no sea un nmero entero. Si sucedera esto nuestro programa dara un error en tiempo de ejecucin, mostrndonos un feo cartel dicindoos que no coinciden los tipos de datos..

3 - Tipos de datos:
Los tipos de datos, indican el tipo de valor que puede almacenar una variable. Los principales tipos de datos: Nmeros enteros: dentro de los nmeros enteros tenemos varios tipos de datos dependiendo el rango que queramos utilizar:

Byte: puede almacenar nmeros enteros dentro del rango desde 0 a 255 Integer: puede almacenar nmeros enteros dentro del rango -32.768 a 32.767 Long: puede almacenar nmeros enteros dentro del rango -2.147.483.648 hasta 2.147.483.648 .

Nmeros decimales: para almacenar nmeros decimales contamos con los siguientes tipos de datos:

Single: almacena nmeros 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 lgicos: para almacenar tipos de valores lgicos 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.

4 - Constantes:

Las constentes, como las variables, se utilizan para guardar datos y valores para nuestro programa, 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 lnea anterior he creado una constante, que la llam numero y va a almacenar un nmero , y este valor, cuando se ejecute mi programa se mantendr invariable.

Un ejemplo:

1 - En la siguiente lnea 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 funcin MsgBox que es una funcin de Visual Basic para mostrar mensajes, mostramos el resultado de esa suma. Coloca un botn (CommandButton) llamado Command1. Hac dobleClick sobre el botn para que se abra la ventana de cdigo de Visual Basic. Dentro del procedimiento Click pega este cdigo:

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, pods 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 llamadanombre y otra apellido. Despus le asignamos un valor, y por ultimo mostramos las variables con un mensaje usando la funcin MsgBox como en el ejemplo anterior. Pero antes hay que aclarar algo importante, las cadenas en visual basic se encierran entre comillas dobles como pods 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 ejecucin. Creamos 2 variables exactamente 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 probs el ejemplo, visual basic te mostrar un mensaje de error como el siguiente: "no coinciden los tipos de datos":

...ya que las variables estn declaradas como de tipo Integer, y le ests asignando un tipo de dato que no lo acepta. 4 - Un ejemplo que almacena un nmero en una variable de tipo Byte (nmeros de 0 a 255). Primero declaramos la variable y le damos un nombre, por ejemplo si queremos almacenar el nmero 88 hacemos por ejemplo as.

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 botn Command1, sera 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, ocurrira lo mismo que en el ejemplo anterior, es decir un Error 13 en tiempo de ejecucin "No coinciden los tipos de datos"

5 - Estructuras de control:
Las estructuras de control se utilizan para controlar el flujo del programa en una rutina o funcin. Mediante ellas podemos controlar, mediante una condicin, que se ejecute una determinada lnea o bloque de lneas de cdigo .. o que no se ejecuten.

Estructura If - Then - Else Esta estructura permite mediante una condicin, que se ejecute o no se ejecute determinada tarea o lnea de cdigo.

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 espaol significara 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. En conclusin lo que hace esta estructura es evaluar una condicin, si se cumple, que se ejecute determinada tarea. si no se cumple, se ejecutar las lneas de cdigo que estn bajo la clusula 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 clusula. Por ejemplo podramos 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 lnea MsgBox "No se ejecut el bloque If Anterior porque el Caption del control Label1 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 ejecucin de nuestro programa). En cambio si ahora le cambia el caption al Label1 y volvs a ejecutar el proyecto, pods ver que la instruccin End no se ejecuta, si no que la pasa por alto y sigue con las restantes lneas, en este caso ejecuta la funcin MsgBox con el mensaje.

Estructura While - Wend Esta estructura de control repetir sin detenerse un determinado cdigo mientras se cumpla una condicin. Por ejemplo supongamos que tenemos una variable llamada x que tiene un valor de 100.

while x = 100 ...se ejecutan todas las lneas de cdigo que estn aqu wend

Esto traducido al espaol significara lo siguiente: Mientras (While) la variable x sea igual a 100, y no cambie su valor, se formar un bucle interminable, hasta que x cambie a cualquier otro valor disto de 100. Si x cambia el valor, por ejemplo a 234 saldra del bucle While - wend y seguira ejecutando el resto del cdigo, si es que hay mas cdigo o instrucciones a ejecutar. Un ejemplo, agrega un Command1 al formulario y un control Text1. Cuando ejecutemos el ejemplo, se deber escribir un nmero dentro del control textBox. Entonces se crear un bucle While, que mostrar en el Caption del formulario, es decir en la barra de ttulo, el intervalo desde 0 hasta el nmero que hayamos ingresado en el Text1. Es decir si ingresamos el nmero 9000, en el caption del formulario se imprimirn los nmero 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 nmero 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 repeticin de instrucciones o bucle, pero no evala una condicin como en el caso del bucle While, si no que lo hace entre un nmero inicial y un nmero 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 significara lo siguiente: Primero, tenemos una variable llamada "contador". Mediante el bucle For - next podemos controlar la cantidad de veces que queremos repetir un determinado proceso o instruccin. Esta posee un principio y un fin, en este caso el principio sera 0 y el fin 1000, de manera que la variable contador se incrementar en 1 hasta que llegue a 1000, y repetir 1000 veces todas las instrucciones que estn bajo la clusula Fornext. En este caso nuestro control Label1 mostrara 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 botn para escribir dentro del procedimiento que se ejecutar cuando lo presionemos. El cdigo:

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 clusulas If y de esta manera no tener que anidarlas. La clasula Select evala una condicin y las clusulas casecontienen valores, si el valor que contiene la clusula case es igual a la condicin que se evalu, ejecutar las instrucciones en dicha clusula.

Dim Nombre As String Nombre = Text1 Select Case Nombre Case "Jorge" MsgBox "Se ejecut la clusula case: " & Nombre Case "Pedro" MsgBox "Se ejecut la clusula case: " & Nombre Case "Carolina" MsgBox "Se ejecut la clusula case: " & Nombre

End Select

Esta estructura es muy prctica. En el ejemplo anterior, la clusula Select case contiene como condicin el valor de la variable llamada Nombre. Esa Variable toma el valor que tenga un control Text1, entonces buscar en todas las clusulas case, y si encuentra una igual a la condicin, ejecutar solo las instrucciones de la clusula case que tenga el mismo valor, por ejemplo si ingresara el nombre "Martn" no se ejecutar ninguna clusula Case. En cambio si ingreso "Jorge" se ejecutar solo las instrucciones que estn en la seccin Case "Jorge" y asi... En el caso anterior solo hemos colocado un valor para cada Case. Si quisieramos colocar mas valores podramos 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 seccin 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 instrucciones de cdigo de nuestros programas. A continuacin los operadores mas importantes.

Operadores aritmticos Estos operadores nos permiten trabajar con clculos matemticos como la suma (+), resta (-), divisin (/) y multiplicacin (*). Ejemplos:

a = 5 b = 15 c = a + b ' en este caso la variable c contendra el valor 20 ganancia = 500 perdida = 200 total = ganancia - perdida 'la variable total pasara 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

Operadores lgicos 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 = "mara") Then 'solo se ejecutar el cdigo dentro de este bloque IF si la variable 'x vale 10 y la variable nombre es igual a mara End If If (m = 10) Or (nombre = "pedro") Then 'el cdigo se ejecutar si por lo menos una variable es correcta 'es decir si por lo menos se cumple una condicin End If

Operadores de comparacin Los operadores de comparacin 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 cdigo que este aqu End If if x > 6 then 'si la variable x es mayor que 6 se ejecutar el cdigo que este aqu end if If pas <> "Estados unidos" Then 'si la variable pas es distinta a "Estados unidos" se ejecutar el cdigo End If While c <= 87 'mientras la variable c sea menor o igual a 87 se ejecutar 'el bucle While Wend

Por ltimo quedara por ver el operador de concatenacin (&) que se utiliza para unir cadenas de caracteres. Por ejemplo:

nombre = "Jose" apellido = "Peralta" nombrecompleto = nombre & apellido 'La variable nombrecompleto pasara a contener la unin de las otras dos variables 'es decir Jose Peralta

Nota: hay muchos mas operadores en Visual Basic, estos son los bsicos

1 - Subrutinas de cdigo
Se denomina subrutina a una porcin de cdigo que tiene como principal funcin ejecutar una determinada tarea. Estas 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 pblicas. En el siguiente ejemplo se muestra una subrutina que crea visual basic automticamente cuando en un formulario insertamos un botn llamado Command1 y desde la ventana de eventos seleccionamos 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 eventoChange

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 mdulo 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 quisiramos que estos procedimientos se puedan llamar desde otro formulario, lo que tendramos que hacer es cambiar el alcance del procedimiento, en ves de Private Sub cambiarlo por Public Sub. si hacemos esto, ese procedimiento de cdigo puede ser utilizado desde cualquier parte del proyecto.

Subrutinas y Procedimientos propios

Tambin podemos crear nuestros propios Procedimientos y Subrutinas de cdigo para ejecutar una determinada tarea. Para crear un procedimiento de cdigo se debe escribir la palabra Private sub o Public sub (depende el alcance), seguida del nombre del procedimiento (un nombre que queramos) y los parmetros, si es que le enviaremos parmetros (los parmetros son opcionales). Adems el procedimiento debe ser escrito en un lugar vaco de la ventana de cdigo, es decir nno 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 funcin especfica de borrar el contenido de 3 controles label. Pero ahora te preguntars como hago para que se ejecute el procedimiento que he creado ?. Muy fcil. 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),

Tambin un Commandbutton llamado Command1 y en la ventana de cdigo hemos 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 haramos as:

Private Sub command1_click() ProcedimientoBorrar End Sub

Al presionar el Command1 visual basic detectara el nombre ProcedimientoBorrar, y automticamente saltara al lugar donde creamos el procedimiento y ejecutara las lneas de cdigo que haya en ese procedimiento. Tambin 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 procedimiento contiene parmetros, debemos pasarlos entre parntesis ( los parmetros de procedimientos y funciones se explican a continuacin) una vez que se ha terminado de ejecutar las instrucciones que estn dentro del bloque del procedimiento, volvera a la lnea siguiente de donde fue llamado el mismo, y ejecutara todas las lneas restantes de cdigo. En este caso no ejecutara nada mas por que no hemos puesto ninguna otra instruccin debajo de ProcedimientoBorrar. La principal ventaja de crear procedimientos de cdigo es que evita tener que escribir varias veces las mismas instrucciones en un programa, el cdigo se hace mucho mas funcional y entendible, se pueden dividir un problema (una rutina), en varios procedimientos y probarlos independientemente, y adems la posibilidad de enviar parmetros a los procedimientos

1.1 - Pasar parmetros a los procedimientos:


Se utilizan los parmetros en los procedimientos para que el procedimiento no ejecute siempre las mismas lneas de cdigo y pueda variar, teniendo la posibilidad de hacerlo mas dinmicamente. En ciertas ocaciones no es necesario enviar parmetros, pero en otras es prcticamente fundamental. Los parmetros 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 parmetros: El primero es un nombre y es un dato de tipo String y por ende debe ir entre comillas. El segundo es un nmero y el tercero tambin un string. , o sea una cadena de caracteres

Pero la cosa no queda ac. Si nosotros vamos a pasar parmetros a un procedimiento, cuando creamos el procedimiento debemos establecer que tipo de parmetros 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 parmetros. Cada parmetro 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 podramos por ejemplo, en el evento click de un Command1, llamar al procedimiento y pasarle los parmetros. Coloca un Command1 , 3 controles Label, copia en la ventana de cdigo el procedimiento anterior llamado DatosPersonales, y ahora pega el siguiente cdigo

Private sub command1_click() DatosPersonales "Luciano", 25, "La plata" End sub

Al presionar el botn se llamar al procedimiento que habamos creado anteriormente, y le pasar los valores de los parmetros en el orden en que estn establecidos declarados en el procedimiento. Esto quiere decir que el primer parmetro 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. Despus 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 parmetros en un procedimiento, por que por ejemplo en el caso anterior si hubisemos pasado los parmetros de esta forma:

DatosPersonales 25, "Luciano", "La plata"

el segundo parmetro "Luciano" se almacenara en la variable Edad que es de tipo Integer y se producira un error en tiempo de ejecucin por no coincidir los tipos de datos, ya que la variable espera un valor numrico de tipo Integer y nosotros le estamos pasando una cadena de caracteres, un dato de tipo String Otra cosa importante es que cuando creamos, por ejemplo un procedimiento que va a recibir 2 parmetros, cuando lo llamemos, no podemos enviarle solo 1 parmetro, debemos obligatoriamente pasarle los 2

parmetros que hubisemos declarado en el mismo. Un ejemplo que dara un error en tiempo de ejecucin por no pasar adecuadamente los parmetros sera:

Private Sub sumar(a As Integer, b As Integer) Label1 = a + b End Sub

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

Call sumar ( 456 )

Esto dara un error de compilacin por que el procedimiento espera recibir 2 parmetros ..y nosotros le estamos pasando o enviando solo uno de ellos. Precisamente el cartel de error que te mostrara visual basic sera el siguiente:

Nota: hay una sentencia llamada Optional que SI permite pasar parmetros 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 parmetro Email, esta no dar error, por ejemplo:

Call Con_Parametro_Opcional("Maria")

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

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

Funcin IsMissing
Esta funcin se utiliza cuando utilizamos parmetros opcionales en una funcin o procedimiento, y nosotros, dentro del mismo queremos saber y averiguar si se han enviado los parmetros opcionales El uso de IsMissing muy simple. Esta funcin retorna el valor True si NO se ha enviado el parmetro que queremos comprobar, y devuelve False si el parmetro 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 parmetro NOMBRE ", vbInformation Else MsgBox " Se ha enviado el parmetro NOMBRE ", vbInformation End If

End Sub 'Ac No se enva el parmetro Private Sub Command1_Click()

Mostrar_Dato End Sub 'Ac Si se enva el parmetro Private Sub Command2_Click() Mostrar_Dato "Mara" End Sub

1.3 - Pasar parmetros por valor y por referencia ( ByVal y ByRef )


los parmetros en las funciones y procedimientos, se pueden enviar de dos maneras: por Valor y por Referencia. Si estn declarados como ByVal, los mismos sern por valor, si se declaran como ByRef sern por referencia. La diferencia entre uno y otro mtodo de paso de parmetros, es que en ByVal 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 ves que termine y finalice el mismo, la variable original pasar a valer el dato que tena, es decir no se modifica 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 ves que finalice la ejecucin del procedimiento o funcin.

1.4 - Ejemplo de envo de parmetros por Valor ( ByVal )

Cdigo de ejemplo

Private Sub Command1_Click() Dim Un_Valor As Long Un_Valor = 100

'Se enva la variable por Valor ( ByVal ) Call Sumar(Un_Valor)

'Muestra el valor que es 100, ( no se modific en la funcin Sumar ) MsgBox Un_Valor

End Sub 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 parmetro una variable enviada por valor con ByVal ( es decir es una copia de la variable original ). al presionar el Commmand1. Al entrar en la Sub Sumar, el dato se modifica ( Valor = Valor + 100). Cuando finaliza el procedimiento Sumar y retorna a la lnea 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 enva una copia de la variable original y cualquier cambio que se produzca, ser solo en el mbito del procedimiento o funcin

1.5 - Ejemplo de envo de parmetros por Referencia ( ByRef )


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

Private Sub Command1_Click() Dim Un_Valor As Long Un_Valor = 100

'Se enva 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 Sumar)

MsgBox Un_Valor

End Sub Sub Sumar(ByRef Valor As Long) 'Modifica la variable Valor = Valor + 100 End Sub

Al probar el cdigo, 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 procedimiento o funcin, 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 parmetro de una funcin o Rutina ni ByVal, ni ByRef, se asume que la misma se est enviando como referencia (ByRef). Es decir lo siguiente recibe el parmetro como Referencia

Sub Sumar(Valor As Long)

.. que es lo mismo a esto:

Sub Sumar(ByRef Valor As Long)

2 - 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 cdigo, en como se le pasa los parmetros etc.. 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. En cambio los procedimientos, solo ejecutan el cdigo que contienen y luego mueren por decirlo de alguna manera.

Para declarar o crear una funcin podramos escribir lo siguiente:

Private Function Total(Valor1 As Integer, Valor2 As Integer) As Long Total = Valor1 + Valor2 End Function

Seguramente notaste que declaramos la funcin llamada Total, y al final de los parmetros dice As Long , esto es por que como dijimos las funciones retornan o devuelven un valor, o sea que en este caso la funcin 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 nmeros, cadenas, fechas, arreglos y
vectores

Para llamar a la funcin anterior podramos hacerlo de la siguiente manera:

Label1.caption = Total 502, 1478

En este caso el control Label1 llamara a la funcin Total , la funcin realizara la suma de los valores pasados como parmetros y por ltimo el valor final de la suma se lo asignara al control label1. Nota : En el siguiente link , hay un ejemplo de una funcin que retorna un array de tipo string

3 - Ejercicios de ejemplo sobre procedimientos y funciones

Estos ejercicios y ejemplos tratan los temas vistos en esta seccin, pods descargarlos en los enlaces de abajo. Los archivos en formato zip, contienen el cdigo fuente y la descripcin de los mismos en el mismo cdigo fuente.

1. 2. 3. 4.

Ejemplo que llama a una subrutina, desde otra subrutina Ejemplo en el que creamos un procedimiento sencillo para sumar valores Ejemplo que utiliza un procedimiento dentro de otro procedimiento Este ejercicio ejecuta un procedimiento dependiendo de una condicin, utilizando una estructura de control if - then 5. Este ejercicio utiliza un procedimiento que recibe parmetros numricos y los multiplica 6. Ejemplo de como utilizar un procedimiento que recibe un parmetro de tipo boolean 7. Ejemplo que muestra como pasar parmetros de tipo string y algunas cosas mas 8. Ejemplo que muestra una sencilla funcin que suma 2 variables y luego retorna el valor, mostrndolo en un control label 9. Ejemplo de una funcin de tipo integer que recibe 2 parmetros 10. Ejemplo de una funcin de tipo boolean que es ejecutada de acuerdo a una condicin If.

Das könnte Ihnen auch gefallen