Está en la página 1de 59

Usuario :

Contrasea :

1 usuario conectado

Home

Contact Best Language Java HTML JavaScript C++ S L !ctionScript "#as$ %BScript me Practices C J2SE

Visual Basic Scripting Edition


Microsoft

ndice Temtico Bsico Intermedio Avanzado


Qu es VBScript? Qu es Active ? !ti"uetas S#$I%T? #omentarios en VBScript Varia&'es

o o o o o o o o o o o

Varia&'es Imp'(citas Varia&'es !)p'(citas *ption !)p'icit VarT+pe + T+pe,ame - Tipo de .ato #ontenido en 'a Varia&'e Varia&'es /'o&a'es Varia&'es 0oca'es Varia&'es %u&'ic Varia&'es %rivate #onstantes is.ate1 is!mpt+1 is,u''1 is,umeric1 is*&2ect #onversi3n de Tipos de .atos 4#Boo'1 #B+te1 ##ur1 #.ate1 #.&'1 #Int1 #0n51 #Sn51 #Str6

Qu es un %rocedimiento? Qu es una 7unci3n?

o o o

!)it %aso de %armetros B+$ef %aso de %armetros B+Va'

*peradores 035icos 7unciones

o o o o o o o o

S"r - $a(z #uadrada S5n - Si5no A&s - Va'or A&so'uto Int - %arte !ntera 7i) - %arte !ntera $ound - $edondeo $nd - A'eatorio 4Random6 $andomize - Semi''a 4seed6

Ventanas

o o o o o o o o o
Arre5'os

A'erta - A'ert #onfirmaci3n - #onfirm .i'o5o %ersona'izado - Ms5Bo) !ntrada de Te)to - %rompt !ntrada de Te)to %ersona'izado - InputBo) If 8 T9en !'se Se'ect 8 #ase 7or 8 ,e)t .o 8 0oop !stticos 7unci3n 0&ound - (ndice menor de un arre5'o Mu'tidimensiona'es .inmicos :nidimensiona'es .inmicos Mu'tidimensiona'es #omando !rase - $einicia'iza 7unci3n isArra+ - 0a varia&'e es de tipo arre5'o? 7unci3n #9r - #arcter asociado 7unci3n Asc - #3di5o A,SI 7unci3n 'en - 0on5itud de una #adena de Te)to 7unci3n Mid - !)trae caracteres 7unci3n 0eft - !)trae 'os primeros caracteres 7unci3n $i59t - !)trae 'os ;'timos caracteres 7unci3n inStr - Busca ocurrencias 7unci3n Sp'it - Separar un Strin5 7unci3n <oin - #3mo convertir un arre5'o en strin5? 7unci3n $ep'ace - $eemp'azar caracteres 7unci3n 7i'ter - 7i'trado 7unci3n 0#ase - #onvertir a min;scu'as 7unci3n :#ase - #onvertir a ma+;scu'as 7unci3n Str#omp - #omparar strin5s 7unciones de formato de cadenas 7unci3n Strin5 - /eneraci3n de cadenas con un mismo carcter 7unci3n Space - /eneraci3n de cadenas de espacios en &'anco 7unci3n Trim1 0Trim1 $Trim 4trai'in56 - !'imina espacios en &'anco a' inicio + fina' 4rastrear6

!structuras de #ontro' de 7'u2o

7unci3n :&ound - (ndice ma+or de un arre5'o

o o o o o o o o o o o o o o o o o o o o o o o

#adenas de Te)to - Strin5

7unci3n SetTime*ut 8 #'earTime*ut - !2ecuci3n en un interva'o de tiempo especifico 7unci3n SetInterva' 8 #'earInterva' - !2ecuci3n periodica Mane2o de 7ec9as + Tiempo

o o o o o o o

7unci3n .ate - *&tener 7ec9a 7unci3n Time - *&tener Tiempo 7unci3n ,o= - *&tener 7ec9a + Tiempo 7unci3n .ateVa'ue - Su&tipo de fec9a 7unci3n .ateSeria' - Su&tipo de fec9a especifico 7unci3n TimeVa'ue - Su&tipo tiempo 7unci3n TimeSeria' - Su&tipo tiempo especifico

o o o o o o o

7unciones .a+1 Mont91 >ear1 ?ee@.a+ - .(a1 Mes1 AAo1 .(a de 'a semana 7unciones Bour1 Minute1 Second - Boras1 Minutos1 Se5undos 7unci3n Mont9,ame - ,om&re de' Mes 7unci3n ?ee@da+,ame - ,om&re de' .(a de 'a semana 7unci3n .ate%art - %arte de una fec9a 7unci3n .ateAdd - Adicionar tiempo 7unci3n .ate.iff - Interva'o entre C fec9as

#onstantes para #o'ores

Bsico Intermedio Avanzado


!ventos

o o o o o o

Mane2adores de !ventos !ventos de' Mouse !ventos de' Tec'ado !ventos *n0oad 8 *n:n'oad !vento *n!rror Input

7ormu'arios *n !rror $esume ,e)t .*M1 .ocument *&2ect Mode' - Mode'o de *&2etos de' .ocumento

o o o

*&2eto ?indo= ?indo=D*pen - #om3 a&rir una nueva ventana? *&2eto .ocument

Bsico Intermedio Avanzado


#reate*&2ect /et*&2ect Scriptin5 $untime 0i&rar+

*&2eto .ictionar+ %ropiedades de' *&2eto .ictionar+ *&2eto 7i'eS+stem*&2ect

Mtodos de' *&2eto .ictionar+

!' Mode'o 7i'eS+stem*&2ect *&2etos 7i'eS+stem*&2ect

#ontro'es Active #omunicaci3n con un App'et <ava Script'ets AS%

VBScript or <Script? E $un8Time !rrors E VBScript or <Script? E Trans'atin5 to VBScript from <avaScript E Trans'atin5 to VBScript from <Script

Qu es VBScript?
Antes de comenzar con 'a definici3n de VBScript1 comentaremos "ue desde e' punto de vista de Microsoft un lenguaje de Script es un conjunto de normas, instrucciones y

mtodos que encapsulado en forma de un servidor OLE se adhiere a la especificacin ActiveX Scriptin D .esde otro punto de vista un script es una clase particular de pro rama que es interpretado en tiempo de ejecucin, eneralmente por el procesador de comandos del sistema o shellD A9ora &ien1 Fno todos 'os pro5ramas son scriptsF1 pero F'os scripts siempre son pro5ramasF1 un programa es un conjunto de instrucciones que la computadora ejecuta de una manera ordenadaD Si est pensando en "ue sus p5inas sean ms 5enericas por decir'o de a'5;n modo1 es decir1 "ue e' c3di5o de scriptin "ue ten5a su p5ina sea soportado por 'a ma+or(a de nave5adores 4!ro"sers6 + por cada una de sus versiones1 'a recomendaci3n a se5uir es uti'izar JSCript1 %or "u?1 "uiz 'a primer raz3n de peso es por"ue Netscape no soporta VBScript1 a' uti'izar VBScript para =e& estaria de2ando una 5ran parte de usuarios fuera1 +a "ue e' c3di5o simp'emente no funcionaria1 adems de 5enerar un sin fin de erroresD Ten5a en cuenta "ue usar VBScript tampoco 5arantiza "ue tra&a2e para todos 'os nave5adores1 puesto "ue e)isten diferentes mode'os de o&2etos BTM0 en cada nave5adorD !' usar un 'en5ua2e de scriptin u otro se &asa en e' an'isis de 'o "ue "uiere 'o5rar + de conocer "ue 9erramienta so'uciona me2or sus necesidadesD VBScript 9ereda 'a sinta)is + caracter(sticas de codificaci3n de' popu'ar 'en5ua2e Visua' Basic para ap'icaciones 4VBA6D VBScript es uti'izado en e' entorno de un nave5ador para Va'idaci3n previa de datos %roporcionar o re"uerir informaci3n a 'os usuarios Inicia'izaci3n + contro' de componentes Active o de App'ets <ava !2ecuci3n de c'cu'os :ti'izaci3n de F#oo@iesF AAadir interactividad a 'a p5ina respondiendo a 'as acciones de 'os usuarios Modificar dinmicamente 'a apariencia de 'a p5ina 7aci'itar 'a nave5aci3n en varias instancias de un nave5ador

simu'tnemaente #reaci3n de o&2etos reuti'iza&'es a partir de' uso de Script'ets en !)p'orerD

Qu es ActiveX?

#on2unto de tecno'o5(as desarro''ado por Microsoft1 &asado en e' #odelo de $omponentes $O# % $omponent O!ject #odel1 pero ms en *0!D #ontro'es Active

Etiquetas SC !"#
Antes de continuar es necesario e' dominio de' 0en5ua2e de Marcaci3n de Biper Te)to me2or conocido como BTM01 si no 'o dominas puedes consu'tar e' Tutoria' Si domina BTM0 estar fami'iarizado con 'a si5uiente estructura<html> <head> <title>Untitled</title> </head> <body> </body> </html>

%ara 9acer uso de VBScript es necesario escri&ir e' c3di5o entre 'as eti"ueas <script></script> de BTM0 "ue a su vez son escritas entre 'as eti"uetas <head></head> aun"ue no es restrictivo a est ;nica posi&i'idad +a "ue puede ser escrito entre 'as eti"uetas <body></body> inc'usive despues de estasD 0a recomendaci3n es escri&ir'as dentro de 'os e'ementos headD 0a eti"ueta <script></script> tiene propiedades como
defer 'an5ua5eGFF srcGFF t+peGFF

0a propiedad ms uti'izada ser type 'a cu' define e' tipo de script a uti'izar1 es decir1 JavaScript1 VBScript o cua'"uier otroD .e esta manera se (ndica a' nave5ador "ue tipo de Script de&er interpretar en tiempo de e2ecuci3nD A fin de 9acer ap'icaciones a prue&a de errores se recomienda escri&ir e' c3di5o entre eti"uetas de comentarios BTM0 +a "ue si e' nave5ador no soporta scriptin5 simp'emente se i5norar e' c3di5oD

Comentarios en VBScript
0a manera de comentar '(neas en VBScript es a travs de 'a inc'usi3n de una ap3strofe a' inicio de 'a '(nea 4'6 o escri&ir 'a pa'a&ra reserva&a REM

Varia$les

VBScript rea'iza 'a declaracin din&mica impl'cita de varia&'es1 es decir1 'as varia&'es no tienen tipo +a "ue por defecto son variant + es en e' momento de asi5naci3n de va'ores cuando se inc'u+en de manera automtica en un tipo determinado1 por 'o "ue VBScript si tiene tipos de datos imp'(citos
Byte Inte er !on Sin le "o#ble C#rrency "ecimal "ate Strin Boolean Empty $#ll %b&ect $othin Error

0a dec'araci3n en VBScript de una varia&'e puede 9acerse de C formas posi&'es-

Varia&'es Imp'(citas
0as varia&'es imp'(citas en VBScript se dac'ara simp'emente escri&iendo e' nom&re de 'a varia&'e + asi5nando'e un va'orD
<html> <head> <title>Variables'Implicitas</title> <script'type()te*t/vbscript)> <+,, s$ombre'(')-erardo'.n eles'$ava) nEdad'('/0 doc#ment12rite's$ombre'3')',')'3'nEdad'3')'a4os) //,,> </script> </head> <body> <hr> in5ormati6#e1com1m* </body> </html>

!2ecutar

Varia&'es !)p'(citas
0as varia&'es e)p'(citas se definen por medio de 'a pa'a&ra reservada "im se5uido de' nom&re de 'a varia&'e mientras no sea i5ua' a' nom&re de una pa'a&ra reservada o "ue

su 'on5itud e)ceda 'os CHH caracteres1 e' primer caracter de&er ser una 'etra1 podr estar compuesta por di5itos + caracateres de su&ra+adoD
<html> <head> <title>Variables'E*plicitas</title> <script'type()te*t/vbscript)> <+,, "im's$ombre "im'nEdad s$ombre'(')-erardo'.n eles'$ava) nEdad'('/0 doc#ment12rite's$ombre'3')',')'3'nEdad'3')'a4os) //,,> </script> </head> <body> <hr> in5ormati6#e1com1m* </body> </html>

!2ecutar

*ption !)p'icit
0a instrucci3n %ption ' E*plicit se uti'iza para forzar a' pro5ramador a dec'arar varia&'es de manera e)p'(cita1 es decir1 mediante e' emp'eo de 'a pa'a&ra reservada "im 'o cua' permite e'iminar errores +a "ue a' dec'arar varia&'es de manera imp'(cita podemos cometer un error a' escri&ir e' nom&re de 'a varia&'e + VBScript 'o interpreta como una nueva varia&'eD Si uti'iza %ption'E*plicit VBScript 5ener un error por cada varia&'e no dec'arada de manera e)p'(cita1 mostrando e' mensa2e (aria!le no definidaD

VarT+pe + T+pe,ame - Tipo de .ato #ontenido en 'a Varia&'e


0a funci3n Var7ype re5resa un va'or asociado a un tipo de dato1 se pasa como parmetro 'a varia&'e de 'a cua' deseamos conocer e' tipo de dato "ue contieneD
%a#or Tipo de &ato ( , 2 / 0 3 4 5 v)Empt* v)-u## v).nteger v)Long v)Sing#e v)&ou)#e v)Currenc* v)&ate Signi'icado %aria)#e sin inicia#i+ar %aria)#e -u#a Entero de 2 )*tes Entero #argo de 0 )*tes -1mero de precisi2n simp#e -1mero de precisi2n do)#e -1mero de moneda "ec$a

6 8 ,( ,, ,2 ,/ ,0

v)String v)9):ect v)Error v)Boo#ean v)%ariant

Cadena de Te7to 9):eto -1mero de error generado por %BScript %aria)#e de tipo verdadero o 'a#so Tipo variante en arreg#os

v)&ata9):ect 9):eto de acceso a datos v)B*te -1mero de tipo )*te La varia)#e contiene una vector

6,82 v)!rra*

0a funci3n 7ype$ame re5resa una cadena de te)to con e' tipo de dato "ue contiene 'a varia&'eD !2emp'o

Varia&'es /'o&a'es
Todas a"ue''as varia&'es dec'aradas en un script fuera de su&rutinas 4procedimientos o funciones6D Su m&ito de acci3n es 5'o&a'1 es decir1 se puede acceder a e''as desde cua'"uier punto de un script o desde otro scriptD

Varia&'es 0oca'es
Todas a"ue''as varia&'es dec'aradas dentro de' c3di5o de su&rutinas 4procedimientos o funciones6D Su m&ito de acci3n es 'oca' so'o ap'ican a' cuerpo de 'a su&rutinaD

Varia&'es %u&'ic
%or defecto todas 'as varia&'es 5'o&a'es definidas en un script son p;&'icas + su m&ito de acci3n es ap'ica&'e desde otros scriptsD !s posi&'e dec'arar una varia!le lo!al antecediento 'a pa'a&ra c'ave 8#blicD

Varia&'es %rivate
%or defecto 'as varia&'es son p#blic + pueden ser accedidas desde cua'"uier script' dentro de un mismo documento =e& + desde otros documentos =e&1 por e2emp'o en e' caso de 'os 9rames1 si deseamos restrin5ir e' m&ito de 'as varia&'es so'o a' propio documento =e& en e' cua' estn contenidas &asta con anteceder 'a pa'a&ra c'ave privateD Si tra&a2a con 9rames para acceder a varia&'es contenidas en un documento =e& distinto escri&a 'a pa'a&ra c'ave 7op uti'izando 'a notacin de punto escri&a e' nom&re de' )rame + e' nom&re de 'a varia!le1 e2emp'o- 7op1mi9rame1mivariable

#onstantes

!s posi&'e dec'arar una constante en VBScript antecediento a' nom&re de 'a varia&'e 'a pa'a&ra reservada ConstD A una constante es posi&'e ap'icar'e un modificador 8#blic o 8rivateD

is.ate1 is!mpt+1 is,u''1 is,umeric1 is*&2ect


0as funciones is"ate1 isEmpty1 is$#ll1 is$#meric1 is%b&ect determinan una varia&'e contiene e' tipo de dato respectivoD
"unci2n

%a#or de #a %aria)#e
/erardo An5e

"im'contenedor: contenedor0'('n#ll
aeiou

