home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / dossys / fatinfo / fatinfo.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1994-05-08  |  1.5 KB  |  52 lines

  1. Program AllocationTableInformation;
  2. { adapted to BP7 jb/'94 }
  3.  
  4. USES
  5.   Dos, Crt;
  6.  
  7. Var
  8.   Registers   : DOS.Registers;       { ugly but quickly adapted }
  9.   ClusterSize : Real;
  10.   DiskSize    : Real;
  11.  
  12. Begin
  13.   LowVideo;
  14.   ClrScr;
  15.  
  16.   Fillchar (Registers, sizeof(Registers), 00);
  17.   Registers.AH := $30;
  18.   Registers.DS := DSeg;
  19.   MsDOS (registers);
  20.  
  21.   If Registers.AL = 0 then
  22.      Begin
  23.        Writeln; Writeln;
  24.        Writeln ('Sorry, this pgm. only works with DOS 2.0 or higher');
  25.        Writeln; Writeln;
  26.        Halt;
  27.        End;
  28.  
  29.   Fillchar (Registers, sizeof(Registers), 00);
  30.   Registers.AH := $1B;
  31.   Registers.DS := DSeg;
  32.   MsDOS (registers);
  33.   Writeln; Writeln;
  34.   Writeln('': 10, 'Allocation Table Information, Default Drive:');
  35.   WriteLn('': 10, '--------------------------------------------'^J^J);
  36.  
  37.   With Registers Do
  38.        Begin
  39.          Writeln ('# of clusters on disk..........', DX : 10);
  40.          Writeln ('Sectors per cluster............', AL : 10);
  41.          Writeln ('Sector size....................', CX : 10, ' bytes');
  42.          Writeln;
  43.          ClusterSize := (AL * CX);
  44.          DiskSize    := (ClusterSize * DX);
  45.          Writeln ('Size of each cluster...........', ClusterSize:10:0, ' bytes');
  46.          Writeln ('Total disk space...............', DiskSize   :10:0, ' bytes');
  47.          End;
  48.  
  49.   Writeln; Writeln;
  50.   Writeln; Writeln;
  51. End.