Variables de VBScript: Dim, String, Boolean

โšก Resumen inteligente

La declaraciรณn de variables en VBScript utiliza la palabra clave Dim para reservar memoria para los datos. Las variables deben declararse e inicializarse por separado, y aunque VBScript solo tiene un tipo Variant, admite subtipos como String, Integer, Boolean, Currency y Date.

  • ๐Ÿ“ฆ Palabra clave oscura: Utilice Dim para declarar una variable y reservar memoria, por ejemplo, Dim salario.
  • โœ๏ธ Declarar y luego asignar: Declarar e inicializar por separado; asignar un valor en la lรญnea Dim no produce ninguna salida.
  • ๐Ÿ”’ Opciรณn explรญcita: Agregue Option Explicit para forzar la declaraciรณn de variables y detectar nombres mal escritos con anticipaciรณn.
  • ๐Ÿ“š Matrices: Una รบnica variable de matriz como Dim students(29) contiene muchos valores relacionados en lugar de variables separadas.
  • ๐ŸŽญ Tipo de variante: VBScript tiene un รบnico tipo de dato, Variant, que se adapta a los datos que contiene.
  • ๐Ÿท๏ธ Subtipos: Las funciones VarType() y TypeName() revelan subtipos como String, Integer, Boolean, Currency y Date.

Variables de VBScript

Las variables forman la base de la programaciรณn. Las variables se utilizan para contener un valor o una expresiรณn. Siempre que tengas un dato con el que trabajar, tendrรกs que declarar una variable.

Por ejemplo, si tiene que almacenar nombres de estudiantes o salarios de empleados, utilizarรก variables denominadas estudiantes o salarios.

Las variables tambiรฉn se pueden utilizar para contener expresiones. Supongamos que ha almacenado las calificaciones de un estudiante en inglรฉs y matemรกticas usando las variables markE y markM.

Quieres encontrar las calificaciones totales. Luego, puede usar una variable llamada markT y establecer su valor en markE + markM. En otras palabras, marcaT = marcaE + marcaM. Aquรญ, markT es una variable que contiene una expresiรณn.

Declaraciรณn de variables

Declarar variables es lo mismo que crear variables porque le estรก indicando a la computadora que reserve espacio en la memoria. Puede nombrar la variable como desee. Pueden ser nombres cortos como x, yoz o mรกs nombres autodescriptivos como estudiante, nombre, salario, etc. Proporcionar nombres claros y significativos a las variables se considera una buena prรกctica de programaciรณn.

Existen ciertas reglas para los nombres de variables de VBScript.

  1. El nombre de la variable debe comenzar con una letra. Ejemplos: salario, nota, etc. No se permiten variables que comiencen con nรบmeros o caracteres especiales. Ejemplos: 1stSchool, 3rdCar, _name, etc.
  2. El nombre de la variable no puede exceder los 255 caracteres.
  3. El nombre de la variable no debe contener un punto (.).

Para declarar variables, debe utilizar la palabra clave Dim. Suponga que planea utilizar una variable llamada "salario" en su programa vbscript, sintaxis

Dim salary

Simplemente declarar las variables VBS no le ayudarรก, รบselo. Tendrรกs que asignarle un valor en algรบn momento u otro y este proceso se conoce como inicializaciรณn de la variable. Si planea declarar un salario con nombre variable, puede codificar asรญ:

Dim salary
salary = 10000

Lo importante que debe asegurarse es que no debe asignar un valor a la variable cuando la declare. Suponga que escribe una declaraciรณn como esta:

Dim salary = 10000

Si intenta generar el salario utilizando document.write, no devolverรก ningรบn resultado.

Code Ejemplo

Paso 1) Abra su editor de texto y agregue las siguientes lรญneas de cรณdigo.

<html>
<head>
<title>Variables</title>
</head>
<body>

<script type="text/vbscript">
Dim variable1
variable1="John"
document.write(variable1)
'Dim variable2 = "Smith"
'document.write(variable2)
</script>

</body>
</html>

Paso 2) Guarde este archivo como variable.html en la ubicaciรณn que prefiera y luego รกbralo en IE (siguiendo los pasos especificados en el capรญtulo anterior). Ahora verรก el valor John en el navegador.

