home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 July
/
64er_Magazin_93-07_1993_Markt__Technik_de_Side_A.d64
/
demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
7KB
|
289 lines
90 rem ********************************
91 rem * demo zu menubasic *
92 rem ********************************
93 rem * (w) 21.3.93 by matthias wenk *
94 rem ********************************
95 rem
96 rem *****************
97 rem *** titelbild ***
98 rem *****************
99 rem
100 print"[147]":init
110 fori=0to12
120 fill160,i,i,25-i*2,40-i*2,i
130 next
140 fori=0to11
150 box160,i+1,i+1,3,11,0
160 box160,i,i,3,11,15
170 texti+1,i+1,1,10,15,"menubasic"
180 fora=0to50:next
190 ifi<11then:decover:decover
200 next
210 fori=3to0step-1
220 forj=8to0step-1
230 box160,19+i,j,1,1,peek(56056+40*i+j)
240 next
250 next
260 a$(1)="(w) 1993 by "
270 a$(2)="matthias wenk "
280 a$(3)="hagenbuchstr. 43 "
290 a$(4)="ch-9000 st. gallen"
300 fori=1to4
310 forj=0to9
320 text18+i,j,1,20,13,a$(i)
330 ifj<9then:decover
340 next
350 next
500 a=0:poke198,0
510 text24,5,1,31,aand15,"bitte druecken sie eine taste!"
520 ifpeek(198)=0thena=a+1:goto510
521 rem
522 rem *******************************
523 rem hauptprogramm
524 rem *******************************
525 rem
526 rem *********************
527 rem *** menu ausgeben ***
528 rem *********************
529 rem
530 poke198,0:print"[147]":init
540 a$="menu":b$="box":c$="icon":d$="tastdef":e$="fill":f$="trans":g$="text"
550 h$="__"
560 menu1,0,0,4,a$,1000,b$,2000,c$,3000,d$,4000,e$,5000,f$,6000,g$,7000,h$,8000
570 fill160,9,9,12,22,10
580 a$="willkommen zur demo von menubasic! bitte waehlen sie einen menupunkt!"
590 gosub60000
600 release50,24
991 rem
992 rem *******************************
993 rem menupunkte
994 rem *******************************
995 rem
996 rem **************
997 rem *** 'menu' ***
998 rem **************
999 rem
1000 a$="menupunkt "
1010 menu0,1,0,3,a$+"1",1100,a$+"2",1200,a$+"3",1300
1020 release58,24
1100 a$="menupunkt "
1110 menu0,1,11,1,a$+"1.1",1150,a$+"1.2",1160,a$+"1.3",1170,a$+"1.4",1180
1120 release58,112
1150 a$="1.1":goto1190
1160 a$="1.2":goto1190
1170 a$="1.3":goto1190
1180 a$="1.4"
1190 a$="sie haben menupunkt "+a$+" gewaehlt!"
1195 gosub60000
1197 delmenu:delmenu:goto62000
1200 menu1,2,11,1,"bitte anklicken!",1250
1210 a$="das passiert, wenn sie ein horizontales untermenu ausgeben! "
1220 a$=a$+"sie koennen es nur durch anklicken verlassen!"
1230 gosub60000
1240 release66,112
1250 delmenu:delmenu:goto62000
1300 fori=3to9
1310 menu0,i,11,1,"menupunkt "+str$(i-2),1350
1320 next
1330 a$="ein mit 'for-next' ausgegebenes menu"
1340 gosub60000:release122,112
1350 delmenu:goto62000
1995 rem
1996 rem *************
1997 rem *** 'box' ***
1998 rem *************
1999 rem
2000 a$="mit 'box' ist es moeglich, beliebig grosse bereiche mit einem zeichen"
2010 a$=a$+" zu fuellen. im speicher haben bis zu 4 ganze bildschirme ..."
2020 gosub60000
2030 gosub61000
2040 fori=0to3
2050 box160,0,0,25,40,i
2055 forj=1to100:next
2060 next
2070 gosub61000
2080 fori=0to3
2090 decover
2095 forj=1to100:next
2100 next
2110 a$="oder 39 10x10-felder platz:"
2120 gosub60000
2130 gosub61000
2140 fori=1to3
2150 forj=1to13
2160 box160,i*2,j*2+i,10,10,i+j
2170 next:next
2180 gosub61000
2190 fori=0to38
2200 decover
2210 next
2220 goto62000
2995 rem
2996 rem **************
2997 rem *** 'icon' ***
2998 rem **************
2999 rem
3000 a$="icons sind so einfach wie menus!"
3010 gosub60000
3020 icon0,0,25,40,3200
3030 fori=0to3
3040 box160,3,i*10+2,3,7,0
3050 box160,2,i*10+1,3,7,5
3060 text3,i*10+2,1,6,5,"icon"+str$(i+1)
3070 icon2,i*10+1,3,7,3300+i*100
3080 next
3090 box160,22,12,3,8,0
3100 box160,21,11,3,8,3
3110 text22,12,1,7,3,"weiter"
3120 icon21,11,3,8,3700
3130 goto62000
3200 a$="wieso klicken sie hier?"
3210 gosub60000
3220 goto62000
3300 a$="das war icon 1"
3310 gosub60000
3320 goto62000
3400 a$="das war icon 2"
3410 gosub60000
3420 goto62000
3500 a$="das war icon 3"
3510 gosub60000
3520 goto62000
3600 a$="das war icon 4"
3610 gosub60000
3620 goto62000
3700 fori=0to9
3710 decover
3720 next
3730 fori=0to5
3740 delreg
3750 next
3760 goto62000
3995 rem
3996 rem *****************
3997 rem *** 'tastdef' ***
3998 rem *****************
3999 rem
4000 a$="'tastdef' eignet sich hervorragend fuer menus, dessen menupunkte mit ta
4010 a$[178]a$[170]"sten ausgewaehlt werden, die also ohne joystick auskommen (muessen)"
4020 [141]60000
4030 [141]61000
4040 b$[178]" menupunkt ":a$[178]""
4050 [129]i[178]1[164]8
4060 a$[178]a$[170]">"[170][199](i[170]64)[170]"<"[170]b$[170][196](i)[170][199](13)
4070 [130]
4080 a$[178]a$[170][199](13)[170]"taste"
4090 [141]60000
4100 tser[150]4200,0,255
4110 tast[150]65,4300,66,4310,67,4320,68,4330,69,4340,70,4350,71,4360,72,4370
4200 release0,0,19,16,1,1,1,a$
4300 a$[178]"1":[137]4400
4310 a$[178]"2":[137]4400
4320 a$[178]"3":[137]4400
4330 a$[178]"4":[137]4400
4340 a$[178]"5":[137]4400
4350 a$[178]"6":[137]4400
4360 a$[178]"7":[137]4400
4370 a$[178]"8"
4400 a$[178]"sie haben den menupunkt "[170]a$[170]" gewaehlt!"
4410 [141]60000
4420 tser[150]0,255,0
4430 release50,24
4995 [143]
4996 [143] **************
4997 [143] *** 'fill' ***
4998 [143] **************
4999 [143]
5000 a$[178]"mit dem fill-befehl geht zwar der hintergrund unter dem ausgefuellten"
5010 a$[178]a$[170]" rechteck verloren, dafuer ist er schneller und braucht keinen "
5020 a$[178]a$[170]"speicherplatz fuer den hintergrund."
5030 [141]60000
5040 [151]198,0
5100 a[178]a[170]1[175]15
5110 fill160,1,0,8,40,a
5120 fill160,9,0,12,9,a[170]1
5130 fill160,21,0,4,40,a[170]2
5140 fill160,9,31,12,9,a[170]3
5150 [139][194](198)[178].[137]5100
5160 [137]62000
5995 [143]
5996 [143] ***************
5997 [143] *** 'trans' ***
5998 [143] ***************
5999 [143]
6000 a$[178]"mit dem 'trans'-befehl kann man auch farbige und invertierte zeichen "
6020 a$[178]a$[170]"vom bildschirm in einen string kopieren und z.b. mit 'text' wieder"
6030 a$[178]a$[170]" ausgeben:"
6040 [141]60000
6050 [141]61000
6060 trans0,0,5,0,a$
6070 [129]i[178]1[164]8
6080 texti,i,1,6,4,a$
6090 [130]
6100 [129]i[178]21[164]24
6110 texti,i,1,6,4,a$
6120 [130]
6130 trans0,35,5,0,a$
6140 [129]i[178]1[164]8
6150 texti,35[171]i,1,6,4,a$
6160 [130]
6170 [129]i[178]21[164]24
6180 texti,35[171]i,1,6,4,a$
6190 [130]
6200 [137]62000
6995 [143]
6996 [143] **************
6997 [143] *** 'text' ***
6998 [143] **************
6999 [143]
7000 a$[178]"mit dem 'text'-befehl kann man fortlaufende texte einfach auf dem "
7010 a$[178]a$[170]"bildschirm ausgeben. zu lange woerter werden auf der naechsten "
7020 a$[178]a$[170]"zeile ausgegeben (wordwrapping)."
7030 [141]60000
7040 [141]61000
7050 a$[178]"texte koennen auch stopfclrasysrprintbdefiglist und inverswait sein. wenn der text zu l"
7060 a$[178]a$[170]"ang ist, wird die ausgabe abgebro- chen, um zu verhin- dern, dass "
7070 a$[178]a$[170]"eventuell eine bildschirmmaske ueberschrieben wird."
7080 [141]60000
7090 [137]62000
7995 [143]
7996 [143] *******************
7997 [143] *** '__' (ende) ***
7998 [143] *******************
7999 [143]
8000 init:[153]"load";:[128]
59991 [143]
59992 [143] *****************************
59993 [143] unterprogramme
59994 [143] *****************************
59995 [143]
59996 [143] *****************************
59997 [143] *** text im feld ausgeben ***
59998 [143] *****************************
59999 [143]
60000 fill32,10,10,10,20,0
60010 text10,10,10,20,15,a$
60020 [142]
60994 [143]
60995 [143] ***************************
60996 [143] *** ok ausgeben und an- ***
60997 [143] *** klicken lassen ***
60998 [143] ***************************
60999 [143]
61000 box160,20,30,3,4,0
61010 box160,19,29,3,4,1
61020 menu1,20,30,1,"ok",61050
61030 ic[145]19,29,3,4,61050
61040 release210,264
61050 delmenu
61060 decover:decover
61070 [142]
61993 [143]
61994 [143] ***************************
61995 [143] *** pfeil einschalten, ***
61996 [143] *** ohne seine position ***
61997 [143] *** zu veraendern ***
61998 [143] ***************************
61999 [143]
62000 release[194](53249),[194](53248)[170]256[172]([194](53264)[175]1)