Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-05-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
javiparera,

Cita:
Empezado por javiparera
...estoy utilizando la función "DeleteFolder" que me propusiste pero no me está funcionando...borra todo lo que sea archivos, pero las carpetas las deja...


Te comento:

1- La función DeleteFolder, borra recursivamente todo el contenido de una carpeta y la carpeta en si misma.

2- Si la carpeta actual es la carpeta a borrar, DeleteFolder borrara todo su contenido (Archivos y carpetas) recursivamente pero no la carpeta actual en si misma.

Espero sea útil

Nelson.
Responder Con Cita
  #2  
Antiguo 29-05-2015
javiparera javiparera is offline
Registrado
NULL
 
Registrado: may 2015
Posts: 8
Poder: 0
javiparera Va por buen camino
Entiendo el funcionamiento de la función DeleteFolder...lo que no entiendo es a que te referís con "la carpeta actual". Lo que hago en sí es crear una carpeta auxiliar donde se descompriman los archivos, se renombren y desde ahí se copien a otra carpeta...
Veamoslo de esta forma...
creo una carpeta parcial, realizo todas las operaciones y luego cuando esta todo listo, copio en la carpeta Final... luego quiero que la carpeta pacial, desaparezca...
¿como podría hacerlo?
Responder Con Cita
  #3  
Antiguo 29-05-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
javiparera,

Cita:
Empezado por javiparera
...no entiendo es a que te referís con "la carpeta actual"...


Te comento:

1- La carpeta actual es la que esta definida por defecto en un programa, ya sea por que : Es la carpeta de ejecución de la aplicación, por la función SetCurrentDir o en este caso particular por que esta abierta en el explorador de Windows.

2- Para verificar el funcionamiento de la función DeleteFolder te sugiero : Crear un programa de prueba en el que se borre una carpeta que no cumpla con ninguna de las condiciones del punto 1.

Revisa esta información pertinente a la función DeleteFolder (Es la base de su funcionamiento):
Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 29-05-2015
javiparera javiparera is offline
Registrado
NULL
 
Registrado: may 2015
Posts: 8
Poder: 0
javiparera Va por buen camino
Ok...voy a seguir investigando y haciendo pruebas... en principio lo que hice es dejar la carpeta, ya que no se elimina automáticamente, la dejo... lo que hice fue poner una condición. Si el directorio no existe entonces que lo cree y si existe que opere directamente sobre la carpeta y listo...
Lo probé y funciona
Aún así haré un modulo a parte y probaré las funciones.. luego te digo que resulta. jeje
Abrazo grande y Gracias por tu ayuda capo
Responder Con Cita
  #5  
Antiguo 29-05-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
javiparera,

Cita:
Empezado por javiparera
...voy a seguir investigando y haciendo pruebas...ya que no se elimina automáticamente...
Cita:
Empezado por javiparera
...lo que hice fue poner una condición. Si el directorio no existe entonces que lo cree...


Te comento :

1- En el Msg #5 hay un link para descargar y probar el código propuesto.

2- En el código propuesto : Todos los directorios se crean de forma automática, no es necesario crearlos previamente.

Revisa esta imagen:



Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 29-05-2015 a las 21:40:37.
Responder Con Cita
  #6  
Antiguo 01-06-2015
javiparera javiparera is offline
Registrado
NULL
 
Registrado: may 2015
Posts: 8
Poder: 0
javiparera Va por buen camino
Genio Nelson...jeje por el momento lo resolví haciendo:
Código Delphi [-]
 if (not DirectoryExists('C:\carpetaZIP')) then
         crearcarpeta(dirdestino)
      else
         dirdestino:='C:\carpetaZIP';
porque el módulo de remover la carpeta no lo puse que se ejecute a través de un botón..sino que lo mando a llamar, que entiendo debe ser lo mismo, entonces me queda de esta manera:
Código Delphi [-]
function DeleteFolder(const DirectoryName:String):Boolean;
begin
  try
     if DirectoryExists(DirectoryName) then
     begin
        DeleteDirectory(DirectoryName,True);
        RemoveDir(DirectoryName);
        Result:=True;
     end
     else
        Result:=False;
  except
     Result:=False;
  end;
end;
y lo mando a llamar así:
Código Delphi [-]
 B:=DeleteFolder(borrardir); // Donde "B" es una variable boolean
saludos.-

Última edición por nlsgarcia fecha: 01-06-2015 a las 16:23:39. Razón: Sintaxis Delphi
Responder Con Cita
  #7  
Antiguo 01-06-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.700
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Archivos en Lazarus jbecerra Lazarus, FreePascal, Kylix, etc. 6 30-03-2015 18:44:19
Socket Error #10013. Access denied. Cabanyaler Internet 6 23-03-2012 09:06:14
error permission denied ? Ledian_Fdez MS SQL Server 1 01-11-2011 22:25:14
Access denied for user root Willo MySQL 4 14-01-2009 22:55:13
Error: SQL Server does not exist or access denied arantzal Internet 4 17-05-2005 15:31:34


La franja horaria es GMT +2. Ahora son las 17:32:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi