Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Borrar carpetas en delphi7 (https://www.clubdelphi.com/foros/showthread.php?t=21192)

Kivan 10-05-2005 12:12:55

Borrar carpetas en delphi7
 
Hola de nuevo, mi duda ahora es saber si hay alguna forma de borrar una carpeta en delphi aun ésta conteniendo archivos dentro. Estaria muy muy agradecido si me pudierais decir la forma de hacerlo. Muchisimas gracias a todos

FDB 10-05-2005 12:19:45

Buenas!

Te suguiero que uses la opcion "busqueda" del foro, puesto que este tema está hablado en varios hilos. Busca por ejemplo "borrar directorio" y verás diversos temas que tratan tu mismo problema.

Y ya de camino hechale un vistazo a la guia de estilo.

Saludos!

Kivan 10-05-2005 12:24:29

Gracias por la sugerencia, no se me habia ocurrio mirar :p.

Neftali [Germán.Estévez] 10-05-2005 12:29:09

Busca en la sección de trucos del Clubdelphi, recuerdo que hay dos que tienen el código necesario para realizar eso. Si la memoria no me falla 333 y 310.

Kivan 10-05-2005 12:35:32

Muxas gracias por la informacion, pero komo puedo buscar un numero especifico de un truco??

FDB 10-05-2005 13:00:04

Aquí lo tienes..

http://www.clubdelphi.com/vertruco.php?id=310

y

http://www.clubdelphi.com/vertruco.php?id=333

Kivan 10-05-2005 16:43:34

Muxas gracias de nuevo FDB. Espero que con esto se me resuelva el problemilla que se me habia planteado.

roman 10-05-2005 16:54:19

Aquí hay otra forma de borrar una carpeta con todo y sus archivos y subcarpetas de un sólo golpe.

// Saludos

Kivan 10-05-2005 18:23:09

Muchas gracias Roman esto me funciona a la perfeccion cuando le meto directamente la ruta en la funcion (ej: deletefolder ('.\data\edit'); ), pero en cambio cuando le asigno el valor del string mediante una variable
(ej : cadena:= '.\data\edit';
deletefolder (cadena); )
me da un fallo que me dice lo siguiente : No se puede eliminar Archivo: No se puede leer del disco o archivo de origen , No entiendo el por qué de ese fallo cuando se supone que a la funcion le pasas el mismo string. Me podrian dar una explicacion? Gracias.

Kivan 11-05-2005 16:54:58

Ya he resuelto mi duda al final he usado la siguiente funcion:

--------------------------------------------------------------------------
Código Delphi [-]
uses ShellAPI;
 
Function DelTree(DirName : string): Boolean;
var
  SHFileOpStruct : TSHFileOpStruct;
  DirBuf : array [0..255] of char;
begin
  try
   Fillchar(SHFileOpStruct,Sizeof(SHFileOpStruct),0) ;
   FillChar(DirBuf, Sizeof(DirBuf), 0 ) ;
   StrPCopy(DirBuf, DirName) ;
   with SHFileOpStruct do begin
    Wnd := 0;
    pFrom := @DirBuf;
    wFunc := FO_DELETE;
    fFlags := FOF_ALLOWUNDO;
    fFlags := fFlags or FOF_NOCONFIRMATION;
    fFlags := fFlags or FOF_SILENT;
   end; 
    Result := (SHFileOperation(SHFileOpStruct) = 0) ;
   except
    Result := False;
  end;
end;
--------------------------------------------------------------------------

Espero que en un futuro le sirva a la gente como me ha servido a mi. Gracias de nuevo por la ayuda que me habeis proporcionado.

Dragon 09-12-2005 21:37:28

Hola a todos estoy usando esas funciones que han comentado porque quiero borrar todos los dias unas carpetas con sus archivos y lo ejecuto mediante las tareas de windows.

El problema es que cuando la sesión del ordenador es la de administrador todo funciona bien pero cuando es un usuario avansado o usuario el programa se ejecuta pero no hace nada.

Tienen idea de como solucionar esto???.
Ya les estoy dando las gracias.

DarKraZY 10-12-2005 14:29:45

¿¿Es posible que este usuario que comentas (que tiene los permisos de usuario y usuario avanzado) no tenga permiso de escritura sobre esa carpeta??

Dragon 12-12-2005 19:26:44

Hola de nuevo, el usuario si tiene permiso en esa carpeta para guarda, leer y borrar en todas las que se encuentren dentro de ella.
Gracias.


La franja horaria es GMT +2. Ahora son las 19:49:40.

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