2indo21doc#ment

#onversi3n de Tipos de .atos


VBScript puede convertir e' contenido de tipo de dato de 'as varia&'es a otro tipo de dato especifico a travs de 'as si5uientes funciones%a#or de #a %aria)#e
8I CJJ KJH1LCIDMN CIOHPOIPKI PDPMKQJNLCIH CIHPDIPKI PDPMKQJNLCIH PDPMKQJNLCIH 8ICLNJ

"unci2n Tipo de &ato Convierte a tipo Boolean; un va#or ; #o convierte a 9alse * cua#<uier otro en 7r#e Convierte a tipo Byte Convierte a tipo C#rrency Convierte a tipo "ate Convierte a tipo "o#ble; numerico de de punto '#otante de do)#e precisi2n Convierte a tipo Inte er Convierte a tipo !on Convierte a tipo Sin le; numerico de de punto '#otante de precisi2n senci##a Convierte a tipo strin

Qu es un "rocedimiento?

Tam&in conocidos como procedimientos personali%ados1 no son ms "ue su&rutinas1 para definir un procedimiento es necesario escri&ir 'a pa'a&ra reservadaS#b

'o cua' indica e' inicio de' procedimiento a continuaci3n se escri&e e' nom&re "ue 'e daremos1 por e2emp'oS#b'procS#ma

Si e' procedimiento aceptar parmetros o ar5umentos1 estos se escri&iran entre parntesis + cada ar5umento de&er ir separado por comas 4&6D !2emp'oS#b'procS#ma<*=y=>?

0o si5uiente es escri&ir e' con2unto de instrucciones por medio de 'as cua'es ser posi&'e cump'ir con e' o&2etivo de' procedimiento1 'a parte comprendida entre e' inicio + fina' de' procedimiento se conoce con e' nom&re de cuerpo del procedimientoD por ;'timo es necesario indicar e' fina' de' procedimiento para e''o uti'izamos 'as pa'a&ras reservadasEnd'S#b

%or 'o "ue un procedimiento podria 'ucir de 'a si5uiente manera'''S#b'procS#ma<*=y=>? ''' c#erpo'del'procedimiento '''End'S#b

%ara invocar un procedimiento &asta con escri&ir su nom&re1 se5uido de 'os ar5umentos si es "ue reci&e ar5umentos sin parntesis +a "ue un procedimiento no devue've va'oresprocS#ma':=0=/

!2emp'o

Qu es una 'unci(n?
:na funci3n es simi'ar a un procedimiento 'a diferencia est en "ue 'as funciones re5resan va'ores + 'os procedimientos noD %ara definir una funci3n e indicar su inicio es necesario escri&ir 'a pa'a&ra reservada9#nction

a continuaci3n se escri&e e' nom&re "ue tendr 'a funci3n por e2emp'o-

9#nction'5#nS#ma

Si 'a funci3n reci&e ar5umentos estos de&en escri&irse entre parntesis + separados por comas 4&6D
9#nction'5#nS#ma<valor:=valor0=valor/?

0o si5uiente es escri&ir e' con2unto de instrucciones por medio de 'as cua'es ser posi&'e cump'ir con e' o&2etivo de 'a funci3n1 'a parte comprendida entre e' inicio + fina' de 'a funci3n se conoce con e' nom&re de cuerpo de la )unci(nD %ara "ue una funci3n re5rese un va'or es necesario escri&ir e' nom&re de 'a funci3n se5uido de' operador ( + de' va'or "ue deseamos re5resars#ma'('valor:'@'valor0'@'valor/'

%ara indicar e' fina' de 'a funci3n de&en escri&irse 'as pa'a&ras reservadasEnd'9#nction

0a funci3n comp'eta 'uciria as('''9#nction'5#nS#ma<valor:=valor0=valor/? 5#nS#ma'('valor:'@'valor0'@''valor/ '''End'9#nction

%ara invocar una funci3n &asta con escri&ir su nom&re + 'os ar5umentos "ue reci&e entre parntesis +a "ue una funci3n re5resa va'ores5#nS#ma</=0;1AA=,;1AA?

#uando no nos interesa e' va'or "ue re5resa una funci3n pero si nos interesa "ue se e2ecute es posi&'e i5norar ese resu'tado tratando'a como un procedimiento1 es decir1 invocar 'a funci3n como si fuera un procedimiento 'o "ue si5nifica omitir e' uso de 'os parntesis5#nS#ma'/=0;1AA=,;1AA'

*tra manera de i5norar e' va'or "ue re5resa una funci3n es ''amando'a a travs de 'a pa'a&ra reservada callcall'5#nS#ma</=0;1AA=,;1AA?'

!2emp'o

!)it

%ara terminar 'a e2ecuci3n de un procedimiento o funci3n en cua'"uier momento escri&a respectivamenteE*it'S#b E*it'9#nction

%aso de %armetros B+$ef


!' paso de parmetros en VBScript para funciones + procedimientos por defau't es B* e)1 es decir1 por referencia 'o cua' si5nifica "ue se pasa un puntero a 'a propia varia&'e por 'o "ue se modifica de inmediato su va'orD >a "ue por omisi3n 'os parmetros pasan por referencia no es necesario definir'o1 pero es posi&'e so'o escri&iendo antes de' parmetro 'a pa'a&ra reservada byRe5 en 'a definici3n de' procedimiento o funci3n1 para e''o si5a 'a si5uiente sinta)is5#nS#ma<ByRe5'a?

!2emp'o

%aso de %armetros B+Va'


!' paso de parmetros B*Val1 es decir1 por valor si5nifica "ue e' va'or "ue reci&e 'a funci3n o procedimiento no es ms "ue una copia de' va'or ori5ina'1 ms no 'a propia varia&'eD %ara especificar "ue e' parmetro ser una copia de' va'or de 'a varia&'e es necesario escri&ir antes de' parmetro 'a pa'a&ra reservada ByVal en 'a definici3n de' procedimiento o funci3nD !2emp'o5#nS#ma<ByVal'a?

!2emp'o

+peradores ,(gicos
VBScript uti'iza 'os si5uientes operadores '35icos- Bnd1 %r1 Cor1 E6v1 Imp + $ot

'unciones
VBScript posee 'as funciones necesarias para faci'itar 'a construcci3n de ap'icaciones =e&D

7unci3n S"r - $a(z #uadrada


$e5resa 'a ra(z cuadrada de un n;mero positivo "ue reci&e como parmetroD

MI

S5n - Si5no
Si e' n;mero "ue se 'e env(a como ar5umento es positivo 'a funci3n re5resa e' va'or :1 en otro caso re5resa e' va'or ,:

8IHHH

A&s - Va'or A&so'uto


$e5resa e' va'or a&so'uto de' n;mero "ue se 'e env(a como ar5umento1 es decir1 priva a' n;mero de su si5noD %or e2emp'o ,/1:D:E + @/1:D:E dan como resu'tado -./0/1D

RIHHH

Int - %arte !ntera


$e5resa 'a parte entera de' n;mero "ue se 'e env(a como ar5umento1 si e' n;mero tiene si5no ne5ativo re5resa e' n;mero ne5ativo ms pr3)imo menor o i5ua' a' n;meroD

8IDP

7i) - %arte !ntera


$e5resa 'a parte entera de' n;mero "ue se 'e env(a como ar5umento1 si e' n;mero tiene si5no ne5ativo re5resa e' n;mero ne5ativo ms pr3)imo ma*or o i5ua' a' n;meroD

8IDP

!n vez de emp'ear 'a funci3n 9i* puede uti'izar 'a si5uiente formu'a e"uiva'enteS n<valor?'F'Int<Bbs<valor??

8IDP

$ound - $edondeo
$e5resa e' va'or redondeadode un n;mero "ue reci&e como ar5umento1 a2ustando'o a un n;mero determinado de cifras decima'esD

Ro#nd<valor=n#mero"ecimales?

8LDINIQ

$nd - A'eatorio 4Random6


$e5resa un n;mero pseudo8a'eatorio entre ; + :1 opciona'mente puede reci&ir un ar5umento1 e' cua' si es ma+or a cero e' resu'tado es e' mismo "ue cuando se omite e' ar5umentoD

Note "ue a' dar c'ic despus de 'a car5a o actua'izaci3n de 'a p5ina siempre se 5enera 'a misma secuencia de n;meros pseudo8a'eatorios1 esto es de&ido a "ue VBScript 5enera 'a secuencia de n;meros pseudo8a'eatorios a partir de un va'or ''amado semilla 4seed61 + se ''aman pseudo%aleatorios por"ue rea'mente una computadora no puede 5enerar n;meros totalmente a' a*ar1 por e''o "ue siempre se o&tendrn 'os mismo n;merosD A9ora &ien esta secuencia de n;meros "ue se 5enera es infinita por 'o "ue depende donde comience la lectura 4seed6 de esta 'ista se o&tendr una secuencia distinta + si siempre comienza 'a 'ectura en e' mismo punto1 se o&tendr siempre 'a misma secuencia de n;merosD %ara 5enerar n;meros pseudo8a'eatorios en un interva'o diferente de H + I uti'ice 'a si5uiente formu'anBleatorio'('Int<n9inal','nInicial'@':?'F'Rnd'@'nInicial

%or e2emp'o si desea 5enerar n;meros pseudo8a'eatorios en e' ran5o de CI a LL escri&anBleatorio'('Int<//','0:'@':?'F'Rnd'@'0:

CI

LL

$andomize - Semi''a 4seed6


0a funci3n Rnd siempre 5enera 'a secuencia de n;meros pseudo8a'eatorios + comienza su 'ectura en e' mismo puntoD 0a funcion Randomize 2ndica donde comien%a la lectura 1 reci&e como ar5umento un n;mero "ue actua como semi''a para 'a 5eneraci3n a'eatoria1 aun"ue se recomienda uti'izar'a sin ar5umentos +a "ue a' omitir e' ar5umento semi''a 'a computadora por defecto toma e' n;mero de mi'ise5undos transcurrido desde "ue se encendio 'a

computadora1 de esta manera 'a posi&i'idad de "ue se encienda 'a computadora + se invo"ue 'a funci3n en e' mismo numero de mi'ise5undos transurrido es casi nu'a + as( o&tener n;meros a'eatoriosD

Cuadros
VBScript posee un con2unto de ventanas a travs de 'as cua'es es posi&'e notificar a' usuario so&re un evento1 interactuar con e' usuario por medio de ventanas de dia'o5o1 entradas de te)to1 etcD

A'erta - A'ert
.esp'ie5a un cuadro de a'erta con e' dato "ue reci&e como ar5umentoD :ti'ize'o para notificaciones a' usuarioD

Be''o ?or'dS

#onfirmaci3n - #onfirm
.esp'ie5a un cuadro de confirmaci3n con e' dato "ue reci&e como ar5umento adems de dos &otones TAceptarU + TCancelarU con 'o cua' es posi&'e esperar una respuesta por parte de' usuarioD

!res pro5ram

.i'o5o %ersona'izado - Ms5Bo)


!' cuadro de di'o5o persona'izado reci&e un ar5umento o&'i5atorio + tres opciona'es su sinta)is esGRes#ltadoH'('MsgBox<7e*to'G=BotonesH'G=7It#loH'G=By#da='Conte*toH?'

!' ar5umento opciona' #e3to es una cadena de caracteres a'fanumrica1 "ue ser e' te)to a desp'e5ar en 'a ventanaD #2tulo1 es una cadena a'fanumrica "ue se desp'e5ar como t(tu'o de 'a ventana de di'o5oD

!res pro5ram

= = = Dinforma

!ntrada de Te)to - %rompt

0a funci3n 8rompt permite cuadros de entrada de te)to1 Sinta)isResp#esta'('8rompt<7e*toG=Valor8or"e5ectoH?

!' se5undo ar5umento es opciona' + se recomienda siempre inicia'izar'o con una cadena vac(a en caso de no asi5nar'e un verdadero va'or por defecto1 +a "ue de no 9acer'o e' va'or por defecto "ue uti'iza VBScript es F+ndefinedFD

!res pro5ram

Si e' usuario se'ecciona cance'ar o cierra 'a ventana e' va'or "ue re5resa es nulo e' mismo "ue puede c9ecarse con 'a funci3n is$#ll<?D

!ntrada de Te)to %ersona'izado - InputBo)


!ste tipo de cuadro es simi'ar a' $uadro de Entrada de ,e-to pero es posi&'e adems especificar 'as coordenadas en 'as "ue de&er aparecer e' cuadro + es posi&'e invocar un arc9ivo con e)tensi3n hlp1 todo esto es posi&'e a travs de 'a funci3n InputBox cu+a sinta)is esR ' ( ' Inp#tBo*<7e*to ' G=7It#loH ' G=Valor8redeterminadoH ' G=8osicionCH' G=8osicionJH'G=By#da='Conte*toH?

!res pro5ram = = = Dinfomat

Si

Nota1 si no se especifican 'as coordenas 4 1>6 e' cuadro aparece a' centro1 'os va'ores de 'as coordenadas se e)presan en 72ipsD :n T=ip mide e' tamaAo "ue tendr(a e' o&2eto si se imprimiera1 su nom&re tiene ori5en en 'a frase F un veintavo de puntoF "ue en in5'es es Fone twentieth of a pointF puesto "ue e' punto es una medida com;n en sistemas de impresi3nD !n un centimetro 9a+ JQK t=ips1 en una pu'5ada 9a+ INNHD Si no se especifica un va'or predeterminado a' campo de te)to1 este aparece vac(oD !n caso de "ue e' usuario de c'ic en e' &ot3n T#ance'arU e' va'or "ue re5resa es un dato vac(o mismo "ue puede compro&arse mediante e' uso de 'a funci3n isEmptyD

Estructuras de Control de 'lujo


#omo cua'"uier 'en5ua2e de pro5ramaci3n1 VBScript posee estructuras de contro' de f'u2o para 'a e2ecuci3n de &'o"ues de c3di5o dada una condici3n + para 'a e2ecuci3n de &'o"ues de c3di5o repetidamente mientras cierta condici3n se cump'aD

If 8 T9en !'se
I5'condicion'7hen '''instr#cciones else

'''instr#cciones End'I5

Si 'a eva'uaci3n de 'a condici3n es verdadera se e2ecuta e' c3di5o comprendido en 'a primer parte de 'a estructura1 en caso contrario1 es decir1 si 'a eva'uaci3n de 'a condici3n es fa'sa se e2ecuta 'a se5unda parte de' c3di5o 'a comprende 'a c'ause'a else1 esta se5unda parte es opciona'D 0a sinta)is de 'a estructura puede prescindir de 'as c'ausu'as else','End'I5 siempre + cuando se escri&a 'a estructura en 'a misma '(neaI5'condicion'7hen'intr#ccion

0o anterior no si5nifica "ue so'o se (ndi"ue una ;nica instrucci3n1 es posi&'e escri&ir 'as instrucciones necesarias para e''o se (ndica mediante e' emp'eo de' separador 4 K6 e' fina' de cada instrucci3nD
I5'condicion'7hen'instr#ccion:'K'instr#ccion0'K'instr#ccion/'K'111

Tam&in es posi&'e uti'izar una variante de 'a estructura cuando se tienen varias a'ternativas posi&'es"im'n"ia n"ia'('"ate8art<)2)='d9echa? i5'n"ia'(':'then' '''nombre"ia'(')"omin o) elsei5'n"ia'('0'then '''nombre"ia'(')!#nes) elsei5'n"ia'('/'then '''nombre"ia'(')Martes) elsei5'n"ia'('D'then '''nombre"ia'(')MiLrcoles) elsei5'n"ia'('M'then '''nombre"ia'(')J#eves) elsei5'n"ia'('E'then '''nombre"ia'(')Viernes) elsei5'n"ia'('N'then '''nombre"ia'(')SObado) elsei5'n"ia'('N'then '''nombre"ia'(')"omin o) end'i5

Se'ect 8 #ase
Ba+ "uienes ase5uran "ue es ms eficiente uti'izar una estructura I5 ' , ' 7hen ' ,' I5Else','End'I5 cuando se tienen mu'tip'es a'ternativas posi&'es1 sin em&ar5o e)iste una estructura simi'ar para dic9o e2emp'oSelect Case'date8art<)2)=$o2? '''Case'0 ''''''alert')Poy'es'!#nes) '''Case'/ ''''''alert')Poy'es'Martes) '''Case'D ''''''alert')Poy'es'MiLrcoles) '''Case'M

