[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
This code does it, but it's not included in the ShowMessage displays.
This is for Delphi 2.
function TForm1.ShowDiskData(Drive: string): string;
var
VolSer : DWord;
SysFlags : DWord;
DSize, DFree : integer;
NamLen, SysLen : integer;
Buf : string;
VolNameAry: array[0..255] of char;
VolNameStr: String;
LW : byte;
begin
{ get Disk name (volume id) and serial number }
if (Length(Drive) >= 3) then
Buf := Copy(Drive, 1, 3)
else
Buf := '';
NamLen:=255;
SysLen:=255;
(*
function GetVolumeInformation(lpRootPathName: PChar;
lpVolumeNameBuffer: PChar;
nVolumeNameSize: DWORD;
lpVolumeSerialNumber: PDWORD;
var lpMaximumComponentLength, lpFileSystemFlags: DWORD;
lpFileSystemNameBuffer: PChar;
nFileSystemNameSize: DWORD): BOOL; stdcall;
*)
if GetVolumeInformation(pChar(Buf), VolNameAry, NamLen,
@VolSer, SysLen, SysFlags, nil, 0) then
VolNameStr := StrPas(VolNameAry)
else
VolNameStr := '<no name>';
ShowMessage('Volume name is: ' + VolNameStr);
{ get free disk space and size}
LW := ord(upcase(Drive[1])) - 64;
DSize := DiskSize(LW);
if (DSize <> -1) then
begin
DSize := disksize(LW) DIV 1024;
DFree := diskfree(LW) DIV 1024;
ShowMessage('Disk size = ' + IntToStr(DSize) + ' K');
ShowMessage('Disk free = ' + IntToStr(DFree) + ' K');
end;
end;
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]