En Visual Basic, podemos declarar las variables a usar, antes de escribir el código de nuestros programas, o justo antes de usarla en una determinada instrucción.
Por ejemplo. Inserte un Label y un CommandButton. Escriba lo siguiente:
Private Sub Command1_Click()
Dim Sum As Integer
Dim Num As Double
Sum = 3 + 4
Num = 32 / Sum
Label1 = Num
End Sub
Podría escribirse también:
Private Sub Command1_Click()
Dim Sum As Integer
Sum = 3 + 4
Dim Num As Double
Num = 32 / Sum
Label1 = Num
End Sub
Sin duda alguna, la primera forma es más ordenada que la segunda y más fácil de mantener, pero cualquiera de las dos valida.
Si omitimos el tipo de una variable, esta adquiere el valor de Variant.
Variant puede tomar cualquier valor, y por defecto, suele tomar más tamaño en memoria que el valor que quisiéramos usar, y además, puede no darnos el resultado deseado por ser demasiado corta.
Por defecto suele ocupar 4 Bytes.
La forma de llamar a una variable desde Visual Basic y dentro de un evento es de la forma:
Dim nombre_de_la_variable as Tipo
siendo Tipo alguno de los tipos de variables permitidos en Visual Basic.
Los distintos tipos de variables utilizados en Visual Basic son:
Integer Valor Entero 2 Bytes
Long Valor Entero Largo 4 Bytes
Single Valor Real 4 Bytes
Double Valor Real Doble 8 Bytes
String Carácter (texto) 1 Byte por carácter
Byte Byte 1 Byte
Boolean Valor Booleano (1/0) 2 Bytes
Currency Monedas y Punto Fijo 8 Bytes
Date Fecha 8 Bytes
Object Referencias a objetos 4 Bytes
Variant Cualquiera 16-22 Bytes
Ahora veremos los valores que comprenden algunos de los tipos que hemos visto:
Byte 0 a 255
Boolean True o False (1 ó 0)
Integer -32768 a 32767
Long -2147483648 a 2147483647
Single -3,402823E38 a -1,401298E-45 (valores negativos)
-1,401298E-45 a 3,402823E38 (valores positivos)
Double -1,79769313486232E308 a -4,94065645841247E-324 (valores negativos)
4,94065645841247E-324 a 1,79769313486232E308 (valores positivos)
Currency -922337203685477,5808 a 922337203685477,5807
Decimal +/- 79228162514264337593543950335 (sin punto decimal)
+/- 7,9228162514264337593543950335 (28 posiciones a la derecha del signo decimal)
+/-0,0000000000000000000000000001 (es el número más pequeño posible)
Date 01/01/100 a 31/12/9999
Object [Objeto]
String Desde 1 a 65000
Variant Números: 16 Bytes hasta el intervalo Double
Caracteres: 22 Bytes + longitud ed la cadena
Estos que hemos visto, son los tipos base de uso en Visual Basic, pero podemos asignar un tipo de variable de dos formas.
Una de ellas ya la hemos visto:
Dim nombre_de_la_variable as Tipo
pero hay otra forma que sólo es utilizable para 6 tipos. Esta forma de identificar a una variable nos permite ahorrar tiempo a la hora de escribir código, además de tratar de hacer compatible las primeras formas de asignar variables en Visual Basic (desde Visual Basic 1.0).
Estas formas son extensibles para las variables tipo Integer, Long, Single, Double, String y Currency.
Integer %
Long &
Single !
Double #
String $
Currency @
De esta forma, podemos escribir el siguiente código:
Private Sub Command1_Click()
Sum% = 3 + 4
Num# = 32 / Sum%
Label1 = Num#
End Sub
En este ejemplo, puede utilizarse, pero es preciso tener un ligero conocimiento de este tipo de variables para no confundir una variable de tipo Long por otra de tipo Integer por ejemplo.
Constantes en Visual Basic:
Otro tipo de variables que se usan con frecuencia, son las constantes, las cuales toman un valor fijo durante la ejecución de un evento, formulario y/o programa. Este tipo de valor se define y no puede ser modificado a lo largo de nuestro programa. Es un valor de lectura, no puede ser sobreescrito.
La forma normal de escribir una constante es:
Const nombre_de_la_constante = constante
constante puede ser una cadena carácter, números, ... etc.
Podemos sin embargo, hacer una contante accesible en un formulario.
Esto se hace en el Objeto General del Procedimiento Declaraciones dentro de un formulario de esta manera:
Private Const Pepe = 2
ó
Const Pepe = 2
Cada vez que llamemos a la variable Pepe desde cualquier parte del formulario, obtendremos el valor 2.
Si hacemos una variable constante dentro de un evento, esta sólo tendrá lugar en el transcurso del evento.
Es decir, que podemos utilizar una variable con el mismo nombre dentro de otro evento a la cual no afectaría para nada el valor de la constante dado en otro procedimiento.
Un ejemplo para entenderlo mejor:
Private Sub Command1_Click()
Const Pepe = 3
Label1 = Pepe
End Sub
Private Sub Form_Click()
Pepe = 5
Label1 = Pepe
End Sub
Aquí, el valor Pepe es una constante Integer (la hemos forzado así al darle el valor 3) dentro del evento Command1_Click, pero en el evento Form_Click, Pepe no es una constante, con lo que el valor de Pepe en este caso adquiriría el tipo Variant como ya hemos visto y puede tener cualquier valor, que inicialmente sería un blanco.
Las constantes nos dan la fiabilidad y seguridad de que el valor a utilizar no va a modificarse dentro o fuera de un procedimiento o evento (si nuestra constante es accesible en un formulario o un evento).
Sin duda, que las constantes son muy útiles sobre todo en cálculos numéricos. Por ejemplo el número Pi.
Cabe destacar que el lograr que unas variables sean accesibles dentro o no de un formulario posee un nombre específico en Visual Basic. Las variables que poseen estas cualidades de ser accesibles, adquieren el nombre de ámbito.
Ahora bien, puede ser que queramos realizar una constante accesible durante todo nuestro proyecto, con lo que deberemos insertar un módulo y hacer una variable de uso Público. El ámbito de esta variable sería de ámbito público, es decir, accesible a lo largo de todo el proyecto y desde cualquier parte del mismo.
Con un ejemplo lo entenderemos perfectamente.
Insertaremos un formulario más del que tiene por defecto un proyecto Visual Basic y un módulo. Es decir, nuestro proyecto tendrá dos formularios y un módulo.
En cada formulario insertaremos un Label y un Command Button.
El código a insertar es este:
Módulo:
Public Const Pepe = 7
Formulario 1:
Private Sub Command1_Click()
Label1 = Pepe
Form2.Show 1
End Sub
Formulario 2:
Private Sub Command1_Click()
Label1 = Pepe
End Sub
La variable Pepe es accesible a lo largo de todo el proyecto (los dos formularios) con el valor constante público, dado en el módulo inicialmente como hemos visto.
Variables Static:
Todas las variables que se declaran por primera vez, adquieren el valor 0 para los datos numéricos y de una cadena vacía "" para las variables carácter. Para las variables Variant es un blanco ó "", es decir, lo toma como carácter incialmente.
Otro tipo de variables son las denominadas Static.
Este tipo de variables mantiene su valor mientras el código se está ejecutando.
La forma de referenciarlo es:
Static nombre_de_la_variable As Tipo
Tipos de variables definidas por el usuario:
Otro tipo de variables son las variables definidas por el usuario.
Son las variables Type ... End Type.
Un ejemplo:
Type Alumno
Nombre As String
Apellido1 As String * 50
Apellido2 As String * 50
Edad As Integer
End Type
Este tipo definido por el usuario, puede ser utilizado en ámbitos globales o parciales de un evento, formulario o proyecto.
Esta forma de hacer un tipo definido por el usuario de ámbito público, se hace colocando delante de Type la palabra Public. Para usarlo en el mismo ámbito del formulario o ámbito privado, lo debemos hacer con la palabra Private.
Esto es:
Public Type Alumno
Nombre As String
...
End Type
ó
Private Type Alumno
Nombre As String
...
End Type
Este tipo de variables tienen la posibilidad de ser personalizadas por el usuario, lo cual nos permite gran versatilidad en nuestros desarrollos