منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] جلب معلومات الدرايف - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=3970)

الصفحات: 1 2


جلب معلومات الدرايف - hitman48 - 03-10-14

السلام عليكم ورحمة الله وبركاته
اخواني اود ان اسالكم عن كود
انا حاليا اعمل على برنامج لعمل scan
بحيث لو ظغطت على الزر الاول "button1"
رح اختر مكان الدرايف الذي اود عمل scan له

كود :
Dim i As New FolderBrowserDialog
     If i.ShowDialog Then
         TextBox1.Text = i.SelectedPat
     End If

وعند الظغط على الزر الثاني "button2"
اريد التايمر يبدا "timer.start()"
والبروقرسبار يبدا "ProgressBar1"
اما اليبل "Label1" اريد منه ان يكتب اسماء الملفات الموجودة في الدرايف
يعني مثل الانتي فايروس

فهل يمكن المساعدة


RE: جلب معلومات الدرايف - سعود - 03-10-14

استخدم For Each مادام ان المحرك معروف .. فالامر ابسط.
http://msdn.microsoft.com/en-us/library/aa328759(v=vs.71).aspx
http://msdn.microsoft.com/en-us/library/system.io.fileinfo.directory(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1


RE: جلب معلومات الدرايف - hitman48 - 03-10-14

(03-10-14, 09:03 PM)سعود كتب : استخدم For Each مادام ان المحرك معروف .. فالامر ابسط.
http://msdn.microsoft.com/en-us/library/aa328759(v=vs.71).aspx
http://msdn.microsoft.com/en-us/library/system.io.fileinfo.directory(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1


اخي هذا هو المثال الذي اريد ان اعمله




RE: جلب معلومات الدرايف - hitman48 - 03-10-14

نعم مثل القرص الصلب "c:/" او "d:/"
او باقي الاقرصة الخاصة مثل الفلاش usb
وهذه الاخيرة قد حددتها

وهذا هو الكود الخاص بها
Dim i As New FolderBrowserDialog
If i.ShowDialog Then
TextBox1.Text = i.SelectedPat
End If

اما الذي بقي هو اضهار الملفات في الليست بوكس واليبل عند عمل سكان لمجلد ان امكن

وشكرا لك على متابعة الموضوع


RE: جلب معلومات الدرايف - hitman48 - 03-10-14

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

فقط لو لا حظت المثال سوف تفهمني

كود :
Public Class Form1

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Timer1.Start()

   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim i As New FolderBrowserDialog
       If i.ShowDialog Then
           TextBox1.Text = i.SelectedPath
       End If
   End Sub

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
       ProgressBar1.Increment(1)
       If ProgressBar1.Value = 3 Then
           Label1.Text = "Scan Start"
       End If
       If ProgressBar1.Value = 3 Then
           Label1.Text = "C:\Users\IM\Desktop\myfolder"
       End If


       If ProgressBar1.Value = 7 Then
           Label1.Text = "C:\Users\IM\Desktop\myfolder\text.txt"
       End If

       If ProgressBar1.Value = 11 Then
           Label1.Text = "C:\Users\IM\Desktop\myfolder\kool.mp3"
       End If

       If ProgressBar1.Value = 16 Then
           Label1.Text = "C:\Users\IM\Desktop\myfolder\vol.avi"
       End If
       If ProgressBar1.Value = 100 Then
           Label1.Text = "Start complet"
       End If
   End Sub
End Class
اما هنا  ""=Label1.Text
اريد ان يعمل  القيم  اوتوماتكيا
دون ان احددها انا
اوسف على تعبك معي


RE: جلب معلومات الدرايف - سعود - 03-10-14

معلش اخي الكريم مافهمت الكود ...ان شالله احد يستطيع فعل ماتريد


RE: جلب معلومات الدرايف - hitman48 - 03-10-14

كل الشكرلك وعلى تعاونك


RE: جلب معلومات الدرايف - hassan - 04-10-14

(03-10-14, 10:36 PM)hitman48 كتب : كل الشكرلك   وعلى تعاونك

هذا كود يضضع لك اسامي الملفات وصيغته في الليست بوكس

PHP كود :
Dim Dr As New DirectoryInfo(TextBox1.Text)
 
       Dim Fl As IO.FileInfo
        For Each Fl In Dr
.GetFiles
            ListBox1
.Items.Add(Fl.Name)
 
       Next 



لو تلاحظ في textbox1.text غيره الى مسار الفلاش


RE: جلب معلومات الدرايف - hitman48 - 04-10-14

الله الله الله مثل ماطلبت اخي vbnet شكرا كثير كثير كثير
هذا هوالمثاال بالظبط بقت خاصية ProgressBar1 هل يمكن اضافتها يعني كلما البينات بتنعرض كلما تقدمة قيمة ProgressBar1 الى ان تصل الى النهاية .


RE: جلب معلومات الدرايف - vbnet - 04-10-14

.....

أتوقع أن هذا الكود هو مطلوبك - إظهار نتائج البحث بشكل استعراضي
كود :
Public Class Form1

    ' تعريفات
    Dim th As Threading.Thread
    Dim fb As New FolderBrowserDialog
    Dim sPath As String

    ' إعدادت
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CheckForIllegalCrossThreadCalls = False
        Me.TextBox1.Enabled = False
    End Sub

    ' تحديد المسار
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If fb.ShowDialog = Windows.Forms.DialogResult.OK Then
            sPath = fb.SelectedPath
            Me.TextBox1.Text = fb.SelectedPath
            Me.Button2.Enabled = True
        End If
    End Sub

    ' بدء البحث
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If sPath.Trim <> "" Then
            Me.ProgressBar1.Value = 0
            Me.Button1.Enabled = False
            Me.Button2.Enabled = False
            th = New Threading.Thread(AddressOf thTask)
            th.IsBackground = True
            th.Start()
        End If
    End Sub

    ' عملية البحث
    Private Sub thTask()
        ListBox1.Items.Clear()
        Dim files() As String = IO.Directory.GetFiles(sPath, "*.*", IO.SearchOption.AllDirectories)
        Me.ProgressBar1.Maximum = files.Count
        For Each filename As String In files
            Me.ListBox1.Items.Add(filename)
            Me.ListBox1.SelectedIndex = Me.ListBox1.Items.Count - 1
            Me.Label1.Text = filename
            Me.ProgressBar1.Increment(1)
            'Threading.Thread.Sleep(10)' لإبطاء سرعة الاستعراض عند الحاجة
        Next
        Me.Label1.Text = ""
        Me.Button1.Enabled = True
     End Sub

End Class

.....