''''''alert')Poy'es'J#eves) '''Case'E ''''''alert')Poy'es'Viernes) '''Case Else ''''''alert')Es'9in'de'Semana+) End'Select

!sta estructura eva'ua una e)presion + dado e' va'or "ue resu'te de 'a e)presion se e2ecuta e' c3di5o especifico en e' cua' e' resu'tado coincidaD

7or 8 ,e)t
:ti'ice esta estructura de contro' cuando conozca previamente e' n;mero de veces "ue de&er repetirse una instrucci3n o con2unto de instrucciones1 sinta)is9or'var'('valorInicial'7o'valor9inal'Gstep'incrementoQdecrementoH '''instr#cciones $e*t

!n esta estructura re"uiere de un va'or inicia' a partir de' cua' iniciar e' cic'o + de un va'or fina' "ue 'os fina'ice1 sin em&ar5o es posi&'e interrumpir 'a e2ecuci3n de' cic'o mediante e' emp'eo de 'a instrucci3n E*it'9or 'a cua' termina 'a e2ecuci3n de' 9or' para continuar con 'a '(nea si5uiente de' c3di5oD !s posi&'e esta&'ecer e' va'or de' contador mediante e' emp'eo de 'a instrucci3n step' se5uido de su va'orD Si se omite 'a instrucci3n por defecto e' va'or de' contador es :D !2emp'o9or'i'(':'7o':; '''i5'i'('date8art<)2)=$o2?'7hen'E*it'9or $e*t Blert'i

.o 8 0oop
A diferencia de 9or 'a estructura de contro' "o','!oop se uti'iza cuando no se conoce previamente cuantas veces se de&er repetir una instrucci3n o con2unto de instruccionesD A este tipo de cic'os se 'es conoce tam&in como ciclos indeterminadosD !)isten C variantes de "o','!oop:1 01 /1 D1 M1 E1 '''"im'i' '''i'(': '''"o'Rhile'i'(')8rimero'eval#a'y'desp#Ls'e&ec#ta) ''''''i'('i'@': '''!oop' '''Blert'i

KD

S1 '''"im'i' A1 '''i'(': :;1 '''"o' ::1 ''''''i'('i'@': :01 '''!oop'Rhile'i'(')8rimero'e&ec#ta'y'desp#Ls'eval#a) :/1 '''Blert'i

IND 0a diferencia entre "o ' , ' Rhile ' , ' CondiciTn ' , ' !oop + "o ' , ' !oop ' , ' Rhile ' ,' CondiciTn es "ue este ;'timo e2ecuta e' cuerpo de' cic'o a' menos I vez1 +a "ue despus de e2ecutar 'as instrucciones eva'ua 'a condici3nD !)iste una tercer variante1 "ue podr(a considerarse o&so'eta aun"ue no 'o esRhile'condiciTn '''instr#cciones Rend

Mencionamos "ue podr(a considerarse o&so'eta aun"ue no es as( +a "ue su e"uiva'ente es"o'Rhile'condiciTn '''instr#cciones !oop

Siendo est ;'tima estructura ms reciente + uti'izada en un sentido menos ortodo)oD

Arreglos
:n arre5'o o vector define un tipo de dato con estructura1 es decir1 permite 'a posi&i'idad de a'macenar un con2unto de datos 9etero5eneo 4'ista de e'ementos de tipo de dato distinto61 "ue en 'a estructura reci&en e' nom&re de elementos en un contenedor ''amado Arreglo puesto "ue e' con2unto de e'ementos a'macenados disponen de cierto ordenD #ada e'emento ocupa una posici3n en e' arre5'o 'a cua' se conoce con e' nom&re de 2ndice1 en e' caso de VBScript comienzan a partir de' (ndice n;mero 0D

Arre5'os !stticos
:n arre5'o o vector esttico es a"ue' cu+o tamaAo es fi2o1 es decir1 e' n;mero de e'ementos "ue contendr1 no cam&iar + ser siempre e' mismo durante 'a e2ecuci3n de' pro5ramaD %ara definir un arre5'o o vector esttico uti'ice"im'aEstatico<A?

0o cua' define un arre5'o "ue siempre contendr :; e'ementos1 note "ue se5uido de' nom&re de 'a varia&'e entre parentesis se escri&e e' 8n;mero m)imo de e'ementos

"ue puede contener e' arre5'o menos /8 +a "ue comienzan a contarse 'os e'ementos a partir de' (ndice n;mero ;D

%ara inicia'izar e' arre5'o con un va'or predeterminado puede escri&ir'''"im'aEstatico<A? 'ContendrO':;'elementos '''aEstatico<;?'('; '''aEstatico<:?'(')c) '''aEstatico<0?'(')cadena) '''aEstatico</?'(',: '''aEstatico<D?'('U0:/;A/:AN:U '''aEstatico<M?'('n#ll '''aEstatico<E?'('$o2 '''aEstatico<N?'('7ime '''aEstatico<S?'('/1:D:E '''aEstatico<A?'('9alse '''S#b'contenidoBrre lo ''''''9or'i'(';'7o'A '''''''''str'('str'3'aEstatico<i? ''''''$e*t ''''''alert<str? '''End's#b

Tam&in es posi&'e inicia'izar'o de forma directa'''"im'aEstatico '''aEstatico'('Brray<;=)c)=)cadena)=, :=U0:/;A/:;N:U=n#ll=$o2=7ime=/1:D:E=9alse?

Note "ue si inicia'iza de manera directa un arre5'o1 primero se dec'ara una varia&'e definiendo ;nicamente su nom&re1 despus se inicia'iza a travs de' emp'eo de 'a pa'a&ra reservada Brray + entre parntesis e' contenido de' arre5'o separando cada e'emento por una coma 4=6D

'unci(n 4$ound
0a funci3n Ubo#nd<? re5resa e' (ndice ma+or de un arre5'oD !' primer ar5umento "ue reci&e es o&'i5atorio + es e' nom$re del arreglo1 e' se5undo ar5umento "ue reci&e es opciona' + especifica para e' caso de arre5'os mu'tidimensiona'es 'a dimensi(n de 'a cua' deseamos o&tener su (ndice ma+or1 en caso de omitir e' se5undo ar5umento por defecto se tra&a2a so&re 'a primer dimensi3n de' arre5'oD %ara conocer e' (ndice ma+or de un arre5'o esttico1 escri&aUbo#nd<nombreBrre loEstatico?

%ara conocer e' (ndice ma+or de 'a primer dimensi(n de un arre5'o mu'tidimensiona'1 puede escri&irUbo#nd<nombreBrre loM#ltidimensional? Ubo#nd<nombreBrre loM#ltidimensional=:?

su

e"uiva'ente-

%ara conocer e' (ndice ma+or de 'a mu'tidimensiona'1 escri&a-

segunda dimensi(n de un arre5'o

Ubo#nd<nombreBrre loM#ltidimensional=0?

!sta funci3n es de suma uti'idad para e' recorrido de arre5'os1 +a "ue e' va'or "ue re5resa es e' (ndice ma+or de' arre5'o1 es decir1 es e' n;mero de (ndice 9asta e' cua' es posi&'e 'eer un arre5'o'''"im'aUnidim<D? 'ContendrO'M'elementos '''aUnidim<;?'(')a) '''aUnidim<:?'(')e) '''aUnidim<0?'(')i) '''aUnidim</?'(')o) '''aUnidim<D?'(')#) '''S#b'lon it#d ''''''alert')Vndice'MayorK')'3'Ubo#nd<aUnidim? '''End'S#b '''S#b'MostrarContenido ''''''9or'i'(';'7o'Ubo#nd<aUnidim? '''''''''str'('str'3')Vndice')'3'i'3')'K')'3'aUnidim<i?'3'Chr<:/? ''''''$e*t '''alert<str?' '''End's#b

'unci(n ,$ound
0a funci3n !bo#nd<? re5resa e' (ndice menor de un arre5'oD !n VBScript 'os arre5'os siempre comenzarn a partir de' (ndice ; por 'o "ue 'a uti'idad de esta funci3n rdica su uso en casos especia'es1 donde por a'5una circunstancia e' primer (ndice de' arre5'o es ar&itrarioD

Arre5'os Mu'tidimensiona'es
:n arre5'o o vector mu'tidimensiona' es a"ue' "ue contiene ms de una 'ista de e'ementos1 es decir1 ms de una dimensi3n1 a este tipo de estructura tam&in se 'e conoce con e' nom&re de matri*D %ara definir un arre5'o o vector mu'tidimensiona' uti'ice"im'aM#lti"im<nRen lones=nCol#mnas?

F.n a t"o%dimensional array, the first num!er is al"ays the num!er of ro"s/ the second num!er is the num!er of columns0 F

