RESPUESTA A LA PREGUNTA 7866 - ASP <% 'Activa el almacenamiento en búfer. Esta instrucción debe aparecer antes de la etiqueta . Response.Buffer = True %> Buscar
<% if Request.QueryString("Cadena")<>"" and len(Request.QueryString("url"))>0 then dim Direccion direccion=server.mappath(Request.QueryString("url")) direc=direccion if len(Request.QueryString("Cadena"))>0 then 'devuelve un array con todos los archivos con extension htm y html del directorio a=MostrarListaArchivos() 'si se desea, las tres lineas siguiente muestran los archivos del directorio ' Response.Write("

LISTA DE ARCHIVOS
") ' for i=0 to ubound(a) ' Response.Write(a(i) & "
") ' next Directorio=MostrarListaCarpetas() 'si se desea, las quatro lienas siguientes muestran los directorio de la carpeta ' Response.Write("

LOS DIRECTORIOS DE LA CARPETA ACTUAL
") ' for i=0 to ubound(Directorio) ' Response.Write(a(i) & "
") ' next 'devuelve un array con los archivos que cumplen con la condicion 'deve recibir el array de archivos que hay en el directorio s1=BuscarDentro(a) Cont=0 'busca los archivos en el directorio especificado en el formulario for i=0 to ubound(s1) Cont=Cont+1 'si contiene un guion (-), quiere decir que la pagina tiene un titulo if instr(1,s1(i),"-",1) then txt=txt & "" else 'si tienes el salto de linea (
), quiere decir que la pagina tiene un ",1) then txt=txt & "
" else txt=txt & "" end if end if 'si tienes el salto de linea (
), quiere decir que la pagina tiene un ",1) then txt=txt & mid(s1(i),instr(1,s1(i),"-",1)+1,(instr(1,s1(i),"
",1)-1)-(instr(1,s1(i),"-",1))) & "

" & right(s1(i),len(s1(i))-instr(1,s1(i),"
",1)-3) & "

" else txt=txt & right(s1(i),len(s1(i))-instr(1,s1(i),"-",1)) & "

" end if next 'busca los archivos en el interior de los directorios del directorio especificado en el formulario for ii=0 to ubound(directorio) direccion=server.MapPath(Request.QueryString("url") & directorio(ii)) a=MostrarListaArchivos() s1=BuscarDentro(a) for i=0 to ubound(s1) Cont=Cont+1 if instr(1,s1(i),"-",1) then txt=txt & "" else if instr(1,s1(i),"
",1) then txt=txt & "
" else txt=txt & "" end if end if if instr(1,s1(i),"
",1) then txt=txt & mid(s1(i),instr(1,s1(i),"-",1)+1,(instr(1,s1(i),"
",1)-1)-(instr(1,s1(i),"-",1))) & "

" & right(s1(i),len(s1(i))-instr(1,s1(i),"
",1)-3) & "

" else txt=txt & right(s1(i),len(s1(i))-instr(1,s1(i),"-",1)) & "

" end if next next %>
 Se ha buscado la cadena : <%=Request.QueryString("cadena")%> Se han encontrado <%=Cont%> coincidencias. 

<% Response.Write(txt) %>
 Opcion de buscar en las bases de datos por la palabra : <%=Request.QueryString("cadena")%>
<% else Response.redirect("buscar.asp") end if end if %> <% 'devuelve un array con los archivos del directorio segun la variable 'direccion' Function MostrarListaArchivos() Dim fso, f, f1, fc dim x,s s=array() x=0 Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.Getfolder(direccion) Set fc = f.Files For Each f1 in fc if ucase(right(f1.name,4))=".HTM" or ucase(right(f1.name,5))=".HTML" then redim preserve s(x) s(x)= f1.name x=x+1 end if Next MostrarListaArchivos = s End Function %> <% 'devuelve un array con los directorios segun la variable 'direccion' Function MostrarListaCarpetas() Dim fso, f, f1, sf dim x,s s=array() x=0 Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(direccion) Set sf = f.SubFolders For Each f1 in sf if ucase(f1.name)<>"WEBMASTER" and ucase(f1.name)<>"CONTNET" and ucase(f1.name)<>"DIRNET" and ucase(f1.name)<>"MAILGESTION" and ucase(f1.name)<>"AQUIDTODO" and ucase(f1.name)<>"PORTALES" then redim preserve s(x) s(x)= f1.name x=x+1 end if Next MostrarListaCarpetas = s End Function %> <% 'devuelve un array con los archivos que tienen en su interior la cadena recibida 'tiene que recibir un array con los archivos del directorio actual 'revisa las direccion que estan en el directorio segun la variable 'direccion' Function BuscarDentro(a) Dim fso1, f1 dim x1,s1,s2 s1=array() x1=0 for i=0 to ubound(a) Set fso1 = CreateObject("Scripting.FileSystemObject") Set f1 = fso1.OpenTextFile(direccion & "\" & a(i), 1) archivo=f1.readall if instr(1,archivo,Request.QueryString("Cadena"),1) then 'busca el Title ini=instr(1,ucase(archivo),"",1) fin=instr(1,ucase(archivo),"",1) if ini>0 and fin>ini+7 then redim preserve s1(x1) s1(x1)=a(i) & "-" & mid(archivo,ini+7,fin-(ini+7)) ' Response.Write(s1(x1) & "
" & ini & "-" & fin) 'busca el 0 then fin=instr(ini,ucase(archivo),""">",1) if fin>ini then s1(x1)=s1(x1) & "
" & mid(archivo,ini+34,fin-(ini+34)) end if end if x1=x1+1 end if end if next BuscarDentro=s1 End Function %>