home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1990 April
/
64er_Magazin_90-04_1990_Markt__Technik_de_Side_A.d64
/
business-grafics
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
19KB
|
670 lines
10 rem -- business-grafik --
20 rem - 09.11.89 -
30 poke53280,0:poke53281,0
50 printchr$(142)"[147]"tab(9)" "
60 printtab(9)" business-graphics "
70 u$=" ":printtab(9)u$
80 printtab(9)" v 5.0 "
90 printtab(9)u$
100 print""tab(15)"(c) 1987-89"
110 printtab(9)"autor: wolfgang dehmer"
120 print""tab(9)u$
140 dimzz$(9,60),jz$(9,60),zz(9,60),jz(9,60),tt(40),vv(40),mn$(12)
150 gosub5980
160 dd$="":da$="1":c=1:s=1:j=5:ds$=""
162 ti$="000000":u$=" ":print"[147]"chr$(14);
170 print""u$" << [205] [197] [206] [213] [201] [146] >>"
190 printu$"[196][193][212][197][206] [204][193][196][197][206] ........... [198]1 [146]"
200 printu$"[196][193][212][197][206][160][197][201][206][199][197][194][197][206] ........ [198]2 [146]"
210 printu$"[199][210][193][198][201][203] [218][197][201][199][197][206] ......... [198]3 [146]"
220 printu$"[196][201][210][197][195][212][207][210][217] ............. [198]4 [146]"
230 printu$"[198][201][204][197] [204][207][197][211][195][200][197][206] ......... [198]5 [146]"
235 printu$"[198][201][204][197] [213][205][194][197][206][197][206][206][197][206] ....... [198]6 [146]"
240 printu$"[205][197][206][213] [201][201] ............... [198]7 [146]"
260 gete$:gosub25000:ife$=""then260
266 ife$="^"thenti$="000000":poke53265,27
270 ife$="[135]"thenprint"[147]"chr$(142):input"scratch: filename ";fi$
280 ife$="[135]"andfi$="m"then160
290 ife$="[135]"thenopen1,8,15,"s:"+fi$:close1:goto160
300 ife$="[137]"thenprint"[147]":goto370
310 ife$="[133]"thenprint"[147]":goto3840
320 ife$="[134]"then(NULL):goto2340
330 ife$="[138]"then5450
340 ife$="[136]"thenprint"[147]":goto3320
354 ife$="[139]"thenprint"[147]"chr$(142):input"rename: file-neu ";f1$
355 ife$="[139]"andf1$="m"then160
356 ife$="[139]"theninput" file-alt ";f2$
357 ife$="[139]"thenopen1,8,15,"r:"+f1$+"="+f2$:close1:goto160
365 goto260
370 rem - eingabe -
380 print" [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
390 printtab(11)"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
400 printtab(11)"[212][201][212][197][204] [196][197][211] [196][201][193][199][210][193][205][205][211]":print
410 print" (2 [218]eilen zu je max. 34 [218]eichen !)"
420 print" ([215]enn 2.[218]eile leer -> '-' eingeben!)"
440 print" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
450 print" ";:print"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
460 open1,0
470 input#1,tt$:print
480 iftt$="m"thenclose1:goto160
490 l1=len(tt$)
500 close1
510 ifl1>34thenprint"[147]":goto370
520 print" ";"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
530 open1,0
540 input#1,vv$:print
550 ifvv$="m"thenclose1:goto160
560 close1
570 l2=len(vv$)
580 ifl2>34thenprint"[147]":goto370
590 print"[147]"tab(9)"[196]iagrammtyp ? ([206]/-/[203])"
600 getkd$:ifkd$=""then600
610 wt$="[203]urven"
613 ifkd$="k"thenwt$="[203]reise"
625 ifkd$="-"thends$="*.-"
630 print"[147] ** [215]ieviele "wt$" ? ** "
640 w=9:ifkd$="k"thenkd$="j":w=6
650 print""tab(16)"(max."w"[157])"
660 gets$:ifs$=""then660
670 ifval(s$)<1then660
680 s=val(s$):ss=s
690 poke19,1:input"[147] [215]ieviel [215]erte je [196]atenblock: ";z:poke19,0
700 ifkd$="j"thena$="-":br$="5":goto780
710 print"[147] [194]ezeichnung der [215]erte-[211]kala"
720 print" ([203]eine [194]ezeichnung = '-')"
750 open1,0
760 print" ";:input#1,a$:print:close1
780 fork=1tos:rem kurven
790 b=1:print"[147]"
800 bz$="[202]ahreszahl: ":ifkd$="j"thenbz$="[197]lement: "
810 forw=btoz:rem werte
820 print""tab(12)k"[157].[196][193][212][197][206][194][204][207][195][203]: [146]"
830 print""""w"[157].";
840 printbz$"[146] ";:open1,0:input#1,jz$(k,w):print:close1:jz(k,w)=val(jz$(k,w))
860 print""w"[157].";
870 print"[215]ert: [146] ";:open1,0:input#1,zz$(k,w):print:close1
875 zz(k,w)=val(zz$(k,w))
880 print"";:printtab(11)"[203][207][210][210][197][203][212][213][210] ? ([202]/[206])"
900 getky$:ifky$<>"j"andky$<>"n"then900
910 ifky$="j"thenprint"[147]":goto820
920 print" [145][145][145][145][145][145][145][145][145][145] "
930 print""spc(16)" "
935 printtab(11)" "
950 next
960 next
970 dz=jz(1,z)-jz(1,1)
980 ifjz(1,z)<jz(1,1)thendz=100-jz(1,1)+jz(1,z)
990 ifkd$="j"then1070
1000 rem - bereichsskala -
1010 ifdz<=6thenbr$="5"
1020 ifdz>6thenbr$="4"
1030 ifdz>11thenbr$="3"
1040 ifdz>23thenbr$="2"
1050 ifdz>29thenbr$="1"
1060 ifdz>47thenbr$="0"
1070 gosub4180:rem maximum
1080 art$="k":print"[147]"
1090 s=ss:rem orig.kurvenzaehler
1100 ifbd$="a"orbd$="[133]"orbd$="[137]"orbd$="[134]"orbd$="[138]"orbd$="[135]"orbd$="[139]"then1270
1110 ifbd$="[136]"orbd$="[140]"orbd$=chr$(32)orbd$="s"orbd$="9"orbd$="-"then1270
1120 ifbd$="*"orbd$="_"orbd$="o"orbd$="@"then1270
1130 ifbd$="b"then1230
1140 rem -- graphik --
1150 br=val(br$)
1160 l1=len(tt$):forq=1tol1
1170 tt(q)=asc(mid$(tt$,q,1))
1180 nextq
1190 l2=len(vv$):forq=1tol2
1200 vv(q)=asc(mid$(vv$,q,1))
1210 nextq
1220 ifbd$="u"then1270
1230 t3=len(a$):forq=1tot3
1240 a(q)=asc(mid$(a$,q,1))
1250 nextq
1260 rem --
1270 ifbd$=chr$(32)or(bd$="@"andart$<>"k"andart$<>"s")thengosub5810
1280 ifkd$="j"orright$(ds$,2)=".k"thenda$="2":bd$="o"
1290 ifez$<>"j"andez$<>"@"andbd$<>"k"then(NULL)
1300 ifm2=1thenm2=0:gosub6080
1310 (NULL)1,0:(NULL)
1320 ifda$="2"thengosub5220
1330 ti$="000000"
1350 ifda$="2"then1580
1360 (NULL)1
1370 (NULL)70,30,70,180
1380 ifright$(ds$,1)="-"then(NULL)70,105,310,105
1385 ifd3$<>"j"or(d3$="j"andbr$<>"4")then(NULL)70,180,310,180
1390 ifar$="s"then1470
1400 ifbr$="2"thensp=20:goto1440
1410 ifbr$<>"5"thensp=20
1420 ifbr$="5"thensp=40
1430 foraa=70to310stepsp
1440 foraa=70to310step40
1450 (NULL)aa,180,aa,183
1460 next
1470 forbb=180to30step-15
1480 (NULL)70,bb,66,bb
1490 next
1500 rem
1505 ifright$(ds$,1)="-"then20000
1510 mf=10:te=b/10
1520 forx=27to162step15
1530 za=te*mf
1540 (NULL)1,1,7,0
1550 (NULL)56-(6*len(str$(za))),x,str$(za)
1560 mf=mf-1
1570 next
1580 a$="":forq=1tot3
1590 a$=a$+chr$(a(q))
1600 next
1605 ifa$="-"thena$=" "
1610 ifbd$<>"o"then(NULL)58-(6*(len(a$))),15,chr$(14)+a$
1620 tt$=""
1630 forq=1tol1
1640 tt$=tt$+chr$(tt(q))
1650 next
1660 vv$="":forq=1tol2
1670 vv$=vv$+chr$(vv(q))
1680 next
1690 br$=right$(str$(br),1)
1710 ifvv$="-"thenvv$=" "
1720 (NULL)72,5,chr$(14)+tt$:(NULL)72,15,chr$(14)+vv$
1730 ifda$="2"then2340
1740 ifbd$="@"orbd$="f"thenu=0:goto1760
1750 aj=jz(1,1):u=0
1760 rem
1770 ifbr$="3"thendf=4:ifart$="s"thenu=3
1780 ifbr$="1"thendf=8:ifart$="s"thenu=2
1790 ifbr$="0"thendf=10:ifart$="s"thenu=1
1800 ifbr$="2"thendf=5:ifart$="s"thenu=2
1810 ifbr$="4"thendf=2:ifart$="s"thenu=8
1820 ifbr$="5"thendf=1:ifart$="s"thenu=17
1830 (NULL)56+u,187,str$(aj)
1840 if(aj+df)>=100then(NULL)96+u,187,str$(aj+df-100):goto1860
1850 (NULL)96+u,187,str$(aj+df)
1860 if(aj+df*2)>=100then(NULL)136+u,187,str$(aj+df*2-100):goto1880
1870 (NULL)136+u,187,str$(aj+df*2)
1880 if(aj+df*3)>=100then(NULL)176+u,187,str$(aj+df*3-100):goto1900
1890 (NULL)176+u,187,str$(aj+df*3)
1900 if(aj+df*4)>=100then(NULL)216+u,187,str$(aj+df*4-100):goto1920
1910 (NULL)216+u,187,str$(aj+df*4)
1920 if(aj+df*5)>=100then(NULL)256+u,187,str$(aj+df*5-100):goto1940
1930 (NULL)256+u,187,str$(aj+df*5)
1940 rem
1950 v=180:u=150
1960 if(bd$<>"@"andbd$<>"f")thenjk=1
1970 ifart$="k"thenfork=ctos
1980 ifart$="s"thenfork=bltobl
1990 ifart$="k"thenforw=jktoz-1
2000 ifart$="s"thenforw=jktoz
2010 ifbr$="4"thenja=12:re=16:rem ja=jahre im intervall-re=str$breite
2020 ifbr$="2"thenja=30:re=4
2030 ifbr$="1"thenja=48:re=3
2040 ifbr$="0"thenja=60:re=1
2050 ifbr$="5"thenja=6:re=35
2060 ifbr$="3"thenja=24:re=6
2070 ifjz(k,1)=0then2340:rem overflow-control
2080 f=240/ja:rem raster/jahre
2090 ff=u/b
2100 ifart$="s"andra$<>"r"then2190
2110 ifart$="s"andra$="r"thenaj=jz(1,jk):goto2210
2120 if70+(jz(k,w+1)-aj)*f>318then2180:rem overflow
2130 ifbd$="@"orbd$="f"thenaj=jz(1,jk)
2140 :ifjz(k,w+1)<jz(k,w)thenjz(k,w+1)=jz(k,w+1)+100:rem >jahr 2000
2142 ifright$(ds$,1)="-"thenoe=(v-ff*zz(k,w))/2:ge=(v-ff*zz(k,w+1))/2:goto2150
2145 (NULL)70+(jz(k,w)-aj)*f,v-ff*zz(k,w),70+(jz(k,w+1)-aj)*f,v-ff*zz(k,w+1)
2146 goto2160
2150 (NULL)70+(jz(k,w)-aj)*f,oe+15,70+(jz(k,w+1)-aj)*f,ge+15
2160 fg$="14545222237473638444527"
2164 ifright$(ds$,1)="-"thenoe=(v-ff*zz(k,w))/2+15
2165 ifbd$="k"andright$(ds$,1)="-"then(NULL)70+(jz(k,w)-aj)*f,oe,fg$
2166 ifbd$="k"andright$(ds$,1)="-"then2180
2170 ifbd$="k"then(NULL)70+(jz(k,w)-aj)*f,v-ff*zz(k,w),fg$
2180 goto2300
2190 if(70+(jz(k,w)-aj)*f)+re>318then2300
2191 :ifjz(k,w+1)<jz(k,w)thenjz(k,w+1)=jz(k,w+1)+100:rem >jahr 2000
2195 ifright$(ds$,1)="-"thenoe=(v-ff*zz(k,w))/2+15:goto2200
2197 goto2205
2200 (NULL)(70+(jz(k,w)-aj)*f),oe,(70+(jz(k,w)-aj)*f)+re,105:goto2300
2205 (NULL)(70+(jz(k,w)-aj)*f),v-ff*zz(k,w),(70+(jz(k,w)-aj)*f)+re,180:goto2300
2210 if70+(jz(k,w)-aj)*f+re>318then2300
2212 ifright$(ds$,1)="-"thenoe=(v-ff*zz(k,w))/2+15:goto2215
2213 goto2220
2215 (NULL)(70+(jz(k,w)-aj)*f),oe,(70+(jz(k,w)-aj)*f)+re,105:goto2224
2220 (NULL)(70+(jz(k,w)-aj)*f),v-ff*zz(k,w),(70+(jz(k,w)-aj)*f)+re,180
2224 ws$=""
2225 od=103:ifzz(k,w)<0thenod=107
2226 ifbd$="f"thengosub10000:bd$="f"
2227 ifbd$="f"andright$(ds$,1)="-"then(NULL)0,mu$:goto2229
2228 ifbd$="f"then(NULL)0,mu$:(NULL)(70+(jz(k,w)-aj)*f)+2,179:goto2230
2229 ifbd$="f"then(NULL)(70+(jz(k,w)-aj)*f)+2,od:ds$="*.-"
2230 s1=70+(jz(k,w)-aj)*f:z1=ff*zz(k,w)
2240 ifd3$<>"j"orbr$<>"4"then2300
2250 (NULL)s1,v-z1,s1+4,v-z1-4
2260 (NULL)s1+16,v-z1,s1+20,v-z1-4
2270 (NULL)s1+4,v-z1-4,s1+20,v-z1-4
2280 (NULL)s1+16,180,s1+20,176
2290 (NULL)s1+20,176,s1+20,v-z1-4
2300 nextw:if70+(jz(k,w)-aj)*f>319then2320
2303 oe=(v-ff*zz(k,w))/2+15
2305 ifbd$="k"andright$(ds$,1)="-"then(NULL)70+(jz(k,w)-aj)*f,oe,fg$:goto2320
2310 ifbd$="k"then(NULL)70+(jz(k,w)-aj)*f,v-ff*zz(k,w),fg$
2320 nextk
2330 d3$="":ez$="n"
2335 rem - grafik-menu -
2340 getbd$:gosub25015:ifbd$=""then2340
2410 (NULL)1
2415 ifbd$=""then(NULL)
2420 ifbd$="j"thenprint"[147]"
2428 br$=right$(str$(br),1)
2430 ifbd$="j"then(NULL):printchr$(14):print" [206]euer [218]eitraum (0-5) ? ("br$")"
2440 ifbd$="j"thengetbr$:ifbr$=""then2440
2445 br=val(br$)
2450 ifbd$="j"andval(br$)>5thenbr$="":goto2440
2460 ifbd$="j"thenprint"[147]":goto1260:rem grafik
2470 ifbd$="c"orbd$="[195]"thenopen1,4,1:close1:ifst=-128then2340
2480 ifbd$="c"orbd$="[195]"thenopen1,4,1:print#1,chr$(27);chr$(108);chr$(0);:close1
2490 ifbd$="c"then(NULL)0
2500 ifbd$="[195]"then(NULL)0,1
2510 ifbd$=chr$(32)thenra$="r":art$="s":(NULL):print"[147]":printchr$(147):goto2545
2520 ifbd$="r"then(NULL)2:(NULL) 0,0,319,199
2530 ifbd$="k"andart$="k"then1290
2540 ifbd$="s"thenart$="s":ra$="b":(NULL):print"[147]";chr$(142);
2545 if(bd$="s"orbd$=chr$(32))ands=1thenbl$="1":goto2590
2550 ifbd$="s"orbd$=chr$(32)thenbl$="0":kd$="n":da$="1":print"";
2560 ifbd$="s"orbd$=chr$(32)thenprint" * saeulendarstellung *"
2570 ifbd$="s"orbd$=chr$(32)thenprintchr$(142);" nummer des datenblocks ?"
2580 ifbd$="s"orbd$=chr$(32)thengetbl$:ifbl$=""then2580
2590 bl=val(bl$)
2600 if(bd$="s"orbd$=chr$(32))andbl<=s then6010
2610 ifbd$=chr$(32)and(bl<1orbl>s)then2580
2620 ifbd$="s"and(bl<1orbl>s)then2570
2630 ifbd$="g"thenformn=60to150step30:fornm=70to310stepj:(NULL)nm,mn:next:next
2640 ifbd$="g"thenfornm=70+sp*2to280stepsp*2:formn=30to180stepj:(NULL)nm,mn:next:next
2650 ifbd$=chr$(13)then3050
2660 ifbd$="[199]"then(NULL):printchr$(14):input"[147][208]unktweite (1,2,5,10) ";j:print"[147]":(NULL)
2670 ifbd$="*"then(NULL)70+(jz(s,z)-aj)*f,v-ff*zz(s,z),70+(jz(s,z)-aj)*f,180
2680 ifbd$="*"then(NULL)0,oa$:(NULL) 67+(jz(s,z)-aj)*f,178
2690 ifbd$="1"thengosub10000:oa$=o1$
2700 ifbd$="2"thengosub10000:oa$=o2$
2710 ifbd$="3"thengosub10000:oa$=o3$
2720 ifbd$="4"thengosub10000:oa$=o4$
2730 ifbd$="5"thengosub10000:oa$=o5$
2740 ifbd$="6"thengosub10000:oa$=o6$
2760 ifbd$="h"thenprint"[147]":(NULL):me$="2":printchr$(14):goto4240
2770 ifbd$="t"thenprint"[147]":(NULL):printchr$(14):input"[218]eile-1 ";tt$
2780 ifbd$="t"thenprint"";:input"[218]eile-2 ";vv$:print"[147]":goto1110
2790 ifbd$="b"thenprint"[147]":(NULL):printchr$(14): input"[206]eue [211]kalenbezeichnung ";a$
2800 ifbd$="b"thenprint"[147]":gosub4180:goto1090
2810 ifbd$="[205]"thenprint"[147]":(NULL):goto3320
2820 ifbd$="[133]"thenc=1:s=1:art$="k":goto6010
2830 ifbd$="[137]"thenc=2:s=2:art$="k":goto6010
2840 ifbd$="[134]"thenc=3:s=3:art$="k":goto6010
2850 ifbd$="[138]"thenc=4:s=4:art$="k":goto6010
2860 ifbd$="[135]"thenc=5:s=5:art$="k":goto6010
2870 ifbd$="[139]"thenc=6:s=6:art$="k":goto6010
2880 ifbd$="[136]"thenc=7:s=7:art$="k":goto6010
2890 ifbd$="[140]"thenc=8:s=8:art$="k":goto6010
2920 ifbd$="9"thenc=9:s=9:art$="k":goto6010
2930 ifbd$="z"then4810
2940 ifbd$="a"thenc=1:da$="1":art$="k":kd$="n":ds$=" ":goto1090
2945 ifbd$="-"thenc=1:da$="1":art$="k":kd$="n":ds$="x.-":goto1090
2950 ifbd$="o"thenda$="2":goto1100
2960 ifbd$=""then(NULL):printchr$(142);:input"[147]laden:grafik-name ";na$
2965 ifbd$="[145]"then(NULL):printchr$(142);:input"[147]speichern:grafik-name ";na$
2970 if(bd$=""orbd$="[145]")andna$="g"then(NULL):goto2340
2975 if(bd$=""orbd$="[145]")andna$="g"then(NULL):goto2340
2980 ifbd$="[145]"then(NULL):(NULL)0,na$,8
2990 ifbd$=""then(NULL):(NULL)0,na$,8
3000 ifbd$="@"then(NULL):printchr$(14):input"[147][211]tartjahr ";aj
3010 ifbd$="@"andjz(1,z)-jz(1,1)+1=zthenjk=aj-jz(1,1)+1:print"[147]":goto1110
3020 ifbd$="@"thengosub5550:goto1110
3030 ifbd$="m"thenprint"[147]":(NULL):goto160
3034 ifbd$="f"thenart$="s":br$=right$(br$,1):ra$="r":goto1750
3035 ifbd$="\"then(NULL)0:(NULL)60,187," "
3037 fr=0:ifart$="s"thenfr=7
3038 ifbd$="\"then(NULL)1:forx=0to11:readmn$(x):(NULL)fr+67+x*20,187,mn$(x):next
3039 restore
3040 ifbd$="/"thenforw=jktoz:du=du+zz(c,w):next
3041 ifbd$="/"andright$(ds$,1)<>"-"then3043
3042 ifbd$="/"then(NULL)2:(NULL)71,(v-ff*du/z)/2+15,310,(v-ff*du/z)/2+15:du=0:goto3044
3043 ifbd$="/"then(NULL)2:(NULL)71,v-ff*du/z,310,v-ff*du/z:du=0
3044 goto2340
3045 rem --
3050 (NULL):print"[147]"
3060 printchr$(142);"";:print" * datenliste * "
3070 print" (b[146]ildschirm / d[146]rucker)"
3080 getab$:ifab$=""then3080
3082 ifab$="d"theninput"[147] tabellentitel ";tl$
3090 ifab$="b"then3150
3100 ifab$="d"thenopen1,4,1:close1:ifst=-128then3080
3110 ifab$="d"thenopen1,4,1:print#1,chr$(27);chr$(108);chr$(7);:close1
3120 ifab$="d"thenopen1,4:cmd1:goto3150
3130 ifab$=chr$(13)then3320
3140 goto3080
3150 printchr$(147);
3155 ifab$="d"thenprinttl$:print
3160 j$="jahr"
3170 fork=1toss
3180 print"datenblock"k"[157]:[146]":print
3190 forw=1toz
3200 ifab$="b"thengetws$:ifws$=chr$(32)thengosub5980
3210 ifjz(k,w)>=100thenjz(k,w)=jz(k,w)-100
3220 su=su+zz(k,w)
3230 print""w"[146]"tab(5)j$":";jz(k,w)," wert:"zz(k,w)
3240 nextw
3250 forx=1to40:print"-";:next
3260 ifab$="d"thenprint"---"
3270 print
3280 ifab$<>"d"thengosub5980
3285 ifws$="/"thenprint"mittelwert:"su/z:su=0:gosub5980
3290 printchr$(147);
3300 nextk
3310 ifab$="d"then print#1:close1
3315 rem - menu ii -
3320 printchr$(142)"[147] << m e n u ii [146] >>"
3330 ti$="000000":u$=" ":su=0
3340 printu$"daten speichern ....... f1 [146]"
3345 printu$"daten auflisten ....... f2 [146]"
3350 printu$"grafik zeigen ......... f3 [146]"
3360 printu$"datei erweitern ....... f4 [146]"
3370 printu$"daten aendern ......... f5 [146]"
3380 printu$"daten einfuegen ....... f6 [146]"
3390 printu$"menu i ................ f7 [146]"
3400 printu$"programmende .......... f8 [146]"
3420 getsp$:gosub25000:ifsp$=""then3420
3425 ifsp$="^"thenti$="000000":poke53265,27
3430 ifsp$="[133]"then3510
3435 ifsp$="[137]"thenprint"[147]":goto3060
3440 ifsp$="[136]"thenprint"[147]":goto160
3450 ifsp$="[140]"thenprinttab(7)" sind sie sicher ? (j/n) [146]";
3451 ifsp$="[140]"thengetws$:ifws$=""then3451
3452 ifsp$="[140]"andws$<>"j"then3320
3455 ifsp$="[140]"thensys64738
3460 ifsp$="[134]"then(NULL):print"[147]":ti$="000000":goto2340:rem grafik
3470 ifsp$="[138]"thenprint"[147]":sp$="":goto4470
3480 ifsp$="[135]"then4650
3490 ifsp$="[139]"then5600
3500 goto3420
3510 rem - speichern -
3550 input"[147] save: datei-name ";dd$
3560 ifdd$="m"thenprint"[147]":goto3320
3580 open1,8,15,"s:"+dd$:close1
3590 open2,8,2,dd$+",s,w"
3600 print"[147]"
3610 open1,8,15:input#1,po:close1:close2
3620 dd$=dd$+",s,a"
3630 open 2,8,2,dd$
3650 print#2,s
3660 print#2,ss
3670 print#2,z
3675 ifa$=" "thena$="-"
3680 print#2,a$
3690 print#2,t
3700 print#2,br$
3710 print#2,aj
3720 print#2,tt$
3725 ifvv$=" "thenvv$="-"
3730 print#2,vv$
3750 fork=1tos:rem kurven
3760 forw=1toz:rem werte
3770 ifjz(k,w)>100thenjz(k,w)=jz(k,w)-100
3780 print#2,jz(k,w)
3790 print#2,zz(k,w)
3800 nextw
3810 nextk
3820 close2
3830 goto3320
3840 rem - lesen -
3850 printchr$(142):m2=1
3860 input"[147] load: datei-name ";dd$
3865 ds$=dd$
3870 ifdd$="m"then160
3890 dd$=dd$+",s,r":print"[147]"
3900 open2,8,2,dd$
3910 open1,8,15:input#1,po,po$:close2:close1
3920 ifpo=62thenprintpo$:close2:forx=1to2000:next:goto3860
3925 ifpo=74thenprintpo$:close2:forx=1to2000:next:goto3860
3930 open2,8,2,dd$
3940 input#2,s:input#2,ss:input#2,z:input#2,a$:input#2,t
3950 t3=len(a$):forq=1tot3
3960 a(q)=asc(mid$(a$,q,1))
3970 nextq
3980 input#2,br$:input#2,aj:input#2,tt$:input#2,vv$
3990 l1=len(tt$):forq=1tol1
4000 tt(q)=asc(mid$(tt$,q,1))
4010 nextq
4020 l2=len(vv$):forq=1tol2
4030 vv(q)=asc(mid$(vv$,q,1))
4040 nextq
4050 fork=1tos:rem kurven
4060 forw=1toz:rem werte
4070 input#2,jz(k,w)
4080 input#2,zz(k,w)
4090 nextw
4100 nextk
4140 close2
4150 ifsp$="4"then sp$="":goto4470
4160 art$="k":gosub4180
4170 goto1100
4180 rem - maximum -
4200 t=0
4210 printchr$(14)
4220 me$="1"
4230 print"[147]":goto4260
4240 ifme$="2"theninput"[147] [206]euer [200]oechstwert ";t1:print"[147]"
4250 goto4410
4260 forx=1tos
4270 fory=1toz
4280 ifx=1andy=2andabs(zz(1,1))>abs(zz(1,2))thent=abs(zz(1,1)):goto4300
4290 ifabs(zz(x,y))>tthent=abs(zz(x,y))
4300 nexty
4310 nextx
4320 t$=str$(t):hz=t
4330 ifval(t$)<1thent=1:goto4410
4340 ifval(t$)<=10thent=10:goto4410
4350 t=val(t$):t=int(t):t$=str$(t):rem ganzzahlig
4360 ifval(t$)<=100thent=(t+10)-val(right$(t$,1)):goto4410
4370 ifval(t$)<=1000thent=(t+100)-val(right$(t$,2)):goto4410
4380 ifval(t$)<=10000thent=(t+1000)-val(right$(t$,3)):goto4410
4390 ifval(t$)<=100000thent=(t+10000)-val(right$(t$,4)):goto4410
4400 ifval(t$)<=1000000thent=(t+100000)-val(right$(t$,5)):goto4410
4405 ifval(t$)<=10000000thent=(t+1000000)-val(right$(t$,6))
4410 ifbd$="h"andt1<t andt1>hzthenb=t1:goto4440
4420 ifbd$="h"andt1>tthenb=t1:goto4440
4430 b=t
4440 ifbd$=""thenc=1
4450 ifbd$="h"thenprint"[147]":goto1140:rem grafik
4460 return
4470 rem - erweiterung -
4480 fork=1tos
4490 print"letzte jahreszahl:"jz(c,z)
4500 print"";
4510 printk"[157].datenblock:[146]"
4520 print"neue jahreszahl "jz(c,z)+1"[157][157][157][157][157]";:inputjz(k,z+1)
4530 ifjz(k,z+1)=-1then3320
4550 input"neuer wert ";zz(k,z+1)
4560 print"[147]"
4570 nextk
4580 z=z+1
4585 gosub4180:rem max
4590 print"[147] grafik/erweitern/daten"
4600 printtab(16)"(g/e/d) ?"
4610 getgs$:ifgs$<>"g"andgs$<>"e"andgs$<>"d"then4610
4620 ifgs$="g"then1140
4630 ifgs$="d"thenab$="b":goto3150
4640 ifgs$="e"thenprint"[147]":goto4480
4650 rem -- korrektur --
4655 ifs=1thendb=1:print"[147]":goto4700
4660 print"[147] welcher datenblock ? (1-9)"
4670 getdb$:ifdb$=""then4670
4680 db=val(db$)
4690 ifdb=0then3320
4700 input" welches element (1-60) ";el
4705 ifel=0then3320
4710 input"neue jahreszahl ";jz(db,el)
4720 input"neuer wert ";zz(db,el)
4730 gosub4180:rem max
4735 printchr$(142)
4740 print"[147] grafik/aendern/daten"
4750 printtab(17)"(g/a/d) ?"
4760 getws$:ifws$=""then4760
4770 ifws$="g"then1140
4780 ifws$="a"thenprint"[147]":goto4655
4790 ifws$="d"thenab$="b":goto3150
4800 goto4760
4810 rem - malen -
4820 zk=0:fa=2:q=2:x=160:y=100
4830 (NULL)1:ifx>318thenx=318:goto4880
4840 ifx<2thenx=2:goto4880
4850 ify<2theny=2:goto4880
4860 ify>198theny=198:goto4880
4870 (NULL)1:(NULL)x,y
4880 getpa$:ifpa$=""then4880
4885 ti$="000000"
4890 ifpa$=chr$(141)then(NULL)x,y:goto4880
4900 ifpa$="_"then(NULL)0:(NULL)x,y:(NULL)1:goto2340
4910 ifpa$=chr$(20)thenx=x-7:(NULL)0:(NULL)x,y," [146]":zk=zk-7:goto4880
4920 ifpa$=chr$(13)thenx=x-zk:y=y+8:zk=0:goto4880
4930 ifpa$="[133]"thenfa=1:q=1:goto4880
4940 ifpa$="[134]"thenfa=0:q=1:goto4880
4950 ifpa$="[135]"thenfa=0:q=2:goto4880
4970 ifpa$="[140]"thenfk=0:fa=0:goto4880
4980 ifpa$="[136]"thenfk=10:fa=0:goto4880
4990 ifpa$="[145]"and(NULL)(x,y-1)=1then(NULL)fa:(NULL)x,y:y=y-q-fk:goto4830
5000 ifpa$="[145]"then(NULL)fa:(NULL)x,y:y=y-1-fk:goto4830
5010 ifpa$=""and(NULL)(x+1,y)=1then(NULL)fa:(NULL)x,y:x=x+q+fk:goto4830
5020 ifpa$=""then(NULL)fa:(NULL)x,y:x=x+1+fk:zk=0:goto4830
5030 ifpa$=""and(NULL)(x,y+1)=1then(NULL)fa:(NULL)x,y:y=y+q+fk:goto4830
5040 ifpa$=""then(NULL)fa:(NULL)x,y:y=y+1+fk:goto4830
5050 ifpa$="[157]"and(NULL)(x-1,y)=1then(NULL)fa:(NULL)x,y:x=x-q-fk:goto4830
5060 ifpa$="[157]"then(NULL)fa:(NULL)x,y:x=x-1-fk:goto4830
5070 ifpa$="*"then(NULL)0:(NULL)x,y:(NULL)1:(NULL)0,oa$:(NULL) x+1,y:goto2340
5080 ifpa$="[176]"then(NULL)0:(NULL)x,y:x=10:y=10:goto4830
5090 ifpa$="[191]"then(NULL)0:(NULL)x,y:x=10:y=90:goto4830
5100 ifpa$="[188]"then(NULL)0:(NULL)x,y:x=10:y=190:goto4830
5110 ifpa$="[172]"then(NULL)0:(NULL)x,y:x=160:y=10:goto4830
5120 ifpa$="[177]"then(NULL)0:(NULL)x,y:x=160:y=90:goto4830
5130 ifpa$="[187]"then(NULL)0:(NULL)x,y:x=160:y=190:goto4830
5140 ifpa$="[165]"then(NULL)0:(NULL)x,y:x=310:y=10:goto4830
5150 ifpa$="[180]"then(NULL)0:(NULL)x,y:x=310:y=90:goto4830
5160 ifpa$="[162]"then(NULL)0:(NULL)x,y:x=310:y=187:goto4830
5170 ifpa$<>""andpa$<>"[145]"andpa$<>""andpa$<>"[157]"andpa$<>"*"then5190
5180 goto4880
5190 ifpa$="[215]"then(NULL)0:(NULL)x,y:(NULL)1:(NULL)x,y,chr$(14)+pa$:x=x+8:zk=zk+8:goto4880
5200 ifpa$="[205]"then(NULL)0:(NULL)x,y:(NULL)1:(NULL)x,y,chr$(14)+pa$:x=x+8:zk=zk+8:goto4880
5210 (NULL)0:(NULL)x,y:(NULL)1:(NULL)x,y,chr$(14)+pa$:x=x+7:zk=zk+7:goto4880
5220 rem - kreis -
5230 s1=0:s2=0:fl=0
5240 (NULL):printchr$(14)
5250 ifs=1ors=2thennn=1:mm=2:goto5270
5260 input"[147] [215]elche beiden [196]atenbloecke (a,b) ";nn,mm
5270 (NULL)
5280 forqw=1toz:s2=s2+zz(mm,qw)
5290 s1=s1+zz(nn,qw):next
5300 (NULL)80,100,45,.9*56
5310 (NULL)80,51,80,100
5320 forwe=1toz-1
5330 (NULL)80,100,44,.9*55,zz(nn,we)*100/s1*3.6+fl
5340 fl=fl+zz(nn,we)*100/s1*3.6
5350 next
5360 ifs=1thenreturn
5370 fl=0:rem 2.kreis
5380 (NULL)240,100,45,.9*56
5390 (NULL)240,51,240,100
5400 forwe=1toz-1
5410 (NULL)240,100,44,.9*55,zz(mm,we)*100/s2*3.6+fl
5420 fl=fl+zz(mm,we)*100/s2*3.6
5430 next
5440 return
5450 rem - dir -
5460 print"[147] 0 ";:open1,8,0,"$":poke781,1:sys65478:geta$,a$,a$,a$:x$=chr$(0)
5470 fori=1to7:geta$,b$,c$,d$:printa$b$c$d$;:next:print:geta$,a$,a$,b$
5480 ifstthensys65484:close1:gosub5990:print"[147]":goto160
5490 printasc(a$+x$)+256*asc(b$+x$);
5500 goto5470
5510 rem - @-korrektur -
5520 ifjk>w-1thenjk=w-1
5530 ifjk<1thenjk=1
5540 return
5550 rem - bereichsdarstellung -
5560 forx=1toz
5570 ifaj=jz(1,x)thenjk=x
5580 nextx
5590 return
5600 rem - einfuegen -
5610 input"[147]an welcher stelle einfuegen ";sl
5620 ifsl=0then3320
5625 ifsl>zthen5610
5630 z=z+1
5640 forx=1tos
5650 fory=ztoslstep-1
5660 jz(x,y)=jz(x,y-1):zz(x,y)=zz(x,y-1)
5670 next:next
5680 forx=1tos
5690 input"neue jahreszahl ";jz(x,sl)
5700 input"neuer wert ";zz(x,sl)
5710 next
5720 ab$="b":goto3150
5810 rem - 3d -
5815 ifright$(ds$,2)=".-"thenreturn
5820 ifbr$<>"4"thenreturn
5830 print"[147]"chr$(142)
5840 print"3-d-darstellung ? (j/n)"
5850 getd3$:ifd3$=""then5850
5860 print"[147]":return
5980 rem - warteschleife -
5990 getws$:ifws$=""then5990
6000 return
6010 rem - ueberzeichnen -
6020 (NULL):print"[147]"chr$(14)" [213]eberzeichnen ? ([202]/[206]/@)"
6030 getez$:ifez$=""then6030
6040 ifez$="@"thenbd$="@"
6050 print"[147]":goto1100
6070 rem - liste -
6080 printchr$(142)"[147]"tab(10)"graphik/daten ? (g/d)"
6090 getws$:ifws$=""then6090
6100 ifws$="g"thenprint"[147]":return
6110 ab$="b":goto3150
10000 rem - musterwahl -
10001 o1$="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
10002 o2$="4444111144441111444411114444111144441111444411114444111144441111"
10003 o3$="ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000"
10004 o4$="5555555555555555555555555555555555555555555555555555555555555555"
10005 o5$="8888444422221111888844442222111188884444222211118888444422221111"
10006 o6$="1111222244448888111122224444888811112222444488881111222244448888"
10007 o7$="0000000000000000000000000000000000000000000000000000000000000000"
10008 ifbd$<>"f"thenreturn
10009 getws$:ifws$=""then10009
10010 ifws$="1"thenmu$=o1$
10020 ifws$="2"thenmu$=o2$
10030 ifws$="3"thenmu$=o3$
10040 ifws$="4"thenmu$=o4$
10050 ifws$="5"thenmu$=o5$
10060 ifws$="6"thenmu$=o6$
10065 ifws$="0"thenmu$=o7$
10070 bd$="f":return
20000 rem - min-skala -
21510 mf=10:te=b/10
21520 forx=27to91step15
21530 za=te*mf
21540 (NULL)1,1,7,0
21550 (NULL)56-(6*len(str$(za))),x,str$(za)
21560 mf=mf-2
21570 next
22510 mf=2:te=b/10:rem minusbereich
22520 forx=117to177step15
22530 za=-te*mf
22540 (NULL)1,1,7,0
22550 (NULL)56-(6*len(str$(za))),x,str$(za)
22560 mf=mf+2
22570 next
23000 goto1580
25000 rem - time -
25010 ifval(ti$)>120thenpoke53265,11:ti$="000000":return
25012 goto25020
25015 ifval(ti$)>120thenprint"[147]":(NULL):goto3320
25020 return
30000 rem - datas -
30010 dataj,f,m,a,m,j,j,a,s,o,n,d