|
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
HDやFDの空きディスク容量や、総ディスク容量はどうやって取得するのですか
[A]
Win32APIのGetDiskFreeSpace関数を使います。
又は、Delphiの関数のDiskSize、DiskFreeを使います。こちらはDelphi1.0
でも使用できます。
[例]
Cドライブのディスク容量を取得する場合(APIバージョン)
var
lpRootPathName :PChar;
lpSectorsPerCluster,lpBytePerSector,lpNumberOfFreeClusters,
lpTotalNumberOfClusters :DWORD;
begin
Result := GetDiskFreeSpace('C:\',lpSectorsPerCluster,lpBytePerSector,
lpNumberOfFreeClusters,lpTotalNumberOfClusters);
{正常終了 : TRUE}
{異常終了 : FALSE}}
end;
lpSectorsPerCluster * lpBytePerSector * lpNumberOfFreeClusters
で空きディスク容量が取得できます。
lpSectorsPerCluster * lpBytePerSector * lpTotalNumberOfClusters
で総ディスク容量が取得できます。
Cドライブのディスク容量を取得する場合(関数バージョン)
SpinEditにディスクの総容量と、空き容量をセットします。
SpinEdit1.Value := DiskFree(Ord('C') - Ord('A') + 1);
SpinEdit2.Value := DiskSize(Ord('C') - Ord('A') + 1);
パラメータのディスク番号は、0がカレントドライブ、1がAドライブ、
2がBドライブとなっているので、Ord('C') - Ord('A') + 1の式で導き
ます。
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|