التعامل مع الأقراص Drives

سنتعرف في هذا الدرس كيفية التعامل مع الأقراص الموجودة في الجهاز (مثل C,D,E,F)  عن طريق الفئة DriveInfo  الموجودة في مجال الأسماء system.io و التي تحتوي على مجموعة من الطرق و  الخصائص التي تمكننا من الحصول على معلومات تتعلق بقرص معين .


أولا...افتح مشروع جديد و قم باضافة أداة Listbox  و 7 Textbox كما في الشكل التالي:





ثانيا...سوف نقوم بجلب أسماء الأقراص الموجودة في الجهاز و اضافتها الى الأداة Listbox كما في الكود التالي:


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim d As IO.DriveInfo
        For Each d In a
            ListBox1.Items.Add(d)
        Next
    End Sub

قم بتشغيل البرنامج ستلاحظ أنه تم اضافة أسماء الأقراص المتوفرة في الجهاز الى الأداة ليستبوكس 

ثالثا...الحصول على خصائص القرص الذي تم اختياره من الأداة
Listbox   
 
الخاصية AvailableFreeSpace :
تعود بقيمة من النوع long  تمثل المساحة الحرة الغير مستخدمة  المتوفرة للمستخدم الحالي على القرص بالبايت

الخاصية :TotalSize
تعود بقيمة النوعLong أيضا تمثل المساحة الكلية للقرص المحدد بالبايت

الخاصية TotalFreeSpace :
تحدد المساحة الكلية الحرة الغير مستخدمة المتوفرة على القرص بالبايت

الخاصية DriveFormat  
تستخدم في الحصول على أسماء نظام الملفات كـ(Fat32 , NTFS )

و غيرها من الخصائص..

فيكون الكود كالتالي :

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim aa As New System.IO.DriveInfo(ListBox1.SelectedItem.ToString)
        Try
            TextBox1.Text = aa.AvailableFreeSpace
            TextBox2.Text = aa.DriveFormat
            TextBox3.Text = aa.DriveType
            TextBox4.Text = aa.IsReady
            TextBox5.Text = aa.Name
            TextBox6.Text = aa.TotalFreeSpace
            TextBox7.Text = aa.TotalSize
        Catch ex As Exception
            MsgBox("حدث خطأ أثناء جلب المعلومات الرجاء المحاولة مرة أخرى")
        End Try
    End Sub


و النتيجة النهائية كما في الصورة :




ملحوظة : يمكنك التحويل من البايت الى الكيلو بايت بالقسمة على 1024 و من الكيلو بايت الى الميجابايت بالقسمة على 1024 أيضا ومن الميجا بايت الى الجيجابايت بالقسمة على 1024

فمثلا للحصول على المساحة الكلية للقرص بوحدة الجيجابايت نكتب الكود الثالي

      Dim x As New IO.DriveInfo("d:\")
        MsgBox(x.TotalSize \ 1024 ^ 3)




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

ليست هناك تعليقات:

إرسال تعليق