delphi删除只读文件


本文整理自网络,侵删。

 delphi删除只读文件

只读文件就是不能删除的文件,用DeleteFile函数对它来说是毫无意义的,要删除只读文件,只有先改变它的属性。如果你要删除一个文件,最好先作两个方面的考虑:

(1)判断该文件的属性。可以用上面提到的FileGetAttr与FileSetAttr函数。如果属性为只读,将它改为存档,然后删除它。

(2)先用DeleteFile函数试删除一下该文件,如果返回值为假,表示没有删除成功,在对该文件进行属性修改,将它改为存档,然后再用DeleteFile进行删除。

第二种方法是常用的文件删除方法,如果你想彻底删除某文件,而不顾它的属性,最好用这种方法,它的典型写法就是:

if(not DeleteFile('文件名')) then
begin
    FileSetAttr('文件名',faArchive);
    DeleteFile('文件名');
end;
关于只读文件,还有几点补充说明:

(1)文件存储在不可改动的介质上后,属性自动改为只读,如将文件刻录到光盘后,文件就变为只读了。再将光盘的文件重新拷回磁盘时,文件属性还是只读,如果不改变这个只读属性,这个文件就没法再进行内容写入了。因此,凡将光盘的文件直接拷回到磁盘后,如果这些文件还需要使用,例如进行读与写,就必须去掉只读属性。

(2)只读文件windows NT/2000/xp系统中不能用OpenFile函数打开,为什么要做这样的限制,只有微软才知道。如果你设计的软件要在多平台上运行,一定要在那个平台上测试一下,不是所有的函数都能在各个平台上正常使用的。

(3)用FileCreate文件创建函数,可以将同名的只读文件覆盖,为什么这个函数没有做出限制,也只有微软才知道。

以上这些,只是从程序上讲了如何删除只读文件,如果要在windows上手工操作,什么样的文件都可以删除,可想而知,这个系统的安全性是多么脆弱。

相关阅读 >>

Delphi 支持通配符删除文件

Delphi injectmemexe

Delphi 检查声卡是否安装

Delphi idhttp returning http 1.1/500 显示错误内容

Delphi 简单电池电量显示

Delphi 从 twebbrowser中获得当前输入处的链接

Delphi getsessionusername通过会话id得到会话名称

Delphi 实现文件实施监控

Delphi如何开发游戏外挂

Delphi实现文件拖放代码

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...