home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8505.d64 / menuesteuerung (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  2KB  |  74 lines

  1. 2 REM   ****** MENUE-DEMO ******
  2. 4 POKE53280,0:POKE53281,0:PRINTCHR$(147)
  3. 5 REM * * * MENUE-WORTE EINLESEN * * *
  4. 6 AM=12:DIMD$(AM+1):DIMAA(AM+1):REM AM=MAX. ANZAHL DER WORTE
  5. 7 I=1
  6. 8 READD$(I):D$(I)=CHR$(32)+D$(I)+CHR$(32):IFD$(I)<>" _ "THENI=I+1:GOTO8
  7. 9 DATASTART,HELP,GOTO,RENUM,LIST
  8. 10 DATAOLD,FIND,CTRL,CLR,NEW,RUN,ENDE,_
  9. 13 REM * * * * * * * * * * * * * * * *
  10. 14 POKE214,15:PRINT:PRINTTAB(10)"<= CRSR =>  UND RETURN"
  11. 15 REM BEISPIEL
  12. 16 AN=1:AZ=5:GOSUB1000:REM 1.MENUE
  13. 17 ONKKGOSUB27,27,27,27,27
  14. 18 :
  15. 19 AN=6:AZ=7:GOSUB1000:REM 2.MENUE
  16. 20 ONKKGOSUB27,27,27,27,27,27,30
  17. 22 GOTO16
  18. 25 :
  19. 26 REM ANZEIGE
  20. 27 POKE214,15:PRINT:PRINTTAB(18)"               "
  21. 28 POKE214,15:PRINT:PRINTTAB(10)"GEWAEHLT:";D$(AN+KK-1);"(";KK;")":RETURN
  22. 29 :
  23. 30 PRINTCHR$(147):END
  24. 32 :
  25. 1000 REM ******************************
  26. 1010 REM **** MENUE UNTERPROGRAMM  ****
  27. 1020 REM ******************************
  28. 1030 REM ****  (C) MARIO SCHACHT   ****
  29. 1040 REM ****      (030)4968872    ****
  30. 1050 REM ******************************
  31. 1060 REM **** AUFRUF (BEISPIEL)    ****
  32. 1070 REM **** AN=1:AZ=4:GOSUB1000  ****
  33. 1080 REM **** ON KK GOSUB11,22,... ****
  34. 1090 REM ****- - - - - - - - - - - ****
  35. 1100 REM **** AN: ANFANG MIT AN-TEN****
  36. 1110 REM ****     STRING           ****
  37. 1120 REM **** AZ: ANZAHL DER MENUE-****
  38. 1130 REM ****     PUNKTE           ****
  39. 1140 REM **** KK: 1 BIS AZ WIRD    ****
  40. 1150 REM ****     UEBERGEBEN       ****
  41. 1160 REM ******************************
  42. 1170 REM **** VERWENDETE VARIABLEN ****
  43. 1180 REM **** D$(AM);AA(AM);A$     ****
  44. 1190 REM **** AM;AZ;AN;AL;DI;AY;KK ****
  45. 1200 REM ****                      ****
  46. 1210 REM ******************************
  47. 1220 AL=0
  48. 1230 FORI=ANTO(AN+AZ-1):AL=AL+LEN(D$(I)):NEXT:REM AL=GESAMTLAENGE
  49. 1240 IFAL>38+AZTHENPOKE214,22:PRINT:PRINT" MENUE-WORTE KUERZEN !":RETURN
  50. 1250 IFAL<39THEN1290
  51. 1260 REM WORTE KUERZEN
  52. 1270 DI=AL-39:FORI=ANTO(AN+DI):D$(I)=LEFT$(D$(I),LEN(D$(I))-1):NEXT:AL=38
  53. 1280 REM MENUE DARSTELLEN
  54. 1290 POKE214,22:PRINT:PRINTTAB((40-AL)/2)
  55. 1300 FORI=ANTO(AN+AZ-1)
  56. 1310 PRINTCHR$(18)CHR$(30);D$(I);:NEXT
  57. 1330 REM ANZEIGE
  58. 1340 AA(AN)=(40-AL)/2:REM ERSTE STELLE
  59. 1350 FORI=ANTO(AN+AZ-2)
  60. 1360 AA(I+1)=AA(I)+LEN(D$(I)):NEXT
  61. 1380 REM STARTPOSITION
  62. 1390 KK=INT(AZ/2):FL=0:FR=158:GOSUB1550
  63. 1400 REM ABFRAGE
  64. 1410 GETA$:IFA$=""THEN1410
  65. 1420 IFA$<>CHR$(29)ANDA$<>CHR$(157)ANDA$<>CHR$(13)THEN1410
  66. 1430 IFA$=CHR$(29)THENKK=KK+1:FL=-1:FR=30:GOSUB1550:IFKK=AZTHENKK=0
  67. 1440 IFA$=CHR$(157)THENKK=KK-1:FL=1:FR=30:GOSUB1550:IFKK<0THENKK=AZ-1
  68. 1450 FL=0:FR=158:GOSUB1550
  69. 1460 IFA$<>CHR$(13)THEN1410
  70. 1470 POKE214,22:PRINT:PRINT"                                       ":REM MENUE LOESCHEN
  71. 1500 KK=KK+1:RETURN:REM RUECKSPRUNG MIT PARAMETER KK
  72. 1540 REM ANZEIGE GELB
  73. 1550 POKE214,22:PRINT:PRINTTAB(AA(KK+AN+FL))CHR$(18)CHR$(FR);D$(KK+AN+FL):RETURN
  74.