Representacin Conceptual de un Arreglo multidimensional (3,4) =(;(> =(;,> =(;2> =(;/> =(;0> =,;(> =,;,> =,;2> =,;/> =,;0> =2;(> =2;,> =2;2> =2;/> =2;0> =/;(> =/;,> =/;2> =/;/> =/;0>

Si re"uiere definir un arre5'o de IC ren5'ones por C co'umnas escri&ir"im'aMen#<::=:?

%ara asi5nar va'ores a cada dimensi3n o 'ista de e'ementos1 emp'e e' n;mero de ren5'3n + co'umna1 e2emp'o'''"im'aMen#<::=:? '''aMen#<;=;?'(')Pome) '''aMen#<:=;?'(')Best'8ractices) '''aMen#<0=;?'(')P7M!) '''aMen#</=;?'(')JavaScript) '''aMen#<D=;?'(')!an #a e'C) '''aMen#<M=;?'(')C'@@) '''aMen#<E=;?'(')Java) '''aMen#<N=;?'(')SW!) '''aMen#<S=;?'(')BctionScript) '''aMen#<A=;?'(')9lash) '''aMen#<:;=;?'(')VBScript) '''aMen#<::=;?'(')Contact) '''aMen#<;=:?'(')httpK//2221in5ormati6#e1com1m*) '''aMen#<:=:?'(')httpK//2221in5ormati6#e1com1m*/-ood8ractices) '''aMen#<0=:?'(')httpK//2221in5ormati6#e1com1m*/P7M!) '''aMen#</=:?'(')httpK//2221in5ormati6#e1com1m*/JavaScript) '''aMen#<D=:?'(')httpK//2221in5ormati6#e1com1m*/!an #a e'C) '''aMen#<M=:?'(')httpK//2221in5ormati6#e1com1m*/C'@@) '''aMen#<E=:?'(')httpK//2221in5ormati6#e1com1m*/Java) '''aMen#<N=:?'(')httpK//2221in5ormati6#e1com1m*/SW!) '''aMen#<S=:?'(')httpK//2221in5ormati6#e1com1m*/BctionScript) '''aMen#<A=:?'(')httpK//2221in5ormati6#e1com1m*/9lash) '''aMen#<:;=:?'(')httpK//2221in5ormati6#e1com1m*/VBScript) '''aMen#<::=:?'(')httpK//2221in5ormati6#e1com1m*/Contact) '''S#b'contenidoBrre loM#l ''''''9or'col#mna'(';'7o':: '''''''''9or'ren lon'(';'7o': ''''''''''''i5'ren lon'Mod'0'(';'then '''''''''''''''str'('str'3'aMen#<col#mna=ren lon?'3')'K') ''''''''''''else '''''''''''''''str'('str'3'aMen#<col#mna=ren lon? ''''''''''''End'I5 '''''''''$e*t '''''''''str'('str'3'Chr<:/? ''''''$e*t ''''''Blert<str? '''End's#b Representacin Gr !ica Arreglo "ultidimensional (11,1)

Arre5'os .inmicos :nidimensiona'es


:n arre5'o o vector dinmico es a"ue' cu+o tamaAo varia1 es decir1 e' n;mero de e'ementos "ue contendr1 puede cam&iar + variar durante 'a e2ecuci3n de' pro5ramaD %ara definir un arre5'o o vector dinmico uti'ice"im'a"inamico<?

A' no especificar e' tamaAo + dimensiones de' arre5'o se considera de tipo dinmico1 sin em&ar5o antes de asi5nar va'ores es necesario especificar e' tamaAo + dimensi3n a travs de 'a pa'a&ra reservada Re"imRe"im'a"inamico</?

:na vez redimensionado e' arre5'o es posi&'e asi5nar'e va'ores1 cada vez "ue se desee cam&iar e' tamaAo + dimensi3n de' arre5'o es necesario uti'izar Re"imD Si trata de asi5nar'e va'ores a' arre5'o antes de especificar su tamaAo + dimensi3n marcar un error e2emp'oD !2emp'o de Arre5'o .inmico :nidimensiona' #uando redimensiona un arre5'o unidimensiona' e' contenido de' arre5'o se pierde !2emp'oD %ara conservar e' contenido de' arre5'o se uti'iza 'a pa'a&ra reserva&a 8reserve' escri&iendo'a despus de 'a instrucci3n Re"im !2emp'oD

Arre5'os .inmicos Mu'tidimensiona'es


!s posi&'e redimensionar un arre5'o mu'tidimensiona' e2emp'o1 pero e)iste un inconveniente cuando se uti'iza 'a pa'a&ra reservada 8reserve1 para conservar 'os datos1 +a "ue unicamente es posi&'e conservar una dimensi3n por 'o "ue si disminu+e o aumenta e' tamaAo de 'a dimensi3n cero4ren5'3n6 marcar un error e2emp'oD S3'o es posi&'e disminuir o aumentar e' tamaAo de 'a dimensi3n I4co'umna6 e2emp'oD :n arre5'o mu'tidimensiona' "ue no contiene datos ocupa CH &+tes ms N &+tes por cada una de sus dimensiones1 por 'o "ue un arre5'o "im'aM#lti<:=0=/=D? ocupa CH R N R N R N R N G LQ &+tesD :na vez "ue se asi5na un va'or a a'5;n e'emento de' arre5'o se suma 'o "ue ocupe cada uno de sus e'ementosD

#omando !rase
VBScript proporciona e' comando Erase e' cua' reinicia'iza 'os e'ementos de un arre5'o esttico + 'i&era e' espacio de a'macenamiento de un arre5'o dinmicoD

En Arreglos Est5ticos
!rase no recupera memoria en arre5'os estticos
Erase reinicia'iza + esta&'ece 'os va'ores de 'os e'ementos de un arre5'o esttico

n;merico en ;1 de un arre5'o esttico de strin5s en cadena vac(a 4 ))6 + de un arre5'o de o&2etos en $othin D
'''"im'aEstatico<A? '''Erase'aEstatico'''''Cada'elemento'es'reiniciali>ado

En Arreglos 6in5micos
Erase 'i&era 'a memoria uti'izada por arre5'os dinmicosD

Antes de "ue e' pro5rama pueda 9acer referencia a un arre5'o dinmico es necesario re8dec'arar su dimensi3n uti'izando sentencia Re"imD
'''"im'a"inamico<? '''Re"im'a"inamico<A?'''''Bsi naciTn'de'espacio'de'almacenamiento '''Erase'a"inamico'''''!ibera'la'memoria'#tili>ada'por'el'arre lo1

7unci3n isArra+
0a funci3n isBrray<? indica si una varia&'e es de tipo arre5'o re5resando e' va'or tr#e' sino re5resa e' va'or 5alseD !2emp'o'''"im'nEdad '''"im'a8ersona<M? '''doc#ment12rite<)XnEdad'es'de'tipo'arre loYK')'3'isBrray<nEdad?'3')<br>)?

'''doc#ment12rite<)Xa8ersona'es'de'tipo'arre loYK')'3'isBrray<a8ersona??

Salida7
?nEdad es de tipo arreg#o@: "a#so ?aPersona es de tipo arreg#o@: %erdadero

Cadenas de #e3to 7 String


:n strin o cadena de te-to es una varia&'e "ue a'macena un con2unto de caracteres'''"im'protocolo='nombreSitio='#rl '''protocolo'(')httpK//) '''nombreSitio'(')2221in5ormati6#e1com1m*) '''#rl'('protocolo'3'nombreSitio '''doc#ment12rite<)<p>)'3'#rl'3')</p>)?

Salida7 9ttp-OO===Dinformati"ueDcomDm) #omo puede notar1 e' va'or "ue se 'e asi5na a 'a varia&'e protocolo es encerrado entre comi''as do&'es 4)6D !s posi&'e concatenar o unir dos o ms cadenas mediante e' operador ampersand 4361 tam&in es posi&'e uti'izar e' operador de suma 4 @6 pero es menos versti' + s3'o puede unir va'ores de tipo strin en cam&io e' operador ampersand tiene una conversi3n imp'(cita por 'o "ue puede concatenar va'ores con diferente tipo de datosD

7unci3n #9r
0a funci3n Chr<? re5resa e' carcter asociado con e' c3di5o de carcter especificado por e' A,SI 4American ,ationa' Standards Institute 8 Instituto de !stndar ,aciona' Americano6D $eci&e un s3'o ar5umento e' cua' es un n;mero 4c3di5o6 "ue identifica un carcter 4c9arcode6D 0os n;meros de' H a' LI son i5ua'es "ue e' estndar1 es decir1 c3di5os AS#II no visua'iza&'esD
'''9or'i'(';'7o'0MM ''''''"oc#ment12rite<Chr<i?? '''$e*t

VBScript tiene representaciones sim&3'icas de a'5unos caracteres


H 8 #arcter ,u'o - vb$#llChar'o'vb$#llStrin M 8 $etroceso - no'disponible P 8 Ta&u'aci3n - vb7ab IH 8 0(nea si5uiente - vb!5

IL 8 $etorno de carro - vbCr IL R IH 8 ,ueva '(nea - vbCr!5='vb$e2!ine II 8 Ta&u'aci3n vertica' - vbvertical7ab IC 8 %5ina si5uiente - vb9orm9eed

Se da preferencia a' uso de vb$e2!ine a partir de 'a versi3n L de VBScript +a "ue a'5unos sistemas operativos 5eneran una nueva '(nea poniendo Chr<:/? + Chr<:;?' 4$etorno de carro + ,ueva '(nea6 pero en otros sistemas &asta con poner Chr<:;?D

7unci3n Asc
0a funci3n Bsc<? re5resa e' c3di5o A,SI de' carcter correspondiente a 'a primer 'etra de' strin "ue reci&e como ar5umentoD
'''9or'i'('Bsc<)')?'7o'Bsc<)Z)? ''''''"oc#ment12rite<Chr<i?'3')'K')'3'i? '''$e*t

Ap'icativos'''S#b'di itos 9or'i'('Bsc<);)?'7o'Bsc<)A)? s"i itos'('s"i itos'3'Chr<i? $e*t Ms bo*'s"i itos '''End'S#b '''S#b'letrasMin#sc#las 9or'i'('Bsc<)a)?'7o'Bsc<)>)? s!etrasMin#sc#las'('s!etrasMin#sc#las'3'Chr<i? $e*t Ms bo*'s!etrasMin#sc#las '''End'S#b '''S#b'letrasMay#sc#las 9or'i'('Bsc<)B)?'7o'Bsc<)[)? a!etrasMay#sc#las'('a!etrasMay#sc#las'3'Chr<i? $e*t Ms bo*'a!etrasMay#sc#las '''End'S#b

7unci3n 0en - 0on5itud de una #adena de Te)to


0a funci3n len<? re5resa e' n;mero de caracteres en un strin o e' n;mero de bytes' re"uerido para a'macenar una varia&'eD !)iste una variante de esta funci3n lenB 'a cua' re5resa e' n;mero de &+tes uti'izados para representar e' strin D !2emp'o'''S#b'lon it#d<sCadena? ''''''alert')!on it#d'de')))'3'sCadena'3')))'(')'3'len<sCadena?\

''''''3'Chr<:/?'3')$]mero'de'bytes'#tili>ados'para's#'representaciTn(')'3' lenB<sCadena? '''End'S#b


informati"ue

7unci3n Mid
0a funci3n Mid<? re5resa un n;mero especifico de caracteres de un strin 1 es decir1 a partir de un strin es posi&'e e)traer un su!%strin D $eci&e L ar5umentos e' primero especifica e' strin fuente1 e' se5undo especifica a partir de "ue posici3n comenzar 'a e)tracci3n + e' tercero especifica 'a 'on5itud de tendr e' su&strin5 o&tenidoD
'''S#b's#bstrin <sCadena=nInicio=n!on ? ''''''alert')s#b,strin K')'3'Mid<sCadena=nInicio=n!on ? '''End'S#b Cadena: ! partir de# caracter n1mero: Longitud de# su)string a e7traer:
= = = Dinforma J IC

7unci3n 0eft - !)trae 'os primeros caracteres


0a funci3n !e5t<? e)trae 'os n primeros caracteres de un strin 1 reci&e C ar5umentos e' primero es e' strin de' cua' se e)traer 'a su&8cadena + e' se5undo especifica e' n;mero de caracteres a e)traerD

Cadena: -1mero de caracteres a e7taer:

informati"ue L

7unci3n $i59t - !)trae 'os ;'timos caracteres


0a funci3n Ri ht<? e)trae 'os n ;'timos caracteres de un strin 1 reci&e C ar5umentos e' primero es e' strin de' cua' se e)traer 'a su&8cadena + e' se5undo especifica e' n;mero de caracteres a e)traerD
Cadena: -1mero de caracteres a e7taer:
informati"ue L

7unci3n inStr - Busca ocurrencias

0a funci3n inStr<? &usca 'as ocurrencias de un su!%strin

en un strin 1 e' primer

ar5umento es opciona' + esta&'ece en donde iniciar 'a &;s"ueda1 e' se5undo ar5umento es e' strin donde se va a &uscar1 e' tercer ar5umento es e' su!%strin a !uscar + e' ;'timo ar5umento es opciona' e' cua' por defau't define una &;s"ueda &inaria 4vbBinaryCompare61 aun"ue es posi&'e cam&iar a' modo de &;s"ueda a comparacin te-tual e' cua' no es sensitivo a' uso de ma+;scu'as o min;scu'as1 es decir1 e' su!%strin puede ser in)ormatique o !N'+ 8A#!Q4E1 para e''o esta&'ezca e' va'or en vb7e*tCompare para este ;'timo ar5umentoD !)iste una variante de esta funci3n ''amada InStrRev cu+a diferencia funciona' es "ue empieza 'a &;s"ueda de iz"uierda a derec9aD $e5resa ; si no encontro e' su!%strin D !2emp'o'''S#b'b#scarS#bCadena<sCadena=sS#bCadena=nModo? I5'nModo<;?1chec^ed'7hen nModo'('vbBinaryCompare else nModo'('vb7e*tCompare End'i5 alert<InStr<:=sCadena=sS#bCadena=nModo?? '''End'S#b Cadena: Su)ACadena: B1s<ueda Binaria =de'au#t> B1s<ueda Te7tua# BC
= = = Dinforma informati"ue

7unci3n Sp'it - Separar un Strin5


0a funci3n Split<? re5resa un arre5'o de una dimensi3n conteniendo un n;mero especifico de su!%strin s Su primer ar5umento es o&'i5atorio +a "ue especifica e' strin a separar1 si este strin tiene 'on5itud i5ua' a cero 'a funci3n Split<? re5resar un arre5'o vac(o e' cua' es un arre5'o sin e'ementos + sin datosD !' se5undo ar5umento es opciona' + es un su!%strin "ue se uti'iza como separador 4identifica e' '(mite de' su!%strin 6 o patr3n es decir cada "ue encuentre este su!%strin separa e' strin fuente1 a' ser opciona' por defecto e' separador es un espacio 4)')61 si 'a 'on5itud de este su!%strin es i5ua' a cero e' arre5'o s3'o contendr un e'emento "ue contiene 'a e)presi3n comp'eta de' strin D !' tercer ar5umento es opciona' e indica e' n;mero de su!%strin s o piezas en 'as "ue se podr dividir e' strin 1 e' va'or ,: indica re5resar todos 'os su!%strin sD

!' ;'timo + cuarto ar5umento esta&'ece e' tipo de comparaci3n e' cua' puede ser sensitivo 4vbBinaryCompare6 o no8sensitivo 4vb7e*tCompare6
'''S#b'separarCadena ''''''"im'mySite ''''''mySite'(')2221in5ormati6#e1com1m*) ''''''mySite'('Split<mySite=)1)? ''''''9or'i'(';'7o'Ubo#nd<mySite? '''''''''str'('str'3')S#b,Strin ')'3'i'3')'(')'3'mySite<i?'3'Chr<:/? ''''''$e*t ''''''Blert<str? '''End'S#b

Note "ue se omiten 'os caracteres "ue son uti'izados como separadorD

7unci3n <oin - #3mo convertir un arre5'o en strin5?


0a funci3n Join<? re5resa un strin creado por 'a uni3n de un n;mero de su!%strin s contenidos en un arre5'oD $eci&e C ar5umentos e' primero es un arre5'o de una dimensi3nD !' se5undo es opciona' + especifica e' separador a uti'izar1 es decir1 despus de cada e'emento contenido en e' arre5'o se a5re5a e' separador especificado1 si se omite por defecto se uti'iza e' espacio 4) ' )6 + si 'a 'on5itud de' separador es i5ua' a cero todos 'os e'ementos de' arre5'o son concatenados sin separadoresD

Separador a uti#i+ar :

7unci3n $ep'ace - $eemp'azar caracteres


0a funci3n Replace<? re5resa un strin5 en e' cua' un su!%strin reemp'azado por otro su!%strin un n;mero especifico de vecesD Ar5umentosDep#ace=e7pression; 'ind; rep#aceEit$F; startF; countF; compareGGG>

especifico ser

e3pression1 ar5umento re"uerido e' cua' es un strin reemp'azarD

"ue contiene 'os su!%strin s a

)ind1 ar5umento re"uerido e' cua' especifica e' su!%strin "ue ser &uscado en e3pressionD replace9it:1 ar5umento re"uirido e' cua' especifica e' su!%strin caracteres definidos en )ind contenidos en e3pressionD "ue reemp'azar 'os

start1 ar5umento opciona' e' cua' especifica 'a posici3n a partir de 'a cua' 'a &;s"ueda iniciar1 si se omite e' va'or asumido es :1 de&e ser uti'izado en con2unto con e' ar5umento count count 1 ar5umento opciona' e' cua' especifica e' n;mero de veces "ue ser reemp'azado e' su!%strin si es omitifo por defau't e' va'or es ,:1 'o cua' si5nifica rea'izar todas 'as sustituciones posi&'es + de&e uti'izarse en con2unto con e' ar5umento startD compare1 ar5umento opciona'1 e' cua' indica e' tipo de comparasi3n a rea'izar &inaria4vbBinaryCompare6 o te)tua'4vb7e*tCompare61 si es omitido e' defau't es ; 'o cua' si5nifica una comparasi3n &inariaD

Cadena: Buscar: Deemp#a+ar por: .niciar en #a posici2n: -1mero de veces a reemp#a+ar:

informati"ue c

7unci3n 7i'ter - 7i'trado


0a funci3n 9ilter<Inp#tStrin s= ' Val#eG= ' Incl#deG= ' CompareHH? re5resa un arre5'o "ue contiene un su&con2unto de strin s de otro arre5'o &asados en un criterio uti'izado como fi'troD Ar5umentos
!nputStrings1 ar5umento re"uerido "ue especifica un arre5'o de strin s de una dimensi3n 8to &e searc9edD 8 Value1 ar5umento re"uerido "ue especifica e' strin a &uscarD !nclude1 ar5umento &oo'eano opciona' "ue indica 'a forma en "ue sern re5resados 'os su!%strin s "ue inc'u+en o e)c'u+en e' va'or1 si e' va'or es tr#e e' fi'tro re5resa a"ue''os e'ementos "ue conten5an e' su!%strin de &;s"ueda1 Si e' va'or es 5alse e' fi'tro re5resa a"ue''os e'ementos "ue no8conten5an e' su!%strin de &;s"ueda1 Compare1 ar5umento opciona' "ue indica 4vbBinaryCompare o vb7e*tCompare6D e' tipo de comparasi3n a uti'izar

!2emp'o'''S#b'5iltrar<s9ilter='sModo? "im'a9iltrado "im'a$ombres<:0? a$ombres<;?'(')Marisela) a$ombres<:?'(')$atalia) a$ombres<0?'(')Maria'Elena) a$ombres</?'(')Ivonne) a$ombres<D?'(')Maria) a$ombres<M?'(')"eyanira) a$ombres<E?'(')Maria'InLs) a$ombres<N?'(')Biridiana) a$ombres<S?'(')Maria'de'Jes]s) a$ombres<A?'(')!iliana) a$ombres<:;?'(')Maria'Bn Llica) a$ombres<::?'(')!eticia) a$ombres<:0?'(')Maria'Ma dalena) I5'sModo'7hen a9iltrado'('9ilter<a$ombres='s9ilter='7r#e? else a9iltrado'('9ilter<a$ombres='s9ilter='9alse? End'I5 9or'i'(';'7o'Ubo#nd<a9iltrado? str'('str'3')Coincidencia')'3'i'3')K')'3'a9iltrado<i?'3' chr<:/? $e*t I5'str'('))'7hen Blert')$o'se'encontro'nin #na'coincidencia+) else

alert<str? End'I5 '''End'S#b

!' arre5'o contiene 'os e'ementos


Marise'a ,ata'ia Maria !'ena Ivonne Maria .e+anira Maria Ins Biridiana Maria de <es;s 0i'iana Maria An5'ica 0eticia Maria Ma5da'ena
Maria Maria

E#ementos <ue contengan: E#ementos <ue no contengan:

7unci3n 0#ase - #onvertir a min;scu'as


$e5resa un strin "ue 9a sido convertido a min;scu'as
'''Blert<!Case<doc#ment15rmCase1sCadena1val#e?? '''Blert<UCase<doc#ment15rmCase1sCadena1val#e??

7unci3n :#ase - #onvertir a ma+;scu'as


$e5resa un strin "ue 9a sido convertido a ma+;scu'as
informati"ueD#

7unci3n Str#omp - #omparar strin5s


0a funci3n StrComp<strin :='strin 0G='compareH? $e5resa un va'or e' cua' indica e' resu'tado de 'a comparaci3n de un strin D Va'ores de re5reso posi&'es
Si e' primer strin es menor "ue e' se5undo re5resa e' va'or ,: Si e' primer strin es i5ua' "ue e' se5undo re5resa e' va'or ; Si e' primer strin es ma+or "ue e' se5undo re5resa e' va'or : Si e' primer strin o e' se5undo es $#ll re5resa e' va'or $#ll

Cadena ,:

informati"ue

Cadena 2:

I,7*$MATIQ:

7unciones de formato de cadenas


VBScript &rinda funciones de formateo de cadenas de te)to o strin s
'ormatCurrenc*4!)pressionT1,um.i5itsAfter.ecima' T1:se%arens7or,e5ative,um&ers T1/roup.i5itsUUUU6 'ormat6ate#ime4.ateT1 ,amed7ormatU6 'ormatNum$er4!)pression T1,um.i5itsAfter.ecima' T1:se%arens7or,e5ative,um&ers T1/roup.i5itsUUUU6 'ormat"ercent4!)pressionT1,um.i5itsAfter.ecima' T1:se%arens7or,e5ative,um&ers T1/roup.i5itsUUUU6 T1Inc'ude0eadin5.i5it T1Inc'ude0eadin5.i5it T1Inc'ude0eadin5.i5it

onclic^()VBScriptKBlert' 9ormatC#rrency<doc#ment15rm9ormateo1nMoneda1val#e?)
IHHH

Moneda -

'''onclic^()VBScriptKBlert'9ormat"ate7ime<$o2=;?) '''onclic^()VBScriptKBlert'9ormat"ate7ime<$o2=:?) '''onclic^()VBScriptKBlert'9ormat"ate7ime<$o2=0?) '''onclic^()VBScriptKBlert'9ormat"ate7ime<$o2=/?) '''onclic^()VBScriptKBlert'9ormat"ate7ime<$o2=D?)

7ec9a + Bora de' Sistema-

7unci3n Strin5 - /eneraci3n de cadenas con un mismo carcter


