home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
magazine
/
pctchnqs
/
1991
/
number3
/
dirsize.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-06-13
|
1KB
|
42 lines
program clstrsze;
uses dos;
function bytesPerCluster(drive : byte) : integer;
var
regs : registers;
sectorsPerCluster, bytesPerSector : integer;
begin
regs.ah := $1c; regs.dl := drive;
MSdos (regs);
sectorsPerCluster := regs.al; bytesPerSector := regs.cx;
bytesPerCluster := sectorsPerCluster * BytesPerSector;
end;
function dir_size (clusSize : Integer) : Longint;
var
FileInfo: SearchRec;
numClusters : integer;
begin
numClusters := 0;
FindFirst('*.exe', Archive, FileInfo);
while DosError = 0 do begin
if ((FileInfo.Size mod clusSize) <> 0) then
numClusters := numClusters + (FileInfo.Size div clusSize) + 1
else
numClusters := numClusters + (FileInfo.Size div clusSize);
FindNext(FileInfo);
dir_Size := numClusters * clusSize;
end;
end;
var
disk : byte;
diskLetter : char;
clusterSize: integer;
{ MAIN } begin
diskLetter := 'E'; clusterSize := 1024;
disk := ord(diskLetter)-64;
writeln(dir_size(BytesPerCluster(disk)));
end.