home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
workdb.zip
/
MAINTAIN.PRG
< prev
next >
Wrap
Text File
|
1988-08-15
|
5KB
|
124 lines
*!!* dBASE CONVERT - dBASE III File Conversion Aid v2.01 1/10/86
*
SET HEADING OFF
SET SAFETY OFF
* maintain.sig 08/18/83
STORE .T. TO MORE
DO WHILE MORE
STORE CHR(PEEK(063)) TO dr
CLEAR
STORE '?' TO COMMAND
@ 02,00 SAY '---------------------'
@ 02,20 SAY '---------------------'
@ 02,40 SAY '---------------------'
@ 02,60 SAY '--------------------'
@ 02,19 SAY '> > > F I L E M A I N T E N A N C E < < <'
@ 04,22 SAY '1. FIND DUPLICATE RECORDS'
@ 06,22 SAY '2. VERIFY AND MERGE NEW ENTRIES'
@ 08,22 SAY '3. VERIFY DELETED ENTRIES'
@ 10,22 SAY '4. PURGE DELETED ENTRIES FROM FILE'
@ 12,22 SAY '5. BACKUP DATA FILE'
@ 14,22 SAY '6. RE-INDEX THE RECORDS'
@ 16,22 SAY '7. USE BROWSE COMMAND'
@ 18,22 SAY '8. RETURN TO MAIN MENU'
@ 21,00 SAY '--------------------'
@ 21,20 SAY '--------------------'
@ 21,40 SAY '--------------------'
@ 21,60 SAY '--------------------'
@ 22,22 SAY 'WHAT NEXT'
@ 22,33 GET COMMAND PICTURE '!'
READ
DO CASE
CASE COMMAND = '1'
CLEAR
DO DUPCHECK.PRG
CASE COMMAND = '2'
CLEAR
DO VERIFNEW.PRG
CASE COMMAND = '3'
CLEAR
DO VERIFDEL.PRG
CASE COMMAND = '4'
DO PURGE.PRG
CASE COMMAND = '5'
STORE 'Y' TO DOIT
CLEAR
@ 01,05 SAY 'THIS MODULE MAKES A BACKUP OF THE DATA FILE TO ANOTHER DISK'
@ 03,05 SAY 'Do you want to do a backup of the DATA File (Y/N) ?'
@ 03,59 GET DOIT PICTURE '!'
READ
IF DOIT = 'Y'
@ 03,00
@ 07,05 SAY 'THE DATA FILE IS ON DRIVE '+DR+' AND YOU NORMALLY BACKUP TO DRIVE B'
@ 09,05 SAY 'MAKE SURE THE BACKUP DISK IS IN THE DRIVE SELECTED FOR BACKUP'
*!! no longer valid RESET
STORE 'B' TO BDR
@ 13,05 SAY 'WHICH DRIVE SELECTED FOR BACKUP DATA FILE ? ' GET BDR PICTURE '!'
READ
DO WHILE AT(bdr,'ABCD') = 0
@ 13,05 SAY 'WHICH DRIVE SELECTED FOR BACKUP DATA FILE ? ' GET BDR PICTURE '!'
READ
ENDDO WHILE @
IF BDR <> DR
@ 17,05 SAY 'NOW COPYING DATA FILE FROM DRIVE '+DR+' TO DRIVE '+BDR+ ' '
COPY TO &BDR.:SIG/MBAK
ELSE
@ 17,05 SAY 'CANT BACKUP TO SAME DRIVE - ABORTING'
@ 23,00 SAY 'HIT RETURN TO CONTINUE'
SET CONSOLE OFF
WAIT
SET CONSOLE ON
ENDIF NOT SAME DRIVE
ENDIF DO BACKUP
CASE COMMAND = '6'
* re-initialize index files
CLEAR
@ 7,10 SAY 'RECORDS ARE NOW BEING RE-INDEXED'
@ 9,10 SAY 'PLEASE BE PATIENT AS THIS TAKES A LITTLE TIME...'
INDEX ON UPPER(lname) TO &dr.:orders
CASE COMMAND = '7'
* browse thru records
CLEAR
@ 01,12 SAY '***WARNING*** ***WARNING*** ***WARNING***'
@ 03,13 SAY 'CHANGES MADE WILL BE WRITTEN TO THE FILE'
@ 06,12 SAY 'CTRL-C WRITE CURRENT RECORD & GO DOWN'
@ 07,12 SAY 'CTRL-R WRITE CURRENT RECORD & GO UP'
@ 08,12 SAY 'CTRL-Z/B PANS SCREEN LEFT OR RIGHT'
@ 09,12 SAY 'CTRL-V TOGGLES INSERT ON OR OFF'
@ 10,12 SAY 'CTRL-G DELETE CHARACTER UNDER CURSOR'
@ 11,12 SAY 'CTRL-U DELETE OR RECALL CURRENT RECORD'
@ 12,12 SAY 'CTRL-Q EXIT DONT WRITE CURRENT RECORD'
@ 13,12 SAY 'CTRL-W EXIT AND SAVE ALL CHANGES'
* get a starting point in file
STORE 'A' TO STLETTER
@ 22,00
@ 22,12 SAY 'AT WHAT LETTER OF ALPHABET TO START BROWSING'
@ 22,57 GET STLETTER PICTURE '!'
READ
* goto starting point or next if no find
*!! EOF() will be true if NO FIND, and RECNO() will equal BOTTOM, not 0.
FIND &STLETTER
DO WHILE (EOF() .OR. BOF())
STORE 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ' TO ALPHABET
STORE AT(stletter,ALPHABET) + 1 TO NEXL
STORE SUBSTR(ALPHABET,NEXL,1) TO stletter
*!! EOF() will be true if NO FIND, and RECNO() will equal BOTTOM, not 0.
FIND &STLETTER
RELEASE ALPHABET
ENDDO WHILE #
* browse thru file
SET ESCAPE OFF
BROWSE
SET ESCAPE ON
CASE (command = '8' .OR. command = 'Q')
STORE .F. TO MORE
ENDCASE
ENDDO WHILE MORE
RELEASE ALL
STORE .T. TO FIRST