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 14-08-2004
igest2000 igest2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Oviedo
Posts: 47
Poder: 0
igest2000 Va por buen camino
Borrando en cadena

Saludos a todos!!

Estoy desarrollando una pequeña herramienta para la catalogación de imagenes gif y me he encontrado cun un pequeño problema qyue me gustaria ver si podéis ayudarme. Veamos os pongo en situacion:

En el programa pueden organizarse categorias de forma jerárquica, lo que significa tener categorias con subcategorias asociadas y asi sucesivamente sin ningún límite. Bien cada categoria implica tener una carpeta física en el disco duro. Y cada una de estas categorias pueden contener las imagenes en formato gif.

El problema se me plantea con el borrado, utilizando la fuincion RemoveDir. COmo sabréis, esta funcion me permite borrar un directorio, siempre y cuando este este vacio. Bien, la funcion de borrado me borra todos los archivos de imagen que contengan las carpetas, pero resulta que las carpetas no se borran. ¿Será quizas por los archivos ocultos que crea el WXP para catalogar las imagenes?

En fin, lo que necesito en definitiva es crear una funcion que me permita realizar un borrado en cadena a partir de un directorio dado, para lo cual si me podéis echar una mano os estare muy agradecido.

Saludos y gracias de antemano por al menos haber leido el post.
__________________
=================
El destino esta marcado
y ellos lo saben.
=================
Responder Con Cita
  #2  
Antiguo 14-08-2004
Avatar de VolaRe
VolaRe VolaRe is offline
Miembro
 
Registrado: ago 2003
Posts: 121
Poder: 21
VolaRe Va por buen camino
¿Que funcion de borrado de archivos usas?
Te recomiendo que primero uses FindFirst, FindNext y FindClose y cuando hayas acabado con esas funciones uses esa funcion de borrado de directorio (RemoveDir). Puedes buscar en la ayuda de delphi que te esplica muy bien como usar esas tres funciones que te he comentado.
Suerte compañero
Responder Con Cita
  #3  
Antiguo 14-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una manera de borrar toda una carpeta sin necesidad de recorrer recursivamente todas las subcarpetas es utilizando la función ShFileOperation:

Código Delphi [-]
uses
  ShellApi;

procedure DeleteFolder(Folder: String);
var
  FileOpInfo: TShFileOpStruct;

begin
  FillChar(FileOpInfo, SizeOf(FileOpInfo), 0);
  FileOpInfo.wFunc := FO_DELETE;
  FileOpInfo.pFrom := PChar(Folder);
  FileOpInfo.fFlags := FOF_NOCONFIRMATION;

  ShFileOperation(FileOpInfo);
end;

// Saludos
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 10:58:37.


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