سنتعرف في هذا الدرس كيفية التعامل مع الأقراص الموجودة في الجهاز (مثل 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)
و السلام عليكم و رحمة الله
ليست هناك تعليقات:
إرسال تعليق