Home - ASP - Variables en VBScript - 1 - 2 - 3
Variables en VBScript (I)
por Luciano Moreno, del departamento de Diseño Web de BJS Software.
Tipos de datos.-
VBscript sólo considera en su forma general un único tipo de datos, denominado VARIANT.
Es esta una clase especial de datos, que puede contener diferentes tipos de información. Así, se comporta como un número cuando se utiliza en un contexto numérico, y como una cadena cuando se usa en este tipo de contextos. No obstante, podemos forzar a los números a comportarse como cadenas poniéndolos entre comillas ("54").
Aunque pueda parecer una fuerte limitación el hecho de que sólo exista un tipo general de datos, nada más lejos de la realidad, ya que el tipo VARIANT se subdivide en una serie de subtipos que cubren todas nuestras necesidades. Los principales subtipos de datos son:
| subtipo | descripción | vartype |
| Empty | variable sin inicializar (0 si número - "" si cadena) | 0 |
| Null | variable intencionadamente vacía | 1 |
| Boolean | variable booleana >> dos valores posibles: true / false (-1 / 0) | 11 |
| Byte | entero entre 0 y 255 (es un octeto) | 17 |
| Integer | entero entre -32.768 y 32.768 | 2 |
| Currency | real entre -922.337.203.685.477,5808 y 922.337.203.685.477,580 | 6 |
| Long | entero entre -2.147.483.648 y .147.483.648 | 3 |
| Single | real coma flotante de precisión simple | 4 |
| Double | real de precisión doble | 5 |
| Date | fecha entre 1/1/100 y 31/12/9999 | 7 |
| String | cadena de longitud hasta 2.000.000.000 de caracteres | 8 |
| Object | variable que contiene un objeto | 9 |
| Error | variable que contiene un número de error | 10 |
Véis en la última columna un valor asociado con VARTYPE; es ésta una función que nos devuelve el tipo concreto de una variable. De éste modo, si aplicamos VarType(variable) , donde variable es una variable definida en nuestra página, obtendremos el subtipo al que pertenece el dato que contiene dicha variable por medio de su código asociado.
Una tabla más completa de los códigos devueltos por la función VarType es la siguiente:
| tipo | valor | descripción |
| vbEmpty | 0 | Empty (uninitialized) |
| vbNull | 1 | Null (no valid data) |
| vbInteger | 2 | Integer |
| vbLong | 3 | Long integer |
| vbSingle | 4 | Single-precision floating-point number |
| vbDouble | 5 | Double-precision floating-point number |
| vbCurrency | 6 | Currency |
| vbDate | 7 | Date |
| vbString | 8 | String |
| vbObject | 9 | Automation object |
| vbError | 10 | Error |
| vbBoolean | 11 | Boolean |
| vbVariant | 12 | Variant (used only with arrays of Variants) |
| vbDataObject | 13 | A data-access object |
| vbByte | 17 | Byte |
| vbArray | 8192 | Array |
También podemos conocer de forma más clara el tipo de datos que contiene en cada momento una variable mediante la función TypeName(variable), que nos devuelve una cadena que identifica el tipo de dato, por ejemplo "string".
Aunque hayamos definido una variable para contener un tipo de datos determinado, VBScript nos permite cambiar sobre la marcha el tipo asociado a la variable, y pone a nuestra disposición las siguientes funciones para ello:
| función | acción |
| Cbool | convierte un dato a tipo Boolean |
| Cbyte | convierte un dato a tipo Byte |
| CInt | convierte un dato a tipo Integer |
| CLng | convierte un dato a tipo Long |
| CSng | convierte un dato a tipo Single |
| Cdbl | convierte un dato a tipo Double |
| CCur | convierte un dato a tipo Currency |
| Cdate | convierte un dato a tipo Date |
| Cstr | convierte un dato a tipo String |
Es más, VBScript permite cambiar el subtipo de dato asociado a una varriable con tan sólo asignarle directamente un nuevo valor de otro tipo, por ejemplo:
miVariable = 35
...sentecias de código...
miVariable = "Hola Amigos"
y con esto hemops cambiado directamente el tipo de dato que contenía la variable. Es ésta una fuerte ventaja de VBScript frente a otros lenguajes de alto nivel.
Esto en cuanto al tipo de datos que podemos manejar. Vamos a ver ahora cómo se declaran variables.