* maintain.sig 08/18/83 STORE t TO more DO WHILE more STORE CHR(PEEK(063)) TO dr ERASE 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' ERASE DO dupcheck.sig CASE command = '2' ERASE DO verifnew.sig CASE command = '3' ERASE DO verifdel.sig CASE command = '4' DO purge.sig CASE command = '5' STORE 'Y' TO doit ERASE @ 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' RESET STORE 'B' TO bdr @ 13,05 SAY 'Which drive selected for backup DATA File ? ' GET bdr PICTURE '!' READ DO WHILE @(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 ERASE @ 7,10 SAY 'Records are now being re-indexed' @ 9,10 SAY 'Please be patient as this takes a little time...' INDEX ON !(lname) TO &dr.:orders CASE command = '7' * browse thru records ERASE @ 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 FIND &stletter DO WHILE # = 0 STORE 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ' TO ALPHABET STORE @(stletter,ALPHABET) + 1 TO NEXL STORE $(ALPHABET,NEXL,1) TO stletter 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