删除目录:function DelDirectory(const Source:string): boolean;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
解决方案 »
- 大家来说说五一放几天假.
- 求救:怎样把TIF的多页文件拆分成每页一个文件
- 紧急求救~!!!!!!!!!!!!!!!!!!!!
- 当ToolButton的style的设置为tbsDropDown的时候,如何处理点击小箭头的响应事件?
- 请问如何更快的产生树形数据?
- 请问 :多层 TRzImageComboBox 如何获得当前选中层上一层的文本
- 请问如何用sendmessage来移动边框为none的窗体?
- 用什么方式切换DecisionGraph的显示方式比较好
- 请问在中文office97环境下建立的access数据库,放在英文win98环境下,在deliph中用odbc联不上,但不是所有的数据库都这样,能说明为什么
- 如何显示MessageBox? 要求有问号,或感叹号,或错误的图片。
- 如何调试ISAPI程序?
- 这个功能如何实现?
//把d:\sybase目录下所有文件发送到回收站
var
sourcefile:STRING;
lpfileop:TSHFILEOPSTRUCT;
begin
sourcefile:= 'd:\sybase\*.*'+#0#0;
fillchar(lpfileop,sizeof(lpfileop),0);
with lpfileop do
begin
wnd:=form1.handle;
wFunc:=FO_DELETE;
pFrom:=pchar(sourcefile);
fflags:= FOF_ALLOWUNDO;
end;
if SHFileoperation(lpfileop)<>NOERROR then
if lpfileop. FAnyOperationsAborted then
showmessage('删除文件被终止')
else
showmessage('删除文件出错');
end;
2作弊方法:直接用WinExec('deltree.exe -y c:\test\*.*',sw_hide);
如果FindFirst时是faDirectory则再调用方法自身
AnsiString SysPath ;//要删除的路径
TSearchRec sr;
if (FindFirst(SysPath+"\\*.*",faAnyFile,sr) == 0)
{
do
{
DeleteFile(SysPath+"\\"+sr.Name) ;
}
while(FindNext(sr) == 0);
FindClose(sr);
}
if(!RemoveDir(SysPath)) //刚才这里写错了
Application->MessageBox("删除文件家失败,文件已删除","错误",MB_OK);
function MyDelTree(SourceName:String): Boolean;
var
F:TShFileOpStruct;
begin
F.wnd:=0;
F.wFunc:=FO_DELETE;
F.pFrom:=PChar(SourceName+#0#0);
F.pTo:=PChar(''+#0#0);
F.fFlags:=FOF_SILENT or FOF_NOCONFIRMATION;
result:= ShFileOperation(F)=0;
end;