home *** CD-ROM | disk | FTP | other *** search
- ********************************************************************************
- *
- * System : STATES
- *
- *
- * System Description : US States database
- *
- *
- * Module : STATES.PRG
- *
- *
- * Module Description : Main Program
- *
- *
- * Written by : A. Michael Hearn
- *
- *
- * Copyright (c) 1987 by A. Michael Hearn
- *
- ********************************************************************************
- * database: STATES
- SET STATUS OFF
- SET TALK OFF
- SET ECHO OFF
- SET BELL OFF
- SET HEADING OFF
- SET SAFETY OFF
- SET DEVICE TO SCREEN
- SET PROCEDURE TO STATES.PRC
- LOAD STATES
- LOAD DPMM
- LOAD DPOUT
- LOAD DPSORT
- LOAD DPMMSORT
- SELECT A
- IF .NOT. FILE("STATES.NDX")
- DO IND
- ENDIF
- USE STATE INDEX STATE
- SET FILTER TO
- DO PUB
- STORE "A - Add new states" TO MH_Menu1
- STORE "U - Update, Edit, Scan, Find states" TO MH_Menu2
- STORE "R - Run Reports from you list of states" TO MH_Menu3
- STORE "L - Print Labels from you list of states" TO MH_Menu4
- STORE "M - Generate a Mail Merge file from your list of states" TO MH_Menu5
- STORE "I - Rebuild the index to your list of states" TO MH_Menu6
- STORE "P - Remove Deleted records from your list of states" TO MH_Menu7
- STORE "S - Define Report/Label/Mailmerge sort/select" TO MH_Menu8
- STORE "Q - Quit to DOS" TO MH_Menu9
- STORE "D - Exit to Dbase" TO MH_Menu10
- STORE 10 TO MH_Options
- STORE 1 TO MH_I
- STORE "1" TO MH_Sub
- STORE 0 TO MH_Col
- STORE 55 TO MH_Col
- CALL DPMM
- CLEAR GETS
- DO WHILE .T.
- @ 5,12 SAY "A - Add new states"
- @ 6,12 SAY "U - Update, Edit, Scan, Find states"
- @ 7,12 SAY "R - Run Reports from you list of states"
- @ 8,12 SAY "L - Print Labels from you list of states"
- @ 9,12 SAY "M - Generate a Mail Merge file from your list of states"
- @ 10,12 SAY "I - Rebuild the index to your list of states"
- @ 11,12 SAY "P - Remove Deleted records from your list of states"
- @ 12,12 SAY "S - Define Report/Label/Mailmerge sort/select"
- @ 13,12 SAY "Q - Quit to DOS"
- @ 14,12 SAY "D - Exit to Dbase"
- STORE " " TO MH_Function
- @ 24,0 SAY SPACE(78)
- @ 2,3 SAY DTOC(DATE())
- @ 2,30 SAY "list of states main menu"
- @ 2,69 SAY Time()
- STORE "1" TO MH_Sub
- STORE 0 TO MH_Sel
- STORE 1 TO MH_Mline
- @5,12 GET MH_Menu1
- CLEAR GETS
- STORE " " TO MH_Function
- DO WHILE MH_Function = " "
- STORE 0 TO MH_Sel
- DO WHILE MH_Sel=0
- STORE INKEY() TO MH_Sel
- ENDDO
- IF MH_Sel = 24 .OR. MH_Sel=5 .OR. MH_Sel=32
- @MH_MLine+4,12 SAY MH_Menu&MH_Sub
- IF MH_Sel = 24 .OR. MH_Sel = 32
- STORE MH_MLine+1 TO MH_MLine
- ELSE
- STORE MH_MLine-1 TO MH_MLine
- ENDIF
- IF MH_MLine>MH_Options
- STORE 1 TO MH_MLine
- ENDIF
- IF MH_MLine<1
- STORE MH_Options TO MH_MLine
- ENDIF
- DO St2 WITH MH_Mline, MH_Sub
- @MH_MLine+4,12 GET MH_Menu&MH_Sub
- CLEAR GETS
- LOOP
- ENDIF
- IF At(UPPER(CHR(MH_Sel)),"AURLMIPSQD") # 0
- @MH_MLine+4,13 SAY MH_Menu&MH_Sub
- STORE At(UPPER(CHR(MH_Sel)),"AURLMIPSQD") TO MH_MLine
- DO St2 WITH MH_Mline, MH_Sub
- @MH_MLine+4,13 GET MH_Menu&MH_Sub
- CLEAR GETS
- STORE UPPER(CHR(MH_Sel)) TO MH_Function
- ENDIF
- IF MH_Sel = 13
- DO St2 WITH MH_MLine, MH_Sub
- STORE LEFT(MH_Menu&MH_Sub,1) TO MH_Function
- ENDIF
- ENDDO
- DO CASE
- CASE UPPER(MH_Function)="A"
- DO ADD
- CALL DPMM
- LOOP
- CASE UPPER(MH_Function)="U"
- DO UPD
- CALL DPMM
- LOOP
- CASE UPPER(MH_Function)="R"
- DO RPT
- CALL DPMM
- LOOP
- CASE UPPER(MH_Function)="M"
- DO MM
- CALL DPMM
- LOOP
- CASE UPPER(MH_Function)="L"
- DO LAB
- CALL DPMM
- LOOP
- CASE UPPER(MH_Function)="I"
- DO IND
- LOOP
- CASE UPPER(MH_Function)="H"
- DO HLP WITH 1
- CALL DPMM
- LOOP
- CASE UPPER(MH_Function)="P"
- @24,0 SAY SPACE(78)
- @24,0 SAY "Delete all marked records"
- STORE "N" TO MH_Ans
- @24,30 GET MH_Ans
- READ
- IF UPPER(MH_Ans) = "Y"
- PACK
- ENDIF
- RELEASE MH_Ans
- LOOP
- CASE UPPER(MH_Function)="Q"
- RELEASE MH_Function
- DO REL
- CLOSE DATABASES
- QUIT
- CASE UPPER(MH_Function)="S"
- DO DPSORT
- STORE "A - Add new states" TO MH_Menu1
- STORE "U - Update, Edit, Scan, Find states" TO MH_Menu2
- STORE "R - Run Reports from you list of states" TO MH_Menu3
- STORE "L - Print Labels from you list of states" TO MH_Menu4
- STORE "M - Generate a Mail Merge file from your list of states" TO MH_Menu5
- STORE "I - Rebuild the index to your list of states" TO MH_Menu6
- STORE "P - Remove Deleted records from your list of states" TO MH_Menu7
- STORE "S - Define Report/Label/Mailmerge sort/select" TO MH_Menu8
- STORE "Q - Quit to DOS" TO MH_Menu9
- STORE "D - Exit to Dbase" TO MH_Menu10
- STORE 10 TO MH_Options
- STORE 1 TO MH_I
- STORE "1" TO MH_Sub
- STORE 0 TO MH_Col
- STORE 55 TO MH_Col
- CALL DPMM
- CLEAR GETS
- SET PROCEDURE TO STATES.PRC
- USE STATE INDEX STATE
- LOOP
- CASE UPPER(MH_Function)="D"
- RELEASE MH_Function
- DO REL
- CLOSE DATABASES
- CLEAR
- RETURN
- ENDCASE
- ENDDO
- RETURN
-