FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
borrar carpeta
tengo una pequeña aplicación para pruebas, y todos los ficheros resultantes que ya no me sirven van a parar a una carpeta llamada pruebas.
Como podría hacer para que a través de un botón en un formulario se borre el contenido de dicha carpeta, sólo el contenido, la carpeta debe seguir intacta, para seguir albergando las sucesivas pruebas que vaya realizando. |
#2
|
||||
|
||||
Aquí tienes un ejemplo, solo lo tendrías que retocar un poco:
http://www.clubdelphi.com/foros/arch...borrar+carpeta
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 19-06-2003 a las 20:03:01. |
#3
|
||||
|
||||
Otro mas en trucomania...
-Añade 'ShellApi' en el uses de tu form -Y utiliza esta función: Código:
function ALaPapelera(Fichero:string):boolean; var FileOp: TSHFileOpStruct; begin if FileExists(Fichero)then begin FillChar(FileOp,SizeOf(FileOp),#0); with FileOp do begin Wnd:= Application.Handle; wFunc:= FO_DELETE; pFrom:= PChar(Fichero+#0#0); fFlags:= FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION; end; Result:= (ShFileOperation(FileOp)=0); end else Result:=False; end; Código:
procedure TForm1.Button1Click(Sender: TObject); begin if not ALaPapelera ('c:\kk\Fichero.txt') then ShowMessage('No se pudo borrar el fichero/Can not delete file'); end; Código:
procedure TForm1.Button1Click(Sender: TObject); begin if not ALaPapelera ('c:\kk\Fichero1.txt'+#0+'c:\windows\Fichero2.txt') then ShowMessage('No se pudo borrar el fichero/Can not delete file'); end; Simplemente separalos con un caracter 0 ( #0) Para borrar un subdirectorio... pues sirve la misma función... por ejemplo: ALaPapelera ('c:\UnDirectorio')
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#4
|
||||
|
||||
Hola.
Hoy he necesitado esta función, y la he modificado ligeramente : Código:
function ALaPapelera(Fichero:string):boolean; var FileOp: TSHFileOpStruct; begin FillChar(FileOp,SizeOf(FileOp),#0); with FileOp do begin Wnd:= Application.Handle; wFunc:= FO_DELETE; pFrom:= PChar(Fichero+#0#0); fFlags:= FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION; end; Result:= (ShFileOperation(FileOp)=0); end; Es decir algo como ALaPapelera('C:\Temp\*.tmp'); Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
|