Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-05-2005
quake2420 quake2420 is offline
Miembro
 
Registrado: abr 2004
Posts: 28
Poder: 0
quake2420 Va por buen camino
Borrado de un directorio

Holas amigos.
Mi problema es el siguiente cunado cierro una aplicacion tengo que borrar el contenido de un directorio y todo lo que hay dentro de él, como lo tengo hecho me borra el contenido del directorio pero el directorio no se borra, el error que me da es el I/O Error 145, el cual significa que el directorio esta vacio, tampoco hay archivos ocultos, aqui os muestro el procedimiento:

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
i:integer;
diractual:boolean;
begin
Close;
//Borramos los archivos temporales usados
Deletefile(PChar(contmp));
Deletefile(PChar(temporalwpa));
Deletefile(PChar(estilotmp));
//Borramos de la carpeta plantillaswpa el archivo estilo.css si existe
if FileExists(ExtractFilePath(Application.ExeName)
+ 'plantillaswpa\estilo.css') then
begin
DeleteFile(PChar(ExtractFilePath(Application.ExeName)
+ 'plantillaswpa\estilo.css'));
end;
if DirectoryExists(PChar(ExtractFilePath(Application.ExeName)
+'plantillaswpa\imgs')) then
begin
for i:=1 to ndiapos do
begin
deletefile(PChar(ExtractFilePath(Application.ExeName)
+ 'plantillaswpa\imgs\' + 'tmp' + IntToStr(i) + '.jpg'));
end;
diractual:=SetCurrentDir(ExtractFilePath(Application.ExeName)
+ 'plantillaswpa');
RmDir(ExtractFilePath(Application.ExeName)
+ 'plantillaswpa\imgs\');
end;
end;


Gracias por adelantado
Responder Con Cita
  #2  
Antiguo 01-05-2005
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Hola... con este código puedes eliminar un directorio y su contenido, pero ojo que no va a la papelera
Para mostrar código usa las etiquetas delphi --> [ delphi ] al comenzar y --> [ /delphi ] al finalizar (sin los espacios), verás que es mucho más comoda la lectura.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 DirInfo: TSearchRec;
 r : Integer;
begin
 r := FindFirst('C:\MiDirectorio\*.*', FaAnyfile, DirInfo);
 while r = 0 do  begin
   if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
     (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
      if DeleteFile(pChar('C:\MiDirectorio\' + DirInfo.Name)) = false then
       ShowMessage('No se puede borrar: ' C:\MiDirectorio\ + DirInfo.Name);
       r := FindNext(DirInfo);
 end;
   SysUtils.FindClose(DirInfo);
   if RemoveDirectory('C:\MiDirectorio') = false then
    ShowMessage('No se puede borrar el directorio: ' C:\MiDirectorio);
end;
end.
Feliz día del trabajador a todos/as
Saludos
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.

Última edición por Pablo Carlos fecha: 02-05-2005 a las 00:03:42. Razón: aclarar uso de etiquetas
Responder Con Cita
  #3  
Antiguo 02-05-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
También puedes probar con un par de trucos que hay en la sección de Trucos del club Delphi:
http://www.clubdelphi.com/trucos.php

El 333 y el 310 se refieren a borrar un directorio completo. Puedes echarles un vistazo a ver si te dan alguna idea diferente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 00:13:01.


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
Copyright 1996-2007 Club Delphi