C++Builder Tips


ドライブ・サイズ取得


ドライブの総容量・空き容量を取得するサンプルです。



//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ComboBox1->Items->Add("カレントドライブ");
  ComboBox1->Items->Add("Aドライブ");
  ComboBox1->Items->Add("Bドライブ");
  ComboBox1->Items->Add("Cドライブ");
  ComboBox1->Items->Add("Dドライブ");
  ComboBox1->ItemIndex = 0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
  int i;
  __int64 iSize;
  __int64 iFreeSize;

  i = ComboBox1->ItemIndex;

  iSize = DiskSize(i);
  iFreeSize = DiskFree(i);

  if (iSize == -1){
    AnsiString strErrMsg;
    strErrMsg = SysErrorMessage(GetLastError());
    ShowMessage(strErrMsg);
    return;
  }

  Edit2->Text = ComboBox1->Items->Strings[i] +
          "の総容量は" + IntToStr(iSize) +
          "バイトです。";
  Edit3->Text = ComboBox1->Items->Strings[i] +
          "の空容量は" + IntToStr(iFreeSize) +
          "バイトです。";
}
//---------------------------------------------------------------------------

DownLoad bcbtips044.lzh 4KB(BCB5)