I E= T*R
Thí dụ xóa file đệ qu
Trong lúc hoạtđộng, cácứng dụng thường tạo ra các file tạm có phần nới rộng là *.tmp, *.bak,... Khi kết thúc, ứng dụng sẽxóa các file tạmđi. Tuy nhiên trong 1 sốtrường hợpđặc biệt (máy treo, mấtđiện,...) các file tạm khôngđược xóa hết và vẫn tồn tại trênđĩa cứngởnhiều thưmục khác nhau. Ta hãy thửviết 1 ứng dụng cho phép user xácđịnh mẫu các file cần xóa rồi tìm các file thỏa mãn mẫu qui định và xóa chúng, việc tìm và xóa nênđệqui từvịtrí mẫuđểxóa triệtđể. Thí dụnếu người dùng nhập pattern c:\*.tmp, ứng dụng sẽtìm và xóa mọi file *.tmp từthư
mục gốc.
Chương 11 : Quản lý hệthống file
Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Tin học Slide 318 Giao diện đề nghị của ứng dụng DriveListBox chọnổ đĩa. DirListBox chọn thư mục. TextBox nhập pattern file cần xóa.
Button bắtđầu duyệt file đệqui và xóa.
ListBox hiển thịcác file bịxóa.
Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 319
Const QMAX = 10000
Dim strDirQueue(0 To QMAX) As String ' Hàng chứa các thưmục cần duyệt Dim iHead As Integer ' chỉsốtrong hàng chứa thưmục sắp duyệt Dim iTail As Integer ' chỉsốtrong hàng sắp chứa thưmục cần duyệt Private Sub Form_Resize()
ScaleMode = vbPixels
Dir1.Move 8, 45, 170, Me.ScaleHeight - 50
FileList.Move 180, 70, Me.ScaleWidth - 185, Me.ScaleHeight - 75 End Sub
Private Sub Drive1_Change() ' thủtục xửlý sựkiện chọnổ đĩa Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change() ' thủtục xửlý sựkiện chọn thưmục If (Right(Dir1.Path, 1) = "\") Then
strDirQueue(0) = Dir1.Path Else
strDirQueue(0) = Dir1.Path & "\" End If
End Sub