home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / COMA / COMA004.MSA / KF_MENU.LST < prev    next >
File List  |  1989-04-05  |  4KB  |  149 lines

  1. ' ===============================
  2. ' =======                 =======
  3. ' =======     KF-SOFT     =======
  4. ' =======                 =======
  5. ' =======      MENU       =======
  6. ' =======                 =======
  7. ' =======     PROGRAM     =======
  8. ' =======                 =======
  9. ' ===============================
  10. menue_bar
  11. screen
  12. wait
  13. ' ===============================
  14. > PROCEDURE menue_bar
  15.   ON MENU GOSUB menue
  16.   DIM item$(26)
  17.   DO                    !MENU-ITEMS INTO ARRAY
  18.     READ item$(i&)
  19.     EXIT IF item$(i&)="-1-1"
  20.     INC i&
  21.   LOOP
  22.   DATA DESK , ABOUT THE PROGRAMM ,---------------,1,2,3,4,5,6,""
  23.   DATA REACTION: ,  OUTBOX OFF ,  INBOX  OFF ,--------------
  24.   DATA   TIMER ON ,  TIMER OFF ,""
  25.   DATA SHOW: ,  POSITION ,  KEYBORD ,""
  26.   DATA END , END ,""
  27.   DATA "",""
  28.   DATA -1-1
  29. RETURN
  30. ' ===============================
  31. > PROCEDURE screen
  32.   DEFTEXT 1,8,0,10
  33.   DEFFILL 2,2,4
  34.   PBOX 0,0,639,199
  35.   OPENW 0
  36.   MENU item$()
  37.   MENU 15,2
  38.   DEFFILL 1,2,6
  39.   BOUNDARY 1
  40.   PBOX 20,0,620,150
  41.   TEXT 30,33,150,"OUTBOX"
  42.   ' ==============================
  43.   DEFFILL 3,3,3
  44.   PBOX 110,50,210,125
  45.   TEXT 115,80,"INBOX"
  46.   ' ==============================
  47.   DEFTEXT 1,0,0,6
  48.   PRINT AT(3,20);"Scancode of Key  :    "
  49.   PRINT AT(3,21);"ASCII-Code of Key:    "
  50.   ' ==============================
  51.   PRINT AT(30,20);"X-Position of the Mauscursor:    "
  52.   PRINT AT(30,21);"Y-Position of the Mauscursor:    "
  53. RETURN
  54. ' ===============================
  55. > PROCEDURE wait
  56.   DO
  57.     IF arr&=1
  58.       PRINT AT(58,20);USING "###",MOUSEX
  59.       PRINT AT(58,21);USING "###",MOUSEY
  60.     ENDIF
  61.     ON MENU
  62.   LOOP
  63. RETURN
  64. ' ===============================
  65. > PROCEDURE menue
  66.   e&=MENU(0)                        !ARRAY-INDEX
  67.   i$=item$(e&)
  68.   IF i$=" ABOUT THE PROGRAMM "
  69.     ALERT 1,"KF-SOFT|SHOWS TO YOU| HOW TO CREAT| A MENU",1," OK ",b&
  70.   ELSE IF i$="  INBOX  OFF "
  71.     item$(e&)="  INBOX  ON "
  72.     ~MENU_TEXT(MENU(-1),MENU(5),item$(e&)+CHR$(0))
  73.     ON MENU IBOX 1,110,50+19,100,125 GOSUB inbox
  74.   ELSE IF i$="  INBOX  ON "
  75.     item$(e&)="  INBOX  OFF "
  76.     ~MENU_TEXT(MENU(-1),MENU(5),item$(e&)+CHR$(0))
  77.     ON MENU IBOX 1,110,50+19,100,125 GOSUB nothing
  78.   ELSE IF i$="  OUTBOX OFF "
  79.     item$(e&)="  OUTBOX ON "
  80.     ~MENU_TEXT(MENU(-1),MENU(5),item$(e&)+CHR$(0))
  81.     ON MENU OBOX 2,20,0,600,150 GOSUB outbox
  82.   ELSE IF i$="  OUTBOX ON "
  83.     item$(e&)="  OUTBOX OFF "
  84.     ~MENU_TEXT(MENU(-1),MENU(5),item$(e&)+CHR$(0))
  85.     ON MENU OBOX 2,20,0,600,150 GOSUB nothing
  86.   ELSE IF i$="  TIMER ON "
  87.     MENU 15,3                !>TIMER ON< NOT SELECTABLE
  88.     MENU 14,2                !>TIMER OFF< SELECTABLE
  89.     EVERY 200 GOSUB clock      !EVERY SECONDS
  90.   ELSE IF i$="  TIMER OFF "
  91.     MENU 15,2                !>TIMER OFF< NOT SELECTABLE
  92.     MENU 14,3                !>TIMER ON< SELECTABLE
  93.     EVERY 1000 GOSUB nothing !CLOCK-CALL STOP
  94.   ELSE IF i$="  POSITION "
  95.     arr&=arr& XOR 1
  96.     IF arr&=1
  97.       MENU e&,1
  98.     ELSE
  99.       MENU e&,0
  100.     ENDIF
  101.   ELSE IF i$="  KEYBORD "
  102.     key&=key& XOR 1
  103.     IF key&=1
  104.       MENU e&,1
  105.       ON MENU KEY GOSUB keybd
  106.     ELSE
  107.       MENU e&,0
  108.       ON MENU KEY GOSUB nothing
  109.     ENDIF
  110.   ELSE IF i$=" END "
  111.     MENU KILL
  112.     CLOSEW 0
  113.     END
  114.   ENDIF
  115.   MENU OFF
  116. RETURN
  117. ' ===============================
  118. > PROCEDURE inbox
  119.   ALERT 3," MOUSECURSOR | IS IN THE| |   INBOX !",1," OK ",butt&
  120. RETURN
  121. ' ===============================
  122. > PROCEDURE outbox
  123.   ALERT 3," MOUSECURSOR | IS BEYOND OF| |  THE OUTBOX !",1," OK ",butt&
  124. RETURN
  125. ' ===============================
  126. > PROCEDURE clock
  127.   IF TIME$=TIME$ AND VAL(RIGHT$(TIME$,1))+1<10
  128.     MID$(time$,8)=RIGHT$(STR$(VAL(RIGHT$(TIME$,1))+1),1)
  129.   ELSE
  130.     TIME$=TIME$
  131.   ENDIF
  132.   TEXT 220,180,"TIME:    "
  133.   TEXT 220,180,TIME$
  134. RETURN
  135. ' ===============================
  136. > PROCEDURE keybd
  137.   EVERY STOP                           !CLOCK OFF
  138.   scan_code&=MENU(14) DIV 256
  139.   ascii_code&=MOD(MENU(14),256)
  140.   PRINT AT(3,20);"Scancode of Key : ";
  141.   PRINT USING "###",scan_code&
  142.   PRINT AT(3,21);"ASCII-Code of Key: ";
  143.   PRINT USING "###",ascii_code&
  144.   EVERY  CONT                           !CLOCK ON AGAIN
  145. RETURN
  146. ' ===============================
  147. > PROCEDURE nothing
  148. RETURN
  149.