VBScript

Vamos a ver algunos ejemplos.

Uso de la funci�n CBOOL
<HTML>
<HEAD>
<TITLE>
Prueba de funciones de conversi�n.
</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
    OPTION EXPLICIT
    DIM variable
    variable = 1
    MSGBOX (CBOOL (variable))
</SCRIPT>
</BODY>
</HTML>

El resultado de este c�digo ser� el siguiente:

Función CBOOL

La funci�n CBOOL en particular devuelve un valor falso si el argumento es 0 y un valor verdadero si el argumento es cualquier otro n�mero.

Una observaci�n acerca de las conversiones entre subtipos num�ricos. Si un n�mero que convertimos, p.e., a Byte es muy grande para caber en este subtipo, se truncar�. Supongamos la siguiente sentencia: numero = CBYTE (567.384.896.456,29) . Esto es claramente una irregularidad, ya que el n�mero es demasiado grande para ser di subtipo Byte.

Veamos mas ejemplos:

Uso de Funciones de cadena: Instr y Mid
<HTML>
<HEAD>
<TITLE>Prueba de funciones de cadena.</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
    OPTION EXPLICIT
    DIM variable
    DIM parte_central
    
    variable = CHR (65)
    DOCUMENT.WRITE ("Valor de CHR (65): " & variable & "<BR>")
    
    variable = "Alfa"
    parte_central = INSTR (variable,"l")
    DOCUMENT.WRITE (parte_central & "<BR>")
    
    Variable = "Manzana"
    Parte_central = MID (variable, 3, 2)
    DOCUMENT.WRITE (parte_central)
</SCRIPT>
</BODY>
</HTML>

Como resultado nos aparece en pantalla lo siguiente:

Valor de CHR (65): A
2
nz

F�jate en la segunda l�nea. Es el resultado de la funci�n INSTR. Si analizamos la correspondiente l�nea de c�digo veremos que esta funci�n recibe dos argumentos. El primero es la cadena (o variable que la contiene) donde hay que buscar algo. El segundo es la cadena (o variable que la contiene) que hay que buscar dentro. El n�mero que devuelve como resultado (en este caso el 2) es la posici�n que ocupa la segunda cadena dentro de la primera.

Ahora observa la �ltima l�nea, con el texto nz. Es el resultado de aplicar la funci�n MID. Observa la correspondiente l�nea de c�digo. Ves que esta funci�n recibe tres argumentos. El primero es una cadena (o la variable que la contiene) de la que se extraer� una sub-cadena. El segundo es un n�mero (o una variable que contiene un n�mero), que indica que lugar de la cadena iniciar� la sub-cadena. El tercero es un n�mero (o una variable que contiene un n�mero) que indica cuantos caracteres se coger�n para la sub-cadena. Hay que puntualizar que la cadena original no sufre amputaci�n ni transformaci�n de ning�n tipo.

Otro ejemplo:

Funciones matem�ticas
<HTML>
<HEAD>
<TITLE>Prueba de funciones matem�ticas.</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
  OPTION EXPLICIT
  RANDOMIZE

  DIM numero
  numero = 0

  DO UNTIL numero > 0
	numero = INPUTBOX ("Introduzca un n�mero")
	IF (NOT ISNUMERIC (numero)) THEN
		numero = 0
	END IF
  LOOP
  DOCUMENT.WRITE ("El n�mero es: " & numero & "<BR>")
  numero = INT (numero)
  DOCUMENT.WRITE ("La parte entera es: " & numero & "<BR>")
  DOCUMENT.WRITE ("El valor hexa es: " & HEX (numero) & "<BR>")
  DOCUMENT.WRITE ("Un n�mero aleatorio es: " & RND() & "<BR>")
</SCRIPT>
</BODY>
</HTML>

Este programa nos pide un n�mero por teclado como ya conocemos. Supongamos que introducimos 45,7. Los resultados ser�n los siguientes:

El n�mero es: 45,7
La parte entera es: 45
El valor hexa es: 2D
Un n�mero aleatorio es: 0,1896936

La primera l�nea nos muestra el n�mero que hemos introducido.

La segunda nos muestra el resultado de obtener la parte entera con la funci�n INT.

La tercera l�nea nos muestra el valor hexa de 45.

La cuarta l�nea es un n�mero aleatorio generado con RND(). Esta funci�n siempre genera un n�mero aleatorio que est� entre 0 y 1. Observa que el c�digo incluye la instrucci�n RANDOMIZE.

Observa tambi�n que se ha usado la funci�n ISNUMERIC para anular la entrada por teclado si lo que se introdujo no es un n�mero. En este caso se ha precedido la funci�n del operador l�gico NOT. Consulta el Ap�ndice C para obtener mas informaci�n respecto a los operadores.

Otro ejemplo mas:

Funciones de fecha
<HTML>
<HEAD>
<TITLE>Prueba de una funci�n de fecha</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
    OPTION EXPLICIT
    DIM fecha
    fecha = DATE ()
    IF (WEEKDAY (fecha, VBMONDAY) = 7) THEN
        DOCUMENT.WRITE ("Hoy es domingo.")
    ELSE
        DOCUMENT.WRITE ("Hoy se trabaja.")
    END IF
</SCRIPT>
</BODY>
</HTML>

Este c�digo recoge, en primer lugar, la fecha del sistema. Si la fecha corresponde a un domingo, muestra:

Hoy es domingo.

En caso contrario, muestra:

Hoy se trabaja.

Para hacer esto, utiliza la funci�n WEEKDAY, indicando, como primer d�a de la semana, el Lunes. GENERALIDADES FINALES

Recuerda. Las tres diferencias b�sicas entre funciones de usuario y procedimientos son:

  1. La funci�n de usuario se define entre las instrucciones FUNCTION y END FUNCTION. El procedimiento se define entre SUB y END SUB.
  2. Las funciones (de usuario y del lenguaje) devuelven un resultado. Los procedimientos, no.
  3. La forma de invocar una funci�n es con su nombre seguido de par�ntesis. Si la funci�n recibe argumentos, �stos van entre los par�ntesis. Para invocar un procedimiento hay dos formas. La primera es el nombre del procedimiento seguido de los argumentos, si los hay, separados por comas. La segunda es la palabra clave CALL, seguida del nombre del procedimiento, seguido �ste, a su vez de par�ntesis. Si hay argumentos, �stos van entre los par�ntesis, seguidos por comas.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO