Pasar una array a una función en VBScript

Estoy haciendo unas páginas asp y tengo un problema:
He hecho una función pertenece a la que le paso los parámetros día y diasLibres. La variable día es una string que indica un día cualquiera, p.ej "05/06/2003" y la variable diasLibres es una array en la que hay varios días. Esta función busca ese día en la array. La función es la siguiente:
Function Pertenece(dia, diasLibres)
Dim cont = 0
Dim encontrado = False
While (trobat = False) And (cont<31)
If dia = diasLibres(cont) Then
encontrada = True
End If
cont = cont + 1
WEnd
Pertenece = encontrado
End Function
El problema es que cunado llamo a la funcion, p.ej:
<%
If Pertence("05/06/2003", diasLibres)=True Then
hacer una cosa
Else
hacer otra
End If
%>
Da el siguiente error:
No coinciden los tipos:Pertenece
Supongo que al pasarle el parámetro diasLibres no lo hago bien. ¿Cómo se le pasa una array a una función? Al declarar diasLibres lo hago así:
Dim diasLibres(31)
Y en el código voy llenando la array con ciertos días. ¿Me podrías dar una solución?
Respuesta
1
A ver, la función IF siempre debe igualarse, excluirse o mirar un ranga y en su estructura no hace nada, así no entra nunca dentro.
Hola virmix, creo que he descubierto el error pero no se como solucionarlo. La función pertenece es correcta, la he probado en una página html normal y funciona como yo deseo. El problema es que yo la quiero utilizar en una página asp y no funciona. Para hacer una prueba, al llamerla pongo lo siguiente:
<script language = "VBScript">
msgbox "hola"
If Pertenece("05/06/2003",diesLibres) Then
msgbox "pertenece"
Else
msgbox "no pertenece"
End If
</script>
EL explorer no se queja pero por pantalla solo sale el msgbox "hola", ninguno de los otros dos aparece. Es como si no la reconociera. ¿Sabes a que se debe? Muchas gracias
De momento es correcto, necesitaría verlo vía HTTP y acceso al archivo para poder modificarlo
Hola virmix, ya he conseguido solucionar el problema. Simplemente era que al ser una pag asp, las funciones tengo que ponerlas entre <% ... %>, y dentro de <script language = "VBScript"> ... </script>, esta segunda opción creo que sólo funciona para html. Gracias de todas formas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas