Club Delphi  
    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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2015
jbecerra jbecerra is offline
Miembro
NULL
 
Registrado: mar 2015
Posts: 16
Poder: 0
jbecerra Va por buen camino
Borrar Carpeta

Hola a todos...quería hacer una consulta.. ¿Existe alguna función que permita eliminar una carpeta y todo su contenido?
Estuve probando por ejemplo "removedir" y también "rmdir" y no me funcionaron. Tal vez lo apliqué mal.
¿me podrán dar una ayudita?
saludos.-
Responder Con Cita
  #2  
Antiguo 06-04-2015
jbecerra jbecerra is offline
Miembro
NULL
 
Registrado: mar 2015
Posts: 16
Poder: 0
jbecerra Va por buen camino
Probé también con DeleteDirectory y solo me borró el contenido de la carpeta...pero no la carpeta en sí. Yo quisiera poder borrar todo junto en un solo paso
Responder Con Cita
  #3  
Antiguo 06-04-2015
jbecerra jbecerra is offline
Miembro
NULL
 
Registrado: mar 2015
Posts: 16
Poder: 0
jbecerra Va por buen camino
Ya lo solucione
Responder Con Cita
  #4  
Antiguo 06-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jbecerra.
Cita:
Empezado por jbecerra Ver Mensaje
Ya lo solucione
¿ Como lo hiciste ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 06-04-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jbecerra Ver Mensaje
Ya lo solucione
Cita:
GUÍA ALTERNATIVA
  1. No te preocupes por dónde colocar tus preguntas. A nosotros nos encanta abrir todos los mensajes sin importar en qué foro estén.
  2. Ni pienses qué título ponerle a tu mensaje. "Tengo una duda" es suficiente para que nosostros entendamos que estás en problemas.
  3. Cuando te aparezca un mensaje de error, no te molestes en decirnos cuál es. Nos encanta tratar de adivinar.
  4. Cuando publiques código no te preocupes porque quede bien presentado. Nosotros distinguimos perfectamente los bloques sin necesidad de ninguna indentación.
  5. Si tienes un problema con bases de datos no es necesario que nos digas qué motor usas, nosotros sabemos la respuesta para cualquiera de ellos.
  6. Si no se entiende lo que preguntas, ni te molestes en aclarar. Nos fascinan los misterios.
  7. No te esfuerces en oprimir F1. Nosotros ya lo hemos hecho y podemos darte la respuesta más rápido.
  8. La opción de búsqueda en los foros sólo está para adornar la página. Es divertidísimo contestar una y otra vez lo mismo.
  9. ¿Google? Eso es para nerds como nosotros.
  10. Ante un problema, no te molestes en tratar de entenderlo. Nosotros ya nos hemos quemado las pestañas por ti y estamos felices de escribirte el código.
  11. Si te plase, eskribe con kas y faltas de hortografia. Komo nosotros no entramos a los chats nos hencanta pensar ke estamos en 1.
  12. Si en cinco minutos nadie te ha contestado, siéntete en libertad de abrir cuantos hilos puedas para preguntar lo mismo. Tú no mereces ese trato.
  13. Nunca des las gracias. Nos encanta responder sin más aliciente que ver nuestro nombre escrito.
  14. Cuando escribas un mensaje, siéntete en libertad de no volver en tres semanas. Nosotros estaremos aquí resolviendo tu problema.
  15. Si eres nuevo, acláralo desde el principio. Con eso basta para que nosotros resolvamos tu problema. Tú aún no puedes consultar la ayuda.
  16. Si alguien te remite a la guía de estilo, no te molestes en leerla. Tú tienes cosas más importantes que hacer y a fin de cuentas, nadie la lee.
  17. Si encuentras la solución tú mismo, no te molestes en explicarla. Bastará con un "Ya lo resolví, gracias". Nos emociona ver gente autosuficiente.
  18. No dudes en pedir que te envíen la solución a tu correo. El foro está sólo para los ociosos y tú no tienes tiempo que perder.

