Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : PLUSBKUP.ZIP
Filename : DB3BKUP.PRG

 
Output of file : DB3BKUP.PRG contained in archive : PLUSBKUP.ZIP


* 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



  3 Responses to “Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : PLUSBKUP.ZIP
Filename : DB3BKUP.PRG

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/