如何删除文件夹?或者是清空文件夹中的文件?(30分)

  • 主题发起人 主题发起人 laohe
  • 开始时间 开始时间
L

laohe

Unregistered / Unconfirmed
GUEST, unregistred user!
例如,我想删除 c:/dir
如何实现这个功能呢?

注:能清空该目录的文件也可以;
 
rmdir('c:/dir')//如果该文件不为空则不行。
 
老大,不是说了文件夹里有文件吗!主要是想删除里面的文件
 
procedure TForm1.Button1Click(Sender: TObject);
var
del:TSHFILEOPSTRUCT;
begin
with del do
Wnd:=Handle;
pFrom :='c:/1';
wFunc :=FO_DELETE ;
fFlags:=FOF_NOCONFIRMATION ;
end;
end;
 
呵呵,没注意。
使用shfileoperation函数恐怕是最简单的办法了吧?还有人有更简单的办法吗?



uses shellapi;

{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);

Var

T:TSHFileOpStruct;

P:String;

begin

P:='d:/address';//这里改成你要删除的任意目录名

With T do

Begin

Wnd:=0;

wFunc:=FO_DELETE;

pFrom:=Pchar(P);

pTo:=nil;

fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息

hNameMappings:=nil;

lpszProgressTitle:='正在删除文件夹';

fAnyOperationsAborted:=False;

End;

SHFileOperation(T);

end;
 
D影子:你好
TSHFILEOPSTRUCT;
是什么;没有定义,出错
 
kingdeezj: TSHFileOpStruct没有定义,出错
 
可以了,Kingdeezj大侠的可用,影子大侠的会出错;分数分了;分数虽少,感谢却重

谢谢
 
kingdeezj:请教一下,

你这个过程将文件删除到回收站;能不能直接删除了,
 
后退
顶部