Así como vimos, en artículos anteriores, como mover, borrar y copiar una carpeta, ahora toca el turno de los files (archivos).
En este artículo veremos como borrar un archivo desde Delphi (Delphi delete file), para ello deberemos poner en uso la unit System.SysUtils.
Dentro de SysUtils tenemos la función DeleteFile, que elimina un archivo (pasado como parámetro) del disco, pero cuidado, lo borra completamente y no lo vamos a poder recuperar.
Es una función muy fácil de utilizar, solo debemos pasar como parámetro la ruta y el nombre del archivo, y nos devolverá True si el borrado fue exitoso o false si no lo fue.
Declaración de la función de Delphi SysUtils.DeleteFile
La declaración de la Función DeleteFile() en Delphi es la siguiente:
Uses
System.SysUtils;
function DeleteFile(const FileName: string): Boolean;
Como se observa en la declaración, solo tenemos un parámetro llamado FileName, de tipo string sonde pasaremos la ruta competa y el nombre del archivo a eliminar. La misma nos dará un resultado tipo Boolean, donde devuelve True si la eliminación del archivo fue exitoso, o False si se ha producido algún error, como por ejemplo que el archivo ya no exista.
Ejemplo de DeleteFile()
El siguiente ejemplo elimina un archivo ubicado en la unidad “c:/file.txt”:
Uses
System.SysUtils;
...
procedure TForm1.Button1Click(Sender: TObject);
var
FileName: string;
begin
// Ruta y nombre del archivo a eliminar
Filename:= 'c:/file.txt';
// Verificamos primero si el archivo existe
if FileExists(FileName) then
begin
// Preguntamos si quiere eliminar el archivo
if MessageDlg(('Realmente desea eliminar el archivo ' + ExtractFileName(FileName) + '?'),
TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0, TMsgDlgBtn.mbNo) = IDYes then
begin
// Eliminamos el archivo
if DeleteFile(FileName) then
MessageDlg(('Se ha eliminado el archivo ' + ExtractFileName(FileName) + ' con éxito.'),
TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbOK], 0)
else
MessageDlg(('Se ha producido un error al eliminar el archivo ' + ExtractFileName(FileName) + '.'),
TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbOK], 0);
end;
end
else
begin
// Mensaje de error si el archivo no existe
MessageDlg(('El archivo ' + ExtractFileName(FileName) + ' no existe.'),
TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbOK], 0);
end;
end;