home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / pcmag / vol8n17.arc / HD2FLOPY.PRG < prev    next >
Text File  |  1989-08-29  |  1KB  |  68 lines

  1.  
  2.  
  3. *** HD2FLOPY.PRG
  4. CLEAR
  5. odbf=SPACE(30)
  6. fdrive="A"
  7. ndbf=SPACE(8)
  8. @ 1,0 SAY "Backup which database?" GET odbf
  9. @ 3,0 SAY "To which floppy drive?" GET fdrive
  10. @ 5,0 SAY "Enter Backup filename:" GET ndbf
  11. READ
  12. odbf=TRIM(odbf)
  13. ndbf=TRIM(ndbf)
  14. fmess="Insert a blank, formatted disk in ";
  15.      +"Drive &fdrive, and press a key..."
  16. IF READKEY()=12
  17.   RETURN
  18. ENDIF
  19. IF ndbf<=" "
  20.   ? [No TARGET file]+CHR(7)
  21.   RETURN
  22. ENDIF
  23. IF FILE(odbf) .OR. FILE(odbf+".DBF")
  24.   USE &odbf
  25. ELSE
  26.   ? [No SOURCE file: "&odbf"]+CHR(7)
  27.   RETURN
  28. ENDI
  29.  
  30. fdriven=ASC(UPPE(fdrive))-64
  31. DO WHILE DISKSPACE(fdriven)<1
  32.   WAIT fmess
  33. ENDDO
  34.  
  35. * Calc header size
  36. STOR 0 TO fldno,header
  37. DO WHILE ""<FIELD(fldno+1)
  38.   fldno=fldno+1
  39. ENDDO
  40. header=32*fldno+35
  41.  
  42. * Calc # of floppies needed
  43. floprecs=INT((DISKSPACE(fdriven)-header)/RECSIZE())
  44. flopneed=INT((RECCOUNT())/floprecs)+1
  45. makeflop="F"
  46. DO WHILE makeflop$"Ff"
  47.   ? STR(flopneed)+" Disks required.  "
  48.   ?? "Press <ENTER> to proceed."
  49.   WAIT "To format additional disks, insert ";
  50.       +"floppy and press <F>" TO makeflop
  51.   IF makeflop$"Ff"
  52.     RUN FORMAT &fdrive:
  53.   ENDIF
  54. ENDDO
  55.  
  56. sofar="0"
  57. DO WHILE .NOT. EOF()
  58.   sofar=LTRIM(STR(VAL(sofar)+1))
  59.   COPY NEXT floprecs TO &fdrive:&ndbf..&sofar
  60.   IF .NOT. EOF()
  61.     SKIP
  62.     DO WHILE DISKSPACE(fdriven)<RECSIZE()+header
  63.       WAIT fmess
  64.     ENDDO
  65.   ENDIF
  66. ENDDO
  67.  
  68.