PDA

View Full Version : پاک کردن یک پوشه



mostafa612003
دوشنبه 02 تیر 1382, 08:40 صبح
سلام
من به یک تابعی نیاز دارم که بتواند یک پوشه راحذف کند
متشکرم

(امید)
دوشنبه 02 تیر 1382, 10:06 صبح
از بابک یعقوبی




Procedure CustomDelete(WildCard : String) ;
Var Status : Integer ;
SearchRec : TSearchRec ;
S : String ;
Begin
Status :=
FindFirst(WildCard,faReadOnly+faHidden+faSysFile+f aDirectory+faAnyFile, SearchRec) ;
While Status = 0 Do
Begin
If (SearchRec.Name <> '.') And (SearchRec.Name <> '..') Then
Begin
S := Copy(WildCard, Length(WildCard)-2, 3) ;
Delete(WildCard, Length(WildCard)-2, 3) ;
If SearchRec.Attr = faDirectory Then
Begin
CustomDelete(WildCard+SearchRec.Name+'\'+'*.*') ;
RemoveDir(WildCard+SearchRec.Name) ;
WildCard := WildCard + S ;
End
Else
If SearchRec.Attr <> faDirectory Then
Begin
If Not DeleteFile(WildCard+SearchRec.Name) Then
MessageDlg(['اشکال در حذف فایل'],mtError, [bkOk]) ;
DeleteFile(WildCard+SearchRec.Name) ;
WildCard := WildCard + S ;
End ;
End ;
Status := FindNext(SearchRec) ;
End ;
End ;


بعوان مثال با این صورت صدا بزنید :

CustomDelete('C:\TEMP\*.*')


بابک یعقوبی

Harry
یک شنبه 08 تیر 1382, 09:12 صبح
برای انجام این کار این همه زحمت لازم نیست میتوانی از تابع rmdir برای حذف پوشه و از تابع erase برای حذف فایل استفاده کنی

nasr
شنبه 07 شهریور 1383, 08:46 صبح
اگه بین کلمات فولدر فاصله خورده باشه اون را حذف نمی کنه

مثلا New Folder را حذف نمی کنه ولی NewFolder را حذف می کنه

چرا