我有有个临时文件夹,里面有文件和目录,怎样删除他们啊
解决方案 »
- 相同的程式名,怎么确定其中某一个的进程号PID?(50分)
- 最簡單的多表更新問題,送分!
- 三国之非典
- 请问,delphi 那个控件象 ie 地址显示图标输入框控件呢?
- 多个客户端同时从服务器端下载一个文件,下面代码流程是否有问题?
- 一个关于提示框设计的问题,请各位大虾们帮忙啊
- 怎么做收发E-mail软件,买这方面源码或好的组件
- DBGrid的简单问题,新年新气象,给个吉利分。
- 急,200分求delphi的OpenGL的资料……
- 用vc写得dll如何在delphi中调用?参数要如何写?
- 那里有delphi的变成规范?
- 想作一个命令按钮,从TPanel继承来的,不能响应cm_enablechanged事件。。。
FindFirst
FindNext
DeleteFile
RemoveDir
s:tfileopstruct;
begin
s.wnd:=0;
s.pfrom:=pchar('c:\temp'+#0);
s.wfunc:=fo_delete;
s.fflags:=fof_noconfirmation + fof_silent;
shfileoperation(s);
DeleteFile
RemoveDir
ShellAPE;procedure TForm1.FormCreate(Sender: TObject);
var
SHFileOpStruct : TSHFileOpStruct;
begin
with SHFile do
begin
Wnd := AHanle; //赋予Windows句柄
wFunc := FO_COPY; //指定拷贝一个文件拷贝
pFrom := fromDir;
pTo := toDir;
fFlags := FOF_NOCONFIRMATION or FOR_RENAMEONCOLLISION;
fAnyOperationsAborted := False;
ltNameMappings := nil;
lpszProgressTitle := nil;
end;
ShFileOperation(ShFileOpStruct);
end;
//下面的代码是删除目录
var
SHFileOpStruct : TSHFileOpStruct;
begin
with SHFileOpStruct do
begin
Wnd := AHandle;
wFunc := FO_DELETE;
pFrom := DirName;
pTo := nil;
fFlags := FOF_ALLOWNDO;
end;
SHFileOperation(SHFIileOpStruct);
end;
var
SR: TSearchRec;
DosError: integer;
Root: string;
strFilename:string;
begin
Root:=DirRoot+'\';
{使用FindFirst/FindNext返回下级目录}
DosError:=FindFirst(Root+'*.*', faDirectory, SR); while DosError=0 do begin
{不包含下级目录,如果包含下级子目录要用递归来处理}
strFilename:=sr.Name;
FileSetAttr(strFileName,0);
if sr.Attr=faDirectory then begin
if pos('.',SR.Name)<>1 then begin
GetSubDirList(root+sr.Name);
removeDir(root+sr.Name);
end;
end
else begin
deleteFile(pchar(root+sr.name));
end;
DosError:=FindNext(SR);
end;
result:=true;
end;这是我写的删除文件和目录的函数,为什么不能删除目录啊。
DosError:=FindFirst(Root+'*.*', faAnyfile, SR);
>> GetSubDirList(root+sr.Name);
removeDir(root+sr.Name);->
DelDirFile(root+sr.name);
function TForm1.DelToRecycled(FileName: string): Boolean;
var f:tshfileopstruct;
begin
fillchar(f,sizeof(f),#0);
f.Wnd:=application.Handle;
f.wFunc:=FO_DELETE;
f.pFrom:=PChar(filename);
f.pTo:=nil;
f.fAnyOperationsAborted:= False;
f.hNameMappings:= Nil;
f.lpszProgressTitle:= Nil;
f.fFlags:={FOF_SILENT or }FOF_ALLOWUNDO{ or FOF_NOCONFIRMATION};
result:=(shfileoperation(f)=0);
end;