You are on page 1of 12

http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico3.

htm

Variables y Constantes en 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
...se
wend

ejecutan

todas

x
las

lneas

de

=
cdigo

que

estn

100
aqu

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
procedimiento que se ejecutar cuando lo presionemos. El cdigo:

dentro del

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

You might also like