0a funci3n Strin puede 5enerar una cadena formada por un ;nico carcter o va'or A,SI 4en este caso e' va'or de&e estar en e' ran5o H8CJJ6 + repetido tantas veces sea especificadoD !n e' caso de especificar una cadena de caracteres s3'o se tomar como va'or e' primer carcterD
'''onclic^()VBScriptKBlert' Strin <doc#ment15rmStr1nVeces1val#e=doc#ment15rmStr1sChar1val#e?) '''onclic^()VBScriptKBlert' Strin <doc#ment15rmStr1nVeces1val#e=Chr<doc#ment15rmStr1nCode1val#e??) -1mero de veces a ser repetido: CarHcter: C2digo:
IH = = = Dinforma QN

7unci3n Space - /eneraci3n de cadenas de espacios en &'anco


0a funci3n Space<? re5resa una cadena de 'on5itud especificada formada por espacios en &'ancoD

Blert')!a'cadena'esK')))'3'Space<n!on ?'3'))))
J /enerar #adena de !spacios en B'an

Longitud de #a cadena:

7unci3n Trim1 0Trim1 $Trim 4trai'in56 - !'imina espacios en &'anco a' inicio + fina' 4rastrear6
0a funci3n 7rim<? reci&e como ar5umento una cadena de te)to o strin + re5resa e' contenido de 'a cadena pero sin 'os espacios en &'anco "ue 9u&iera a' inicio + a' fina'D
Blert')!a'cadena'esK')))'3'7rim<sCadena?'3'))))
informati"ue com m) !'iminar espacios en &'anc

Cadena:

0a funci3n !7rim e'imina 'os espacios en &'anco a' inicio de una cadena mientras "ue 'a funci3n R7rim e'imina 'os espacios en &'anco a' fina' de una cadenaD

'unci(n Set#ime+ut 7 Ejecuci(n en un intervalo de tiempo especi)ico


VBScript proporciona 'a posi&i'idad de e2ecutar una funci3n en un interva'o de tiempo especifico a travs de 'a funci3n Set7ime%#t<? Sinta)is
var'('Set7ime%#t<)nombre9#nciTn)='intervalo7iempo?

!s posi&'e cance'ar esta acci3n mediante e' emp'eo de 'a funci3n Clear7ime%#t<?D !2emp'o

'unci(n Set!nterval 7 Ejecuci(n periodica


VBScript proporciona 'a posi&i'idad de e2ecutar una funci3n repetidamente en un interva'o de tiempo especifico a travs de 'a funci3n SetInterval<?D Sinta)is
var'('SetInterval<)nombre9#nciTn)='intervalo7iempo?

!s posi&'e cance'ar esta acci3n mediante e' emp'eo de 'a funci3n ClearIntervalD !2emp'o

8anejo de 'ec:as * #iempo

0as fec9as v'idas en VBScript comienzan de' I de !nero de' aAo IHH a' LI de .iciem&re de' aAo PPPPD !n su defecto e' ran5o permitido de fec9as v'idas en va'ores de tipo .nte er es de' ;-<.=1> a -<.=1=D
'''S#b'nombre\"ias 9or'i'(';'7o'E "im'd9echa='n8os='s"ia d9echa'('9ormat"ate7ime<"ate'@'i='vb!on "ate? n8os'('InStr<d9echa=')')? s"ia'('!e5t<d9echa='n8os','0? str'('str'3's"ia'3'Chr<:/? $e*t Blert'str '''End'S#b

7unci3n .ate - *&tener 7ec9a


0a funci3n "ate re5resa 'a fec9a de' sistemaD
doc#ment12rite'"ate

Sa'ida-

HNOHJOCHHJ

7unci3n Time - *&tener Tiempo


0a funci3n 7ime re5resa e' tiempo de' sistemaD
doc#ment12rite'7ime

Sa'ida-

HP-LJ-LL aDmD

7unci3n ,o= - *&tener 7ec9a + Tiempo


0a funci3n $o2 re5resa 'a fec9a + tiempo de' sistemaD
doc#ment12rite'$o2

Sa'ida-

HNOHJOCHHJ HP-LJ-LL aDmD

7unci3n .ateVa'ue - Su&tipo de fec9a


0a funci3n "ateVal#e<? re5resa un Variant su&8tipo fec9aD
d'('"ateVal#e<)Septiembre'0:=':AN:)?

d - CIOHPOIPKI

7unci3n .ateSeria' - Su&tipo de fec9a especifico

0a funci3n "ateSerial<? re5resa un Variant su&8tipo de fec9a especificado por aAo1 mes + d(a Sinta)is"ateSerial<a4o=mes=dIa?

!2emp'o'''d:'('"ateSerial<:AN;=':=':? '''d0'('"ateSerial<:AA;',':;='S','0=':',':?

dI - HIOHIOIPKH1 dC - LIOHJOIPMH

7unci3n TimeVa'ue - Tiempo


0a funci3n 7imeVal#e<? re5resa un Variant su&8tipo fec9a conteniendo e' tiempoD
t'('7imeVal#e<)DK/MK:N'8M)?

t - HN-LJ-IK pDmD

7unci3n TimeSeria' - Tiempo especifico


0a funci3n 7imeSerial<? re5resa un Variant su&8tipo fec9a contenendo e' tiempo especificado por 9oras1 minutos + se5undosD $eturns a Variant of su&t+pe .ate containin5 t9e time for a specific 9our1 minute1 and second Sinta)is7imeSerial<horas=min#tos=se #ndos?

!2emp'otE'('7imeSerial<:0','E=',:M=';?

t! - HJ-NJ-HH aDmD

7unciones .a+1 Mont91 >ear1 ?ee@.a+



"ay<5echa?1 re5resa un n;mero en e' ran5o de I a LI correspondiente a' d2a del mes de 'a fec9a "ue reci&e como ar5umentoD Month<5echa?1 re5resa un n;mero en e' ran5o de I a IC correspondiente a' mes de 'a fec9a "ue reci&e como ar5umentoD Jear<5echa?1 re5resa e' a?o correspondiente a 'a fec9a "ue reci&e como ar5umentoD Ree^"ay<5echa?1 re5resa un n;mero en e' ran5o de I a K correspondiente a' d2a de la semana de 'a fec9a "ue reci&e como ar5umentoD !s este caso e' va'or : corresponde a' d(a 1omin o 4C G 0unes1 L G Martes1 N G Mirco'es1 J G <ueves1 Q G Viernes1 K G S&ado6D !s posi&'e cam&iar e' va'or de inicio de 'os d(as especificando'o en e' se5undo ar5umento "ue puede reci&ir esta funci3n1 por 'o "ue 'a e)presi3n Ree^"ay<$o2=0? esta&'ece "ue e' va'or

: corresponde a' d(a Lunes0D Si e' va'or de inicio de 'os d(as es ; se toma como inicio e' confi5urado por e' sistema1 'o cua' podr(a ser 'o ms idoneoD )'Poy'esK')'3'"ay<$o2?'3')/)'3'Month<$o2?'3')/)'3'Jear<$o2?'3')'"Ia'de' la'semanaK')'3'Ree^"ay<$o2?

Bo+ es- NOJOCHHJ .(a de 'a semana- N


)'Poy'esK')'3'"ay<$o2?'3')/)'3'Month<$o2?'3')/)'3'Jear<$o2?'3')'"Ia'de' la'semanaK')'3'Ree^"ay<$o2=2?

Bo+ es- NOJOCHHJ .(a de 'a semana- L


)'Poy'esK')'3'"ay<$o2?'3')/)'3'Month<$o2?'3')/)'3'Jear<$o2?'3')'"Ia'de' la'semanaK')'3'Ree^"ay<$o2=0?

Bo+ es- NOJOCHHJ .(a de 'a semana- N A partir de 'a versi3n L de VBScript se incorporaron 'as si5uiente constantes para e' mane2o de 'os d(as de 'a semana
vbUseSystem"ay%5Ree^ - H vbS#nday - I vbMonday - C vb7#esday - L vbRednesday - N vb7h#rsday - J vb9riday - Q vbSat#rday - K

7unciones Bour1 Minute1 Second - Boras1 Minutos1 Se5undos



Po#r<tiempo?1 re5resa 'a parte correspondiente a 'a 9ora de' ar5umento "ue reci&eD Min#te<tiempo?1 re5resa 'a parte correspondiente a 'os minutos de' ar5umento "ue reci&eD Second<tiempo?1 re5resa 'a parte correspondiente a 'os se5undos de' ar5umento "ue reci&eD

!' si5uiente c3di5o podr(a mostrarnos 'a 9ora en 'a "ue se car5o 'a p5ina1 pero tiene un pe"ueAo defecto e' cua' es "ue para va'ores de' H a' P se presentan ta' cua' + en e' caso de formatos de 9oras se precede un @ entes de estos va'ores por 'o "ue sera necesario imp'ementar una funci3n para desp'e5ar una me2or presentaci3n de 'a 9oradoc#ment12rite')'!a'hora'esK')'3'Po#r<$o2?'3')K)'3'Min#te<$o2?'3')K)'3' Second<$o2?

0a 9ora es- P-LJ-LL

7unci3n Mont9,ame - ,om&re de' Mes


A partir de 'a versi3n C podemos encontrar disponi&'e 'a funci3n Month$ame<? "ue re5resa e' nom&re de' mes1 reci&e C ar5umentos1 e' primero corresponde a' va'or numrico de' mes a o&tener + e' se5undo "ue es un va'or &oo'eano opciona' "ue en e' caso de ser 5alse 4e' cua' es e' va'or por defau't6 re5resa e' nom&re de' mes comp'eto1 en caso de ser tr#e re5resa e' nom&re de' mes a&reviado'''doc#ment12rite')El'mes'act#al'esK')'3'Month$ame<Month<$o2??'3')<br>) '''doc#ment12rite')El'mes'act#al'abreviado'esK')'3'Month$ame<Month<$o2?=tr#e?

!' mes !' mes actua' a&reviado es- Ma+

actua'

es-

Ma+o

7unci3n ?ee@da+,ame - ,om&re de' .(a de 'a semana


A partir de 'a versi3n C podemos encontrar disponi&'e 'a funci3n Ree^day$ame<?1 "ue re5resa e' nom&re de' d(a de 'a semana1 reci&e L ar5umentosID $e"uerirdo1 tipo numrico en e' ran5o de' I a' K1 "ue indica e' d(a de 'a semana a o&tenerD

*pciona'1 tipo &oo'eano1 por defau't 9alse "ue re5resa e' nom&re comp'eto + tr#e re5resa e' nom&re a&reviadoD LD *pciona'1 tipo numrico para indicar cua' es e' primer d(a de 'a semanaD '''doc#ment12rite')"Ia'act#alK')'3'Ree^day$ame<Ree^day<$o2??'3')<br>) '''doc#ment12rite')"Ia'act#al'abreviadoK')'3'Ree^day$ame<Ree^day<$o2?=tr#e?'3' )<br>) '''doc#ment12rite')"Ia'act#al'<dIa'de'inicio?K')'3'Ree^day$ame<Ree^day<$o2?='=' vbMonday?

2.

.(a .(a actua' .(a actua' 4d(a de inicio6- <ueves

actua'a&reviado-

Mirco'es Mi

7unci3n .ate%art - %arte de una fec9a


0a funci3n "ate8art<? re5resa 'a parte especificada por su primer ar5umento1 'a cua' puede ser.nterva#os de Tiempo Cadena **** < m * d E EE e# ao e# trimestre e# mes e# dIa de# ao e# dIa e# dIa de #a semana #a semana de# ao 9)tiene

$ n s

#a $ora #os minutos #os segundos

!' se5undo ar5umento puede ser 'a fec9a + 9ora de 'a cua' se desea o&tener una de sus partesD !' tercer ar5umento es opciona' e' cua' especifica e' d(a de inicio de 'a semana + e' cuarto ar5umento tam&in opciona' especifica 'a semana de inicio de' aAoD
'''doc#ment12rite')B4o'act#al'esK')'3'"ate8art<)yyyy)=no2?'3')<br>) '''doc#ment12rite')7rimestre'act#al'esK')'3'"ate8art<)6)=no2?'3')<br>) '''doc#ment12rite')Mes'act#al'esK')'3'"ate8art<)m)=no2?'3')<br>) '''doc#ment12rite')"Ia'del'a4o'act#al'esK')'3'"ate8art<)y)=no2?'3')<br>) '''doc#ment12rite')"Ia'act#al'esK')'3'"ate8art<)d)=no2?'3')<br>) '''doc#ment12rite')"Ia'de'la'semana'act#al'esK')'3'"ate8art<)2)=no2?'3')<br>) '''doc#ment12rite')Semana'del'a4o'act#al'esK')'3'"ate8art<)22)=no2?'3')<br>) '''doc#ment12rite')Pora'act#al'esK')'3'"ate8art<)h)=no2?'3')<br>) '''doc#ment12rite')Min#to'act#al'esK')'3'"ate8art<)n)=no2?'3')<br>) '''doc#ment12rite')Se #ndo'act#al'esK')'3'"ate8art<)s)=no2?'3')<br>)

AAo Trimestre Mes .(a de' .(a .(a de Semana de' Bora Minuto Se5undo actua' es- LL

actua' actua' actua' aAo actua' 'a semana aAo actua' actua'

esesesactua' esactua' actua' eseseseses-

CHHJ C J ICN N N IP P LJ

%uede 9acer uso de 'as si5uientes constantes- vbUseSystem1 vb9irstJan:1 vb9irst9o#r"ays1 vb9irst9#llRee^1

7unci3n .ateAdd - Adicionar tiempo


0a funci3n "ateBdd<interval= ' n#mber= ' date? re5resa una fec9a a 'a cua' se adiciono un interva'o de tiempo especificado en e' primer ar5umento "ue reci&eD
interval1 strin re"uerido "ue especifica 'a medida de adici3n 4ver va'ores posi&'es6D num$er1 va'or numrico re"uerido "ue especifica 'a cantidad de tiempo a adicionar1 puede ser positivo en e' caso de fec9as futuras o ne5ativo en e' caso de fec9as pasadasD

date1 (ariant1 o 'itera' "ue representa 'a fec9a a 'a cua' se adicionara un interva'oD '''dPace:Mes'('"ateBdd<)m)=',:='$o2? '''dEn:Mes'('"ateBdd<)m)=':='$o2?

Bace un mes fuHNOHNOCHHJ HP-LJ-LL Bo+ esHNOHJOCHHJ HP-LJ-LL !n un mes ser- HNOHQOCHHJ HP-LJ-LL aDmD

aDmD aDmD

7unci3n .ate.iff - Interva'o entre C fec9as

0a

funci3n

"ate"i55<interval= ' date:= ' date0 ' G=5irstdayo52ee^G='

5irst2ee^o5yearHH? re5resa e' interva'o entre C fec9as

interval1 strin re"uerido "ue especifica 'a medida de tiempo "ue se desea ca'cu'ar entre date/ + date< 4ver va'ores posi&'es6D date/& date< 1 fec9as re"ueridas deseadas para usar en e' ca'cu'oD )irstda*o)9eeA1 constate opciona' "ue especifica e' d(a de inicio de de 'a semana1 si se omite S#nday/"omin o es asumidoD )irst9eeAo)*ear1 constante opciona'1 "ue especifica 'a primer semana de' aAo1 si se omite1 'a primera semana asumida es Jan#ary':/:'de'enero

!' si5uiente e2emp'o muestra e' cuidado "ue se de&e tener a' tratar con esta funci3n +a "ue puede ser confusa'''dBase'('"ateVal#e<)Septiembre'0:=')'3'Jear<$o2?? '''doc#ment12rite')9echa'base'K')'3'dBase'3')<br>) '''d7est'('"ateBdd<)m)=',:='dBase? '''doc#ment12rite')Meses'transc#rridos'del')'3'd7est'3\ ''')'al')'3'dBase'3')'K')'3'"ate"i55<)m)='d7est='dBase?'3')' <code>:</code><br>) '''d7est'('"ateBdd<)d)=',:='d7est? '''doc#ment12rite')Meses'transc#rridos'del')'3'd7est'3\ ''')'al')'3'dBase'3')'K')'3'"ate"i55<)m)='d7est='dBase?'3')' <code>:</code><br>) '''d7est'('"ateBdd<)d)='0='d7est? '''doc#ment12rite')Meses'transc#rridos'del')'3'd7est'3\ ''')'al')'3'dBase'3')'K')'3'"ate"i55<)m)='d7est='dBase?'3')' <code>_</code><br>) '''d7est'('"ateBdd<)d)='A='d7est? '''doc#ment12rite')Meses'transc#rridos'del')'3'd7est'3\ '''')'al')'3'dBase'3')'K')'3'"ate"i55<)m)='d7est='dBase?'3')' <code>_</code><br>) '''d7est'('"ateBdd<)d)=':='d7est? '''doc#ment12rite')Meses'transc#rridos'del')'3'd7est'3\ ''')'al')'3'dBase'3')'K')'3'"ate"i55<)m)='d7est='dBase?'3')' <code>:</code><br>)

