求在DELPHI中删除非空文件夹的思路及源码?!我要在程序中删除某些文件夹。给个思路及源码!谢谢![email protected]
解决方案 »
- SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle,GWL_STYLE) and not WS_CAPTION);这条语句是什么意思?
- 怎样用SQL语句实现这样一种效果
- 一个令我万分着急的问题
- 请高手指教,关于对sql的查询结果记录,进行处理的问题~
- 为什么我ACCESS数据库连接成功了,但是只显示出数据库中数据的个数而不显示数据啊?/
- 为什么这样的表拷贝不行??
- 文件流的读写问题,文件流流流流流流流流流流流流流流流流流流流流流流流流流流流....
- 关于DHTMLEdit
- 请问各位如何动态地修改dimensiontype的值,(TDecisioncube)
- 当鼠标变为忙状态时,怎么让程序不再受鼠标控制?
- 用ttcpClient不能触发onreceive事件
- ---》俺对这个问题都追加到三百分了,高手看了别跑!!!!
//删除子目录及其下文件//This doesn't check for attributes being set, which might preclude deletion of a file. Put a {$I-} {$I+} pair around the functions that cause the problem.procedure removeTree (DirName: string);
var
FileSearch: tSearchRec;
begin
{ first, go through and delete all the directories }
chDir (DirName);
FindFirst ('*.*', faDirectory, FileSearch);
while (getlastError = 0) do
begin
if (FileSearch.name <> '.')
AND (FileSearch.name <> '..')
AND ((FileSearch.attr AND faDirectory) <> 0)
then begin
if DirName[length(DirName)] = '\' then
removeTree (DirName+FileSearch.Name)
else
removeTree (DirName+'\'+FileSearch.Name);
ChDir (DirName);
end;
FindNext (FileSearch)
end;
{then, go through and delete all the files }
FindFirst ('*.*', faAnyFile, FileSearch);
while (getlastError = 0) do
begin
if (FileSearch.name <> '.')
AND (FileSearch.name <> '..') then
deletefile(FileSearch.name); //Remove和WorkDir是何意,删除文件?
FindNext (FileSearch)
end;
rmDir (DirName) //应进入上层目录
end;
----------
procedure TForm1.Button7Click(Sender: TObject);
var
sh:TSHFileOpStruct;
begin
sh.Wnd :=Handle;
sh.pFrom:=PChar('D:\复件 TCWork');
sh.wFunc:=FO_DELETE ;
sh.fFlags:=FOF_SIMPLEPROGRESS ;
sh.lpszProgressTitle:=Pchar('Delete File');
SHFileOperation(sh);
end;
快捷、方便
我的磁盘格式是NTFS。我用的DELPHI 是7!
http://www.djtz.net/get.asp?get=9662