Bienvenidos espero les guste la pagina

VBScript

¿Qué es VBScript?

                       

Microsoft Visual Basic Scripting Edition, el miembro más reciente de la familia de lenguajes de programación Visual Basic, suministra una automatización activa a una amplia variedad de entornos, incluidas las secuencias de comandos del cliente de Web en Microsoft Internet Explorer y las secuencias de comandos del servidor de Web en Microsoft Internet Information Server.

 

ActiveX Scripting

VBScript se comunica con las aplicaciones de host mediante ActiveX™ Scripting. Con ActiveX Scripting, evita que los exploradores y otras aplicaciones host necesiten escribir código especial de integración para cada componente de la secuencia de comandos. ActiveX Scripting permite a un host compilar una secuencia de comandos, obtener y llamar puntos de entrada, y administrar el espacio de nombres disponible para el programador. Con ActiveX Scripting, los distribuidores de lenguajes pueden crear run times de lenguaje estándar para la secuencia de comandos. Microsoft proporcionará soporte de tiempo de ejecución para VBScript. Microsoft está trabajando con varios grupos de Internet para definir el estándar de ActiveX Scripting de modo que se puedan intercambiar los motores de automatización. ActiveX Scripting se utiliza en Microsoft® Internet Explorer y en Microsoft® Internet Information Server.

 

VBScript en otras aplicaciones y exploradores

Como programador, puede licenciar su implementación de origen de VBScript sin cargo para utilizarla en sus productos. Microsoft proporcionará implementaciones binarias de VBScript para la API de Windows® de 32 bits, la API de Windows de 16 bits y la de Macintosh®. VBScript se integra con exploradores de World Wide Web. VBScript y ActiveX Scripting también se pueden utilizar como un lenguaje de automatización general en otras aplicaciones.

Puede usar el elemento SCRIPT para agregar código de VBScript a una página HTML.

La etiqueta <SCRIPT>

El código de VBScript se presenta en una página HTML dentro de una parejas de etiquetas <SCRIPT>. Por ejemplo, un procedimiento que comprueba una fecha de envío aparece como:

<SCRIPT LANGUAGE="VBScript"> 

<!--

    Function PuedeEntregar(Dt)

       PuedeEntregar = (CDate(Dt) - Now()) > 2

    End Function

-->

</SCRIPT>

Las etiquetas <SCRIPT> de comienzo y fin rodean el código. El atributo LANGUAGE indica el lenguaje de secuencia de comandos. Necesita especificar el lenguaje porque los exploradores pueden utilizar otros lenguajes de secuencia de comandos. Observe que la función PuedeEntregar aparece entre etiquetas de comentario (<!-- y -->). Esto evita que los exploradores que no entienden la etiqueta <SCRIPT> muestra el código.

Como el ejemplo es una función general —no está vinculado a ningún control de formulario en particular— puede incluirlo en la sección HEAD de la página:

<HTML>

<HEAD>

<TITLE>Haga su pedido</TITLE>

<SCRIPT LANGUAGE="VBScript">

<!--

   Function PuedeEntregar(Dt)

      PuedeEntregar = (CDate(Dt) - Now()) > 2

   End Function

-->

</SCRIPT>

</HEAD>

<BODY>

...

Puede utilizar procedimientos en código en cualquier lugar de una página. Puede colocar procedimientos en las secciones BODY y HEAD. Sin embargo, puede que desee colocar todos los procedimientos en la sección HEAD para mantener todo el código junto. Mantener el código en la sección HEAD asegura que todo el código se lee y decodifica antes de que se necesite debido a una llamada dentro de la sección BODY.

Una excepción destacable a esta regla es que puede desear proporcionar formularios en línea con código de secuencia de comandos para responder a eventos de objetos del formulario. Por ejemplo, puede incluir código de secuencia de comandos para responder a un clic en un botón en el formulario:

<HTML>

<HEAD>

<TITLE>Probar eventos de botón</TITLE>

</HEAD>

<BODY>

<FORM NAME="Formulario1">

   <INPUT TYPE="Button" NAME="Boton1" VALUE="Clic">

   <SCRIPT FOR="Boton1" EVENT="onClick" LANGUAGE="VBScript">

      MsgBox "¡Botón presionado!"

   </SCRIPT>

</FORM>

</BODY>

</HTML>

La mayoría del código aparecerá en procedimientos Sub o Function y sólo se llamará cuando el código que ha escrito provoca su ejecución. Sin embargo, puede escribir código de VBScript fuera de procedimientos, pero dentro de un bloque SCRIPT. Este código se ejecuta sólo una vez, cuando se carga la página HTML. Esto le permite inicializar los datos o cambiar dinámicamente la apariencia de su página Web cuando se carga.

 

Tipos de datos de VBScript                          

 

¿Cuáles son los tipos de datos de VBScript?

VBScript sólo tiene un tipo de datos que se llama Variant. Un tipo Variant es una clase especial de tipo de datos que puede contener diferentes tipos de información, dependiendo de cómo se utilice. Como Variant es el único tipo de datos en VBScript, también es el único tipo de datos devuelto por todas las funciones en VBScript.