7ec9a &ase Meses transcurridos de' CIOHMOCHHJ a' Meses transcurridos de' CHOHMOCHHJ a' Meses transcurridos de' CCOHMOCHHJ a' Meses transcurridos de' LIOHMOCHHJ a' Meses transcurridos de' HIOHPOCHHJ a' CIOHPOCHHJ - H :

CIOHPOCHHJ CIOHPOCHHJ CIOHPOCHHJ CIOHPOCHHJ

CIOHPOCHHJ I : I : I _ I _

$ecuerde "ue podr(a v'idar si un dato es de tipo fec9a a travs de 'a funci3n is"ate<valor? aun"ue tendr "ue rea'izar unos cuantos a2ustes1 por e2emp'o is.ate4FCI Septiem&re IPKIF6 e is.ate4CI Septem&er IPKI6 podr(an ser o no v'idas dependiendo de 'a confi5uraci3n1 intenta'oS da c'ic en 'a 'i5a + prue&a'oSD

Con!iguracin

E# argumento Interval puede tener uno de #os siguientes va#ores:

Valor de enumeracin $ate%nter&al'$a( $ate%nter&al'$a()!*ear $ate%nter&al'+our $ate%nter&al'"inute $ate%nter&al'"ont, $ate%nter&al'-uarter $ate%nter&al'Second $ate%nter&al'.ee/da(

#nidad de di!erencia Cadena temporal d * $ n m < s E &Ia &Ia Hora Minuto Mes Trimestre Segundo Semana Semana de# ca#endario !o

$ate%nter&al'.ee/)!*ear EE $ate%nter&al'*ear ****

E# argumento DayOfWeek puede tener uno de #os siguientes va#ores:

Valor de enumeracin 0irst$a()!.ee/'S(stem

Valor $escripcin ( Primer dIa de #a semana especi'icado en #a con'iguraci2n de# sistema &omingo =predeterminado> Lunes =de acuerdo con #a norma .S9 64(,; secci2n /J,5> Martes MiKrco#es

0irst$a()!.ee/'Sunda( 0irst$a()!.ee/'"onda(

, 2

0irst$a()!.ee/'1uesda(

0irst$a()!.ee/'.ednesda( 0

0irst$a()!.ee/'1,ursda( 0irst$a()!.ee/'0rida( 0irst$a()!.ee/'Saturda(

3 4 5

Jueves %iernes SH)ado

E# argumento WeekOfYear puede tener uno de #os siguientes va#ores:

Valor de enumeracin 0irst.ee/)!*ear'S(stem

Valor $escripcin ( Primera semana de# ao especi'icada en #a con'iguraci2n de# sistema Semana en #a <ue se encuentra e# , de enero =predeterminado> Semana <ue contiene a# menos cuatro dIas de# nuevo ao =de acuerdo con #a norma .S9 64(,; secci2n /J,5> Primera semana comp#eta de# nuevo ao

0irst.ee/)!*ear'2an1

0irst.ee/)!*ear'0irst0our$a(s 2

0irst.ee/)!*ear'0irst0ull.ee/ /

E3cepciones o errores

1ipo de e3cepcin !rgumentE7ception !rgumentE7ception

45mero de error 3 3

Condicin Interval no vH#idoJ Date o DayofWeek <uedan 'uera de# interva#oJ Date1 o Date2 son tipos no vH#idosJ

.nva#idCastE7ception

,/

Comentarios

Se puede uti#i+ar #a 'unci2n $ate$i!! para determinar e# n1mero de interva#os de tiempo especi'icados <ue e7isten entre dos va#ores de 'ec$a u $oraJ Por e:emp#o; con $ate$i!! podrIa ca#cu#ar e# n1mero de dIas entre dos 'ec$as o e# n1mero de semanas entre $o* * e# 1#timo dIa de# aoJ Si Interval se esta)#ece en $ate%nter&al'$a()!*ear; se trata igua# <ue $ate%nter&al'$a(; por<ue $a()!*ear no es una unidad signi'icativa para un interva#o de tiempoJ Si Interval se esta)#ece en $ate%nter&al'.ee/)!*ear ; e# va#or devue#to representa e# n1mero de semanas entre e# primer dIa de #a semana <ue contiene Date1 * e# primer dIa de #a semana <ue contiene Date2J E# e:emp#o siguiente muestra c2mo este procedimiento genera resu#tados distintos de $ate%nter&al'.ee/da(J "im'"at7im:'Bs'"ate'('U:/D/0;;:U'''''7his'is'a'7h#rsday1 "im'"at7im0'Bs'"ate'('U:/A/0;;:U'''''7his'is'the'ne*t'7#esday1 ''Bss#me'S#nday'is'speci5ied'as'5irst'day'o5'the'2ee^1 "im'R"'Bs'!on '('D a t e D i f f ( "ateInterval1Ree^day='"at7im:='"at7im0) "im'RJ'Bs'!on '('D a t e D i f f ( "ateInterval1Ree^%5Jear='"at7im:='"at7im0) En e# e:emp#o anterior; $ate$i!! devue#ve 6 a R" por<ue #a di'erencia entre #as dos 'ec$as es menor de siete dIas; pero devue#ve 1 a RJ por<ue e7iste una di'erencia de siete dIas entre #os primeros dIas de #as respectivas semanas de# ca#endarioJ Si Interval se esta)#ece en $ate%nter&al'*ear ; e# va#or devue#to se ca#cu#a meramente a partir de #as partes de# ao Date1 * Date2J Como Date1 * Date2 son de# tipo de datos $ate; contienen va#ores precisos de 'ec$a * $ora en pasos =ticks> de ,(( nanosegundos en e# tempori+ador de# sistemaJ Sin em)argo; $ate$i!! siempre devue#ve e# n1mero de interva#os de tiempo como un va#or 7ongJ Si Date1 representa una 'ec$a * $ora posteriores a Date2; $ate$i!! devue#ve un n1mero negativoJ Si a#g1n argumento tiene un va#or no vH#ido; se produce un error ArgumentE3ceptionJ Si e# argumento Date1 o Date2 tiene un va#or <ue no puede convertirse a un va#or $ate vH#ido; se produce un error %n&alidCastE3ceptionJ 4ota !# comparar e# /, de diciem)re con e# , de enero de# ao siguiente; $ate$i!! devo#verH , para $ate%nter&al'*ear; $ate%nter&al'-uarter o $ate%nter&al'"ont, ; aun<ue s2#o $a*a pasado un dIaJ Puesto <ue todos #os va#ores $ate se )asan en una estructura $ate1ime; sus mKtodos proporcionan opciones adiciona#es para )uscar interva#os de tiempoJ Por e:emp#o; se puede uti#i+ar e# mKtodo Su8tract de cua#<uiera de sus 'ormas so)recargadasJ Uno de e##os sustrae un 1imeSpan de una varia)#e $ate para devo#ver otro va#or $ateL e# otro sustrae un va#or $ate para devo#ver un 1imeSpanJ Se puede tempori+ar un proceso para sa)er cuHntos mi#isegundos tardarH; como en e# caso siguiente: "im'Start7ime'Bs'"ate'('$o2'''''Startin 'date/time1 ''R#n'the'process'that'is'to'be'timed1 "im'R#n!en th'Bs'System17imeSpan'('$o21S#btract<Start7ime? "im'Millisecs'Bs'Inte er'('R#n!en th1Milliseconds

E9emplo En este e:emp#o se uti#i+a #a 'unci2n $ate$i!! para mostrar e# n1mero de dIas entre una 'ec$a dada * #a 'ec$a actua#J "im'9irst"ate='Ms 'Bs'Strin '''''"eclare'variables1 "im'Second"ate'Bs'"ate 9irst"ate'('Inp#tBo*<)Enter'a'date)? Second"ate'('C"ate<9irst"ate? Ms '(')"ays'5rom'todayK')'3'D a t e D i f f ( "ateInterval1"ay='$o2='Second"ate) Ms Bo*'<Ms ? Re:uisitos Espacio de nom8res; "icroso!t'VisualBasic "dulo; $ateAnd1ime Ensam8lado; Tiempo de e:ecuci2n de Microso't %isua# Basic J-ET =en Microso'tJ%isua#BasicJd##> Vea tam8i<n

#onstantes para #o'ores


VBScript proporciona va'ores constantes para co'ores1 por e2emp'oConstante v)B#acM v)Ded v)Nreen v)Oe##oE v)B#ue Co#or -egro Do:o %erde !mari##o !+u#

v)Magenta Magenta v)C*an v)P$ite CIan B#anco

!2emp'o'''<p'id()testColor)'onmo#seover()VBScriptKtestColor1Style1Color'('vb-reen) '''onmo#seo#t()VBScriptKtestColor1Style1Color'('vbBlac^)>

%asa e' puntero de' mouse so&re este te)to1 Qu sucedio?

Eventos

:n evento es una notificacin "ue ocurre en respuesta de una determinada acci3n1 'a cua' puede ser producida por e' usuario o por un cam&io de estado en a'5;n e'emento de' documento BTM0D #uando se produce un evento1 e' o&2eto Event ref'e2a 'a situaci3n actua' de dic9o evento1 se adapta para cada e'emento BTM01 provee 'as propiedades + mtodos correspondientesD !' o&2eto Event es una propiedad de' o&2eto Rindo2 de un documento BTM0D A travs de este o&2eto es posi&'e por e2emp'o determinar "uien produ2o e' evento 4srcElement6 o cance'ar e' Event 2u!!lin "ue si5nifica "ue un e'emento puede estar contenido dentro de otros e'ementos + desencadenar 'os eventos de estos1 e2emp'o'''<p'onclic^()VBScriptKalert'p)> <a'onclic^()VBScriptKalert'a)'style()te*t, "ecorationK#nderline`colorKbl#e)> <b'onclic^()VBScriptKalert'b)> <i'onclic^()VBScriptKalert'i)>"e'clic^'a6#I'para' e&ec#tar'#n'Event'B#bblin </b> </a> '''</p>

De click aqu para ejecutar un Event Bubbling Tam&in es posi&'e cance'ar e' Event 2u!!lin uti'izando e' mtodo CancelB#bbleD 0a propiedad ret#rnVal#e esta&'ece o recupera e' valor de re reso de un evento1 su sinta)is esevent1ret#rnVal#e'G'('bVal#e'H

*tros eventos
%nBbort %nBo#nce %nChan e %n9ilterChan e %n9inish %nReset %nResi>e %nScroll %nStart %nS#bmit

Mane2adores de !ventos
:n 8anejador de Eventos es a"ue''a rutina o funci3n "ue un pro5ramador escri&e para responder a un evento como onMo#se%ver1 onMo#se%#t1 onMo#seClic^ etcD

!s posi&'e esta&'ecer un manejador de eventos de varias formas1 por e2emp'o uti'izando e' atri&utos propio de' evento de una eti"ueta BTM0 + asociar'e e' nom&re de una rutina o funci3n se5uida de parntesis1 por e2emp'o<p'onclic^()nombre9#ncion<?)>

Si omite escri&ir 'os parentesis no se e2ecutara nin5una acci3n !s posi&'e escri&ir 'o anterior de otra forma uti'izando c3di5o inline1 para 'o cua' primero se escri&e VBScriptK se5uido de 'as instrucciones a rea'izar<p'onclic^()VBScriptKBlert':)>

*tra posi&i'idad es escri&ir un mane2ador especifico para un evento asociado a una eti"ueta BTM0 esta forma es prioritaria a 'as dems1 para e''o es necesario especificar un va'or para e' atri&uto id de 'a eti"ueta BTM0 a 'a cua' se desea asociar un mane2ador de eventos + escri&ir e' c3di5o VBScript respectivo'''<script'5or()id$ame)'event()onmo#seover)'lan #a e()VBScript)> '''<+,, ''''''instr#cciones '''//,,> '''</script> '''Eti6#eta'P7M!K '''<p'id()id$ame)></p>

!' atri&uto 5or de 'a eti"ueta script esta&'ece para "ue eti"ueta de&er funcionar e' script1 e' cua' es re'acionado por medio de' va'or de' atri&uto id de 'a eti"ueta BTM01 e' atri&uto event esta&'ece e' tipo de evento para e' cua' de&er responder e' scriptD :na posi&i'idad ms es escri&ir una funci3n cu+o nom&re estar compuesto por e' va'or asi5nado en e' atri&uto id de 'a eti"ueta BTM0 para 'a cua' se desea "ue responda e' mane2ador1 se5uido de' carcter 5ui3n &a2o 8 underscore 4\61 se5uido de' nom&re e' evento a' cua' responder1 e2emp'o'''<script'type()te*t/vbscript)> '''<+,, '''S#b'id$ame\%nMo#se%ver<? ''''''instr#cciones '''End'S#b '''//,,> '''</script>

!' c3di5o BTM0 ser<p'id()id$ame)></p>

!ventos de' Mouse

!s posi&'e contro'ar 'os eventos de' mouse en un documento BTM0 + asociar'os a un e'emento en especifico1 por e2emp'o si deseamos asociar'o a' e'emento doc#ment' escri&iriamos como nom&re de 'a funci3nS#b'"oc#ment\nombreEvento

.onde nombreEvento puede serID CD LD ND JD QD KD *nMouseMove *nMouse*ver *nMouse*ut *nMouse.o=n *nMouse:p *nMouse#'ic@ *nMouse.&'#'ic@

%ara conocer "ue &ot3n pu'so e' usuario uti'ice2indo21event1B#tton

0o cua' re5resa a'5uno de 'os si5uientes va'ores constantes%a#or ( , 2 0 Bot2n -ing1n )ot2n pu#sado .+<uierdo &erec$o Centra#

!2emp'o de eventos de' mouse

!ventos de' Tec'ado


!s posi&'e contro'ar 'os eventos de' tec'ado asociando'es un mane2ador para e''o emp'earemos 'os eventos
%naey"o2n %naeyUp %naey8ress

#uando un evento de' tec'ado ocurre 'a propiedad ^eyCode de' o&2eto event 'a cua' contiene e' :nicode correspondiente a 'a tec'a + con a+uda de 'a funci3n Chr<code? es posi&'e sa&er "ue carcter est asociado a dic9o :nicodeD Tam&in ocurren 'as propiedades Shi5taey1 Ctrlaey + Bltaey 'as cua'es contienen un va'or tr#e en caso de "ue esten activas !2emp'o de eventos de' mouse

!ventos *n0oad 8 *n:n'oad


!' evento %n!oad ocurre cuando se 9a terminado de car5ar e' documento BTM0 + e' evento %nUnload cuando se cam&ia a otro ducumento BTM0 o cuando se cierra 'a ventana de' nave5ador "ue contiene e' documento BTM0D !2emp'o de eventos 'oad

!vento *n!rror !etter reference


!' evento %nError ocurre cuando se produce un error en 'a car5a de a'5;n e'emento de' documento BTM0 o un error en e' scriptD !2emp'o de evento *n!rror

'ormularios
0a manera posi&'e de o&tener datos de' usuario + 9acer "ue 'os envie a' servidor para su procesamiento es a travs de' uso de formu'arios en 'as p5inasD 0os formu'arios consisten a su vez de otros e'ementos ta'es como1 campos de entrada de te)to1 'istas de se'ecci3n1 &otones1 etcD 'a ma+or(a de estos son e'ementos inp#t + es mediante su propiedad type "ue se especifica por e2emp'o si es un te*t o b#ttonD :n e'emento de tipo especia' para formu'arios es te*tarea e' cua' no pertenece a' 5rupo de e'ementos inp#tD %ara o&tener ms informaci3n so&re formu'arios visite e' tutoria' de BTM0D

