Home - ASP - Funciones del lenguaje - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13
Funciones del lenguaje (XII)
por Luciano Moreno, del departamento de Diseño Web de BJS Software.
Funciones del lenguaje (S).-
* ScriptEngine
Función propia. No precisa argumentos, devolviendo una cadena que representa el lenguaje de ejecución de secuencias de comandos en uso. Puede retornar una de las siguientes cadenas:
- VBScript: Indica que Microsoft Visual Basic Scripting Edition es el motor actual de ejecución de secuencias de comandos.
- JScript: Indica que Microsoft JScript es el motor actual de ejecución de secuencias de comandos.
- VBA: Indica que Microsoft Visual Basic para Aplicaciones es el motor actual de ejecución de secuencias de comandos.
Ejemplo:
<script language="VBScript">
Function MiMotor()
MiMotor=ScriptEngine
MsgBox "El
motor de script que estas usando es: " & MiMotor,, "Ejemplo de funcion
ScriptEngine"
End Function
</script>
<form>
<input
type="button" value="pulsame"
onClick="MiMotor()">
</form>
que nos da:
Existen otras 3 funciones análogas a ésta y que la complementan:
* ScriptEngineBuildVersion: que devuelve el número de la versión de compilación correspondiente a la información de versión contenida en el archivo DLL del motor de ejecución de secuencias de comandos en uso.
* ScriptEngineMajorVersion: que devuelve el número de versión mayor correspondiente a la información de versión contenida en el archivo DLL del motor de ejecución de secuencias de comandos en uso.
* ScriptEngineMinorVersion: que devuelve el número de versión menor correspondiente a la información de versión contenida en el archivo DLL del motor de ejecución de secuencias de comandos en uso.
Ejemplo de uso completo:
<script language="VBScript">
Function
MiMotor2()
Dim
s
s =
""
s = ScriptEngine & "
Versión "
s = s &
ScriptEngineMajorVersion & "."
s = s & ScriptEngineMinorVersion &
"."
s = s &
ScriptEngineBuildVersion
MiMotor2
= s ' Devuelve el
resultado.
MsgBox"Motor: " &
MiMotor2, , "Ejemplo de funcion ScriptEngine
completa"
End
Function
</script>
<form>
<input type="button"
value="pulsame" onClick="MiMotor2()">
</form>
que nos da:
* Second( tiempo )
Función de fechas. Recibe como argumento cualquier expresión que pueda representar o contener una hora, retornando un número entero entre 0 y 59, inclusive, que representa el segundo del minuto de la hora dada. Si tiempo contiene Null, retorna Null.
El ejemplo obtiene el segundo actual del reloj de tu equipo:
<script
language="VBScript">
Function
MiSegundo()
MiSegundo=Second(Now)
MsgBox "El
segundo actual de tu ordenador es: " & MiSegundo,, "Ejemplo de funcion
Second"
End
Function
</script>
<form>
<input type="button"
value="pulsame" onClick="MiSegundo()">
</form>
que nos da:
* SetLocate( valor )
Función de configuración. Recibe como argumento cualquier valor de 32 bits o cadena corta que identifique únicamente una configuración regional geográfica, retornando dicha configuración. Los valores reconocidos para configuraciones regionales se pueden encontrar en el siguiente cuadro.
Una configuración regional es un conjunto de información de preferencias del usuario que incluye su idioma, país y convenciones culturales. La configuración regional determina cosas como la apariencia del teclado, el orden de clasificación alfabética, así como los formatos de fecha, hora, número y moneda.
Si valor es 0, la configuración regional se establece de manera que coincida con la configuración actual del sistema.
No vamos a ver ningún ejemplo de apolicación práctica, ya que para ello necesitaríamos conocimientos que por ahora no hemos visto. Podremos ver alguna aplicación práctica posteriormente.
* Sgn( numero )
Función numérica. Recibe como argumento un número, variable que lo contenga o expresión numérica válida, retornando un número entero que representa el signo del recibido como argumento.
Así, si el argumento es negativo retorna -1, si es 0 retorna 0, y si es positivo retorna 1.
Ejemplo:
<%
Dim MiNumero, MiSigno
MiNumero = -12
MiSigno = Sng(MiNumero)
%>
que nos retorna MiSigno = -1.
* Sin( angulo )
Función Trigonométrica. Puede recibir como argumento cualquier número, variable que lo contenga o expresión numérica válida que pueda representar un ángulo en radianes, retornando el valor del seno de dicho ángulo.

