home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
plusbkup.zip
/
DB3BKUP.PRG
next >
Wrap
Text File
|
1987-03-02
|
3KB
|
168 lines
* DB3BKUP - dBASE III Backup procedure for backing up large
* database files ( > 360K bytes) to floppy diskettes.
* ask for location and name of file
set talk off
set echo off
clear
mname=space(8)
mdrive=space(1)
mpath=space(30)
@ 4,20 say " dBASE III - LARGE FILE BACKUP PROCEDURE "
@ 8,10 say " DISK DRIVE (C,D): "
@ 8,40 say "Enter X to EXIT this procedure"
@ 9,10 say " Database NAME: "
do while .T.
@ 8,35 get mdrive picture "!"
@ 9,35 get mname picture "!!!!!!!!"
read
@ 11,10 say space(60)
if (mdrive $ "CD" .and. mname <> space(8)) .or. mdrive = "X"
exit
endif
@ 11,10 say " DRIVE must be C,D, (or X) - Name must not be blank "
enddo
If mdrive="X"
return
endif
set default to &mdrive
@ 11,6 say "Enter PATH to database file:"
@ 12,6 say "DO NOT ENTER THE DRIVE LETTERS! (assumed to be what you entered above)"
@ 13,6 say "(Leave Blank if database file is in default directory)"
@ 14,6 say "(Remember to include a final backslash (\))"
@ 11,40 get mpath picture "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
read
if mpath <> space(30)
mpath=trim(mpath)
kp=mdrive+":"+mpath
umname=kp+mname
endif
close databases
use &umname
copy structure extended to temp
use temp
sum field_len to mlen
rcsize=mlen+1
close data
erase temp.dbf
use &umname
go top
count to rccount
go top
nhhrecx = INT(355000/(rcsize))
nhhrec = INT(nhhrecx/100) * 100
nhhdisk = int(rccount/nhhrec)+1
@ 15,10 say nhhrecx
?? nhhrec
?? nhhdisk
@ 16,10 SAY " You will need "
SET Color to 15
?? nhhdisk
?? " FORMATTED DISKS "
SET Color to 7
?? " to backup your data file"
mrsp=SPACE(1)
@ 17,6 say "Label "
?? nhhdisk
?? " of these disks "+mname+" BACKUP"
if nhhdisk > 1
?? ", number from 1 to "
?? nhhdisk
endif
set color to 15
@ 20,10 say "X"
set color to 7
?? ":Abort Backup Procedure "
set color to 15
?? "C"
set color to 7
?? "ontinue Backup "
set color to 15
?? " ENTER C/X: "
do while .T.
@ 20,70 get mrsp picture "!"
read
if mrsp $ "CX"
exit
endif
set color to 15
@ 21,30 say " Invalid Entry, Reenter"
enddo
if mrsp = "X"
@ 2,2 clear to 22,78
return
endif
@ 15,2 clear to 22,78
select 1
use &umname
go top
j=0
k=1
lname=trim(mname)
ln=len(lname)
if ln=8
ln=7
endif
ks="A:"+substr(mname,1,ln)
kl=ks+chr(k+48)
do while .T.
set color to 15
hi=j+nhhrec
@ 17,0 clear
@ 24,0 say space(77)
@ 18,9 say "Put "+mname+" Backup Diskette "+chr(k+48)+" in drive A: and close drive "
@ 23,79 say ""
wait
@ 24,0 say space(60)
do case
case nhhdisk = 1
@ 20,6 say "Copying all records to backup disk as "+kl+".DBF"
case k < nhhdisk
@ 20,6 say "Copying "
?? nhhrec
?? "records to backup disk as "+kl+".DBF"
case k = nhhdisk
kk=reccount() - ( (nhhdisk-1) * nhhrec)
@ 20,6 say "Copying remaining "
?? kk
?? " records to backup disk as "+kl+".DBF"
endcase
@ 24,3 say " NOTE: Each Floppy Backup Disk will take one to five minutes to fill "
set safety off
copy to &kl while .not. eof() .and. recno() <= hi
set safety on
if eof()
exit
endif
j=j+nhhrec
k=k+1
kl=ks+transform(k,"9")
enddo
@ 24,0 say space(77)
@ 22,30 say " DATABASE BACKUP COMPLETE "
@ 23,79 say ""
wait
@ 24,0 say space(77)
close databases
set color to 7
clear