?? disk.pas
字號:
?
+
unit disk;
interface
uses
Windows, Messages, SysUtils;
//取得驅動器總容量,剩余容量
procedure GetDiskSizeAvail(TheDrive : PChar;var TotalBytes : double;var TotalFree : double);
//取得驅動器類型
function GetDiskType(TheDrive : PChar): string;
implementation
procedure GetDiskSizeAvail(TheDrive : PChar;var TotalBytes : double;var TotalFree : double);
var
AvailToCall : int64;
TheSize : int64;
FreeAvail : plargeinteger;
begin
GetDiskFreeSpaceEx(TheDrive,AvailToCall,TheSize,FreeAvail);
{$IFOPT Q+}
{$DEFINE TURNOVERFLOWON}
{$Q-}
{$ENDIF}
if TheSize >= 0 then
TotalBytes := TheSize
else
if TheSize = -1 then
begin
TotalBytes := $7FFFFFFF;
TotalBytes := TotalBytes * 2;
TotalBytes := TotalBytes + 1;
end
else
begin
TotalBytes := $7FFFFFFF;
TotalBytes := TotalBytes + abs($7FFFFFFF - TheSize);
end;
if AvailToCall >= 0 then
TotalFree := AvailToCall
else
if AvailToCall = -1 then
begin
TotalFree := $7FFFFFFF;
TotalFree := TotalFree * 2;
TotalFree := TotalFree + 1;
end
else
begin
TotalFree := $7FFFFFFF;
TotalFree := TotalFree + abs($7FFFFFFF - AvailToCall);
end;
end;
function GetDiskType(TheDrive : PChar): string;
var
x:integer;
begin
x := GetDriveType(TheDrive);
Case x of
2: result := '可移動驅動器';
3: result := '固定驅動器';
4: result := '網絡驅動器';
5: result := 'CD-ROM驅動器';
6: result := '虛擬驅動器';
Else result := '驅動器無效';
End;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -