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

Llenar arreglo desde una variable para borrar archivos

Estas en el tema de Llenar arreglo desde una variable para borrar archivos en el foro de ASP Clásico en Foros del Web. Hola a todos espero que me puedan ayudar con el siguiente inconveniente, bueno aca os explico: Tengo un manejador de archivos el cual esta diseñado ...
  #1 (permalink)  
Antiguo 06/08/2003, 12:44
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años
Puntos: 0
Pregunta Llenar arreglo desde una variable para borrar archivos

Hola a todos espero que me puedan ayudar con el siguiente inconveniente, bueno aca os explico:
Tengo un manejador de archivos el cual esta diseñado para la intranet que estoy desarrollando entonces cada usuario tiene su carpeta personal en donde puede crear carpetas y subir archivos, hasta ahi todo correcto.
El problema se basa en que listo el contenido de una carpeta y al costado de cada item(archivo, carpeta) que contiene esa carpeta,pongo un checkbox para poderlo seleccionar asi como de los mail, eso lo hago para poder efectuar la operación de borrado, entonces como borro en caso de que haya seleccionado dos archivo y una carpeta: el checkbox tiene la siguiente estrutura:
<input type="checkbox" name="campo" value="<%=nomb_carp%>">
<input type="checkbox" name="campo" value="<%=nomb_file%>">

como pueden apreciar lo checkbox tienen el mismo nombre ya que es una lista, entonces de esos nombres creo que la solución sería llenarlos en un arreglo para eliminarlos....haber una yuda de como hacerlo....
  #2 (permalink)  
Antiguo 06/08/2003, 12:52
Avatar de buliwyf  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 221
Antigüedad: 22 años, 5 meses
Puntos: 1
si te entiendo bien entonces no veo cual es el inconveniente, ya que el hecho de que los checkbox se llamen igual, ya convierte el resultado en un array, por lo demas una vez que nstancies el objeto Filesystem seria algo como
<%
arch=split(campo,",")
for i=0 to ubound(arch)
fs.delete arch(i)
next
%>

en todo caso solo tendrias que hacer un if denro del bucle para verificar si el nombre pertenece a un archivo o a una carpeta.


saludos
__________________
RTFM antes de preguntar...
  #3 (permalink)  
Antiguo 06/08/2003, 13:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
A ver, si puedes borrar tanto archivos como carpetas al mismo tiempo, lo que se me ocurre es que primero tienes que saber si es un archivo o si es una carpeta para saber que método del fso vas a utilizar, supongo que la forma de identificarlos, sería que los archivos tienen una extensión...".xxx" que sería "." + "xxx", si cumple con que los 4 caracteres últimos del nombre es un . + 3 caracteres es un archivo. Se me ocurre que podemos valernos de una función que regrese true archivo, false carpeta

Function soy_archivo(item)
archivo= false
If len(item) > 4 Then
subCadena= right(item,4)
If left(subCadena, 1) = "." Then
archivo= true
Else
archivo= false
End If
Else
archivo= false
End If
que_soy= archivo
End Funtion

'Creamos el arreglo
arrItems= split(request.Form("campo"), " ,")
'Obtenemos el índice mayor
count= uBound(arrItems)

Set FSO = Server.createObject("Scripting.FileSystemObject")

'Aqui vamos borrando...
For i=0 to count
borra_item= que_soy(arrItems(i))
If borra_item Then
fso.deleteFile "ruta_archivo\" & arrItems(i)
Else
fso.deleteFolder "ruta_folder\" & arrItems(i)
End If
Next

Bueno, algo así se me ocurre...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 07/08/2003, 03:20
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años
Puntos: 1
El tema de los 4 caracteres para saber el tipo puede que no te funcione en determinados casos (recuerda que las folder tambien puede llevar extension).

Yo utilizaria el método FolderExists a cada elemento del directorio.
Si me devuelve True, es una carpeta, si false, es un fichero.

ciao
  #5 (permalink)  
Antiguo 07/08/2003, 11:09
Avatar de grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 22 años
Puntos: 0
Bueno gracias por sus aporte me sirvio de mucho, lo estube probando y me resulto los agradesco bastante, y ya me esta fascinando esto del ASP es que yo programo mas en PHP pero me doy cuenta de que cada lenguage tiene lo suyo.....Hasta otra..
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 01:38.