منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلة اثناء البحث عن الملفات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكلة اثناء البحث عن الملفات (/showthread.php?tid=8761)



مشكلة اثناء البحث عن الملفات - ali.alfoly - 03-05-13

المشكلة اثناء البحث فى برتشن d اريده اثناء البحث ان يستثنى مجلدات النظام لا اعرف هو يبحث فيها ليه اصلا الله المستعان

[attach=config]2598[/attach]


مشكلة اثناء البحث عن الملفات - سعود - 03-05-13

الظاهر مسموح فقط لمكافحة الفيروسات بالبحث .. اظن فقط لم اجد حل لها .. حتى لو تكتب On Error Resume Next بتحصل انه تخطى الشيء الكثير.


مشكلة اثناء البحث عن الملفات - ali.alfoly - 03-05-13

سعود كتب :الظاهر مسموح فقط لمكافحة الفيروسات بالبحث .. اظن فقط لم اجد حل لها .. حتى لو تكتب On Error Resume Next بتحصل انه تخطى الشيء الكثير.
بالفعل انا جربت On Error Resume Next لاكن ذى ما حدرتك قلت بالضبط بتحصل انه تخطى الشيء الكثير

طيب مفيش اى دالة تبحث عن الملفات فى اى برتشن وتكون بنت حلال ملهاش دعوة بمجلدات النظام


مشكلة اثناء البحث عن الملفات - سعود - 03-05-13

مدري الكود هذا مضبوط او لا بيشتغل معي فترة ثم يوقف
كود :
Sub DirSearch(ByVal sDir As String)

        Dim d As String
        Dim f As String


        ' Try
        On Error Resume Next
        For Each d In Directory.GetDirectories(sDir)
            For Each f In Directory.GetFiles(d, txtFile.Text)
                Label2.Text = f
                lstFilesFound.Items.Add(f)
            Next
            DirSearch(d)
        Next
        ' Catch excpt As System.Exception
        ' Debug.WriteLine(excpt.Message)
        'MsgBox(excpt.Message)
        'End Try
    End Sub



مشكلة اثناء البحث عن الملفات - sooriaty03 - 03-05-13

السلام عليكم ورحمة الله وبركاته

تفضل أخي الكريم
تستطيع الاستفادة من هذا المثال الذي يقوم بالبحث في جميع المجلدات وتستطيع أنت تحديد المجلد المطلوب أو اسم الملف الموجود

#7


بالتوفيق


مشكلة اثناء البحث عن الملفات - ali.alfoly - 03-05-13

سعود كتب :مدري الكود هذا مضبوط او لا بيشتغل معي فترة ثم يوقف
كود :
Sub DirSearch(ByVal sDir As String)

        Dim d As String
        Dim f As String


        ' Try
        On Error Resume Next
        For Each d In Directory.GetDirectories(sDir)
            For Each f In Directory.GetFiles(d, txtFile.Text)
                Label2.Text = f
                lstFilesFound.Items.Add(f)
            Next
            DirSearch(d)
        Next
        ' Catch excpt As System.Exception
        ' Debug.WriteLine(excpt.Message)
        'MsgBox(excpt.Message)
        'End Try

   End Sub

وعليكم السلام ورحمة الله وبركاته
جزاك الله خير
هجرب وارد عليك

sooriaty03 كتب :السلام عليكم ورحمة الله وبركاته




تفضل أخي الكريم
تستطيع الاستفادة من هذا المثال الذي يقوم بالبحث في جميع المجلدات وتستطيع أنت تحديد المجلد المطلوب أو اسم الملف الموجود

#7


بالتوفيق

جزاك الله خير
لو امكن شرح بسيط للطريقه لانى مش فاهمها


مشكلة اثناء البحث عن الملفات - sooriaty03 - 04-05-13

السلام عليكم ورحمة الله وبركاته

تفضل أخي الكريم

كود :
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

بالتوفيق


مشكلة اثناء البحث عن الملفات - ali.alfoly - 04-05-13

جزاك الله خيرا وزادك علما وتقوى
وجعلنى واياك من اهل الفردوس


مشكلة اثناء البحث عن الملفات - ali.alfoly - 04-05-13

طيب هوه مش ممكن عند جلب قائمة باسماء المجلدات اقوم بالتحقق من امكانية الوصول لكل مجلد اذا كان ممكن اضيفه الى القائمة اذا كان غير ممكن اتركه