delphi中有删除文件夹的好办法嘛?(50分)

  • 主题发起人 主题发起人 titanmonkey
  • 开始时间 开始时间
T

titanmonkey

Unregistered / Unconfirmed
GUEST, unregistred user!
无论文件夹是否为空?都可以将该文件夹删掉
 
function DoRemoveDir(sDirName:String):Boolean;
var
; ;hFindFile:Cardinal;
; ;tfile:String;
; ;sCurDir:String;
; ;bEmptyDir:Boolean;
; ;FindFileData:WIN32_FIND_DATA;
begin
; ;bEmptyDir:=True;
; ;sCurDir:=GetCurrentDir;
; ;SetLength(sCurDir,Length(sCurDir));
; ;ChDir(sDirName);
; ;hFindFile:=FindFirstFile('*.*',FindFileData);
; ;if hFindFile< >INVALID_HANDLE_VALUE then
; ;begin
; ; ; ; repeat
; ; ; ; ; ; ; tfile:=FindFileData.cFileName;
; ; ; ; ; ; ; if (tfile='.') or (tfile='..') then
; ; ; ; ; ; ; begin
; ; ; ; ; ; ; ; ;bEmptyDir:=bEmptyDir and True;
; ; ; ; ; ; ; ; ;Continue;
; ; ; ; ; ; ; end;
; ; ; ; ; ; ; bEmptyDir:=False;
; ; ; ; ; ; ; if FindFileData.dwFileAttributes=
; ; ; ; ; ; ; FILE_ATTRIBUTE_DIRECTORY then
; ; ; ; ; ; ; begin
; ; ; ; ; ; ; ; ; ;if sDirName[Length(sDirName)]< >'/' then
; ; ; ; ; ; ; ; ; ; ; DoRemoveDir(sDirName+'/'+tfile)
; ; ; ; ; ; ; ; ; ;else
; ; ; ; ; ; ; ; ; ; ; DoRemoveDir(sDirName+tfile);
; ; ; ; ; ; ; ; ; ;if not RemoveDirectory(PChar(tfile)) then
; ; ; ; ; ; ; ; ; ; ; result:=false
; ; ; ; ; ; ; ; ; ;else
; ; ; ; ; ; ; ; ; ; ; result:=true;
; ; ; ; ; ; ; end
; ; ; ; ; ; ; else
; ; ; ; ; ; ; begin
; ; ; ; ; ; ; ; ; ;if not DeleteFile(PChar(tfile)) then
; ; ; ; ; ; ; ; ; ; ; result:=false
; ; ; ; ; ; ; ; ; ;else
; ; ; ; ; ; ; ; ; ; ; result:=true;
; ; ; ; ; ; ; end;
; ; ; ; until FindNextFile(hFindFile,FindFileData)=false;
; ; ; ; FindClose(hFindFile);
; ;end
; ;else
; ;begin
; ; ; ; ChDir(sCurDir);
; ; ; ; result:=false;
; ; ; ; exit;
; ;end;
; ;if bEmptyDir then
; ;begin
; ; ; ; ChDir('..');
; ; ; ; RemoveDirectory(PChar(sDirName));
; ;end;
; ;ChDir(sCurDir);
; ;result:=true;
end;

function DeleteDir(sDirName:String):Boolean;
begin
; ; ; if Length(sDirName)< =0 then
; ; ; ; ;exit;
; ; ; Result:=DoRemoveDir(sDirName) and RemoveDir(sDirName);
end;
 
编译后报错:
Types of actual and formal var parameters must be identical
不知道是为何
 
错在
FindClose(hFindFile);
改成Windows.FindClose(hFindFile);就好了:)
谢谢
 
接受答案了.
 
后退
顶部