Paso 3) A continuaciรณn, descomente las lรญneas n.ยฐ 11 y 12.

Guarde nuevamente el archivo y actualice el navegador IE si ya estรก abierto o abra el archivo en el navegador IE. Quizรกs te sorprenda no ver nada; ni Juan ni Smith. El problema aquรญ es que intentaste asignar el valor a la variable mientras la declarabas, lo cual no estรก permitido.

Encuadernaciรณn suelta

VBScript le brinda la libertad de usar variables sin declararlas (lo que se denomina enlace flexible). Por ejemplo, sin tener la declaraciรณn Dim estudiante, puedes asignar un valor a la variable estudiante como โ€“ estudiante = โ€œJohnโ€

Pero no es en absoluto una buena prรกctica de programaciรณn. Si usa una variable sin declararla y escribe mal la misma variable cuando la usa nuevamente, VBScript no le informarรก del error.

Entonces, para que el cรณdigo sea mรกs fรกcil de leer e identificar los errores, debe usar la declaraciรณn Option Explicit al comienzo de su cรณdigo para que se vea obligado a declarar todas sus variables incluso si olvida hacerlo. Para evitar problemas relacionados con el tipo de variable, siempre es bueno especificar la declaraciรณn Option Explicit al principio de su cรณdigo VBScript.

Code Ejemplo:

Paso 1) Abra su editor de texto y agregue las siguientes lรญneas de cรณdigo.

<html>
<body>
<script type="text/vbscript">
Option Explicit
'Dim markE, markM, markT
markE=90
markM=86
markT=markE+markM
document.write("Your marks in English is " & markE & "." & "<br />")
document.write("Your marks in Mathematics is " & markM & "." & "<br />")
document.write("Your total marks is " & markT & ".")
</script>

</body>
</html>

Paso 2) Guarda el archivo como variables.html en la ubicaciรณn que prefieras. Ahora abre el archivo en Internet Explorer y verรกs que la pantalla estรก en blanco. ยฟPor quรฉ? Porque has usado la opciรณn explรญcita pero no has declarado las variables antes de usarlas.

Paso 3) Ahora, para comprender la importancia de la declaraciรณn Option Explicit, descomente la lรญnea 5 en el cรณdigo anterior.

Paso 4) Guarde el archivo variables.html y actualice su navegador. Ahora, su salida serรก asรญ:

Encuadernaciรณn suelta

Nota: โ€“ Para concatenar dos cadenas, es necesario utilizar โ€œ&โ€. En el ejemplo anterior, se usa dentro del comando document.write. Es obvio que el cรกlculo de las puntuaciones totales es incorrecto. Ahora simplemente agregue la primera declaraciรณn Option Explicit al comienzo del cรณdigo VBScript (sin la declaraciรณn Dim).

Guarde el archivo y vea el resultado. No obtendrรก nada como resultado, lo que indica que su cรณdigo tiene algรบn error. Aquรญ el error es que no ha declarado variables antes de usarlas, incluso despuรฉs de especificar la declaraciรณn explรญcita de opciรณn.

Tambiรฉn puede declarar variables utilizando palabras clave pรบblicas y privadas como estudiante pรบblico o estudiante privado. Pero debe tener mรกs cuidado al utilizar estas dos palabras clave para declarar variables porque cambiarรก el alcance de sus variables.

Tambiรฉn puede almacenar varios valores en una sola variable y dichas variables se conocen como matriz de VBScript Variables. Supongamos que desea almacenar datos como nombre, calificaciones, direcciรณn, etc. de 30 estudiantes. Serรก muy difรญcil crear y administrar conjuntos de 30 variables para nombres, calificaciones, direcciones, etc.

En su lugar, puede declarar una รบnica variable denominada estudiantes y almacenar los nombres de los 30 estudiantes en esta variable. En tal caso, declararรก la variable como Dim Students(29) (el รญndice de la matriz comienza desde cero) y asignarรก valores como

students(0) = "John"
students(1) = "Hannah"
students(2) = "Kevin"
.......
.......
students(28) = "Rose"
students(29) = "Emma"

De manera similar, puede crear variables como calificaciones, direcciones, etc. para almacenar los valores respectivos de los 30 estudiantes. Tambiรฉn puede crear matrices multidimensionales que tengan hasta 60 dimensiones.

