Title: VBScript
1VBScript
- Visual Basic Script para páginas ASP
2Introducción
- Se trata de un lenguaje de script derivado
directamente de Visual Basic - Scripts Pequeños programitas
- Incrustados en las páginas HTML
- ltscript languageVBScriptgt
- ...
- lt/scriptgt
- Interpretados, no compilados
- Importante
- No es sensible a mayúsculas/minúsculas
- Los comentarios comienzan por una comilla simple
()o por la palabra REM - Variables NO se declaran y no están tipadas
- Instrucciones terminan con un salto de línea
3Ejemplo básico 1
- lthtmlgtltheadgt lttitlegt
- La última modificación del documento
- lt/titlegtlt/headgt
- ltbodygt lth1gtScript de la última modificación
de un documentolt/h1gt ltscript
language"VBScript"gt document.write "Este
documento fue actualizado por última vez
en " DOCUMENT.WRITE document.lastmodified
lt/scriptgtlt/bodygt - lt/htmlgt
4Concatenación
- Concatenación
- Permite concatenar expresiones que ya son
alfanuméricas - Concatena una expresión alfanumérica con un
valor numérico
5Tipos de Datos (1/4)
- En VBS sólo existe un tipo general de datos que
se conoce como Variant. - Los datos se clasifican en subtipos en función
del contenido. - Para cambiar de tipo a una variable es suficiente
con asignarle un dato de diferente tipo. - Ejemplo
- Variable 1
- ' más código
- ' más código
- Variable "cadena"
6Tipos de Datos (2/4)
- Subtipos de datos
- String Datos de tipo cadena (alfanuméricos)
- Byte Números enteros del 0 al 255
- Integer Números enteros del -32768 al 32767
- Long Números enteros del -2147483648 al
2147483647 - Single, Double, Currency
- Boolean Datos lógicos verdadero o falso (true /
false) - Null Un dato que no representa nada
- Date Un valor de Fecha / Hora
- Object Contiene la representación de un objeto
- Empty Variant sin inicializar (0 ó )
- Error Identifica los errores mediante un número
7Tipos de Datos (3/4)
- Funciones de verificación de tipos
- isDate() Indica si el parámetro se puede
convertir en una fecha. - isEmpty() Indica si el parámetro pertenece al
tipo Empty. - isError() Devuelve true si el parámetro
representa un error. - isNull() Devuelve true si el parámetro
representa Null. - isNumeric() Devuelve true si el parámetro es un
número. - isObject() Devuelve true si el parámetro es un
objeto. - VarType() Indica el tipo de una variable
- 0 empty, 1 null, 2 integer, 3 long, 4
single, 5 double, 6 currency, - 7 date, 8 string, 9 objeto de
automatización, 10 error, 11 boolean, - 12 variant, 13 objeto de acceso a datos, 17
byte, 8192 array
8Tipos de Datos (4/4)
- Funciones de transformación
- CBOOL(número) Devuelve falso si el número es 0 y
verdadero en otro caso. - CBYTE(número) Convierte el argumento en un
número en formato Byte. - CCUR(número) Convierte el argumento en un número
en formato Currency. - CDATE(cadena) Convierte la cadena alfanumérica
que representa a una fecha en un dato DATE. - CDBL(número) Convierte el argumento en un número
en formato Double. - CINT(número) Convierte el argumento en un número
en formato Int. - CLNG(número) Convierte el argumento en un número
en formato Long. - CSNG (número) Convierte el argumento en un
número en formato Single. - CSTR (argumento) Convierte el argumento en una
expresión de tipo String.
9Tipos de Datos. Arrays
- Importante
- Los arrays se deben declarar siempre !!
- P.e. dim miArray(20)
- Utilización
- miArray(0) valor
- miArray(1) 3
- NOTA Cuidado !! Pueden tener distintos tipos de
datos !!
10Operadores
- Aritméticos
- (suma) - (resta) (suma) / (division)
- Relacionales
- (igual) ltgt(distinto) lt(menor) gt(mayor)
- lt (menor o igual) gt (mayor o igual)
- Concatenacion de strings
-
- Lógicos
- and or xor not eqv
11Estructuras de Control(1/4)
IF (expresion1) then Sentencias1
....ELSEIF (expresion2) then
Sentencias2 ....ELSEIF (expresion3)
then Sentencias3 ....ELSE
Sentencias4 ....END IF
dia inputbox ("dime un dia de la semana")IF
dia1 THEN msgbox("El dia es LUNES")ELSIF
dia2 THEN msgbox("El dia es MARTES")ELSE
msgbox(No es ni lunes ni martes")END IF
12Estructuras de Control(2/4)
dia inputbox ("dime un dia de la
semana")SELECT CASE diaCASE 1 msgbox("El
dia es LUNES")CASE 2 msgbox("El dia es
MARTES")CASE 3 msgbox("El dia es
MIERCOLES")CASE 4 msgbox("El dia es
JUEVES")CASE 5 msgbox("El dia es
VIERNES")CASE 6 msgbox("El dia es
SABADO")CASE 7 msgbox("El dia es
DOMINGO")CASE ELSE msgbox("Tiene que ser un
dia de la semana en número, del 1 al 7")END
SELECT
SELECT CASE (variable) CASE
(valor1) (acción para caso
valor1) CASE (valor3)
(acción para caso valor2) CASE
(valor3) (acción para caso
valor3) CASE ELSE (accion
en caso de que no se cumpla ningun anterior
caso)END SELECT
13Estructuras de Control(3/4)
FOR (inicializacion) TO (termino del bucle) STEP
(paso) sentencias ........NEXT
for i0 to 6 step 2 msgbox(i)next
dim tor(20)for i0 to 20 tor(i) inextfor
each i in tor document.write (tor(i))next
WHILE (condicion) sentencias
....WEND
14Estructuras de Control(4/4)
DO WHILE UNTIL (condicion)
Sentencias .....LOOP WHILE UNTIL
(condicion)
DO cont cont 1 respuesta msgbox
(cont,69,"Variable del bucle, con valor 6 se
sale") if (respuesta 2) then msgbox
"Cuenta Cancelada",16,"Cancelaste!" exit
do end ifLOOP UNTIL (cont 6)
15Procedimientos
- Definición
- SUB nombre_proc (lista_parametros)
- Instrucción 1
- ...
- Instrucción n
- END SUB
- Llamada
- CALL nombre_procedimiento (lista_parametros)
- Ejemplo
- SUB sumar (a,b)
- cab
- END SUB
16Funciones
- Definición
- FUNCTION nombre_func (lista_parametros)
- Instrucción 1
- ...
- Instrucción n
- END FUNCTION
- Ejemplo
- FUNCTION sumar (BYVAL a, BYVAL b)
- s ab
- sumars
- END FUNCTION
17Funciones en ASP. Ejemplo
- Función de rebajar el 20 al precio de un
artículo en una tienda - lt _at_ LANGUAGE"VBSCRIPT" gt
- ltHTMLgtltHEADgt ltTITLEgtFuncion impuestolt/TITLEgt
lt/HEADgtltBODYgt ltFunction rebajas(precio_articulo
) precio_finalprecio_articulo-precio_articulo20
/100 Response.Write precio_final End
Functiongt - Un libro de 3500 ptas. se quedará en un precio
de lt rebajas(3500) gt ltbrgt Una camisa de 6000
ptas. tendrá un precio final de lt rebajas(6000)
gt ltbrgt Un CD de música de 2000 ptas. costaría
lt rebajas(2000) gt ptas. - lt/BODYgt
- lt/HTMLgt
18Formas de Ejecución de Scripts
- Mientras que el navegador abre la página
- Como respuesta a una acción (evento) del usuario
- Los eventos son acciones que ocurren cuando el
usuario hace alguna cosa sobre una página web - La página web onLoad, onUnload, onerror
- El ratón onclick, ondbclick, onmousemove,
onmouseover, onmouseout, onmouseup (contrario al
click), ondragstart, onselectstart, onselect - El teclado onkeydown, onkeypress, onkeyup,
onhelp - ...
19Ejemplo básico en ASP
- lt _at_language"VBScript"gt
- ltHTMLgt
- ltHEADgt
- ltTITLEgt Comentarios, alertas y
variables lt/TITLEgt - lt/HEADgt
- ltBODYgt
- lt
- Escribir al cargar la página
- Response.write "hola"
- Escribir cuando pulsan un botón gt
- ltinput typebutton valuePulsame
onclick"msgbox(navigator.appVersion)"
language"vbscript"gt - lt/BODYgt
- lt/HTMLgt