delphi 删除文件
正如我们在之前的文章中看到的,如何移动、删除和复制文件夹,现在轮到文件了。
在本文中,我们将看到如何从 Delphi 中删除文件(Delphi 删除文件),为此我们将不得不使用System.SysUtils单元。
在 SysUtils 中,我们有DeleteFile函数,它从磁盘中删除一个文件(作为参数传递),但要小心,它会完全删除它,我们将无法恢复它。
这是一个非常容易使用的函数,我们只需要将文件的路径和名称作为参数传递,如果删除成功则返回True,否则返回False。
Delphi 函数 SysUtils.DeleteFile 的声明
Delphi中DeleteFile()函数的声明如下:
Uses
System.SysUtils;
function DeleteFile(const FileName: string): Boolean;
从声明中可以看出,我们只有一个名为 FileName 的参数,它是字符串类型,我们将在其中传递要删除的文件的整个路径和名称。它将给我们一个布尔类型的结果,如果文件删除成功,则返回 True,如果发生错误,例如文件不再存在,则返回 False。
DeleteFile() 示例
以下示例删除位于驱动器“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;
代码2:
del('C:\Users\Administrator\Desktop\delphi\wenjian\Win32\Debug\','*.txt');
//删除文件 目录 //文件名 可以有通配符
procedure del(mulu : string ; f : string);
var
SearchRec : TSearchRec;
begin
//查找相应目录的指定文件 文件类型 any 存放查找结果
if FindFirst(mulu+f, faAnyFile, SearchRec)=0 then
begin
repeat
//修改文件属性为普通属性值 不然可能无法删除
FileSetAttr(mulu+SearchRec.Name,0);
//删除文件 查找的结果会存放到 name
DeleteFile(mulu+SearchRec.Name);
//继续按查找第一个的条件查找下一个文件
until(FindNext(SearchRec)<>0);
end;
//释放内存
FindClose(SearchRec);
end;
关于deletefile 这个函数 我引用的是 System.SysUtils
还有一个是引用Winapi.Windows 功能一样 System.SysUtils 里的也是调用windows下的
System.SysUtils 传递的参数为string
Winapi.Windows 需要类型转换一下PChar(这里放的是string);
————————————————
原文链接:https://blog.csdn.net/qq_38204686/article/details/78530175
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.044787168502808 seconds