Code Ejemplo:

Abra su editor de texto y agregue las siguientes lรญneas de cรณdigo.

<html>
<body>

<script type="text/vbscript">
Option Explicit
Dim students(19), marks(19)
students(0) = "John"
marks(0) = 95
students(1) = "Emma"
marks(1) = "83"
students(2) = "Kevin"
marks(2) = 87

document.write(students(0) & " has scored " & marks(0)  & ".<br />")
document.write(students(1) & " has scored " & marks(1)  & ".<br />")
document.write(students(2) & " has scored " & marks(2)  & ".<br />")
</script>

</body>
</html>

Aquรญ, hemos almacenado los datos de solo tres estudiantes. Puedes agregar datos de hasta 20 estudiantes, ya que hemos establecido el tamaรฑo de la matriz en 20 (ya que el รญndice comienza desde 0).

Tipos de datos de VBScript

En la secciรณn anterior, es posible que hayas notado que asignamos diferentes tipos de datos a las variables. Hemos almacenado nรบmeros (calificaciรณn y salario), cadenas (nombre), etc. en diferentes variables.

Estos nรบmeros, cadenas, etc. se conocen como tipos de datos. De hecho, VBScript tiene sรณlo un tipo de datos llamado Variant. Una variante es un tipo especial de datos que puede contener diferentes tipos de informaciรณn.

Si usa Variant en un contexto numรฉrico, se comporta como un nรบmero y cuando lo usa en un contexto de cadena, se comporta como una cadena.

En otras palabras, cuando especifica salario=10000, VBScript supone que el salario es un tipo de datos numรฉrico. Una variante hace distinciones especรญficas sobre la naturaleza de los datos. Por ejemplo, puede utilizar el tipo de variante para almacenar valores booleanos, moneda, fecha, etc.

Estas diferentes categorรญas de informaciรณn que puede contener una variante se denominan subtipos. Aunque la mayorรญa de las veces Variant se comporta de la manera mรกs apropiada para los datos que contiene, debe tener en cuenta los diferentes subtipos.

A continuaciรณn se muestra la lista de tipos de datos de VBScript.

  • Vacรญo: un subtipo especial para representar una variable a la que aรบn no se le ha asignado ningรบn valor.
  • Nulo: un subtipo especial para representar una variable asignada con un valor nulo.
  • Entero: uso de 2 bytes para expresar un entero con signo en el rango de -32,768 32,767 a XNUMX XNUMX.
  • Largo: uso de 4 bytes para expresar enteros con signo que van desde -2,147,483,648 a 2,147,483,647.
  • Sencillo: utiliza 4 bytes para expresar nรบmeros reales en formato de punto flotante que van desde -3.402823e38 a -1.401298e-45 para valores negativos, y desde 1.401298e-45 a 3.402823e38 para valores positivos.
  • Double:Utilizando 8 bytes para expresar nรบmeros reales en formato de punto flotante que van desde -1.79769313486232e308 a -4.94065645841247e-324 para valores negativos, y desde 4.94065645841247e-324 a 1.79769313486232e308 para valores positivos.
  • Moneda: Utiliza 8 bytes para expresar nรบmeros reales en formato decimal que van desde -922,337,293,685,477.5808 hasta 922,337,293,685,477.5807.
  • Fecha: Utiliza 8 bytes para expresar fechas que van desde el 1 de enero de 100 al 31 de diciembre de 9999.
  • Cadena: utiliza 1 byte por carรกcter para expresar una secuencia de caracteres que puede tener hasta aproximadamente 2 mil millones de caracteres.
  • Objeto: un subtipo especial para representar una referencia a un objeto.
  • Error: un subtipo especial para representar un nรบmero de error.
  • Booleano: uso de 2 bytes para contener Verdadero o Falso.
  • Byte: utiliza 1 byte para expresar un nรบmero entero en el rango de 0 a 255.

Hay dos incorporados Funciones de VBScript que te ayudan a conocer el subtipo de una variable: โ€œvarType()โ€ y โ€œtypeName()โ€.