En su forma más sencilla, un tipo Variant puede contener tanto información numérica como de cadena. Un tipo Variant se comporta como un número cuando se utiliza en un contexto numérico y como una cadena cuando se utiliza en un contexto de cadena. Esto quiere decir que si trabaja con datos que parecen números, VBScript asume que son números y realiza lo que es más adecuado para números. Igualmente, si trabaja con datos que sólo pueden ser datos de cadena, VBScript los trata como datos de cadena. Por supuesto, siempre puede hacer que los números se comporten como cadenas, escribiéndolos entre comillas (" ").

 

Subtipos de Variant

Más allá de las simples clasificaciones numéricas y de cadena, un tipo Variant puede hacer más distinciones acerca de la naturaleza específica de la información numérica. Por ejemplo, puede tener información numérica que representa una fecha o una hora. Cuando se utiliza con datos de fecha u hora, el resultado se expresa siempre como una fecha o una hora. Por supuesto, también puede tener una amplia variedad de información numérica en el intervalo de tamaños de sencillos valores Boolean a enormes números de signo flotante. Estas categorías diferentes de información que puede contener un tipo Variant se llaman subtipos. La mayoría de las veces sólo se puede establecer el tipo de datos que desea en un tipo Variant y se comporta del modo más adecuado para el tipo de datos que contiene.

La tabla siguiente muestra varios subtipos de datos que puede contener un tipo Variant.

 

Subtipo

Descripción

Empty

Variant está sin inicializar. El valor es 0 para variables numéricas o una cadena de longitud cero ("") para variables de cadena.

Null

Variant contiene intencionadamente datos no válidos.

Boolean

Contiene True o False.

Byte

Contiene un entero entre 0 y 255.

Integer

Contiene un entero -32.768 y 32.767.

Currency

-922.337.203.685.477,5808 a 922.337.203.685.477,5807.

Long

Contiene un entero -2.147.483.648 y 2.147.483.647.

Single

Contiene un número de precisión simple y signo flotante entre -3,402823E38 y -1,401298E-45 para valores negativos, y entre 1,401298E-45 y 3.402823E38 para valores negativos.

Double

Contiene un número de precisión doble y punto flotante en el intervalo de -1,79769313486232E308 y -4,94065645841247E-324 para valores negativos, y entre 4,94065645841247E-324 y 1,79769313486232E308 para valores positivos.

Date (Time)

Contiene un número que representa una fecha entre el 1 de enero de 100 y el 31 de diciembre de 9999.

String

Contiene una cadena de longitud variable que puede contener hasta 2 mil millones de caracteres de longitud.

Object

Contiene un objeto.

Error

Contiene un número de error.

Puede usar las funciones de conversión para convertir datos un subtipo a otro. Además la función VarType devuelve información acerca de cómo se almacenan los datos en un tipo Variant.

 

Variables de VBScript         

 

¿Qué es una variable?

Una variable es un marcador de posición útil que hace referencia a una ubicación de la memoria del equipo donde puede almacenar información de programa que puede cambiar durante el tiempo en que se ejecuta la secuencia de comandos. Por ejemplo, podría crear una variable llamada CuentaClics para almacenar el número de veces que el usuario hizo clic en un objeto de una determinada página Web. El lugar donde se ubica la variable en la memoria del equipo no es importante. Lo que es importante es que sólo tiene que hacer referencia a su nombre para ver o cambiar su valor. En VBScript, las variables siempre son de un tipo de datos fundamental, Variant.

 

Declaración de variables

Declare variables explícitamente en la secuencia de comandos utilizando la instrucción Dim, la instrucción Public y la instrucción Private. Por ejemplo:

Dim GradosFahrenheit

Declare múltiples variables separando cada nombre de variable por una coma. Por ejemplo:

 Dim Arriba, Abajo, Izquierda, Derecha

También puede declarar una variable implícitamente por el simple uso de su nombre en alguna parte de la secuencia de comandos. Esto no se considera adecuado, ya que podría escribir mal el nombre de la variable en uno o más lugares provocando resultados inesperados cuando ejecuta el código. Por este motivo, existe la instrucción Option Explicit para solicitar una declaración explícita de todas las variables. La instrucción Option Explicit debe ser la primera instrucción en la secuencia de comandos.

 

Restricciones de nombre

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

 

Alcance y vida de las variables

El alcance de una variable se determina cuando se declara. Cuando declara una variable dentro de un procedimiento, sólo el código dentro de ese procedimiento puede tener acceso o cambiar el valor de esa variable. Tiene scope local y se llama variable de nivel de procedimiento. i declara una variable fuera de un procedimiento, la hace reconocible en todos los procedimientos de la secuencia de comandos. Este tipo de variable de nivel de secuencia de comandos y tiene alcance de nivel de secuencia de comandos.

El tiempo que una variable existe es su vida. La vida de una variable de nivel de secuencia de comandos se extiende desde el momento en que se declaró hasta el momento en que finaliza la ejecución de la secuencia de comandos. A nivel de procedimiento, una variable existe sólo cuando se encuentra en el procedimiento. Cuando sale del procedimiento, la variable se destruye. Las variables locales son adecuadas como espacio de almacenamiento temporal cuando se ejecuta un procedimiento. Puede tener variables locales del mismo nombre en varios procedimientos diferentes porque cada una sólo se reconoce en el procedimiento en que se declaró.

 

Asignación de valores a variables

Los valores se asignan a variables creeando un expresión de la siguiente manera: la variable está en la parte izquierda de la expresión y el valor que desea asignar a la misma está a la derecha. Por ejemplo:

 B = 200

Variables escalares y variables de matrices

Muchas veces, sólo desea asignar un único valor a una variable que ha declarado. Una variable que contiene un único valor es una variable escalar. Otras veces, es útil asignar más de un valor relacionado a una única variable. Entonces puede crear una variable que pueda contener una serie de valores. Esto se llama una variable de matriz. Las variables matriz se declaran de la misma forma que las variables escalares. La diferencia es que una declaración de una variable de matriz utiliza paréntesis ( ) a continuación del nombre de la variable. En el siguiente ejemplo se declara una matriz de una dimensión que contiene 11 elementos:

 Dim A(10)

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

Asigne datos a cada elemento de la matriz utilizando un índice dentro de la matriz. Comenzando en cero y terminando en 10, es posible asignar datos a los elementos de una matriz del siguiente modo:

 A(0) = 256

 A(1) = 324

 A(2) = 100

 . . .

 A(10) = 55

Del mismo modo, se pueden recuperar los datos de cualquier elemento utilizando el índice que desee dentro del elemento de la matriz deseado. Por ejemplo:

 . . . 

 AlgunaVariable = A(8)  

 . . . 

Las matrices no están limitadas a una única dimensión. Puede tener hasta 60 dimensiones aunque la mayoría de las personas no pueden comprender más de tres o cuatro. Las dimensiones múltiples se declaran separando con comas los números de tamaño de la matriz dentro del paréntesis. En el siguiente ejemplo, la variable MiTabla es una matriz bidimensional que consta de 6 filas y 11 columnas:

 Dim MiTabla(5, 10)

En una matriz bidimensional, el primer número siempre es el número de filas y el segundo el número de columnas.

También puede declarar una matriz cuyo tamaño cambia durante el tiempo en que se ejecuta la secuencia de comandos. Esto se llama una matriz dinámica. La matriz inicialmente se declara dentro de un procedimiento utilizando la instrucción Dim como con cualquier tipo de matriz o la instrucción ReDim. Sin embargo, en una matriz dinámica, no se establece un tamaño o un número de dimensiones dentro del paréntesis. Por ejemplo:

 Dim MiMatriz()

 ReDim OtraMatriz()

Para utilizar una matriz dinámica, debe utilizar a continuación ReDim para determinar el número de dimensiones y el tamaño de cada una de ellas. En el siguiente ejemplo, ReDim establece el tamaño inicial de la matriz dinámica a 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 cuando se produce el cambio de tamaño.

 ReDim MiMatriz(25)

 . . . 

 ReDim Preserve MiMatriz(30)

No hay límite en cuanto al número de veces que puede cambiar el tamaño de una matriz dinámica, pero debe saber que si hace una matriz más pequeña de lo que era, pierde los datos de los elementos eliminados.

 

Constantes de VBScript                           

 

¿Qué es una constante?

Una constante es un nombre significativo que contiene un número o una cadena que nunca cambia. VBScript define un número de constantes intrínsecas. Puede obtener información sobre estas constantes intrínsecas en Referencia del lenguaje VBScript.

 

Creación de constantes

En VBScript puede crear constantes definidas por el usuario utilizando la instrucción Const. Utilizando la instrucción Const, puede crear constantes numéricas o de cadena con nombres significativos y asignarlas a valores literales. Por ejemplo:

Const MiCadena = "Esta es mi cadena."

Const MiEdad = 49

Observe que el literal de cadena se escribe entre comillas (" "). Las comillas son la mejor y más clara forma de diferenciar valores de cadena y valores numéricos. Los literales de fecha y los literales de hora se representan encerrándolos entre signos de número (#). Por ejemplo:

Const FechaCorte = #6-1-97#

Puede que desee adoptar una combinación de nombres para diferenciar constantes de variables. Esto impedirá que intente reasignar sus valores mientras se ejecuta la secuencia de comandos. Por ejemplo, podría desear utilizar un prefijo "vb" en los nombres de constantes o puede dar nombre a las constantes en mayúsculas. Al diferenciar las constantes de las variables elimina la confusión cuando desarrolla secuencias de comando complejas.

 

Operadores de VBScript                          

 VBScript tiene un completo conjunto de operadores, incluyendo operadores aritméticos, operadores de comparación, operadores de concatenación y operadores lógicos.

 

siguiente