02-10-12, 01:47 AM
الأن مع الكود المبدئى
و لا اعتقد انه يحتاج الى شرح و مع ذلك
ان شاء الله ارفق مثال
و لا اعتقد انه يحتاج الى شرح و مع ذلك
ان شاء الله ارفق مثال
كود :
Public Class Form1
Public curDrive As String
Public dir As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'هنا نستدعى محركات الأقراص و نبدأ العمل عليها بالتتالى
Dim drives() As String
drives = System.IO.Directory.GetLogicalDrives
Dim iDrive As Integer
On Error Resume Next ' نضعها لأننا لم نحدد بعد كيف نتعامل مع الملفات المغلقة و المضغوطة
For iDrive = 0 To drives.GetUpperBound(0)
curDrive = drives(iDrive)
ListBox1.Items.Add(curDrive)
'now scan folders
scanFOLDER()
Next
End Sub
Sub scanFOLDER()
'هنا نستدعى المجلدات الرئيسية لكل محرك و نبدأ مسحها بالتتالى
Dim directories() As String
directories = System.IO.Directory.GetDirectories(curDrive)
On Error Resume Next ' نضعها لأننا لم نحدد بعد كيف نتعامل مع الملفات المغلقة و المضغوطة
For Each dir In directories
ListBox2.Items.Add(dir)
'now scan files or sub folders
scanFiles(dir)
Next
End Sub
Sub scanFiles(ByVal ddir As String)
'هنا نستخدم الأستدعاء الذاتى لمسح المجلدات و الملفات لكل مجلد رئيسى
Dim rupt As Boolean
If Button1.Text = "scan" Then
Button1.Text = "stop scan"
rupt = False
Else
Button1.Text = "scan"
rupt = True
End If
If rupt Then
Exit Sub
End If
Dim dirr As String
Dim ffile As String
Dim fi As IO.FileInfo
On Error Resume Next ' نضعها لأننا لم نحدد بعد كيف نتعامل مع الملفات المغلقة و المضغوطة
For Each ffile In System.IO.Directory.GetFiles(ddir)
fi = New IO.FileInfo(ffile)
ListBox3.Items.Add(fi.Name & vbTab & fi.Length & vbTab & fi.CreationTime)
Next
For Each dirr In System.IO.Directory.GetDirectories(ddir)
Application.DoEvents()
scanFiles(dirr)
Next
End Sub
End Class