Nuevamente hoy escribiré código que trabaja con ficheros, pero ésta vez desde Delphi. Veremos como podemos eliminar archivos del disco de a uno o varios a la vez (no recursivamente). Será un pequeño procedimiento que recibe un String que representa la ruta del fichero, y luego es convertido a PAnsiChar para el objeto que usamos.
Utilizar la API de Windows
Primeramente necesitamos hacer uso de la siguiente clase:
ShellAPI
En la sección type declaramos como procedimiento público:
1 2 3 4 5 6 7 8 | type ... private { Private declarations } public { Public declarations } procedure BorrarFichero(fichero: String); end; |
y ahora vemos el desarrollo del procedimiento:
1 2 3 4 5 6 7 8 9 10 11 12 | procedure Tfrm1.BorrarFichero(fichero: String); var FileInfo: TShFileOpStruct; begin FileInfo.Wnd := Handle; FileInfo.wFunc := FO_DELETE; FileInfo.pFrom := PAnsiChar(fichero); // si quisieramos borrar varios ficheros podriamos poner asi: 'C:\*.bmp' FileInfo.pTo := nil; FileInfo.fFlags := FOF_NOCONFIRMATION; ShFileOperation(FileInfo); end; |
Código nativo de Delphi
Con el procedimiento anterior estabamos invocando a la API de Windows, el método alternativo es hacerlo con código nativo de Delphi y dejar que el se encargue de esta actividad.
1 2 3 4 5 | procedure Tfrm.BorrarFichero(fichero: String); begin if FileExists(fichero) then DeleteFile(fichero); end; |
Articulos Relacionados:









en
en
en
en
Sin Comentarios aun, puedes tú ser el primero en comentar!
Deja tu Comentario