home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / QBAS / FASTFILE.ZIP / FASTFILE.BAS
BASIC Source File  |  1990-05-23  |  1KB  |  40 lines

  1.  
  2.  
  3. '********** BIGPUT.BAS - demonstrates saving and loading an entire array
  4.  
  5. 'Copyright (c) 1989 Ethan Winer
  6.  
  7.  
  8. DEFINT A-Z
  9.  
  10. DECLARE SUB BigSave ALIAS "B$PUT3" (BYVAL FileNumber, SEG Address, _
  11.         BYVAL NumBytes)
  12. DECLARE SUB BigLoad ALIAS "B$GET3" (BYVAL FileNumber, SEG Address, _
  13.         BYVAL NumBytes)
  14. DECLARE SUB BigSaveS ALIAS "B$PUT4" (BYVAL FileNumber, BYVAL SeekLoc&, _
  15.         SEG Address, BYVAL NumBytes)
  16. DECLARE SUB BigLoadS ALIAS "B$GET4" (BYVAL FileNumber, BYVAL SeekLoc&, _
  17.         SEG Address, BYVAL NumBytes)
  18.  
  19. CONST NumEls% = 10000                 'the size of the test array
  20. DIM Array(1 TO NumEls%)               'create an integer array
  21. FOR X = 1 TO NumEls%                  'initialize it to ascending values
  22.     Array(X) = X
  23. NEXT
  24.  
  25. OPEN "BigTest" FOR BINARY AS #1       'create the output file
  26. BigSave 1, Array(1), NumEls% * 2      'file #1, array start, number of bytes
  27. CLOSE #1                              'close the file
  28.  
  29. FOR X = 1 TO NumEls%                  'clear the array to prove we loaded
  30.     Array(X) = 0                      '  it again later
  31. NEXT
  32.  
  33. OPEN "BigTest" FOR BINARY AS #1       'open the file again
  34. BigLoad 1, Array(1), NumEls% * 2      'load the entire array at once
  35. CLOSE #1                              'close the file
  36.  
  37. FOR X = 1 TO NumEls%                  'print the results to prove it works
  38.     PRINT Array(X),
  39. NEXT
  40.