掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ドライブの空き容量を取得できない (ID:37080)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DiskFree() の引数は Byte で、"A:"=1, "B:"=2, "C:"=3... となります。 Ord() は String の変換はできないので、deldel さんのコードのように、 strDrive[1] として、strDrive の最初の文字を Char 型で渡す必要があります。 function TForm1.GetDiskSpace(strDrive : string) :string; var Fig: string; FigList: array[0..4] of string; i: Integer; Size: Extended; begin //空き容量取得 Size := DiskFree(Ord(strDrive[1]) - Ord('A') + 1); if Size >= 0 then begin //単位定義 FigList[0] := 'Byte'; FigList[1] := 'KB'; FigList[2] := 'MB'; FigList[3] := 'GB'; FigList[4] := 'TB'; //単位変換 i := 0; while (Size >= 1024) and (i <= 4) do begin Size := Size / 1024; Inc(i); end; Fig := FigList[i]; result := Format('%4.2f %s', [Size, Fig]); end else if Size = -1 then result := 'Error: Drive is not found.' else result := 'Error: ???'; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.