home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / menudb3.zip / MENU1.PRG
Text File  |  1985-08-03  |  4KB  |  130 lines

  1. *MENU123.PRG
  2. * set environment
  3. CLEAR
  4. SET TALK OFF
  5. SET BELL OFF
  6. SET DELIMITER OFF
  7. SET PROCEDURE TO WINDOW
  8. *  store constants for window program
  9. A=CHR(205)
  10. AA=A+A+A+A+A+A+A+A+A+A
  11. WDASH=AA+AA+AA+AA+AA+AA+AA+AA
  12. STORE SPACE (79) TO WBLANK
  13. STORE .T. TO MENUON
  14. DO WHILE MENUON
  15.      CLEAR
  16. * CREATE MENU ITEMS AMPLIFICATION WINDOW
  17.      ROWSSTART =2
  18.      ROWSEND = 4
  19.      COLSSTART = 0
  20.      COLSEND = 79
  21.      DO WINDOW
  22.      * display user directions message
  23.      STORE " [8] MOVE BAR "+CHR(24)+" " TO MSG1
  24.      STORE " [2] MOVE BAR "+CHR(25)+" " TO MSG2
  25.      STORE "  [X] TO EXIT  "            TO MSG3
  26. STORE "("+CHR(17)+CHR(196)+CHR(217)+")"+"SEL MENU ITEM " TO MSG4
  27. CLEAR GETS
  28.      @ 23,2 GET MSG1
  29.      @ 23,20 get MSG2
  30.      @ 23,38 get MSG3
  31.      @ 23,56 get MSG4
  32.      CLEAR GETS
  33.      *set window borders for menu
  34.      ROWSTART = 07
  35.      ROWSEND = 13
  36.      COLSSTART = 28
  37.      COLSEND = 47
  38.      * set number of items
  39.      NBR_ITEMS = 5
  40.      DO WINDOW
  41.      * set menu items for later placement in menu window
  42.      STORE "MENU SELECTION 1 " TO C10
  43.      STORE "MENU SELECTION 2 " TO C11
  44.      STORE "MENU SELECTION 3 " TO C12
  45.      STORE "MENU SELECTION 4 " TO C13
  46.      STORE "RETURN TO DBASE " TO  C14
  47.      @ ROWSSTART+1,COLSSTART+2 SAY C10
  48.      @ ROWSSTART+2,COLSSTART+2 SAY C11
  49.      @ ROWSSTART+3,COLSSTART+2 SAY C12
  50.      @ ROWSSTART+4,COLSSTART+2 SAY C13
  51.      @ ROWSSTART+5,COLSSTART+2 SAY C14
  52.      *
  53.      * lite bar scroll/menu select program
  54.      STORE 1 TO CNTER
  55.      STORE NBR_ITEMS TO MDECISION, NBR
  56.       * initialize lite bar loop controls
  57.      STORE ROWSSTART + 1 TO ROWSTRT, ROWCURR, ROW
  58.      STORE COLSSTART + 2 TO COL
  59.      * set row position for cursor control
  60.      STORE ROWCURR TO ROW
  61.      * loop to move light bar
  62.      DO WHILE NBR > 0
  63.           @ 3,1 SAY SPACE(78)
  64.           DO CASE
  65.                CASE CNTER = 1
  66.                     @ 3,1 SAY "Amplification of menu item 1"
  67.                CASE CNTER = 2
  68.                     @ 3,1 SAY "Amplification of menu item 2"
  69.                CASE CNTER = 3
  70.                     @ 3,1 SAY "Amplification of menu item 3"
  71.                CASE CNTER = 4
  72.                     @ 3,1 SAY "Amplification of menu item 4"
  73.                case cnter = 5
  74.                     @ 3,1 SAY "EXIT TO DBASE"
  75.           ENDCASE
  76.      *SET variables to save user selection
  77.      STORE "C" + STR(CNTER + 9,2) TO X
  78.      STORE "X" + STR(CNTER + 9,2) TO S
  79.      STORE CHR(16) TO &S
  80.      @ ROW,COL GET &X
  81.      CLEAR GETS
  82.      @ ROW,COL-1 GET &S
  83.      READ
  84.      @ROW,COL-1 SAY " " + &X
  85.      DO CASE
  86.           CASE &S = "2"
  87.                IF CNTER < NBR_ITEMS
  88.                     ROW = ROW + 1
  89.                     CNTER = CNTER + 1
  90.                ELSE
  91.                     STORE ROWSTRT TO ROW
  92.                     STORE 1 TO CNTER
  93.                ENDIF
  94.           CASE &S = "8"
  95.                IF ROW # ROWSTRT
  96.                     STORE ROW - 1 TO ROW
  97.                     STORE CNTER - 1 TO CNTER
  98.                ELSE
  99.                     STORE ROWSTRT + (NBR_ITEMS - 1) TO ROW
  100.                     STORE NBR_ITEMS TO CNTER
  101.                ENDIF
  102.          * item selected
  103.           CASE &S = chr(16)
  104.                store cnter to mdecision
  105.                STORE 0 TO NBR
  106.           * EXIT DESIRED
  107.           CASE &S = "X"
  108.                CLOSE PROCEDURE
  109.                CLEAR ALL
  110.                RETURN
  111.            ENDCASE
  112.           STORE ROW TO ROWCURR
  113.      ENDDO
  114.      DO CASE
  115.           CASE MDECISION = 1
  116.                do tester
  117.           CASE MDECISION = 2
  118.                DO MENUSEL2
  119.           CASE MDECISION = 3
  120.                DO MENUSEL3
  121.           CASE MDECISION = 4
  122.                DO MENUSEL4
  123.           CASE MDECISION = 5
  124.                CLOSE PROCEDURE
  125.                CLEAR ALL
  126.                CLEAR
  127.                RETURN
  128.      ENDCASE
  129.      ENDDO
  130.