为何不能删除目录?(100分)

  • 主题发起人 主题发起人 火柴天堂
  • 开始时间 开始时间

火柴天堂

Unregistered / Unconfirmed
GUEST, unregistred user!
程序如下
begin
{ Get directory name from TEdit control }
{$I-}
try
RmDir(DelEdit.Text);
if IOResult <> 0 then
MessageDlg('Cannot remove directory', mtWarning, [mbOk], 0)
else
MessageDlg('Directory removed', mtInformation, [mbOk],0);
finally
end;
{$I+}
执行时IOResult总<>0,去除{I-}后报错i/o16
 
RmDir只能清除空目录的,你确定DelEdit.Text指的目录为空吗?
 
RmDir只能清除空目录的,如果目录不为空,需使用其它方法。
 
删除目录?昏倒,我还没有碰到过呢!
 
你确信编辑框中的目录正确吗如:'d:/tools/123'
我刚试验过,代码没有问题.
 
确保目录为空。
 
是不是错在别的地方???不知道.
:+)
 
To 火柴天堂:
最好不要使用 RmDir 这个函数,不光因为使用这个函数
需要递归地删除子目录及文件,而且删除的数据不能恢复。
API 函数 SHFileOperation 可以做得又快又好,它是
通过调用 Explore 的 Shell 功能实现的,当然很安全。
就像在 Explore 的窗口中按下 Del 键删除一个目录一样,
而且还可以选择是否保留到回收站中。
在执行过程中,可能会出现一些小窗口的提示,比如
文件的小图标从左边飞到右边,可以设置一些选项把它关掉。
From: BaKuBaKu
 
多人接受答案了。
 

Similar threads

后退
顶部