Você está na página 1de 10

Tutorial bsico de Visual basic

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 la palabra 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 llamada nombre 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 For-next. 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 case contienen 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