La función Sin toma un ángulo de un triángulo rectángulo y devuelve la razón entre el cateto opuesto al ángulo y la hipotenusa del triángulo. El resultado está en el intervalo entre -1 y 1.
Para convertir grados en radianes hay multiplicar los radianes por PI/180. Para convertir los radianes en grados, hay que multiplicar los radianes por 180/PI (PI ~= 3,1415926).
<script language="VBScript">
Function
MiSeno()
Dim
MiAngulo
MiAngulo=InputBox("Introduce un angulo en radianes ", "Ejemplo de funcion Sin")
MiSeno=Sin(MiAngulo)
MsgBox "El
seno de " & MiAngulo & " radianes es " & MiSeno,, "Ejemplo de
funcion Sin"
End Function
</script>
<form>
<input
type="button" value="pulsame" onClick="MiSeno()">
</form>
que nos da:
* Space( numero )
Función de cadenas. Recibe como argumento un número, variable que lo contenga o expresión numérica válida, retornando una cadena formada por tantos espacios en blanco como unidades fije ese número.
En el siguiente ejemplo, vamos a introducir entre las palabras "Hola" y "Mundo" los espacios en blanco que deseemos:
<script language="VBScript">
Function MiSpace()
Dim MiCadena1,
MiCadena2, MiNumero, MiSubcadena
MiCadena1="Hola"
MiCadena2="Mundo"
MiNumero=InputBox("Introduce un numero de espacios en blanco " , " Ejemplo de
funcion Space")
MiSubcadena=Space(MiNumero)
MiSpace=MiCadena1 & MiSubcadena & MiCadena2
MsgBox "La cadena resultante
es: " & MiSpace ,,"Ejemplo de funcion Space"
End
Function
</script>
<form>
<input type="button"
value="pulsame" onClick="MiSpace()">
</form>
que podéis ver en acción pulsando este botón:
* Split( cadena [,delimitador, numero, comparar] )
Función de cadenas. Su misión es retornar una matriz unidimensional con base cero que contiene un número de subcadenas especificado. Es decir, dada una cadena formada por subcadenas que se encuentran acotadas mediante delimitadores, la función Split forma una matriz cuyos elementos son las diferentes subcadenas entre delimitadores. Los argumentos que posée son:
- cadena: Obligatorio. Es una cadena, variable que la contenga o expresión de cadena válida, formada por subcadenas y delimitadores de las mismas. Si es una cadena de longitud cero, retorna una matriz vacía, es decir, una matriz sin elementos ni datos.
- delimitador: Opcional. Carácter de cadena utilizado para identificar límites de subcadenas. Si se omite, se toma por defecto el carácter de espacio (" ") como delimitador. Si delimitador es una cadena de longitud cero (""), se devuelve una matriz de elemento único que contiene cadena completa, sin cambios.
- numero: Opcional. Número de subcadenas que se va a devolver; -1 indica que se devuelven todas las subcadenas.
- comparar: Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Sus valores posibles son 0, que realiza la comparación en forma binaria (valor por defecto) y 1, que la realiza en forma textual.
En el siguiente ejemplo partimos de la cadena "Bienvenidos+a+HTMLWeb", y vamos a obtener las subcadenas acotadas por ellos, que serán elementos de la matriz de retorno, a mostrar en pantalla cada uno de estos elementos (subcadenas) y a introducir luego un espacio en blanco entre una subcadena y otra y mostrar el mensaje que forman todas unidas:
<script
language="VBScript">
Function
MiSplit()
Dim MiCadena, MiMatriz,
Msj
MiCadena =
"Bienvenidos+a+HTMLWeb"
MiMatriz =
Split(MiCadena, "+", -1, 1)
MsgBox
("Primera subcadena. MiMatriz(0)= " &
MiMatriz(0))
MsgBox ("Segunda
subcadena. MiMatriz(1)= " & MiMatriz(1))
MsgBox ("Tercera subcadena. MiMatriz(2)= " &
MiMatriz(2))
Msj = "La nueva
cadena es: "
Msj = Msj &
MiMatriz(0) & " " &
MiMatriz(1)
Msj = Msj
& " " & MiMatriz(2)
MsgBox
Msj
End
Function
</script>
<form>
<input type="button"
value="pulsame" onClick="MiSplit()">
</form>
que nos da:
* Sqr( numero )
Función matemática. Recibe como argumento un número, variable que lo contenga o expresión numérica válida, retornando la raiz cuadrada de dicho número. La única limitación que tiene el argumento numero es que debe representar un número no negativo, al no estar definidas las raices cuadradas para estos números.
Como ejemplo, vamos a pedir al usuario que introduzca un número en una caja de diálogo. Si éste es positivo, calculamos su raiz cuadrada y la mostramos en pantalla, y si es negativo, alertamos de la equivocación:
<script language="VBScript">
Function MiRaiz()
Dim
MiNumero
MiNumero=InputBox("Introduce un numero que no sea negativo", "Ejemplo de funcion
Sqr")
If MiNumero>=0
Then
MiRaiz=Sqr(MiNumero)
MsgBox "La raiz cuadrada de " & MiNumero & " es " &
MiRaiz
Else
MsgBox "No puede ser negativo. Prueba de
nuevo"
End
If
End
Function
</script>
<form>
<input type="button"
value="pulsame" onClick="MiRaiz()">
</form>
que podemos ver actuando si pulsamos el botón siguiente:
* StrComp( cadena1, cadena2 [,comparar] )
Función de cadenas. Recibe como argumentos obligatorios dos cadenas separadas por comas, variables que las contengan o expresiones de cadena válidas, las compara y retorna un nzmero, indicativo del resultado de dicha comparación. Así, si ambas cadenas son iguales devuelve un 0, si la primera es mayor que la segunda devuelve un 1, y si la segunda es mayor que la primera devuelve un -1. Si alguna cadena tiene un valor Null, devuelve Null.
La comparacisn entre cadenas se realiza en funcisn de los caracteres que la forman. En este sentido debemos recordar que un carácter es mayor o menor que otro en funcisn de sus csdigos ASCII. Así, la a es mayor que la A, porque el código ASCII de la A es 65 y el de la a es 97.
El argumento comparar es opcional, y es un valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen cadenas. Si vale 0 la comparación de hará en forma binaria y si vale 1 se hará en forma textual. Si se omite, se realiza una comparación binaria.
Ejemplo:
<%
Dim MiCadena1, MiCadena2, MiComparacion
MiCadena1 = "Hola Mundo"
MiCadena2 = "Bienvenidos a HTMLWeb"
MiComparacion = StrComp(MiCadena1, MiCadena2)
%>
que da como resultado MiComparacion = 1.
* String( numero, caracter )
Función de cadenas. Recibe como argumentos un número, una variable que lo contenga o una expresión numérica válida, y un caracter, código de caracter, variable que los contenga o expresión de cadena, retornando una cadena compuesta por el carácter especificado, repetido las veces que indica el número.
Si numero contiene Null se retorna Null.
Si caracter contiene Null se retorna Null. Si contiene una cadena, se toma como caracter váildo el primero de la misma.
Si contiene un código de caracter mayor que 255, lo convierte en un código de carácter válido mediante la fórmula:
caracter = caracter Mod 256
Ejemplo:
<script language="VBScript">
Function MiString()
Dim MiNumero,
MiCaracter
MiNumero=InputBox("Introduce un numero entero positivo", "Ejemplo de funcion
String")
MiCaracter=InputBox("Introduce un caracter", "Ejemplo de funcion
String")
MiString=String(MiNumero,
MiCaracter)
MsgBox "La cadena
resultado es " & MiString
End
Function
</script>
<form>
<input type="button"
value="pulsame" onClick="MiString()">
</form>
que nos da:
* StrReverse( cadena )
Función de cadenas. Recibe como argumento una cadena, variable que la contenga o expresión de cadena válida, devolviendo dicha cadena pero con sus caracteres invertidos, es decir, el primero pasa a ser el último, el segundo el penúltimo, etc.
Si cadena contiene una cadena de longitud cero ("") se devuelve otra cadena de longitud cero, y si contiene Null se produce un error en tiempo de ejecución.
Ejemplo:
<script
language="VBScript">
Function
MiStrReverse()
Dim
MiCadena
MiCadena=InputBox("Introduce una cadena alfanumerica", "Ejemplo de funcion
StrReverse")
MiStrReverse=StrReverse(MiCadena)
MsgBox "La cadena invertida es " & MiStrReverse
End Function
</script>
<form>
<input type="button" value="pulsame"
onClick="MiStrReverse()">
</form>
que nos da:
Home - ASP - Funciones del lenguaje - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13