Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder Disk Kapasitesi ve Boş Alan Öğrenme


Disk Kapasitesi ve Boş Alan Öğrenme

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu program bilgisayarımızda bulunan disklerin toplam boyutları ve boş kısım boyutlarının ne kadar olduğunu öğrenmeye yöneliktir. Programda bulunan getdfree API'si 2 parametre almakta birincisi hangi disk olacağı göstermektedir. 1 A, 2 B,3 C,4 D şeklinde devam etmektedir neden böyle olduğu daha önceki örneklerimizde de anlatılmıştır. İkinci parametre ise struct dfree tipindeki bir değişkenin adresidir. Yani disk bilgileri dfree tipinden struct değişkenine aktarılır. Structa bulunan df_avail boş cluster sayısını , df_bsec sektörde bulunan byte sayısını, df_sclus ise clusterde bulunan sektör sayısını göstermektedir. Boş disk boyutunu hesaplamak için bu üçünün çarpılması gerektiği aşirkardır (bir disk clusterlardan clusterlerde sektörlerden oluşur) sonuç byte tipinden çıkacağı için 3 defa 1024 e bölünürse sonuç gigabyte olur. df_total toplamdiskte bulunan toplam cluster sayısını gösterir. Sonuç olarak yine benzer işlemler yapılarak diskin toplam boyutu hesaplanabilir. Program daha fonksiyonel yapılarak tüm disklerin gösterilmesi sağlanabilir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt 

Program Kodu:

Unit1.cpp

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. #include <dos.h>
  8. //---------------------------------------------------------------------------
  9. #pragma package(smart_init)
  10. #pragma resource "*.dfm"
  11. TForm1 *Form1;
  12. //---------------------------------------------------------------------------
  13. __fastcall TForm1::TForm1(TComponent* Owner)
  14.         : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18.  
  19. void __fastcall TForm1::Button1Click(TObject *Sender)
  20. {
  21. struct dfree bos;
  22. double b,t;
  23. getdfree(3,&bos);
  24. b=(double)bos.df_avail*(double)bos.df_bsec*(double)bos.df_sclus/(1024*1024*1024);
  25. ShowMessage("C Sürücüsündeki Boş Alan: "+FloatToStr(b)+" GB");
  26. t=(double)bos.df_total*(double)bos.df_bsec*(double)bos.df_sclus/(1024*1024*1024);
  27. ShowMessage("C Sürücüsündeki Toplam Alan: "+FloatToStr(t)+" GB");
  28. }
  29. //---------------------------------------------------------------------------
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazar, 02 Eylül 2012 23:42 )