Здравствуйте allrussia, Вы писали:
A>Напоминаю, в Delphi 3
Как-то так...
program Project1;
{$apptype console}
uses windows;
{type}
{delphi3\source\rtl\win\windows.pas:30
DWORD = Integer;
BOOL = LongBool;
...}
{delphi3\source\rtl\win\windows.pas:66
LONGLONG = Comp;
PSID = Pointer;
PLargeInteger = ^TLargeInteger;
TLargeInteger = record
case Integer of
0: (
LowPart: DWORD;
HighPart: Longint);
1: (
QuadPart: LONGLONG);
end;
...}
{delphi3\source\rtl\win\windows.pas:3203
function GetDiskFreeSpaceEx(lpDirectoryName: PChar;
var lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes: Integer;
lpTotalNumberOfFreeBytes: PInteger): BOOL; stdcall;
...
}
function _GetDiskFreeSpaceEx(lpDirectoryName: PChar;
var lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes: TLargeInteger;
var lpTotalNumberOfFreeBytes: TLargeInteger): BOOL; stdcall;
external 'kernel32.dll' name 'GetDiskFreeSpaceExA';
var
lpAvail, lpTotal, lpTotalFree: TLargeInteger;
begin
if _GetDiskFreeSpaceEx('C:\', lpAvail, lpTotal, lpTotalFree) then
writeln(
lpAvail.QuadPart:15:0,
lpTotal.QuadPart:15:0,
lpTotalFree.QuadPart:15:0)
else
writeln('error code (dec):', GetLastError);
end.