از بابک یعقوبی
Procedure CustomDelete(WildCard : String) ;
Var Status : Integer ;
SearchRec : TSearchRec ;
S : String ;
Begin
Status :=
FindFirst(WildCard,faReadOnly+faHidden+faSysFi le+faDirectory+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\*.*')
بابک یعقوبی