El tipo var devuelve la representaciรณn numรฉrica y typeName() devuelve la representaciรณn de texto del subtipo de la variable. Cada subtipo tiene una representaciรณn numรฉrica predefinida.

Code Ejemplo

Abra su editor de texto y agregue las siguientes lรญneas de cรณdigo.

<html>
<head>
<script type="text/vbscript">
Option Explicit
Dim a
a = Empty
document.write("a = " & a & "<br />")
document.write("The numeric representation of a is " & VarType(a)  & "<br />")
document.write("The variable a is of " & TypeName(a) & " data type."  & "<br /><br />")

Dim b
b = Null
document.write("b = " & b & "<br />")
document.write("The numeric representation of b is " & VarType(b)  & "<br />")
document.write("The variable b is of " & TypeName(b) & " data type."  & "<br /><br />")

Dim c
c = 4
document.write("c = " & c & "<br />")
document.write("The numeric representation of c is " & VarType(c)  & "<br />")
document.write("The variable c is of " & TypeName(c) & " data type."  & "<br /><br />")

Dim d
d = -2100483648
document.write("d = " & d & "<br />")
document.write("The numeric representation of d is " & VarType(d)  & "<br />")
document.write("The variable d is of " & TypeName(d) & " data type."  & "<br /><br />")

Dim e
e = -3.402823E38
document.write("e = " & e & "<br />")
document.write("The numeric representation of e is " & VarType(e)  & "<br />")
document.write("The variable e is of " & TypeName(e) & " data type."  & "<br /><br />")

Dim f
f = "John"
document.write("f = " & f & "<br />")
document.write("The numeric representation of f is " & VarType(f)  & "<br />")
document.write("The variable f is of " & TypeName(f) & " data type."  & "<br /><br />")

Dim g
g = True
document.write("g = " & g & "<br />")
document.write("The numeric representation of g is " & VarType(g)  & "<br />")
document.write("The variable g is of " & TypeName(g) & " data type."  & "<br /><br />")
</script>

</head>
<body>
</body>
</html>

Guarde el archivo como subtype.html y รกbralo en IE. Su salida se verรก asรญ:

Tipos de datos de VBScript

NOTA: Tambiรฉn puede declarar variables usando pรบblico y de inversores privados palabras clave como estudiante pรบblico o estudiante privado. Pero debe tener mรกs cuidado al utilizar estas dos palabras clave para declarar variables porque cambiarรก el alcance de sus variables.

Localizaciรณn de averรญas

En caso de que vea una pรกgina en blanco despuรฉs de ejecutar el cรณdigo, haga lo siguiente

  • Presione F12 para abrir las herramientas de desarrollador
  • En la barra de herramientas izquierda, desplรกcese hacia abajo hasta que vea la pรกgina de configuraciรณn "Emulaciรณn"
  • Cambie el modo de documento de predeterminado (โ€œBordeโ€) a 10
  • Aรฑade el siguiente cรณdigo al encabezado
    <meta http-equiv="x-ua-compatible" content="IE=10">

Preguntas Frecuentes

Dim declara una variable en el รกmbito actual. Public la hace accesible en cualquier lugar, mientras que Private la limita al script o mรณdulo donde se declara. Ambas opciones modifican el รกmbito de la variable.

El valor vacรญo es un subtipo de una variable que se ha declarado pero aรบn no se le ha asignado un valor. En un contexto numรฉrico, se lee como 0, y en un contexto de cadena, se lee como una cadena vacรญa.

Un array de VBScript puede tener hasta 60 dimensiones, aunque la mayorรญa usa una o dos. Su tamaรฑo se especifica en la instrucciรณn Dim, por ejemplo, Dim students(29) para 30 elementos, ya que la indexaciรณn comienza en cero.

Sรญ. La IA puede generar declaraciones Dim, agregar Option Explicit, sugerir nombres significativos y convertir variables sueltas en variables declaradas. Tambiรฉn detecta nombres mal escritos que VBScript pasarรญa por alto durante la ejecuciรณn.

Sรญ. La IA puede detectar variables no declaradas o mal escritas, el uso incorrecto de subtipos y valores asignados en la lรญnea Dim. Explica cada problema y sugiere una soluciรณn, lo que reduce los errores silenciosos en tiempo de ejecuciรณn.

Resumir este post con: