Visual Basic Script MC Beatriz Beltrn Martnez Introduccin
Visual Basic Script MC Beatriz Beltrán Martínez
Introducción � VBScript (abreviatura de Visual Basic Script Edition) es un lenguaje interpretado por el Windows Scripting Host de Microsoft. � Su sintaxis refleja su origen como variación del lenguaje de programación Visual Basic. � VBScript es interpretado por el motor de vbscript. dll, que puede ser invocado por el motor ASP (asp. dll) en un entorno web, por un ejecutable (aplicación HTML) y por Internet Explorer durante la navegación web. 2 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Como usar scripts � Para poner un script en una página web se utiliza la etiqueta de HTML <SCRIPT>. Todo lo que se ponga entre esa etiqueta y la de cierre, </SCRITP>, tiene que ser código del lenguaje de scripting que se esté utilizando. � También se debe indicar el lenguaje con el que se esta programando. En este caso se pondrá: <script language="VBScript" > ---Aquí se pondrán los scripts--- </script> 3 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Primer script � Un primer ejemplo de script en una página web. El objetivo de este script es mostrar la fecha de la última modificación del documento: <html> <head> <title> La ú ltima modificació n del documento</title> </head> <body> <h 1>Script de la ú ltima modificació n de un documento</h 1> <script language="VBScript"> document. write "Este documento fue actualizado por ú ltima vez en: " document. write document. lastmodified </script> </body> </html> 4 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Características � Mayúsculas y minúsculas: No importa si se utiliza mayúsculas o minúsculas a la hora de escribir el código. � Variables: Son espacios donde se almacenan los datos que utilizan los programas o scripts. � No se declaran: Las variables no se han de declarar, es decir, cuando se necesita una variable, simplemente se utiliza y ya está. Aún así, si se desea declarar una variable utilizamos la palabra DIM � No hay tipos: Las variables no están tipadas, esto quiere decir que se puede guardar en ellas igualmente números que letras que otras cosas. � Saltos de línea: Son importantes los saltos de línea. Expresan el final de una instrucción y el principio de la siguiente. No se pueden poner dos instrucciones en una misma línea. 5 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Características � Comentarios: Se colocan con una comilla simple '. Esto sirve para que todo lo que se encuentre en esa línea después de la comilla simple sea ignorado por el explorador. <script language=VBScript> 'Esto es un comentario PEPE="HOLA" msgbox(pepe) pepe=3456 'NO importan las mayúsculas-minúsculas msgbox(PEPE) </script> 6 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Formas de ejecutar scripts � Las formas de ejecución de VBScript son las siguientes: � Scripts que se ejecutan mientras que el navegador abre la página. � Scripts que se ejecutan como respuesta a la acción de un usuario. � El primero de los casos se utiliza cuando se quiere hacer algo cuando el navegador carga la página. Por ejemplo, poder mostrar un mensaje de bienvenida que aparezca cuando el usuario entra en tu página, o que el navegador informe de la última actualización del documento. � El segundo caso es útil cuando se desean realizar 7 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP acciones como respuesta a eventos del usuario.
Formas de ejecutar scripts � Los eventos son acciones que ocurren cuando un usuario hace alguna cosa sobre la página web, es decir, un evento podría ser que el usuario escriba algo en una caja de texto, o que se coloque con el ratón encima de un enlace. � Casi cualquier cosa que puede realizar el usuario dentro de la página tiene un evento relacionado. � Utilizando los eventos se puede preparar algún efecto que sea solo visible cuando el usuario realice alguna acción dentro de la página web. 8 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Ejemplo de ejecución al cargar la página � Esta es la ejecución de scripts cuando el usuario carga la página: <html> <head> <title>Script de ejecución directa</title> </head> <body> Según se carga la página se ve la versión del navegador en una caja de diálogo. <script language=vbscript> msgbox(navigator. app. Version) </script> </body> </html> 9 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Ejemplo de ejecución como respuesta a la acción del usuario � Ahora se ve lo que hay que hacer cuando se desea que esta caja de diálogo no aparezca hasta que el usuario pulse en un botón: <html> <head> <title>Script de ejecución como respuesta a un evento</title> </head> <body> Pulse el botón para ver la versión del navegador <input type=button value=Pulsame onclick= "msgbox(navigator. app. Version)" language="vbscript"> </body> </html> 10 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Formas de ejecutar scripts � Este ejemplo tiene cosas nuevas que habría que destacar: � Se crea un botón con la etiqueta <INPUT>. � Se le añade el atributo onclick. Este sirve para indicar (en lenguaje de script) las acciones queremos realizar como respuesta al evento "click sobre el botón". � Se le añade el atributo language para especificar el lenguaje en el que está escrito el código script asociado al evento. � Ahora se tiene un botón que, cuando se pulse, ejecutará el código que despliega una caja de diálogo con la versión del navegador. 11 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Variables � Una variable se declara utilizando la palabra DIM, veamos cómo: <script language="vbscript"> dim mi_nueva_variable 'Ahora ya existe la variable, 'Seguidamente voy a hacer uso de ella. mi_nueva_variable = "Valor de la variable" </script> � Se puede utilizar la clausula Option explicit para forzar la declaración de variables en los scripts. Si se desea evitar la posible fuente de errores que supone la libertad de no declarar las variables se puede utilizar esta clausula. 12 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Variables � Los scripts responderán con mensajes de error si se utiliza una variable que no se ha declarado previamente. <HTML> <HEAD> <TITLE>Option explicit</TITLE> </HEAD> <BODY> <script language=vbscript> option explicit dim Pepe pepe = 3 tomas = 87 , marcará error </script> </BODY> </HTML> 13 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Tipos soportados � Se tienen varios tipos de datos pero en la práctica sólo posee un tipo de variable, que va cambiando de un estado a otro según la información que se introduce. � Este tipo principal de datos es el tipo Variant, en él se pueden introducir varios subtipos de datos. � Para cambiar el subtipo de un variant, sólo se tiene que introducir un dato en la variable. � La variable variant cambia automáticamente de un subtipo a otro, sin que se tenga que hacer ninguna operación adicional. � Los distintos subtipos de datos que tenemos son los siguientes: 14 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Tipos soportados Booleano Es un tipo de datos que contiene un si o un no. Se corresponden: TRUE equivale a (-1) FALSE equivale a (0) Byte Currency Numérico, entero sin signo hasta 65. 000 Tipo de moneda, se utiliza para manipular de manera exacta valores monetarios, y en general cualquier cálculo que requiera una precisión de hasta 15 dígitos decimales Es un tipo de 64 bits de tamaño que almacena fechas. Se utiliza el formato americano: mes, día, hora. Coma flotante con doble precisión (64 bits) Fecha Double Entero largo Objeto Single Cadena 15 Número entero, con signo. Desde -32. 768 hasta 32. 767 Este tipo es un valor entero con signo de doble precisión. Como los nuevos ordenadores trabajan con palabras de 32 bits, y no menos, se recomienda usar este tipo antes de el tipo entero normal. El subtipo de objeto es una referencia de puntero de 32 bits a una instancia de objeto de automatización OLE. Los controles Active. X y java. Utilizan esta sintaxis: Set miobjeto = new ole. Objeto Coma flotante de precisión simple Conjunto continuo de valores de caracteres, de longitud variable. MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Tipos soportados � Para averiguar el subtipo de una variable se puede utilizar la función Var. Type, de esta manera: v 1 = 3 document. write Var. Type (v 1) � En este script se declara una variable y se le asigna un número y a continuación se imprime en la página el valor que devuelve la función Var. Type. � Al ejecutar este script se podrá ver un "2" escrito en la página. � Según el tipo de dato que halla en la variable, Var. Type devolverá un valor distinto, como indica esta tabla: 16 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Tipos soportados Constant 17 Value Description vb. Empty 0 Empty (uninitialized) vb. Null 1 Null (no valid data) vb. Integer 2 Integer vb. Long 3 Long integer vb. Single 4 Single-precision floating-point number vb. Double 5 Double-precision floating-point number vb. Currency 6 Currency vb. Date 7 Date vb. String 8 String vb. Object 9 Automation object vb. Error 10 Error vb. Boolean 11 Boolean vb. Variant 12 Variant (used only with arrays of Variants) vb. Data. Object 13 A data-access object vb. Byte 17 Byte vb. Array 8192 Array MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Operadores aritméticos y comparación + * Suma Resta Multiplicación División en coma flotante. Es la división normal. Devuelve un numero real si es el resultado División de enteros Devuelve un numero entero, resultado de la división. Potencia Resto de la división / ^ Mod = <> > < >= <= 18 Igual y distinto Mayor que y menor que Mayor o igual que y menor o igual que MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Operadores lógicos y de cadena AND OR Xor Not Y lógico O lógico Xor NO lógico � Como operador de cadenas de caracteres en Visual Basic Script se tiene un único ejemplo: la concatenación. � El operador para concatenar cadenas es el &. 19 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Estructuras de control � Las estructuras de control permiten realizar acciones típicas en los scripts como lo pueden ser los bucles o la toma de decisiones. � Condicionales � IF, condicional que decide entre si/no. � CASE, otro condicional con varias posibilidades. � Bucles � FOR, repetición un determinado número de veces. � FOR EACH, repetición para un conjunto de elementos. � WHILE. . . WEND, repetición mientras ocurra alguna cosa. � DO. . . LOOP, repetición un determinado número de veces. 20 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Estructuras de control � Sentencia IF: IF (expresion) then Sentencias . . END IF � Sentencia IF-ELSE IF (expresion) then Sentencias . . ELSE Sentencias . . END IF 21 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Estructuras de control � Sentencia ELSEIF IF (expresion 1) then Sentencias 1 ELSEIF (expresion 2) then Sentencias 2 ELSEIF (expresion 3) then Sentencias 3 ELSE Sentencias 4 END IF 22 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Estructuras de control � Sentencia CASE SELECT CASE (variable) CASE (valor 1): (acción para caso valor 1) CASE (valor 2): (acción para caso valor 2) CASE (valor 3): (acción para caso valor 3) CASE ELSE: (acción en caso de que no se cumpla ningún anterior caso) END SELECT 23 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Estructuras de control � Sentencia FOR (inicializacion) TO (termino del bucle) STEP (paso) sentencias . . . . NEXT � Sentencia FOR EACH � La estructura de control FOR EACH sirve para moverse por los elementos de una estructura de datos, como podría ser un vector, y realizar acciones para cada una de los elementos. 24 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Estructuras de control � Sentencia WHILE – WEND WHILE (condicion) sentencias . . WEND � Sentencia DO – LOOP DO [WHILE | UNTIL (condicion)] Sentencias . . . LOOP [WHILE | UNTIL (condicion)] 25 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Arrays � Los Arrays o matrices son unas estructuras de datos muy utilizadas en cualquier lenguaje. Se tratan de variables, pero que están preparadas para guardar una cantidad mayor de elementos. � Antes de utilizar un array se debe declarar de manera obligatoria, para ello se utiliza la palabra clave DIM, de este modo. dim mi. Array(20) � Después de la palabra DIM se debe indicar el nombre del array y a continuación, entre paréntesis, se coloca el número de posición máxima del array, en este caso 20. 26 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Arreglos multidimensionales � Se pueden construir matrices multidimensionales, es decir, que permitan crear matrices de varias coordenadas. Para trabajar con ellas se utiliza una coma que separa los dos índices. Por ejemplo se puede definir una matriz de 8 x 8 de esta manera. dim mi. Array 2 Dimensiones (7, 7) � Como el array es de 8 casillas, se utiliza un 7 y sus posiciones serán las 8 que van desde el 0 al 7. Para escribir y leer del Array se puede utilizar la coma de manera similar a como se declara. Por ejemplo, para meter datos en la posición 0, 2: mi. Array 2 Dimensiones (0, 2) = "texto posición 0, 2" 27 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
Funciones y procedimientos � Para un procedimiento Sub nombre (parametro 1, parametro 2. . . ) . . . Código del procedimiento end Sub � Para una función Function nombre (parametro 1, parametro 2. . . ) . . . Código de la función end Function 28 MC Beatriz Beltrán Martínez Primavera 2013 FCC - BUAP
- Slides: 28