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

Array de un carpeta completa

Estas en el tema de Array de un carpeta completa en el foro de ASP Clásico en Foros del Web. Necesito hacer un array con todos los archivos de una carpeta. Tengo esto: Código HTML: <% StrCarpeta = server.mappath("/mfondo") Dim oFolders Set oFolders = Server.CreateObject("Scripting.FileSystemObject") ...
  #1 (permalink)  
Antiguo 20/11/2005, 12:04
Avatar de eeeee  
Fecha de Ingreso: febrero-2004
Ubicación: Almería
Mensajes: 397
Antigüedad: 21 años, 2 meses
Puntos: 0
Array de un carpeta completa

Necesito hacer un array con todos los archivos de una carpeta.
Tengo esto:
Código HTML:
<%
StrCarpeta = server.mappath("/mfondo")
Dim oFolders
Set oFolders = Server.CreateObject("Scripting.FileSystemObject")
For Each Item In oFolders.GetFolder(StrCarpeta).Files

Qué pongo aquí ?

Next
Set oFolders = Nothing
%> 
Gracias
__________________
Eusol .............
aprendiendo de ustedes
________________________

http://www.alicun.com
  #2 (permalink)  
Antiguo 20/11/2005, 12:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Algo asi:

Código:
i = 0
For Each Item In oFolders.GetFolder(StrCarpeta).Files
  redim preserve arrFiles(i)
  arrFiles(i) = item.name
  i = i + 1
Next
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 20/11/2005, 12:24
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 3 meses
Puntos: 6
¡Vaya, así que "preserve"! Bueno es saberlo.
  #4 (permalink)  
Antiguo 20/11/2005, 12:25
Avatar de eeeee  
Fecha de Ingreso: febrero-2004
Ubicación: Almería
Mensajes: 397
Antigüedad: 21 años, 2 meses
Puntos: 0
Me da error de que arrFiles no está definido
y si pongo arriba
Dim oFolders, arrFiles
me da error de que no coinciden los tipos en
redim preserve arrFiles(i)

¿Que puede pasar?
__________________
Eusol .............
aprendiendo de ustedes
________________________

http://www.alicun.com
  #5 (permalink)  
Antiguo 20/11/2005, 12:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Que el arreglo dinamico debe ser dimensionado.

Código:
Dim arrFiles()
i = 0
For Each Item In oFolders.GetFolder(StrCarpeta).Files
  redim preserve arrFiles(i)
  arrFiles(i) = item.name
  i = i + 1
Next
Cita:
¡Vaya, así que "preserve"! Bueno es saberlo.
un_tio, el preserve sirve para "preservar" o mantener los elementos que este array tiene y despues redimensionarlo, ya que de no preservarlos, el arreglo sera dimensionado, pero sus valores se perderian.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 20/11/2005, 13:33
Avatar de eeeee  
Fecha de Ingreso: febrero-2004
Ubicación: Almería
Mensajes: 397
Antigüedad: 21 años, 2 meses
Puntos: 0
Bien, ya no me da error pero no se cual es el delimitador ya que crea el array todo junto sin espacios ni nada

me gustaría saber como lo leo en javascript

sal2
__________________
Eusol .............
aprendiendo de ustedes
________________________

http://www.alicun.com

Última edición por eeeee; 20/11/2005 a las 13:59
  #7 (permalink)  
Antiguo 20/11/2005, 16:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Que delimitador?? si te refieres a descomponer este array podrias valerte de la funcion join

No estoy muy seguro de que sea la sintaxis correcta de javascript...

<script language="javascript">
strJavascript = "<%=join(arrFiles, ",")%>";
arrJavascript = strJavascript.split(",");
</script

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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:12.