6.
Tipos
de datos, variables y funciones. Operadores.
6.1.
Tipos
de datos.
Un tipo de dato determina la
naturaleza del dominio de valores que puede tomar una variable, las operaciones
en que puede participar y el espacio de memoria que necesita. La tabla siguiente
muestra los tipos de datos, incluyendo el tamaño de almacenamiento y el
intervalo.
6.1.
Variables
Por otro lado, las variables se utilizan
para almacenar valores temporalmente durante la ejecución de una aplicación.
Las variables tienen un nombre (la palabra que utiliza para referirse al valor
que contiene la variable) y un tipo de dato (que determina la clase de dato que
la variable puede almacenar).
Declarar una variable es decirle al
programa algo de antemano. Se declara una variable mediante la instrucción Dim,
proporcionando un nombre a la variable, según la siguiente sintaxis:
Dim NombreVariable As TipoVariable
Las variables que se declaran en un
procedimiento mediante la sentencia Dim sólo existen mientras se ejecuta
el procedimiento. Cuando termina el procedimiento, desaparece el valor de la
variable. Además, el valor de una variable de un procedimiento es local a dicho
procedimiento; es decir, no puede tener acceso a una variable de un
procedimiento desde otro procedimiento. Estas características le permiten
utilizar los mismos nombres de variables en distintos procedimientos sin
preocuparse por posibles conflictos o modificaciones accidentales.
El nombre de una variable debe
cumplir con los siguientes requisitos:
·
Debe
comenzar con una letra.
·
No
puede incluir un punto o un carácter de declaración de tipo ($,&,!,%,#,@).
·
No
debe exceder de 255 caracteres.
Debe
ser única en el mismo alcance, que es el intervalo desde el que se puede hacer
referencia a la variable: un procedimiento, formulario, etc.
La cláusula opcional As tipo de
la sentencia Dim le permite definir el tipo de dato o de objeto de la
variable que va a declarar. Los tipos de datos definen el tipo de información
que almacena la variable. Algunos ejemplos de tipos de datos son String,
Integer y Currency. Las variables también pueden contener objetos de
Visual Basic u otras aplicaciones.
Algunos ejemplos de tipos de objeto de Visual
Basic, o clases, son Object, Form1 y TextBox.
Su
empleo se muestra en los ejemplos siguientes:
Dim Radio As Double, Superficie as Single
Dim Nombre As
String
Dim Etiqueta As
String * 10
Dim Francos As
Currency
Dim Longitud As
Long, X As Currency
Es importante
evitar declaraciones del tipo:
Dim i, j As Integer
pues contra lo que podría parecer
a simple vista no se crean dos variables Integer, sino una Integer
(j) y otra Variant (i).
En general es el tipo de dato (los
valores que puede tener en la realidad) lo que determina qué tipo de variable
se debe utilizar. A continuación se muestran algunos ejemplos:
· Integer para numerar las
filas y columnas de una matriz no muy grande
· Long para numerar los
habitantes de una ciudad o los números de teléfonos
· Boolean para una
variable con sólo dos posibles valores (sí o no)
· Single para variables
físicas con decimales que no exijan precisión
· Double para variables
físicas con decimales que exijan precisión
· Currency para cantidades
grandes de dinero
6.2.
Funciones.
Entendemos por ámbito de
una variable a la parte de la aplicación donde la variable es visible (accesible)
y por lo tanto puede ser utilizada en cualquier expresión.
Un módulo puede contener variables y
procedimientos o funciones públicos y privados. Los
públicos son aquellos a los que se puede acceder libremente desde
cualquier punto del proyecto. Para definir una variable, un procedimiento o una
función como público es necesario preceder a la definición de la
palabra Public, como por ejemplo:
Public
Variable1 As Integer
Public
Sub Procedimiento1 (Parametro1 As Integer, …)
Public
Function Funcion1 (Parametro1 As Integer, …) As Integer
Para utilizar una variable Public
o llamar a una función Public definidas en un formulario
desde otro módulo se debe preceder el nombre de la variable o procedimiento con
el nombre del formulario al que pertenece, como por ejemplo:
Modulo1.Variable1
Call
Modulo1.Procedimiento1(Parametro1, …)
Sin embargo si el módulo al que
pertenecen la variable o el procedimiento Public es un módulo
estándar (*.bas) no es necesario poner el nombre del módulo más
que si hay coincidencia de nombres con los de otro módulo también estándar. Una
variable Private, por el contrario, no es accesible desde ningún
otro módulo distinto de aquél en el que se haya declarado. Se llama variable local
a una variable definida dentro de un procedimiento o función. Las
variables locales no son accesibles más que en el procedimiento o función en
que están definidas. Una variable local es reinicializada (a
cero, por defecto) cada vez que se entra en el procedimiento. Es decir,
una variable local no conserva su valor entre una llamada al procedimiento
y la siguiente. Para hacer que el valor de la variable se conserve hay que
declarar la variable como static (como por ejemplo: Static n
As Integer).
Se puede acceder a una variable o
función global desde cualquier parte de la aplicación. Para declarar una
variable global se utiliza la palabra Public. Por ejemplo:
Public var1_global As Double,
var2_global As String
De esta forma se podrá acceder a las
variables var1_global, var2_global desde todos los
formularios
A
continuación se muestra la accesibilidad de las variables en función de dónde y
cómo se hayan declarado:
6.3.
Operadores.
En la siguiente tabla, se presenta
el conjunto de operadores que soporta Visual Basic.
Cuando en una expresión aritmética
intervienen operandos de diferentes tipos, el resultado se expresa, generalmente,
en la misma precisión que la del operando que la tiene más alta. El orden, de
menor a mayor, según la precisión es Integer, Long,
Single, Double y Currency.
Los operadores relacionales,
también conocidos como operadores de comparación, comparan dos
expresiones dando un resultado True (verdadero), False
(falso) o Null (no válido).
El operador & realiza la
concatenación de dos operandos. Para el caso particular de que ambos operandos
sean cadenas de caracteres, puede utilizarse también el operador +. No
obstante, para evitar ambigüedades (sobre todo con variables de tipo Variant)
es mejor utilizar &.
El operador Like sirve
para comparar dos cadenas de caracteres. La sintaxis para este operador es la
siguiente:
Respuesta = Cadena1 Like Cadena2
donde la
variable Respuesta será True si la Cadena1 coincide
con la Cadena2, False si no coinciden y Null si
Cadena1 y/o Cadena2 son Null.