home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progc / c_all592.arj / TI415.ASC < prev    next >
Text File  |  1991-08-27  |  2KB  |  133 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.   PRODUCT  :  TURBO BASIC                                      NUMBER  :  415
  9.   VERSION  :  1.1
  10.    OS  :  DOS
  11.   DATE  :  December 30, 1987                         Page 1/2
  12.  
  13.   TITLE  :  Free Space on a Disk
  14.  
  15.  
  16.  
  17.  
  18.   This program demonstrates how to obtain the number of available bytes on a
  19.   disk using the REG and CALL INTERRUPT statements.
  20.  
  21.   SUB GetFreeSpace(Drive)
  22.     SHARED Sectors,TotalSpace,AvailableSpace
  23.  
  24.                             ' Load the AH register with 36 hex
  25.     REG 1,&H3600            ' The AL register contains 00
  26.  
  27.                             ' Load the DX register with the drive designator
  28.     REG 4,Drive             ' 0 = default, 1 = A, etc
  29.  
  30.     Call Interrupt &H21     ' Invoke function 36 hex
  31.  
  32.     Sectors = REG(1)        ' sectors-per-allocation unit (cluster)
  33.     FreeAloc = REG(2)       ' number of available clusters
  34.     BytesPerSector = REG(3) ' bytes per sector
  35.     TotalAloc = REG(4)      ' total number of clusters
  36.  
  37.                             ' calculate the total space on the drive
  38.     TotalSpace = TotalAloc*Sectors*BytesPerSector
  39.  
  40.                             ' calculate the available space on the drive
  41.     AvailableSpace = FreeAloc*Sectors*BytesPerSector
  42.  
  43.   END SUB
  44.   Start:
  45.     CLS
  46.     INPUT "Which Drive (<ENTER> for current):",Ans$
  47.     Ans$ = UCASE$(LEFT$(Ans$,1))
  48.     IF Ans$ = "" THEN
  49.        Drive = 0
  50.      ELSE
  51.        Drive = ASC(Ans$) - &H40
  52.     END IF
  53.  
  54.     Call GetFreeSpace(Drive)
  55.       IF Sectors = -1 THEN         'SECTORS = -1 INDICATES AN
  56.         PRINT "Invalid Drive"      'INVALID DRIVE
  57.         DELAY 2
  58.         GOTO Start
  59.       END IF
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.   PRODUCT  :  TURBO BASIC                                      NUMBER  :  415
  75.   VERSION  :  1.1
  76.    OS  :  DOS
  77.   DATE  :  December 30, 1987                         Page 1/2
  78.  
  79.   TITLE  :  Free Space on a Disk
  80.  
  81.  
  82.  
  83.  
  84.     PRINT "Total size of the disk is ";TotalSpace;"bytes"
  85.  
  86.     PRINT "Free area on disk is ";AvailableSpace;"bytes"
  87.  
  88.   END
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.