...........


.
Responder Con Cita
  #6  
Antiguo 06-04-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
jbecerra,

Cita:
Empezado por jbecerra
...¿Existe alguna función que permita eliminar una carpeta y todo su contenido?...Ya lo solucione...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function DeleteDirectory(const DirectoryName: String) : Boolean;
var
   SR: TSearchRec;
begin
   try
      if FindFirst(DirectoryName + '\*.*', faAnyFile, SR) = 0 then
      repeat
         if (SR.Attr and faDirectory = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') then
            DeleteDirectory(IncludeTrailingPathDelimiter(DirectoryName) + SR.Name);

         if (SR.Attr and faArchive = faArchive) then
            DeleteFile(DirectoryName + '\' + SR.Name);
      until FindNext(SR) <> 0;
      RemoveDir(DirectoryName);
      Result := False;
   finally
      FindClose(SR);
      Result := True;
   end;
end;

function RemoveFolder(const FolderName : String) : Boolean;
var
   SI: TSHFileOpStructA;
begin
   with SI do
   begin
      Wnd := HInstance;
      wFunc := FO_DELETE;
      pFrom := PChar(FolderName + #0);
      pTo := nil;
      fFlags := FOF_NOCONFIRMATION or FOF_SILENT;
   end;
   SHFileOperation(SI);
   if not SI.fAnyOperationsAborted then
      Result := True
   else
      Result := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   if DeleteDirectory('C:\TestRemoveFolder1') then
      MessageDlg('Directorio Removido Satisfactoriamente',mtInformation,[mbok],0)
   else
      MessageDlg('Error en Delete de Directorio',mtError,[mbok],0)
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   if RemoveFolder('C:\TestRemoveFolder2') then
      MessageDlg('Directorio Removido Satisfactoriamente',mtInformation,[mbok],0)
   else
      MessageDlg('Error en Delete de Directorio',mtError,[mbok],0)
end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite remover de forma recursiva un directorio del sistema de archivos de Windows por medio de dos funciones distintas pero equivalentes a nivel funcional.

Revisa este código:
Código Delphi [-]
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
   DirectoryName : String;

begin

  DirectoryName := 'C:\TestRemoveFolder';

  if DirectoryExists(DirectoryName) then
  begin
     DeleteDirectory(DirectoryName,True);
     RemoveDir(DirectoryName);
     MessageDlg('Directorio Removido',mtInformation,[mbok],0)
  end
  else
     MessageDlg('Directorio No Existe',mtError,[mbok],0)

end;

end.
El código anterior en Lazarus Versión 1.2.6 FPC Version 2.6.4 bajo Windows 7 Professional x32, Permite remover de forma recursiva un directorio del sistema de archivos de Windows.

Te sugiero revisar nuevamente la Guía de estilo de los foros.

¡Gracias por tu cooperación!

Saludos,

Nelson.

Última edición por nlsgarcia fecha: 07-04-2015 a las 16:18:59.
Responder Con Cita
  #7  
Antiguo 07-04-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
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
Cita:
Empezado por jbecerra Ver Mensaje
Ya lo solucione
Estaría bien poner la solución aquí (para el próximo que llegue a este hilo).
__________________
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
  #8  
Antiguo 07-04-2015
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
A todos nos hace feliz que lo hayas resuelto, pero ¿vas a dejarnos asi?
__________________
http://www.gestionportable.com
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar, mover y borrar una carpeta y todo su contenido dec Trucos 6 01-04-2015 19:33:46
Como borrar una carpeta del regedit desde mi Aplicacion carlosprotos Varios 2 25-11-2014 02:10:20
Como borrar los archivos de la carpeta Windows\Temp\ JoAnCa Varios 4 02-02-2011 16:44:55
Borrar archivos dentro de carpeta ØnLy Varios 1 23-11-2010 06:36:55
borrar carpeta jomaho Varios 3 17-07-2003 01:16:31


La franja horaria es GMT +2. Ahora son las 12:24: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