Input
!s posi&'e esta&'ecer un mane2ador de eventos para un e'emento inp#t a travs de VBScript1 +a nos 9emos referido a 'os events como ta'esD ID !mpezaremos escri&iendo un formu'ario + dos campos de te)to'''<5orm'name()5rmE&)> Entrada'de'7e*to':K'<inp#t'name()t*t:)'id()entrada:)> Entrada'de'7e*to'0K'<inp#t'name()t*t:)'id()entrada0)> '''</5orm>

%ara asociar'es un mane2ador de eventos sera necesario asi5nar un va'or a 'a propiedad id de' e'emento inp#t de tipo te*t siendo este tipo e' va'or por defau't1 por e''o "ue se pueda omitir e' escri&ir 'a propiedad typeD !s posi&'e "ue para acceder a un e'emento inp#t sea necesario 9acer'o desde 5orm' por 'o "ue ser necesario 9acer 'o propio para e' e'emento 5orm1 es decir asi5nar un va'or a su propiedad nameD

CD !' si5uiente paso ser escri&ir un mane2ador para a'5;n evento "ue deseemos contro'ar1 para efectos prcticos 9aremos a'5o senci''o como desp'e5ar un mensa2e a' usuario cada vez "ue este se posicione en e' e'emento + cada vez "ue se a&andone'''S#b'entrada:\%n9oc#s<? Blert')"ato're6#erido) '''End'S#b '''S#b'entrada:\%nBl#r<? I9'isEmpty<doc#ment15rmE&1entrada:1val#e?\ '%r'is$#ll<doc#ment15rmE&1entrada:1val#e?\ ''%r'doc#ment15rmE&1entrada:1val#e'('))'7hen Blert')rec#erde'6#e'es'#n'dato're6#erido) else Blert')El'dato'proporcionado'esK')'3' doc#ment15rmE&1entrada:1val#e End'i5 '''End'S#b ''' '''S#b'entrada0\%n9oc#s<? Blert')"ato'0'opcional) '''End'S#b '''S#b'entrada0\%nBl#r<? Blert')El'dato'proporcionado'esK')'3'doc#ment15rmE&1t*t01val#e '''End'S#b

Note "ue 'as funciones inician con e' nom&re de' va'or asi5nado a 'a propiedad id' de' e'emento so&re e' cua' actuar e' mane2ador1 pero para acceder a 'os va'ores "ue contienen 'os e'ementos inp#t es posi&'e 9acer'o a travs de 'as propiedades name o idD LD A9ora a5re5aremos un &ot3n + su respectivo contro'ador de evento
<inp#t'type()B#tton)'val#e()s#bmit)'access^ey()&)'id()btn%^)> '''S#b'btn%^\%nClic^<? Blert')Enviando'datos='por'5avor'espere111) '''End'S#b Entrada de Te7to ,: Entrada de Te7to 2:

A'5unas propiedadesOmetodos comunes de e'ementos en formu'arios


id,ameDval#e id,ameDChec^ed id,ameDBccessaey G FTF id0istaDSi>e G J id0istaDM#ltiple G 7a'se id0istaD%ptions<n%pcion?1Val#e G Fva'orF id0istaD%ptions1Bdd G Fva'orF id0istaDoptions1Bdd')valor) id0istaDoptions1Bdd')valor)='n8osEn!ista id0istaDoptions1Remove'n8osEn!ista id0istaD!en th id0ista<n%pcion?1Selected idIm5D*

idIm5Dy idIm5DSrc idIm5DdynSrc idIm5D!oop idIm5DvSpace idIm5DhSpace

+n Error

esume Ne3t

0a sentencia %n'Error'Res#me'$e*t indica a' interprete de VBScript "ue a' encontrar un error 'o i5nore + coninue en 'a '(nea si5uienteD

6+8& 6ocument +$ject 8odel 7 8odelo de +$jetos del 6ocumento


%ara me2or referenciaA&out t9e ?L# .ocument *&2ect Mode'1 :sin5 t9e BTM0RTIM! .ocument *&2ect Mode'1 .ocument *&2ect Mode' 4.*M6 0eve' I Specification 4Second !dition6

!' Mode'o de *&2etos de' .ocumento 4.*M6 es un estndar para nave5adores 4!ro"sers6 "ue define 'a <erar"u(a de 'os o&2etos "ue un .ocumento BTM0 de&e contener1 por 'o "ue es posi&'e "ue un nave5ador pueda soportar o e)tender este Mode'oD Microsoft Internet !)p'orer 4I!6 Q soporta todas 'as propiedades1 mtodos + co'ecciones definidas en 'a especificaci3n de' Mode'o de *&2etos de' .ocumento de' ?or'd ?ide ?e& #onsortium 4?L#6D Qu es e' .*M? por el 9-c 3,he 1ocument O!ject #odel is a platform% and lan ua e%neutral interface that "ill allo" pro rams and scripts to dynamically access and update the content, structure and style of documents03
http://www.w3c.org/DOM/#what

!s por 'o anterior "ue VBScript puede acceder a 'os o&2etos de un documento1 as( como tam&in I! e)tiende 'os o&2etos contenidos en un .ocumento BTM0D

*&2eto ?indo=
!' o&2eto Rindo2 se encuentra en 'a cima de 'a <erar"u(a de' .*M1 e' cua' representa una ventana a&ierta de' I! + es a travs de este o&2eto "ue es posi&'e acceder a todas 'as propiedades + eventos de' nave5adorD A'5unas propiedades de Rindo2- ms informaci3n so&re =indo=

?indo=DBistor+?indo=D0ocation?indo=DScreen?indo=D7rames- To&2ectU !2emp'o de' *&2eto ?indo=

To&2ectU 9ttp-OO===Dinformati"ueDcomDm)Ov&scriptO To&2ectU

?indo=D*pen - #om3 a&rir una nueva ventana?


!' o&2eto Rindo2 posee e' evento %pen con e' cua' es posi&'e a&rir en una ventana un :$0 especifico1 a esta ventana es posi&'e dar'e 'as caracter(sticas "ue deseemos1 ta'es como- too'&ar1 status1 resize1 =idt91 9ei59t1 'eft1 top1 etcD !' si5uiente e2emp'o a&re una nueva ventanaRindo21%pen<)httpK//msdn1microso5t1com/2or^shop/a#thor/dhtml/re5erence/ methods/open\;1asp)?

!s posi&'e a&rir una ventana moda' de 'a si5uiente formaRindo21sho2Modal"ialo ')nombre8a ina1html)

!ste tipo de ventanas moda'es tienen 'a caracter(stica de esperar una acci3n por parte de' usuario sin permitir a este pasar a 'a ventana padre 4ventana "ue a&rio 'a ventana moda'6 9asta "ue 'a ventana moda' se cierreD Tam&in es posi&'e o&tener va'ores de una ventana moda'1 para e''o uti'izar una variante de 'a instrucci3n anterior 'a cua' inc'u+e parntesisdoc#ment15rmModal"ata1datos1val#e Rindo21sho2Modal"ialo <)modal1html)? ' ('

.e esta manera se o&tiene e' va'or de re5reso de' mtodo Rindo21sho2Modal"ialo D !s necesario indicar 'o "ue 2indo2 re5resa uti'izando 'a sentencia Ret#rnVal#e + escri&ir'o en e' evento %nUnload de' documento "ue se a&re en 'a ventana moda''''Rindo21Ret#rnVal#e'('doc#ment15rmModal1hora1val#e'3\ '''')'El'nombre'del'#s#ario'esK')'3'doc#ment15rmModal1nombreUs#ario1val#e Q

*&2eto .ocument

!' o&2eto Rindo2 contiene una co'ecci3n de propiedades1 eventos1 mtodos + o&2etos1 entre 'os o&2etos "ue contiene se encuentra "oc#ment "ue 9ace referencia a' .ocumento BTM0 "ue contiene 'a ventanaD A'5unas propiedades de este o&2eto son- active!'ement1 Tit'e1 &5co'or1 'in@#o'or1 a0in@#o'or1 v0in@#o'or1 0astModified1 0ocation1 :$01 %arent?indo=1 etcD
2indo21doc#ment1!astModi5ied2indo21doc#ment1!ocation2indo21doc#ment1UR!2indo21doc#ment18arentRindo22indo21doc#ment1Re5errer-

HJOHNOCHHJ HP-LJ-LN 9ttp-OO===Dinformati"ueDcomDm)Ov&scriptO 9ttp-OO===Dinformati"ueDcomDm)Ov&scriptO To&2ectU 9ttp-OOsearc9D'atamD+upimsnDcomOresu'tsDasp)?

"G.ate%artV7*$MGMS,QBV'an5Ges8'aVcpGICJC 2indo21doc#ment1ReadyState- interactive


Rindo21"oc#ment tiene 'os eventos Rrite + Rrite!n con 'os cua'es es posi&'e escri&ir

te)to en e' documento a' momento de ser car5ado1 este te)to puede contener c3di5o BTM0D !stos documento son comunmente uti'izados en c3di5o de VBScriptD

Create+$ject
0a funci3n Create%b&ect<servername1typename'G='locationH? crea + re5resa una referencia a un o&2eto automatizado
servername es re"uerido1 especifica e' nom&re de' o&2eto de 'a ap'icaci3n t*pename es re"uerido1 especifica e' tipo o c'ase de o&2eto a crear location es opciona'1 especifica e' nom&re de' servidor donde e' o&2eto ser creado

Bet+$ject
0a funci3n -et%b&ect<GpathnameH'G='classH? re5resa una referencia a un o&2eto automatizado desde un arc9ivoD
pat:name1 strin opciona' "ue especifica 'a u&icacici3n de' arc9ivo "ue contiene e' o&2eto a o&tener1 si se omite este ar5umento1 e' ar5umento ser5 re"ueridoD class1 strin opciona' "ue especifica 'a c'ase de un o&2etoD

Scripting

untime ,i$rar*
comprensiva para 'as

:n Script ?indo=s es una infraestructura de Scriptin p'ataformas MicrosoftW ?indo=sWD

:n Script ?indo=s provee dos motores de script- Visual BasicC Scripting Edition + 8icroso)t DScriptC1 'os cua'es pueden ser incrustados dentro de ap'icaciones ?indo=sD

Tam&in proveen una serie e)tensa de tecno'o5(as "ue faci'itan a un usuario de script escri&ir Ap'icaciones ?indo=sD 0a Bi&'ioteca Scriptin 'R#ntime comprende o&2etos ta'es como
"ictionary'%b&ect 9ileSystem%b&ect'%b&ect' Script'Encoder

*&2eto .ictionar+
0o "ue se conoce en Visua' Basic + Visua' Basic 7or Ap'ications como coleccin en VBScript e)iste un o&2eto simi'iar ''amado "ictionaryD !ste o&2eto es e"uiva'ente a un arre5'o asociativo en %!$0D :n o&2eto "ictionary es un arre5'o asociativo "ue 'o mismo puede a'macenar referencias a o&2etos "ue n;meros1 cadenas o cua'"uier tipo de dato1 a cada item 4e'emento6 de este arre5'o se 'e asocia o 'e corresponde un aey o ''ave ;nico1 as( siempre e)istira e' par @e+8itemD %or medio de aey es posi&'e recuperar un item o datoD aey usua'mente puede ser un entero o strin 1 puede ser cua'"uier cosa e)cepto un array1 a' ser ^ey de cua'"uier tipo no es posi&'e acceder a 'os items mediante un (ndice como en e' caso de 'os arre5'os1 pero e)iste una so'uci3n para acceder a 'os items mediante un cic'o + es uti'izando e' mtodo ob&ect1aeys<'? para o&tener un arre5'o "ue contiene unicamente 'as @e+s de' o&2eto "ictionary1 'o mismo se 9ace para 'os items mediante e' mtodo ob&ect1Items<'?1 e' c3di5o seriaarre lo'('ob&eto"ictionary1^eys 9or'i'(';'7o'ob&eto"ictionary1Co#nt',': ob&eto"ictionary1Item<arre lo<i?? $e*t

"ictionary forma parte de 'a &i&'ioteca Scriptin

ID %ara crear un o&2eto "ictionary dec'are una varia&'e"im'o"ic

CD :ti'ice 'a funci3n Create%b&ect<? para asi5nar a 'a varia&'e o"ic una referencia a un o&2eto "ictionarySet'o"ic'('Create%b&ect<)Scriptin 1"ictionary)?

8todos del +$jeto 6ictionar*


!' o&2eto "ictionary para su mane2o posee 'os mtodos Add1 !)ists1 Items1 Xe+s1 $emove + $emoveA''D

1. 2. 3. 4. 5. 6.

nombre%b&eto1Bdd ' <^ey= ' item?1 sirve para a5re5ar un @e+ e item a' o&2eto "ictionaryD ob&ect1E*ists<^ey?1 re5resa tr#e si 'a @e+ "ue se especifica e)iste en un o&2eto "ictionary o 5alse si no e)isteD ob&ect1Items<' ?1 re5resa un arre5'o "ue contiene todos 'os items contenidos en un o&2eto "ictionaryD ob&ect1aeys<'?1 re5resa un arre5'o "ue contiene todas 'as @e+s e)istentes en un o&2eto "ictionaryD ob&ect1Remove<^ey?1 e'imia una @e+ e item de un o&2eto "ictionaryD ob&ect1RemoveBll<'?'1 e'imina todas 'as @e+s e items de un o&2eto "ictionaryD

"ropiedades del +$jeto 6ictionar*


0as propiedades de' o&2eto "ictionary son
ob&ect1CompareModeG ' ( ' compareH1 esta&'e + re5resa e' modo de comparaci3n de strin58@e+s en un o&2eto "ictionaryD ob&ect1Co#nt1 re5resa e' n;mero de items en una co''eci3n u o&2eto "ictionary1 esta propiedad s3'o es de 'ecturaD ob&ect1Item<^ey?G'('ne2itemH1 esta&'ece + re5resa un item especificado para una @e+ en un o&2eto "ictionaryD ob&ect1aey<^ey?'('ne2^ey1 esta&'ece una ''ave en un o&2eto "ictionaryD

!2emp'o de .ictionar+ 4Mtodos + %ropiedades6

*&2eto 7i'eS+stem*&2ect
0a &i&'ioteca Scriptin provee un o&2eto ''amado 9ileSystem%b&ect 47S*6 "ue permite manipu'ar unidades de disco 4drives61 directorios 4folders6 + arc9ivos 4)iles6D

El 8odelo 'ileS*stem+$ject
!ste o&2eto est &asado en un Mode'o "ue permite usar mtodos1 propiedades + eventos a travs de 'a notaci3n de punto para manipu'ar directorios + arc9ivosD :ti'ice esta 9erramienta &asada en o&2etos con
E#8, para crear p5inas =e& Findo9s Scripting Eost1 para crear arc9ivos !atch para Microsoft ?indo=s Script Control1 para proveer capacidades de scriptin para e' desarro''o de ap'icaciones en otros 'en5ua2es

:ti'izar 7S* en e' 'ado de' c'iente p'antea serios asuntos de se5uridad so&re 'a capacidad de proveer de manera potencia' e' acceso no8&ienvenido a e' sistema de arc9ivos 'oca' de' c'ienteD !ste Mode'o puede crear scripts e2ecutados por p5inas =e& de internet de' 'ado de' servidorD Si se uti'iza de' 'ado de' servidor1 'a confi5uraci3n de I! por defau't esta&'ece no permitir e' uso de' o&2eto 7S* de' 'ado de' c'ienteD Si se cam&ia 'a confi5uraci3n podrian 9acer vu'nera&'e a una computadora 'oca' a accesos

