04-05-13, 11:38 AM
السلام عليكم ورحمة الله وبركاته
تفضل أخي الكريم
بالتوفيق
تفضل أخي الكريم
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ProgressBar1.Style = ProgressBarStyle.Marquee
ProgressBar1.Visible = True
ListBox1.Items.Clear()
'جلب جميع أسماء المجلدات
'وتخرينها داخل القائمة
'ListOfDirectory
GetDirectories("C:\")
ProgressBar1.Style = ProgressBarStyle.Blocks
ProgressBar1.Maximum = ListOfDirectory.Count - 1
'جلب جميع أسماء الملفات
'الموجودة داخل قائمة المجلدات
'ListOfDirectory
GetFiles()
End Sub
Private Sub GetDirectories(ByVal InitialDirectory As String)
'إفراغ قائمة الجلدات
ListOfDirectory.Clear()
'إضافة أول مجلد وهو هنا
'"C:\"
ListOfDirectory.Add(InitialDirectory)
Dim Index As Integer = 0
'حلقة تكرارية تدور على جميع المجلدات الموجودة
'في القائمة لجلب المجلدات الفرعية التي بداخلها
'وإضافتها مرة أخرى إلى القائمة
Do
'هنا عملية الجلب ضمن جملة
'Try
'للابتعاد عن المجلدات التي لايمكن الوصول لها
Try
For Each d As String In Directory.GetDirectories(ListOfDirectory.Item(Index))
ListOfDirectory.Add(d)
Application.DoEvents()
Next
Catch ex As Exception
End Try
Index += 1
'عملية التحقق أننا وصلنا إلى آخر مجلد في القائمة
'فيتم الخروج من الحلقة التكرارية
If Index > ListOfDirectory.Count - 1 Then
Exit Do
End If
Loop
End Sub
Private Sub GetFiles()
'حلقة تكرارية لجلب جميع الملفات الموجودة
'داخل المجلدات الموجودة في قائمة المجلدات
For I = 0 To ListOfDirectory.Count - 1
'جلب الملفات يكون داخل جملة
'Try
'للابتعاد عن أي خطأ محتمل
Try
ListBox1.Items.AddRange(Directory.GetFiles(ListOfDirectory.Item(I)))
Catch ex As Exception
End Try
ProgressBar1.Value = I
Application.DoEvents()
Next
End Subبالتوفيق

