関数プロトタイプ:
bool getDiskFreespace(
lpctstr lprootpathname、
lpdword lpsectorspercluster、
lpdword lpbytespersector、
lpdword lpnumberoffreeclusters、
lpdword lptotalnumberofclusters
);
パラメーター説明:
1.LPROOTPATHNAME:テストドライブのルートディレクトリの名前を指定します。 NULLの場合、現在のディレクトリが配置されているドライブのルートディレクトリ名です。
2.LPSECTORSPERCLUSTER:ドライブのクラスターごとのセクターの数を取得します。
3.lpbytespersector:ドライブのセクターごとにバイト数を取得します。
4.LPNumberOffreeClusters:ディスクスペースに残っているクラスターの数。
5.LptotalNumberOfClusters:総ディスクスペースのクラスターの数。
アプリケーションの例:
ディスクスペースの総容量と残りの容量を表示します。
1)上記の例に基づいて、2つの編集コンポーネントと2つのラベルコンポーネントを追加します。
2)コンボボックスコンポーネントのオンチェンジイベントの対応する部分に次のコンテンツを追加します。
ヴァル
disktotal、diskfree、cl1、cl2、sec1、byt1:longword;
始める
getDiskFreeSpace(PCHAR(combobox1.items [combobox1.items [combox1.items])、sec1、byt1、cl1、cl2); //ディスク情報を取得します
diskfree:= cl1*sec1*byt1; //残り容量=残りのクラスターの数*クラスターあたりのセクター数*セクターあたりのバイト数
disktotal:= cl2*sec1*byt1; //総容量=ディスククラスターの総数*クラスターあたりのセクター数*セクターあたりのバイト数
edit2.text:= formatfloat( '' ##、## 0 ''、合計);
edit3.text:= formatfloat( '###、## 0' '、freesp);
終わり;