کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.
کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.

ساخت برنامه نمایش اطلاعات درایو ها با C#

سلام دوستان در این پست با ما در آموزش کار با درایو ها در سی شارپ همراه باشید.

 

 ابتدا پس از ساختن یک پروژه ویندوز فرم سی شارپ جدید یک Data Grid View با نام dataGV و یک دکمه بسازید.

Column های dataGV را به شکلی که در عکس مشاهده می کنید در بیاورید.

CodeWriter21

کتابخانه زیر را اضافه کنید(DriveInfo در این کتابخانه قرار دارد).

1
using System.IO;

وارد Form1.cs خود شده و تابع زیر را در آن بنویسید.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
string getSize(Double numberAsByte, int numberOfDecimal)
        {
            string arm = "Byte";
            while (numberAsByte > 1024)
            {
                if (arm == "TByte")
                    break;
                numberAsByte = numberAsByte / 1024.0;
                switch (arm)
                {
                    case "Byte":
                        arm = "KByte";
                        break;
                    case "KByte":
                        arm = "MByte";
                        break;
                    case "MByte":
                        arm = "GByte";
                        break;
                    case "GByte":
                        arm = "TByte";
                        break;
                }
            }
            double d = numberAsByte * Math.Pow(10, numberOfDecimal);
            int i = (int)d;
            numberAsByte = i / Math.Pow(10, numberOfDecimal);
            return numberAsByte + " " + arm;
        }

این تابع مقدار حجم بر حسب بایت و تعداد رقم اعشار مورد نظر ما را دریافت می کند و به صورت یک string همراه با پسوند Byte یا KByte یا ...  

یک تابع از نوع void به نام refresh ایجاد کنید و در آن کد های زیر را بنویسید.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
DriveInfo[] drives = DriveInfo.GetDrives();
            foreach(DriveInfo Drive in drives)
            {
                if (Drive.IsReady)
                {
                    dataGV.Rows.Add(
                        Drive.VolumeLabel + "(" + Drive.Name + ")"//نام و آدرس درایو
                        Drive.DriveType.ToString(), //نوع درایو مثل removable و Fixed
Drive.DriveFormat, //فرمت درایو مثل NTFS و FAT32
                        getSize(Drive.TotalFreeSpace, 3), //مقدار فضای خالی را با کمک تابعی که قبلاً تعریف کردیم پیدا می کند
                        getSize(Drive.TotalSize, 3) //مقدار کل فضای موجود را با کمک تابعی که قبلاً تعریف کردیم پیدا می کند
                        );
                }
}

این تابع درایو ها را می گیرد و اطلاعات آن ها را در dataGV نمایش می دهد. خط چهار آمادگی درایو را چک می کند. دقّت کنید که در خط 7 VolumeLabel نام و Name مسیر درایو است(راه های بسیار متعدد دیگری برای پیدا کردن مسیر درایو وجود دارد).

حال در رویداد کلیک دکمه refresh و رویدادload فرمتان کد زیر را قرار دهید.

1
refresh();

این کد هم که همانطور که مشخص است تابع refresh را فرا می خواند.

حال اگر برنامه را اجرا کنید با چنین نتیجه ای رو به رو خواهید شد.

Drive Info

امیدوارم خوشتان اومده باشه.

تا پستی دیگر خدانگهدار

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد