Visual Basic Scripting Edition  

Variables de VBScript

Una variable es un marcador de posición cómodo que hace referencia a una ubicación de la memoria del equipo en la que puede almacenar información del programa que puede cambiar durante el tiempo en que se ejecuta su secuencia de comandos. Por ejemplo, podría crear una variable llamada ClickCount para almacenar el número de veces que un usuario hace clic en un objeto en una página Web particular. Donde se almacene la variable dentro de la memoria del equipo no tiene importancia. Lo que importa es que sólo tiene que hacer referencia a una variable por su nombre para ver su valor o para cambiarlo. En VBScript, las variables son siempre de un tipo de datos fundamental, Variant.

Declarar variables

Se declaran variables de manera explícita en su secuencia de comandos mediante la instrucción Dim, la instrucción Public y la instrucción Private. Por ejemplo:

Dim DegreesFahrenheit

Para declarar variables múltiples se separa cada nombre de variable con una coma. Por ejemplo:

Dim Top, Bottom, Left, Right

También puede declarar una variable de manera implícita con su nombre en su secuencia de comandos. Eso no es generalmente una buena práctica ya que podría escribir mal el nombre de la variable en uno o más lugares, lo que provocaría resultados inesperados al ejecutar su secuencia de comandos. Por esa razón, la instrucción Option Explicit está disponible para requerir la declaración explícita de todas las variables. La instrucción Option Explicit debe ser la primera instrucción en su secuencia de comandos.

Restricciones de nomenclatura

Los nombres de variables siguen las reglas estándar para cualquier denominación en VBScript. Un nombre de variable:

Ámbito y período de vida de las variables

El ámbito de una variable está determinado por la ubicación en la que se declaró. Cuando se declara una variable dentro de un procedimiento, sólo el código dentro de dicho procedimiento puede tener acceso o cambiar el valor de dicha variable. Tiene ámbitolocal y es una variable de nivel de procedimiento. Si declara una variable fuera de un procedimiento, la hace reconocible para todos los procedimientos de su secuencia de comandos. A esto se le denomina variable de nivel de secuencia de comandos y tiene ámbito de nivel de secuencia de comandos.

El tiempo que existe una variable es su período de vida. El período de vida de una variable de nivel de secuencia de comandos se extiende desde el momento en el que se haya declarado hasta el tiempo en que la secuencia de comandos termina de ejecutarse. A nivel de procedimiento, una variable existe sólo siempre que esté en el procedimiento. Cuando el procedimiento acaba, la variable se destruye. Las variables locales son ideales como espacio de almacenamiento temporal cuando se ejecuta un procedimiento. Puede tener variables locales del mismo nombre en diferentes procedimientos ya que cada una es reconocida sólo por el procedimiento en el que se declara.

Asignar valores a variables

Para asignar valores a las variables se crea una expresión de esta manera: la variable está en el lado izquierdo de la expresión y el valor que desea asignarle está en el derecho. Por ejemplo:

B = 200

Variables escalares y variables de matriz

En muchas ocasiones, sólo se desea asignar un valor simple a una variable que se ha declarado. Una variable que contiene un solo valor es una variable escalar. Otras veces, es conveniente asignar más de un valor relacionado a una sola variable. En este caso, puede crear una variable que contenga una serie de valores. Esto se llama una variable de matriz. Las variables de matriz y las escalares se declaran del mismo modo, excepto que la instrucción de una variable de matriz utiliza paréntesis ( ) después del nombre de la variable. En el siguiente ejemplo, se declara una matriz unidimensional que contiene 11 elementos:

Dim A(10)

Aunque el número mostrado entre paréntesis es 10, todas las matrices en VBScript son de base cero, de modo que esta matriz contiene realmente 11 elementos. En una matriz de base cero, el número de elementos de la matriz es siempre el número mostrado entre paréntesis más uno. Este tipo de matriz se llama matriz de tamaño fijo.

Puede asignar datos a cada uno de los elementos de la matriz mediante un índice dentro de la matriz. Comenzando por cero y terminando por 10, se pueden asignar datos a los elementos de una matriz de la manera siguiente:

A(0) = 256
A(1) = 324
A(2) = 100
. . .
A(10) = 55

De forma similar, se pueden recuperar los datos de cualquier elemento mediante un índice en el elemento de la matriz particular que desee. Por ejemplo:

. . . 
SomeVariable = A(8)  
. . . 

Las matrices no está limitadas a una sola dimensión. Puede tener hasta 60 dimensiones, aunque la mayoría de la gente no puede comprender más de tres o cuatro dimensiones. Para declarar las dimensiones múltiples se separan los números de tamaño de una matriz entre paréntesis mediante comas. En el siguiente ejemplo, la variable MyTable es una matriz de dos dimensiones formada por 6 filas y 11 columnas:

Dim MyTable(5, 10)

En una matriz de dos dimensiones, el primer número es siempre el número de filas; el segundo número es el número de columnas.

También puede declarar una matriz cuyo tamaño cambie durante el tiempo que se ejecuta su secuencia de comandos. A esto se denomina matriz dinámica. La matriz se declara inicialmente dentro de un procedimiento mediante la instrucción Dim o la instrucción ReDim. Sin embargo, para una matriz dinámica, no se escribe ningún número de dimensiones dentro de los paréntesis. Por ejemplo:

Dim MyArray()
ReDim AnotherArray()

Para utilizar una matriz dinámica, debe utilizar ReDim posteriormente para determinar el número de dimensiones y el tamaño de cada dimensión. En el siguiente ejemplo. ReDim establece el tamaño inicial de la matriz dinámica como 25. La siguiente instrucción ReDim cambia el tamaño de la matriz a 30, pero utiliza la palabra clave Preserve para conservar el contenido de la matriz mientras tiene lugar el cambio de tamaño.

ReDim MyArray(25)
 . . . 
ReDim Preserve MyArray(30)

No existe límite en el número de veces que puede cambiar el tamaño de una matriz dinámica, aunque si reduce el tamaño de una matriz, perderá los datos de los elementos eliminados.

Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.