Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con el buscador en asp.URGENTE PLEASE

Estas en el tema de Ayuda con el buscador en asp.URGENTE PLEASE en el foro de ASP Clásico en Foros del Web. Hola amigos, llevo varios dias intentando arreglar un buscador que me bajé de internet pero no doy pie con bola. En estas líneas le digo ...
  #1 (permalink)  
Antiguo 31/01/2003, 05:43
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Ayuda con el buscador en asp.URGENTE PLEASE

Hola amigos, llevo varios dias intentando arreglar un buscador que me bajé de internet pero no doy pie con bola.

En estas líneas le digo que realice la busqueda a las carpetas de mi sitio...

redim path(3)
path(1)= server.mappath("../upload") 'en donde se hará la busqueda
Path(2) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(3) = server.mappath("../ejercicios") 'en donde se hara la busqueda

Sin embargo, cuando escribo en el formulario la palabra clave a buscar me da el siguiente error...


Error de Microsoft VBScript en tiempo de ejecución error '800a0009'

El subíndice está fuera del intervalo: '2'

/buscador/buscar.asp, line 30

La línea de esa página pone lo siguiente...

Código:
<%
Call Buscar(Path(x),Exts,clave) 'empieza la busqueda
next
cuantos = Session("encontrados")
call DualSorter(cuantos) 'se ordena o se 'rankean' los resultados
call Crear_Archivo_resultados


Favor de indicarme donde puede estar el error, me voy a volver loco. pero si antes me funcionaba.

Gracias de antemano.
__________________

***Aprendiz de todo y maestro de nada***
  #2 (permalink)  
Antiguo 31/01/2003, 09:29
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
Prueba a ver si es que los indices de las matrices en asp empieza por 0:

redim path(3)
path(0)= server.mappath("../upload") 'en donde se hará la busqueda
Path(1) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(2) = server.mappath("../ejercicios") 'en donde se hara la busqueda


Cuando consulta el 3, te da el error... si empieza de 0 y tu matriz es de 3 elementos.... èl bucle debe ir de 0 a 2.

No se si me expliqué.

Suerte!
  #3 (permalink)  
Antiguo 31/01/2003, 09:48
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Hola Helbiria, ante todo darte las gracias por responder.

Te diré que estoy con esto atormentado, pues antes me funcionaba y ahora ha dejado de funcionarme(tuve algunos problemas con los permisos de los directorios y retoqué el codigo sin haber hecho antes una copia de seguridad)

Y ahora no se donde está el error,no obstante, voy a probar lo que me dices,

No te vayas mu lejos, please!!!!!!!!!!!!!
__________________

***Aprendiz de todo y maestro de nada***
  #4 (permalink)  
Antiguo 31/01/2003, 09:50
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
No te preocupes... activé la confirmacion por email... estare hasta las 7.
  #5 (permalink)  
Antiguo 31/01/2003, 10:06
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Bueno, hola de nuevo,mira, he probado la combinación que tu me has dicho...

Cita:
redim path(3)
path(0)= server.mappath("../upload") 'en donde se hará la busqueda
Path(1) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(2) = server.mappath("../ejercicios") 'en donde se hara la busqued
pero me sigue dando el mismo error

Error de Microsoft VBScript en tiempo de ejecución error '800a0009'

El subíndice está fuera del intervalo: '2'

/buscador/buscar.asp, line 30

No entiendo a que subindice hacer referencia. La línea de la página a la que hace referencia son las mismas
Cita:
Call Buscar(Path(x),Exts,clave) 'empieza la busqueda

Helbiria, ¿que te parece? ¿te pongo el código de la página o que podemos seguir haciendo?

Te espero
__________________

***Aprendiz de todo y maestro de nada***
  #6 (permalink)  
Antiguo 31/01/2003, 10:11
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
Tienes un For o un bucle en donde te da el error, no?

Pon el codigo del bucle ese aqui.. la cabecera del bucle..

for i bla bla...
  #7 (permalink)  
Antiguo 31/01/2003, 10:35
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
Si no entendistes esto ultimo dilo.. no te cortes
  #8 (permalink)  
Antiguo 31/01/2003, 10:41
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Hola Helbiria de nuevo, mira, he encontrado esto en el código

Cita:
Inicio = Now()
resx = 0
for x= 1 to 3
Te espero
__________________

***Aprendiz de todo y maestro de nada***
  #9 (permalink)  
Antiguo 31/01/2003, 10:50
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
Cambia

for x= 1 to 3

Por

for x= 0 to 2

Seguro que era eso !!
  #10 (permalink)  
Antiguo 31/01/2003, 11:07
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Helbira, efectivamente, muchisimas gracias, era eso

Lo que pasa es que una vez arreglado esto me da error en lo siguiente...

Error de Microsoft VBScript en tiempo de ejecución error '800a0046'

Permiso denegado

/buscador/buscar.asp, line 113

y la línea del código de esa página pone lo siguiente...
Cita:
<%
Function Contenido(page) 'obtengo el contenido del archivo y lo pongo en una variable
Set objFSO2 = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO2.OpenTextFile(page)
strContents = objFile.ReadAll
objFile.Close
Set objFile = Nothing
Set objFSO2 = Nothing
Contenido = strContents

End Function
%>
Helbira, mira, ¿te acuerdas que te dije que estuve arreglando el tema de los permisos? Bueno, yo creía que los había arreglado y ahora resulta que sigo igual,

Te cuento un poco de que va el tema (espero no te aburras)
Tengo un buscador que busca dentro de mi sitio web en las carpetas que yo le indico. Una vez que realiza la busqueda crea (escribe)un archivo de texto dentro de la carpeta "Buscador". Ahora bien, yo no se que permisos tengo que dar.

¿que clase de permisos tengo que dar a la carpeta buscador donde está el buscador?

Por otro lado ¿tengo que también dar permisos especiales en las carpetas donde realizo la busqueda? Esto, en ejercicios, firmas y
Upload.

Te espero Helbira

PD: Si abuso de tu paciencia, por favor, hazmelo saber Helbira.

PD2: Te voy a escribir otra cosa en otro mensaje para no hacer muy pesado este.

Gracias por tu paciencia.
__________________

***Aprendiz de todo y maestro de nada***
  #11 (permalink)  
Antiguo 31/01/2003, 11:14
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Me has ayudado con el tema del For y del bucle, pero me gustaría que cuando pudieses también me explicases un poco en donde se encontraba el error que me estaba volviendo loco...

¿por que eso del subindice 2?.

Mira, el código de la página buscador.asp despues de tus sabios consejos ha quedado de la siguiente manera....
[CODE]<%
redim path(3)
path(0)= server.mappath("../upload") 'en donde se hará la busqueda
Path(1) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(2) = server.mappath("../ejercicios") 'en donde se hara la busqueda
Exts = "htm,html,asp" 'extensiones de los archivos sobre los que se hará la busqueda
clave = Request.Form("clave") 'clave a buscar
Redim Resultados(1000,1) 'se podrán registrar hasta 1000 posibles resultados
Session("Encontrados") = 0
Session("Totales") = 0
Inicio = Now()
resx = 0
for x= 0 to 2
%>/CODE]

Fijate por favor en la numeración que he puesto en los path, ¿es correcta?.
Y el bucle del For ¿es correcta también?
Cuando puedas explicamelo favor.

A veces me desespero de no saber programación, estoy haciendo un curso básico de asp pero esto para mí es algo complejo.

Cuando tu puedas,
Te espero.

Un abrazo.
__________________

***Aprendiz de todo y maestro de nada***
  #12 (permalink)  
Antiguo 31/01/2003, 11:20
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Helbira, me da corte a veces pensar el tu pienses (que rebuscado soy) que soy un plasta, en serio. :prohibido

Pero es que este tema me tiene intrigado.

¿en el futuro, si quiero añadir alguna carpeta donde buscar?
¿tengo que añadir algún path mas?
¿como quedaría el bucle pues?

Cuando tu puedas.
(no quiero agobiarte tampoco)
__________________

***Aprendiz de todo y maestro de nada***
  #13 (permalink)  
Antiguo 31/01/2003, 11:23
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
Te he dado de alta en icq.. te conectas?
  #14 (permalink)  
