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

Lista despegable que muestre carpetas y subcarpetas

Estas en el tema de Lista despegable que muestre carpetas y subcarpetas en el foro de ASP Clásico en Foros del Web. Casi lo tengo, pero me falta el detalle (Que diría el gran sabio Cantinflas) Necesito mostrar en una lista despegable todas las carpetas y subcarpetas ...
  #1 (permalink)  
Antiguo 10/09/2007, 11:29
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 21 años, 5 meses
Puntos: 1
Lista despegable que muestre carpetas y subcarpetas

Casi lo tengo, pero me falta el detalle (Que diría el gran sabio Cantinflas)

Necesito mostrar en una lista despegable todas las carpetas y subcarpetas a partir de una ruta preestablecida. El listado de carpetas y subcarpetas, y subcarpetas de las subcarpetas, etc.

El formato de presentación en la lista quiero que sea así:

carpeta 1
carpeta 2
carpeta 2/sub-carpeta 2
carpeta 2/subcarpeta 2/sub-carpeta 22

Estoy intentando con este código, pero solo consigo recoger la última variable, no las anteriores:

<%
path =Server.MapPath("../../Ruta_Fotos/")
ListarCarpetas path,""

function ListarCarpetas(path,separador)

dim folder, file, item
set fs = CreateObject("Scripting.FileSystemObject")
set folder = fs.GetFolder(path)


Response.Write "<option value="&folder.Name&">"&separador&folder.Name&"</option>"

separador = folder.Name&"/"

for each item in folder.SubFolders
ListarCarpetas item.Path,separador
next

set folder = Nothing
set fs = Nothing
end function


%>

SOS - SOS -SOS

Gracias de antemano!!
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #2 (permalink)  
Antiguo 10/09/2007, 11:54
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: Lista despegable que muestre carpetas y subcarpetas

Cita:
for each item in folder.SubFolders
'aqui metes las opciones
Response.Write "<option value="&folder.Name&">"&separador&folder.Name&"</option>"
next
suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 10/09/2007, 11:58
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Lista despegable que muestre carpetas y subcarpetas

Gracias JuanRa, pero si hago eso solo mostrará las subcarpetas del primer nivel, lo que hago es volver a llamar a la función para que muestre todas las subs.

Gracias de todas formas
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #4 (permalink)  
Antiguo 10/09/2007, 12:12
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: Lista despegable que muestre carpetas y subcarpetas

ah oki
cierto
no me fije que era una funcion

pero tu funcion su la imprimes se imprimiria asoi.

'Response.Write "<option value="&folder.Name&">"&separador&folder.Name&"</option>"
Response.Write folder.Name & "<br>"

y solo listaria el ultimo folder asociado
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 10/09/2007, 12:15
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Lista despegable que muestre carpetas y subcarpetas

Claro, eso es lo que pasa ahora mismo, solo recoge la última carpeta, y lo que necesito es que me devuelva todas las relacionadas...

:(
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #6 (permalink)  
Antiguo 10/09/2007, 13:28
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Lista despegable que muestre carpetas y subcarpetas

SOLUCIONADO, cuelgo el código por si el día de mañana a alguien le sirve:

<%
Dim ruta,sOptions,sRuta_Mostrar

ruta="/www/Imagenes_Web/imag_contenidos/"

set oFSO = server.CreateObject ("Scripting.FileSystemObject")
set oFolder_base0 = oFSO.GetFolder(server.MapPath(ruta)) 'base folder (Physical)

function escribir_carpetas()
response.Write "<select name='selCurrFolder' id='selCurrFolder' onchange='changeFolder()' class='inpSel'>"

response.write recursivo(oFolder_base0,oFolder_base0)

response.Write "</select>"
end function

function recursivo(oFolder,oFolder_base)
set oSubFolders = oFolder.SubFolders

if InStr(1,oFolder.path,"_vti_cnf")=0 then
sRuta_Mostrar = Replace(Replace(oFolder.path,oFolder_base.path,"") ,"\","/")

if CStr(currFolder)=CStr(oFolder.path) then
sOptions = sOptions & "<option value=""" & oFolder.path & """ selected>" & sRuta_Mostrar & "</option>" & vbCrLf
else
sOptions = sOptions & "<option value=""" & oFolder.path & """>" & sRuta_Mostrar & "</option>" & vbCrLf
end if
end if

for each item in oSubFolders
recursivo item,oFolder_base
next

sOptions = sOptions & vbCrLf
recursivo = sOptions
end function

escribir_carpetas()

%>

Funciona perfectamente
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
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 08:25.