Borrar un directorio con contenido
Hola a todos, esta vez mi pregunta es si existe algún comando para borrar un directorio con todo su contenido, ya que con rmdir(), solo me permite borrar si no contiene nada.
Muchas Gracias. Mariana |
Prueba con esta función:
Código:
procedure Tselecdir.borrarClick(Sender: TObject); |
Hola Mariana, si el codigo anterior no te funciona pruebe este.
procedure TForm1.Button1Click(Sender: TObject); var DirInfo: TSearchRec; r : Integer; begin r := FindFirst('C:\Download\Test\*.*', FaAnyfile, DirInfo); while r = 0 do begin if ((DirInfo.Attr and FaDirectory <> FaDirectory) and (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then if DeleteFile(pChar('C:\Download\test\' + DirInfo.Name)) = false then {Si no puede borrar el fichero} ShowMessage('Unable to delete : C:\Download\test\' + DirInfo.Name); r := FindNext(DirInfo); end; SysUtils.FindClose(DirInfo); if RemoveDirectory('C:\Download\Test') = false then {Si no puedes borrar el directorio} ShowMessage('Unable to delete dirctory : C:\Download\test'); end; Espero te sirva. |
Solo para agregar un poco de código al "repositorio" del foro, recién desarrollé esto:
Saludos! |
Pues otro más para la colección:
// Saludos |
Correción de código
nada que ver
disculpa |
No entendi..... ¿hay algún cambio a mi código?
|
Cita:
NO, ES SOLO QUE ME EQUIVOQUÉ PERDÓN. PERO SI TENGO UN PROBLEMA. NO PUEDO BORRAR EL DIRECTORIO SI RECIEN ESCRIBÍ UN ARCHIVO EN ÉL, SUPONGO QUE DEBO LIBERARLO DE MEMORIA ANTES, PORQUE WINDOWS ME DICE QUE HAY OTRO PROGRAMA USANDOLO. EL CODIGO QUE USÉ ES ESTE: Cita:
|
No vas a poder borrar una carpeta si no puedes borrar todos los archivos contenidos por ella, y no podrás borrar un archivo si esta en uso. Si tu programa lo esta usando solo tienes que cerrar el archivo. Muchas veces sucede que hay diálogos que tienen abiertas carpetas, entonces algunas versiones de windows no te dejan borrar estos directorios por ese motivo, otra precaución puede ser cambiar el currentpath de la aplicación.
Saludos! Saludos! |
|
La franja horaria es GMT +2. Ahora son las 12:48:17. |
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