Antiguo 31/01/2003, 12:11
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Hola Helbira, te escribo este mensaje después de que te tuvieses que ir.

Por favor, cuando estes de nuevo on-line, me avisas por este canal.

Sigo con el tema de los permisos de las carpetas. Luego te digo.
__________________

***Aprendiz de todo y maestro de nada***
  #15 (permalink)  
Antiguo 03/02/2003, 01:35
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
Estoy por aqui hasta las 2 aprox... Cuando estés online., responde a este mensaje y me conecto.

Ciao bambino
  #16 (permalink)  
Antiguo 03/02/2003, 08:58
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
ooohhh, Helbira, mi chica sevillana favorita,

acabo de ver tu mensaje, sigo liado con el tema de los permisos,

(QUE TORPE SOY DIOS MIOOOOOOOOOO)

Dejame algún mensaje cuando puedas.

gracias.
__________________

***Aprendiz de todo y maestro de nada***
  #17 (permalink)  
Antiguo 03/02/2003, 09:53
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Hola Helbira, como no se nada de ti, mira, te cuento el follón en que estoy metido.

UNA COSA ES SEGURO MI QUERIDA HELBIRA, TENEMOS QUE PARTIR DE LA BASE DE QUE EL CÓDIGO
CREA O ESCRIBE UN ARCHIVO DE TEXTO DENTRO DE LA CARPETA BUSCADOR. AUNQUE YO LE DIGA QUE HAGA LA
BUSQUEDA EN ESTOS DIRECTORIOS (si te fijas, he aumentado el número de carpetas donde realizar
la búsqueda)......................

<%
redim path(4)
path(1)= server.mappath("../glosario") 'en donde se hará la busqueda
Path(2) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(3) = server.mappath("../ejercicios") 'en donde se hara la busqueda
Path(4) = server.mappath("../upload") ' en donde se hará la busqueda

SIN EMBARGO EL FOR DEL BUCLE, HELBIRA, NO LO HE TOCADO PARA NADA, SIGUE ASÍ....


Inicio = Now()
resx = 0
for x= 1 to 3
%>

Bueno, cuando pruebo el script me sigue dando error con lo del permiso denegado con esta MALDITA FRASE.


Error de Microsoft VBScript en tiempo de ejecución error '800a0046'

Permiso denegado

/buscador/buscar.asp, line 113

¡¡¡¡PERO SI YO A LA CARPETA BUSCADOR LE HE DADO PERMISOS DE ESCRITURA Y LECTURA!!!!!

Me voy a volver loco. no entiendo por que no funciona esto cuando antes me furulaba....


SOS
SOS
SOS
SOS
SOS
SOS
__________________

***Aprendiz de todo y maestro de nada***
  #18 (permalink)  
Antiguo 03/02/2003, 11:46
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Creo que el problema sigue siendo el dimensionamiento del array y el bucle

1.- ReDim path(3) te va a dar del 0 al 2

2.- Por que usas path y luego Path??

3.- El bucle debe ser de 0 al numero maximo de tu array (count??)


Saludos
__________________
Manoloweb
  #19 (permalink)  
Antiguo 04/02/2003, 01:41
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
<%
redim path(4)
path(0)= server.mappath("../glosario") 'en donde se hará la busqueda
Path(1) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(2) = server.mappath("../ejercicios") 'en donde se hara la busqueda
Path(3) = server.mappath("../upload") ' en donde se hará la busqueda


El FOR del bucle quedaria ahora asi:

Inicio = Now()
resx = 0
for x= 0 to 3
%>


Por favor, fijate bien en el código... quiero que lo entiendas... no quiero reescribirte el código cada vez que cambies algo. ok?

Respecto a los permisos.... tienes que darle permisos de escritura a la carpeta donde creas el archivo pero hazlo esta vez no desde el IIS sino desde el explorador de carpetas de Windows. Estos permisos de escritura se los tienes que dar al usuario de internet. Este usuario suele llamarse IUSR_???? donde ???? es el nombre de tu PC.

Espero que esto te ayude a ir avanzando en tu proyecto.

Hoy estaré otra vez hasta las 2. Esta semana no me encontrarás por las tardes por eso estaba ayer perdida... Contestas a este mail para que me llegue un mensaje a mi correo y me conecto y lo vemos si no te soluciona nada.

Un beso
  #20 (permalink)  
Antiguo 04/02/2003, 08:43
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Bueno, ante todo muchas gracias por responder, ya lo había dicho antes, pero lo vuelvo a repetir, si este foro vale por algo es por personas como vosotros.

Bueno, vamos por partes:

ManoloWeb: Gracias por tu apreciación, he puesto lo del path correctamente.

Helbiria: Mira, ya me funciona todo correctamente, lo de los permisos arreglado y funciona bien, gracias, parece que todo se va ya arreglando y mi tensión vuelve a su estado normal

Te escribí con el ICQ hoy sobre las 13:45 pero no me respondistes, creo que tu también estarías ya con el reloj mirandolo todo el rato

Bueno, ante todo gracias por tu paciencia conmigo. soy un torpe novato en programación y estoy pegandome mis primeras tortas con este tema


Lo único que desearía saber a estas alturas es solo una cosa:

Cita:
Si en el futuro desearía aumentar el numero de carpetas donde realizar la búsqueda ¿TENGO QUE TOCAR EL BUCLE FOR O NO???????
Bueno, espero.

Un abrazo fuerte.

Gracias.
__________________

***Aprendiz de todo y maestro de nada***
  #21 (permalink)  
Antiguo 05/02/2003, 08:34
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
bueno, parece que os han abducido, como a mi amigo Karlankas.
__________________

***Aprendiz de todo y maestro de nada***
  #22 (permalink)  
Antiguo 05/02/2003, 08:38
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 5 meses
Puntos: 5
sí tendras qe tocarlo.... Me voy ya mismo.. no puedo pararme a explicartelo.. aún así puedes hacer el código dinámicamente.

Se me ocurren de pronto dos formas de hacerlo dinamicamente:

1. Guardando en una array los nombres de las carpetas
2. Guardando en una tabla de tu BD los nombres de las carpetas

Con eso ya estarás entetenido toda la tarde.


Suerte!
  #23 (permalink)  
Antiguo 05/02/2003, 09:24
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Pues si que me vas a dejar entretenido esta tarde mi querida Helbiria.

Por un lado el tema de la BD pienso que quizás va a "ensuciar el código" aunque puede furular, como tu dices.

La opción de los arrays es interesante, pero simpletemente, ¿no se puede aumentar el bucle a un paso si aumentamos una carpeta donde realizar la búsqueda?

Por cierto esta mañana intenté conectame contigo sobre las 13:40 horas pero estaban off.

en fin.

Espero. :cantar:

Un abrazo
__________________

***Aprendiz de todo y maestro de nada***
  #24 (permalink)  
Antiguo 05/02/2003, 10:00
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Cita:
Si en el futuro desearía aumentar el numero de carpetas donde realizar la búsqueda ¿TENGO QUE TOCAR EL BUCLE FOR O NO???????
No, si ahora le hacés una modificación:


for x= 0 to UBound(Path)
  #25 (permalink)  
Antiguo 05/02/2003, 10:06
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Cita:
<%
redim path(4)
path(0)= server.mappath("../glosario") 'en donde se hará la busqueda
Path(1) = server.mappath("../firmas") 'en donde se hara la busqueda
Path(2) = server.mappath("../ejercicios") 'en donde se hara la busqueda
Path(3) = server.mappath("../upload") ' en donde se hará la busqueda

El FOR del bucle quedaria ahora asi:

Inicio = Now()
resx = 0
for x= 0 to UBound(Path)
%>
Gracias por responder, pero ¿me puedes explicar cual es la finalidad de esa línea?

See you soon.
__________________

***Aprendiz de todo y maestro de nada***
  #26 (permalink)  
Antiguo 05/02/2003, 10:40
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Cita:
La función UBound devuelve el límite superior del número de elementos en un array

DevGuru
Lo que hace es, independientemente de la cantidad de elementos que contenga el array, poner siempre el número más alto en él
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:43.