葡
葡萄
Unregistered / Unconfirmed
GUEST, unregistred user!
我从网上看到一个函数:<br>function DoRemoveDir(sDirName:String):Boolean;<br>var<br> hFindFile:Cardinal;<br> tfile:String;<br> sCurDir:String;<br> bEmptyDir:Boolean;<br> FindFileData:WIN32_FIND_DATA;<br>begin<br>//如果删除的是空目录,则置bEmptyDir为True<br>//初始时,bEmptyDir为True<br> bEmptyDir:=True;<br>//先保存当前目录<br> sCurDir:=GetCurrentDir;<br> SetLength(sCurDir,Length(sCurDir));<br> ChDir(sDirName);<br> hFindFile:=FindFirstFile('*.*',FindFileData);<br> if hFindFile<>INVALID_HANDLE_VALUE then<br>begin<br> repeat<br> tfile:=FindFileData.cFileName;<br> if (tfile='.') or (tfile='..') then<br> begin<br> bEmptyDir:=bEmptyDir and True;<br> Continue;<br> end;<br>//不是空目录,置bEmptyDir为False<br> bEmptyDir:=False;<br> if FindFileData.dwFileAttributes=<br> FILE_ATTRIBUTE_DIRECTORY then<br> begin<br> if sDirName[Length(sDirName)]<>'/' then<br> DoRemoveDir(sDirName+'/'+tfile)<br> else<br> DoRemoveDir(sDirName+tfile);<br> if not RemoveDirectory(PChar(tfile)) then<br> result:=false<br> else<br> result:=true;<br> end else<br> begin<br> if not DeleteFile(PChar(tfile)) then<br> result:=false<br> else<br> result:=true;<br> end;<br>until FindNextFile(hFindFile,FindFileData)=false;<br>//FindClose(hFindFile);<br>end<br>else<br> begin<br> ChDir(sCurDir);<br> result:=false;<br> exit;<br>end;<br>//如果是空目录,则删除该空目录<br>if bEmptyDir then<br> begin<br>//返回上一级目录<br>ChDir('..');<br>//删除空目录<br>RemoveDirectory(PChar(sDirName));<br>end;<br><br>//回到原来的目录下<br>ChDir(sCurDir);<br>result:=true;<br>end; <br>//<b>2.2删除目录的函数:DeleteDir </b><br>function DeleteDir(sDirName:String):Boolean;<br>begin<br>if Length(sDirName)<=0 then<br>exit;<br>//删除... <br>Result:=DoRemoveDir(sDirName) and RemoveDir(sDirName);<br>end;<br><br>这个函数只能删除本地目录,希望高手能指点一下如何把它改造成一个可以删除FTP目录的函数,或者用其他方法删除FTP目录,谢谢了,分不多了,全部奉上