no8&ienvenidos a' sistema de arc9ivos 'o cua' resu'taria en una tota' destrucci3n de 'a inte5ridad de' sistema de arc9ivos causando perdida de datos o a'5o peorD !' Mode'o 7S* da a 'as ap'icaciones de' 'ado de' servidor 'a capacidad de crear1 a'terar1 mover + e'iminar directorios o 'a capacidad para detectar 'a e)istencia de un directorio en particu'ar + su u&icaci3nD Tam&in es posi&'e encontrar informaci3n so&re 'os directorios como e' nom&re de estos1 'a fec9a en "ue fueron creados o 'a fec9a en "ue se modifico por ;'tima vez1 etcD !' Mode'o 7S* tam&in 9ace posi&'e procesar arc9ivosD A' procesar arc9ivos1 'a meta fundamenta' es a'macenar datos en un espacio + recurso eficiente fci' de acceder + formatear1 para e''o se necesita poder crear arc9ivos1 insertarOcam&iar datos + poder 'eer su sa'idaD !s posi&'e a'macenar datos en un &ase de datos como Access o SQ0 ServerD A'macenar 'os datos en un arc9ivo de te)to puede ser 'a so'uci3n ms eficiente en caso de no re"uerir todas 'as caracter(siticas e)tras asociadas con una &ase de datosD !' Mode'o 7S* e' cua' est contenido en 'a &i&'ioteca de en'ace dinmico Scriptin ' 4ScrrunDd''6 soporta 'a creaci3n de arc9ivos de te)to + su manipu'aci3n a travs de' o&2eto 7e*tStreamD

+$jetos 'ileS*stem+$ject
!' Mode'o de *&2etos 7S* contiene 'os si5uiente o&2etos + co'ecciones
9ileSystem%b&ect'ob&ect1 o&2eto principa' "ue contiene mtodos + propiedades "ue permiten crear1 e'iminar1 o&tener informaci3n + en 5enera' manipu'ar unidades1 directorios + arc9ivosD Muc9os de 'os mtodos asociados con este o&2eto se dup'ican en otros o&2etos 7S* por convenienciaD %rovee acceso a' sistema de arc9ivos de una computadoraD "rive ' %b&ect1 contiene mtodos + propiedades "ue permiten recopi'ar informaci3n respecto a unidades de disco de' sistema1 informaci3n como su nom&re o si esta disponi&'eD ,ote "ue 'a unidad a no es necesariamente un disco duro1 puede ser un #.8$*M1 unidad de memoria1 etcD 0a unidad a no necesita estar insta'ada fisicamente a' sistema1 puede tam&in estar conectada '35icamente a travs de una redD

8todos- ,o tiene "ropiedades- Avai'a&'eSpace %ropert+ E .rive0etter %ropert+ E .riveT+pe %ropert+ E 7i'eS+stem %ropert+ E 7reeSpace %ropert+ E Is$ead+ %ropert+ E %at9 %ropert+ E $oot7o'der %ropert+ E Seria',um&er %ropert+ E S9are,ame %ropert+ E Tota'Size %ropert+ E Vo'ume,ame %ropert+
"rives'Collection1 proporciona una 'ista de unidades conectadas a' sistema1 fisica o '35icamenteD 0a coleccin de unidades inc'u+en todas 'as unidades sin importar su tipoD 0as unidades removi&'es no necesitan tener un medio insertado para "ue aparezcan en esta co'ecci3nD 9ile'%b&ect1 contiene mtodos + propiedades "ue permiten crear1 e'iminar o mover un arc9ivoD Tam&in permite consu'tar a' sistema respecto a un nom&re de arc9ivo1 ruta + dems propiedadesD

8todos- #op+ Met9od *penAsTe)tStream Met9od

.e'ete

Met9od

Move

Met9od

"ropiedades - Attri&utes %ropert+ E .ate#reated %ropert+ E .ate0astAccessed %ropert+ E .ate0astModified %ropert+ E .rive %ropert+ E ,ame %ropert+ E %arent7o'der %ropert+ E %at9 %ropert+ E S9ort,ame %ropert+ E S9ort%at9 %ropert+ E Size %ropert+ E T+pe %ropert+
9iles'Collection1 proporciona una 'ista de todos 'os arc9ivos contenidos dentro de un directorioD 9older'%b&ect contiene mtodos + propiedades "ue permiten crear o mover directoriosD Tam&in permite consu'tar a' sistema respecto a nom&res de directorios1 rutas + dems propiedadesD 9olders'Collection proporciona una 'ista de todos 'os su&8directorios de un directorioD 7e*tStream'%b&ect permite 'eer + escri&ir arc9ivos de te)toD

!' primer paso para usar e' o&2eto 7S* es crear'o4 Create%b&ect<?6 mediante su invocaci3n uti'izando 'a &i&'ioteca Scriptin '''"im'o9S% '''Set'o9S%'('Create%b&ect<)Scriptin 19ileSystem%b&ect)?

:na vez creado e' o&2eto es posi&'e uti'izar cua'"uiera de sus mtodos o propiedades !2emp'o 7S*

Controles ActiveX
0os contro'es BctiveC proporcionan a&so'uta f'e)i&i'idad a' definir su funciona'idad a travs de sus mtodos1 propiedades + eventos1 tam&in proporcionan una interfaz de usuario para faci'itar 'a interacci3n con este por medio de 'os mane2adores de eventos "ue proporciona e' propio contro'D #3mo se incrusta un contro' Active en un documento BTM0?1 en 5enera' para faci'itar 'a incrustaci3n de cua'"uier tipo de o$jetos inc'u+endo 'os contro'es Active + otros como applets1 scriptlets1 etcD e' ?L# 8 ?or'd ?ide ?e& #onsortium propuso 'a eti"ueta BTM0 <ob&ect></ob&ect> 'a cua' adopto Microsoft para 'os contro'es Active D !' e'emento BTM0 o!ject a' i5ua' de otros e'ementos BTM0 define una serie de propiedades
classid())1 esta&'ece e' o&2eto concreatamente1 para contro'es Active es e' identificador de c'ase de' o&2eto1

:n identificador de c'ase o clsid de un contro' Active) es un n;mero de ICM &its de identifica de manera ;nica a' contro'1 e' cua' es 5enerado por un potente a'5oritmo "ue ase5ura su e)c'usividad en 'a identificaci3n de cua'"uier contro'1 independientemente de' 'u5ar + momento de su creaci3n1

este clsid se a5re5a automticamente en e' re5istro de ?indo=s cuando se re5istra este en e' sistema 4insta'aci3n manua' o automtica desde redS6
codebase())1 especifica e' :$0 donde se encuentra e' contro'1 para "ue e' nave5ador 'o descar5ue e insta'e en caso de "ue no este insta'ado en 'a m"uina c'ienteD codetype())1 especifica e' tipo de o&2eto "ue se va a incrustrar en e' documento BTM01 para 'os contro'es Active no es necesario especificar este va'orD data())1 especifica e' :$0 de' cua' e' o&2eto1 4en este caso e' contro' Active 6 puede o&tener sus datos declare1 en caso de a5re5ar esta propiedad se est especificando "ue ;nicamente dec'are e' o&2eto pero no se instanciar rea'menteD dir())1 id())1 especifica un identificador para e' o&2eto1 a travs de este es posi&'e acceder a sus propiedades + mtodos type())1 access^ey())1 tec'a ace'eradora ali n())1 a'ineaci3n archive())1 border())1 &orde class())1 c'ase #SS hei ht())1 especifica e' a'to hspace())1 especifica 'a separaci3n 9orizonta'1 con otro e'emento lan ())1 especifica e' 'en5ua2e1 e' va'or es una a&reviatura referente a' nom&re de' pa(s name())1 especifica e' nom&re de' o&2eto para envio de informaci3n onclic^()) ' ondblclic^()) ' on^eydo2n()) ' on^eypress()) ' on^ey#p())' onmo#sedo2n()) ' onmo#semove()) ' onmo#seo#t()) ' onmo#seover())' onmo#se#p())1 eventos style())1 especifica una serie de esti'os a ap'icar en 'a presentaci3n de' o&2eto tabinde*())1 especifica e' orden "ue tendr respecto a otros e'ementos title())1 especifica e' te)to a presentar cuando se pasa e' puntero so&re e' o&2eto 4too'tip6 vspace())1 especifica 'a separaci3n vertica'1 con otro e'emento

.e estas propiedades 'as re"ueridas son id1 classid + codebaseD %ara especificar va'ores inicia'es desde 'a definici3n de' o&2eto1 se uti'izada 'a eti"ueta <param> "ue forma parte de' e'emento BTM0 o!jectD 0as propiedades de' e'emento BTM0 param son
id())1 esta&'ece un identificador para e' parmetro name())1 esta&'ece e' nom&re de 'a propiedad1 "ue es e' mismo nom&re de 'a propiedad definida en e' contro' re6#ired())1 type())1 val#e())1 e' va'or "ue tendr 'a propiedad 4propiedad especificada por name6 val#etype())1 especifica de "ue tipo ser e' va'or de 'a propiedad1 re5 para :$01 ob&ect para o&2etos + data cuando e' va'or se pasa directamente a' o&2eto como una cadena de te)to

:na vez definido e' contro' Active es posi&'e tratar'o como cua'"uier otro e'emento BTM01 para su manipu'aci3n1 por e2emp'o si e' contro' tiene una propiedad ''amada edad para asi5nar'e un va'or se podr(a escri&irnombreControlBctiveC1edad'('//

0a dec'araci3n de contro'adores de eventos se 9ace de manera an'o5a1 por e2emp'oS#b'nombreControl\%nClic^<? instr#cciones End'S#b

Ventajas de los Controles ActiveX


:na de 'as venta2as de un contro' Active es su f'e)i&i'idad1 +a "ue es un contro' construido en &ase a nuestros re"uerimientos + "ue es posi&'e incrustar'o en un documento BTM0 e' cua' puede ser uti'izado de manera privada 4intranet6 o p;&'ica 4internet6D

6esventajas de los Controles ActiveX


0a principa' desventa2as de 'os contro'es Active es "ue son dependientes de 'a p'ataforma 4sistemas operativos ?indo=s de Microsoft6D *tra de 'as desventa2as de un contro' Active es su insta'aci3n + desinsta'aci3n1 di5amos "ue podr(a ser comp'e2a para un usuario + peor a;n si es un novatoD

Comunicaci(n con un Applet Dava


0a eti"ueta BTM0 <applet></applet> sirve para incrustar un App'et <ava + 'a ma+or(a de sus propiedades o atri&utos son i5ua'es a 'os de' e'emento ob&ect1 siendo 'a ;nica propiedad re"uerida code para especificar 'a c'ase <avaD Tam&in es posi&'e esta&'ecer va'ores inicia'es por medio de' e'emento paramD %ara esta&'ecer una comunicaci3n con e' App'et <ava1 es necesario definir 'a propiedad code7ype como Fapplication/&ava,vmF + 'a propiedad classId con un va'or "ue comienza con 'a cadena )&avaK) se5uido de' nom&re de 'a c'ase <ava sin su e)tensi3n classD !2emp'o- classid()&avaKnombreClase)D Acate estas recomendaciones para versiones anteriores de VBScriptD :na vez incrustado e' App'et <ava se procede a acceder a sus propiedades + mtodos &a2o 'a e)cepci3n de sinta)is1 +a "ue 'a sinta)is en <ava es o!jeto0propiedad 4 valor1 'a sinta)is a uti'izar es ob&eto1propiedad<valor? !2emp'o comunicaci3n App'et <ava

Scriptlets

:n Scriptlet es una p5ina =e& &asada en BTM0 dinmico 4.BTM061 "ue puede ser uti'izada como un contro' en cua'"uier ap'icaci3n "ue soporte contro'es + uti'iza cierta convenci3n para 'a definici3n de sus propiedades1 mtodos + eventosD !' Scriptlet es un arc9ivo 1htm o html =e& de 'ectura1 pero "ue inc'u+e informaci3n "ue permite tra&a2ar con e' como un contro' de' cua' es posi&'e esta&'ecer sus propiedades1 o&tener propiedades1 invocar mtodos1 etcD Caracter2sticas
%ermite a 'os autores de p5inas =e&1 crear componentes de interfaces de usuario reuti'iza&'es sin 'a necesidad de tener e' poder de #1 #RR u otro am&iente de construcci3n de contro'esD Son fci'es de crear + mantener Son pe"ueAos + eficientes :n Scriptlet es un documento &asado en BTM0 "ue proporciona una interfaz de fci' confi5uraci3n + uso1 en cua'"uier tipo de contenedor "ue soporte contro'es como I!1 9a este documento =e& se 'e dota de 'os medios necesarios para poder uti'izar'a como un contro'1 es decir1 se podrian modificar sus propiedades1 acceder a sus mtodos + responder a sus eventosD A travs de 'os scriptlets es posi&'e desarro''ar componentes reuti'iza&'es + uti'izar'os en entornos distintos a I! + a5re5ar a sus ap'icaciones convenciona'es funciona'idades comunes de documentos =e&D 0os scriptlets son o&2etos faci'es de descar5ar por su tamaAo reducido +a "ue a' contener so'o c3di5o BTM0 4te)to6 es simi'ar a descar5ar una p5ina =e& norma'D 0as propiedades + mtodos de un scriptlet se definen como funciones comunes de cua'"uier 'en5ua2e de ScriptD A' ser p5inas BTM0 norma'es estn su2etas a 'as mismas re5'as de se5uridad esta&'ecidas por e' nave5ador para cua'"uier otra p5inaD Si e' nive' de se5uridad est confi5urado en e' m)imo por"ue a' ser incrustados 'os scriptlets' mediante e' e'emento ob&ect no se descar5aria1 'o mismo "ue ocurre con contro'es Active D %ara e' caso de Microsoft ?indo=s 'os scriptlets se imp'ementan como o&2etos $O# para optimizar e' acceso a sus interfacesD 0os scriptlets son mu'ti8p'ataforma +a "ue vienen incorporados en todas 'as versiones de I! N1 para ?indo=s1 Mac1 :ni)1 etcD

C(mo crear un Scriptlet?


%ara crear un Scriptlet es necesario se5uir 'as convenciones para nom&res de varia&'es + funcionesD !' c3di5o de un Scriptlet es e' mismo uti'izado para una p5ina norma' + de' mismo modo se acceden a 'as caracter(sticas de 'as 2erar"u(a de o&2etos BTM0D :na varia&'e o mtodo pG$lico se dec'ara a' escri&ir e' prefi2o p#blic\ + automticamente se accede a e''a desde e' contenedor de' ScriptletD !2emp'o de un Scriptlet'''p#blic\nombre'('Pola

!' Scriplet se escri&e en un documento BTM0 + se 5uarda &a2o 'as e)tensiones html' o htmD

!n otro documento BTM0 se incrusta e' Scriplet1 desde este 'a forma de acceder a' Scriplet es mediante 'a notaci3n de punto + omitiendo e' prefi2o p#cblic\D 0os Scriptlets tienen un ;nico mane2ador ''amado %nScriptletEvent !2emp'o de 'a creaci3n de un Scriptlet 8 !2emp'o 7unciona' de' Script'et Me2or informaci3n so&re Scrip'ets1 .esi5nin5 a Script'et

AS"
0as 5& inas de Servidor Activo % Active Server 5a es 4BS861 permiten crear ap'icaciones "ue permiten f'e)i&i'izar tareas de acceso + proceso de datos en e' servidor1 uti'izando BTM0 + un 'en5ua2e de Script 4VBScript o <Script6D 0a principa' caracter(stica de este tipo de p5inas es "ue e' c3di5o de Script contenido en e''as se e2ecuta en e' servidor + no en 'a m"uina c'iente1 de' 'ado de' c'iente e' nave5ador o !ro"ser interpreta e' c3di5o BTM0 "ue envia e' servidorD Si conoce un 'en5ua2e de Script como VBScript o <Script puede comenzar casi de inmediato a e'a&orar AS56s tan so'o necesitaria conocer 'a fi'osofia o parte conceptua' de BS8D #uando se tra&a2a en modo c'iente8servidor para consu'tar cua'"uier p5ina se 9ace una petici3n a' servidor1 en e' caso de p5inas BTM0 o .BTM0 comunes se descar5an e interpretan en e' 'ado de' c'iente1 pero en e' caso de BS8 comienza con 'a petici3n a' servidor de una BS8 + e' servidor invoca a' fi'tro asp.dll "ue 'ee e' contenido de 'a BS8 + rea'iza 'a tarea de procesar 'os scripts del lado del servidor 4Server Side Scriptin 6 contenidos en 'a BS81 a' terminar se 5enera una p5ina BTM0 "ue se env(a a' nave5ador de' 'ado de' c'iente para su interpretaci3nD
BS8 es un intrprete "ue procesa c3di5o Script contenido en 'a p5ina + re5resa una

sa'ida BTM0D VBScript es e' 'en5ua2e por defecto para BS81 #ontinuar e' tutoria' en AS%