home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1985 December
/
64er_Magazin_85-12_1985_Markt__Technik_de.d64
/
lit.verw.
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
8KB
|
288 lines
10 rem *******************************
15 rem * *
20 rem * literatur verwaltung *
25 rem * *
30 rem * demoprogramm *
35 rem * zu smu *
40 rem * *
45 rem * autor: georg krcal *
50 rem * *
60 rem * ziegelhofstrasse 36/11/9 *
65 rem * a-1220 wien *
70 rem * telefon: 22-17-724 *
75 rem * *
80 rem *******************************
100 ifa=0thenpoke56,144:clr:a=1:load"smubu",8,1
110 clr:sys9*4096
120 printchr$(147)chr$(8)chr$(14)chr$(30);
130 poke53280,0:poke53281,0
140 dim m$(14),h$(20)
150 rem
160 !mask "zeitschrift",8,m$(0)
170 fori=1to40:cd$=cd$+chr$(17)
180 cr$=cr$+chr$(29):bl$=bl$+" ":next
190 cd$=chr$(19)+cd$:x=fre(0)
200 ri$=chr$(18):ro$=chr$(146)
210 b1$=ri$+"1"+ro$+" eingeben "+ri$+"3"+ro$+" suchen "+ri$+"5"+ro$
220 b1$=b1$+" weiter "
230 b2$=ri$+"2"+ro$+" drucken "
240 b2$=b2$+ri$+"4"+ro$+" index "+ri$+"6"+ro$+" prg-ende"
300 print"[196]iskette formatieren [j/n]";:wait 203,63
310 getg$:ifg$<>"j"then380
320 printg$"a":print"[196]iskettenname:"
330 print"[196]isketten - [201][196]":!inline 1,15,16,dn$
340 !inline2,16,2,di$:ifdi$=" "then340
350 h$="n:"+dn$+","+di$:print:print" [196]iskette einlegen - [212]aste druecken"
360 getg$:ifg$=""then360
370 rem "open 1,8,15,h$:close1"
380 printchr$(147)"[194]estehende [196]atei [j/n] ?"
390 wait203,63:getg$:ifg$="j"then500
400 ifg$<>"n"then390
410 open1,8,2,"literatur,l,"+chr$(202)
420 gosub10000
440 open2,8,15
450 print#2,"p"+chr$(2)+chr$(44)+chr$(1)+chr$(1)
460 print#1,chr$(255)
470 print#2,"p"+chr$(2)+chr$(1)+chr$(1)+chr$(1)
480 print#1,1,chr$(13);1;chr$(13);1
490 close2:close1
500 gosub10000:open1,8,2,"literatur,l,"+chr$(202)
510 open2,8,15
520 print#2,"p"+chr$(2)+chr$(1)+chr$(1)+chr$(1)
530 input#2,en,en$,t,s:ifenthenclose1:close2:gosub10070:goto500
540 input#1,lr,se,ae:close2:close1
550 ts=se+100:ta=ae+100
580 dims$(se+100),au$(ae+100),sl$(se+100),sh$(se+100),al$(ae+100),ah$(ae+100)
590 ifse=1then680
600 open1,8,2,"stichwort,s,r":open2,8,15:input#2,en,en$,t,s
610 ifenthenclose1:gosub10070:goto600
620 fori=1tose-1:input#1,s$(i)
625 gosub7300:sl$(i)=h$:sh$(i)=h1$
630 nexti:close2:close1
640 open1,8,2,"autor,s,r"
650 rem ifenthenclose1:gosub10070:goto640
660 fori=1toae-1:input#1,au$(i)
665 gosub7300:al$(i)=h$:ah$(i)=h1$
670 nexti:close1
680 print"[147]":gosub10030
700 !screen m$(0)
710 gosub10040
720 !imask "[133][134][135][137][138][139]",s$,t1$,t2$,t3$,t4$,au$,v1$,v2$,o$,ja,se$,b$,an,z1$,z2$
725 gosub10000
730 onpeek(2)goto740,1100,1000,1200,720,2000,720
740 ifse+1>tsthenprint"stichwortdatei zu gross":stop
750 gosub7000:iflen(sl$(ei+1))>255thenprint"stichworttabelle zu gross":stop
760 ifge=1thenh1=i:goto780
770 h1=ei+1:se=se+1:h3$="":h4$=""
772 fori=ei+1tose:h$=s$(i):s$(i)=s$:s$=h$
773 h1$=sl$(i):sl$(i)=h3$:h3$=h1$:h2$=sh$(i):sh$(i)=h4$:h4$=h2$
775 nexti
780 ifae+1>tathenprint"autorendatei zu gross":stop
790 gosub7100:iflen(al$(ei+1))>255thenprint"autorentabellenueberlauf":stop
800 ifge=1thenei=i-1:goto820
810 ae=ae+1:h3$="":h4$=""
812 fori=ei+1toae:h$=au$(i):au$(i)=au$:au$=h$
813 h1$=al$(i):al$(i)=h3$:h3$=h1$:h2$=ah$(i):ah$(i)=h4$:h4$=h2$:next
820 lr=lr+1:h=lr:gosub7200
830 sh$(h1)=sh$(h1)+chr$(hb):sl$(h1)=sl$(h1)+chr$(lb)
840 ah$(ei+1)=ah$(ei+1)+chr$(hb):al$(ei+1)=al$(ei+1)+chr$(lb)
845 rem gosub 11000:lr=lr+1:goto700
850 open1,8,2,"literatur,l,"+chr$(202)
860 open2,8,15
870 print#2,"p"+chr$(2)+chr$(lb)+chr$(hb)+chr$(1)
880 h$=t1$+t2$+t3$+t4$+v1$+left$(v2$,10):print#1,h$
890 lr=lr+1:lb=lb+1:iflb=256thenlb=0:hb=hb+1
900 print#2,"p"+chr$(2)+chr$(lb)+chr$(hb)+chr$(1)
910 h3$=right$(v2$,28)+o$
920 h$=str$(ja):gosub7210:h1$=h$+left$(bl$,(4-len(h$)))
930 h$=str$(an):gosub7210:h2$=h$+left$(bl$,(2-len(h$)))
940 h$=h3$+h1$+se$+b$+h2$+z1$+z2$+au$(ei+1)+s$(h1):print#1,h$
999 close2:close1:goto700
1000 we=1:gosub8000:ifwe=0then730
1010 goto710
1100 open4,4,7:gosub10000:gosub7900:close4:goto710
1200 s1=1:open4,4,7:print#4,chr$(13)chr$(13)chr$(13)
1220 print#4,chr$(14);"[211][212][201][195][200][215][207][197][210][212][197][210]";chr$(15);chr$(13);chr$(13)chr$(13)
1230 fori=1tose-1:forj=1to20:h$(j)=" ":next
1240 h$=s$(i):gosub7210:h$(1)=h$+": "
1250 z=1:forj=1tolen(sl$(i))
1260 h=asc(mid$(sl$(i),j,1)):h1=asc(mid$(sh$(i),j,1))
1270 h$=str$((h+h1*256)/2):gosub7210:h$=h$+","
1280 iflen(h$(z))+len(h$)>79thenz=z+1
1290 h$(z)=h$(z)+h$:next
1300 h$(z)=left$(h$(z),(len(h$(z))-1))
1310 forj=1toz:print#4,h$(j)
1315 nextj
1320 nexti
1330 print#4,chr$(13)chr$(13)chr$(13)
1340 print#4,chr$(14)"[193][213][212][207][210][197][206]"chr$(15)chr$(13)chr$(13)chr$(13)
1350 fori=1toae-1:forj=1to20:h$(j)=" ":next
1360 h$=au$(i):gosub7210:h$(1)=h$+": "
1370 z=1:forj=1tolen(al$(i))
1380 h=asc(mid$(al$(i),j,1)):h1=asc(mid$(ah$(i),j,1))
1390 h$=str$((h+h1*256)/2):gosub7210:h$=h$+","
1400 iflen(h$(z))+len(h$)>79thenz=z+1
1410 h$(z)=h$(z)+h$:next
1420 h$(z)=left$(h$(z),(len(h$(z))-1))
1430 forj=1toz:print#4,h$(j)
1440 nextj
1450 nexti
1460 print#4,chr$(13)chr$(13)chr$(13)
1470 print#4,chr$(14)"[204][201][212][197][210][193][212][213][210][211][212][197][204][204][197][206]"chr$(15)chr$(13)chr$(13)chr$(13)
1480 fori=2tolr-1step2
1490 h=i:gosub7200:gosub9000:gosub7400
1510 h$=str$(i/2):gosub7210:h$="("+h$+")"
1520 h$=h$+left$(bl$,(9-len(h$)))+h$(1):print#4,h$
1530 forj=2toz:print#4,spc(9);h$(j):next
1550 nexti
1560 close4:goto710
2000 open1,8,15,"s:stichwort":close1
2010 open1,8,2,"stichwort,s,w"
2020 fori=1tose-1:h$=chr$(34)+s$(i)+chr$(34):print#1,h$
2030 forj=1tolen(sl$(i)):g=asc(mid$(sl$(i),j,1))
2040 print#1,g
2052 g=asc(mid$(sh$(i),j,1)):print#1,g:next
2054 print#1,"++":nexti
2060 close1
2070 open1,8,15,"s:autor":close1
2080 open1,8,2,"autor,s,w"
2090 fori=1toae-1:h$=chr$(34)+au$(i)+chr$(34):print#1,h$
2100 forj=1tolen(al$(i)):g=asc(mid$(al$(i),j,1))
2110 print#1,g
2122 g=asc(mid$(ah$(i),j,1)):print#1,g:next
2130 print#1,"++":nexti:close1
2140 open1,8,2,"literatur,l,"+chr$(202)
2150 open2,8,15
2160 print#2,"p"+chr$(2)+chr$(1)+chr$(1)+chr$(1)
2170 h$=str$(lr)+chr$(13)+str$(se)+chr$(13)+str$(ae)
2180 print#1,h$
2200 close2:close1
2210 print"[147]";:end
7000 li=se:ei=0:i=0:ge=0
7010 if((li-ei)/2)<1thenreturn:rem stichwort nicht vorhanden
7020 i=int((li-ei)/2)+ei
7030 ifs$(i)=s$thenge=1:return
7040 ifs$<s$(i)thenli=i:goto7010
7050 ei=i:goto7010
7100 li=ae:ei=0:i=0:ge=0
7110 if((li-ei)/2)<1thenreturn:rem autor nicht vorhanden
7120 i=int((li-ei)/2)+ei
7130 ifau$(i)=au$thenge=1:return
7140 ifau$<au$(i)thenli=i:goto7110
7150 ei=i:goto7110
7200 hb=int(h/256):lb=h-hb*256:return
7210 forii=len(h$)to1step-1:ifmid$(h$,ii,1)=" "thennext
7220 h$=left$(h$,ii):forii=1tolen(h$):ifmid$(h$,ii,1)=" "thennext
7230 h$=right$(h$,(len(h$)-ii+1)):return
7300 h1$="":h$="":forj=1to256:input#1,g$:ifg$="++"thenj=256:return
7305 ifg$="0 "thenh$=h$+chr$(0):goto7315
7310 h$=h$+chr$(val(g$))
7315 input#1,g$
7320 ifg$="0 "thenh1$=h1$+chr$(0):goto7340
7330 h1$=h1$+chr$(val(g$))
7340 nextj:return
7400 forl=1to10:h$(l)="":next
7405 ifau$=left$(bl$,25)thenau$="?"
7410 h$=au$:gosub7210:h$(1)=h$+":"
7420 ift1$=left$(bl$,38)thent1$="?"
7430 h$=t1$:gosub7210:h$(2)=h$+" ":z=1
7440 ift2$=left$(bl$,38)then7500
7450 h$=t2$:gosub7210:h$(2)=h$(2)+h$+" "
7460 ift3$=left$(bl$,38)then7500
7470 z=2:h$=t3$:gosub7210:h$(3)=h$+" "
7480 ift4$=left$(bl$,38)then7500
7490 h$=t4$:gosub7210:h$(3)=h$(3)+h$
7500 z=z+1:h$(z)=h$(z)+"."
7510 ifb$="n"orb$="[206]"then7660
7520 z=z+1:ifo$=left$(bl$,34)theno$="?"
7530 h$=o$:gosub7210:h$(z)=h$(z)+h$
7540 ifv2$=left$(bl$,38)thenh$="":goto7560
7550 h$=v2$:gosub7210
7560 iflen(h$(z))+len(h$)+2>70thenz=z+1
7570 h$(z)=h$(z)+h$+", "
7580 ifja=0thenh$="?":goto7600
7590 h$=str$(ja):gosub7210
7600 iflen(h$(z))+len(h$)+2>70thenz=z+1
7610 h$(z)=h$(z)+h$+", "
7620 ifse$=left$(bl$,10)thenh$="":goto7650
7630 h$=se$:gosub7210
7640 iflen(h$(z))+len(h$)+1>70thenz=z+1
7650 h$(z)=h$(z)+h$+".":return
7660 z=z+1:ifz1$=left$(bl$,38)thenh$="?"
7670 h$=z1$:gosub7210:h$(z)=h$(z)+h$+" "
7680 ifz2$=left$(bl$,38)orh$="?"thenh$="":goto7700
7690 h$=z2$:gosub7210
7700 iflen(h$(z))+len(h$)+1>70thenz=z+1
7710 h$(z)=h$(z)+h$+" "
7720 ifan=0thenh$="?":goto7740
7730 h$=str$(an):gosub7210
7740 iflen(h$(z))+len(h$)+1>70thenz=z+1
7750 h$(z)=h$(z)+h$+" "
7760 ifja=0thenh$="(?)":goto7780
7770 h$=str$(ja):gosub7210:h$="("+h$+")"
7780 iflen(h$(z))+len(h$)+1>70thenz=z+1
7790 h$(z)=h$(z)+h$+" "
7800 ifse$=left$(bl$,10)thenh$="":goto7830
7810 h$=se$:gosub7210
7820 iflen(h$(z))+len(h$)+1>70thenz=z+1
7830 h$(z)=h$(z)+h$+".":return
7900 gosub7400:form=1toz:print#4,h$(m):next:return
8000 h=0:h2=0
8005 ifs$<>left$(bl$,21)thengosub7000:ifge=1then h=1:h1=i
8010 ifau$<>left$(bl$,25)thengosub7100:ifge=1thenh2=1:h3=i
8015 ifh=0andh2=0thenreturn
8020 ifh2=1or(h2=1andh=1)then8080
8030 fori=1tolen(sl$(h1)):lb=asc(mid$(sl$(h1),i,1))
8050 hb=asc(mid$(sh$(h1),i,1)):gosub9000
8060 gosub9300:ifwe=0thenreturn
8070 nexti:return
8080 ifh2=1andh=1then8140
8090 fori=1tolen(al$(h3)):lb=asc(mid$(al$(h3),i,1))
8100 hb=asc(mid$(ah$(h3),i,1)):gosub9000
8110 gosub9300:ifwe=0thenreturn
8120 nexti:return
8140 h1$=sh$(h1):h2$=ah$(h3):h4$=sl$(h1):h5$=al$(h3)
8150 ifh1$>h2$thenh3$=h2$:h2$=h1$:h1$=h3$:h3$=h5$:h5$=h4$:h4$=h3$
8160 fori=1tolen(h1$):forl=1tolen(h2$)
8170 ifmid$(h1$,i,1)<>mid$(h2$,l,1)thennextl,i:return
8175 ifmid$(h4$,i,1)<>mid$(h5$,l,1)thennextl,i:return
8180 lb=asc(mid$(h4$,i,1)):hb=asc(mid$(h1$,i,1))
8190 gosub9000:gosub9300
8200 ifwe=0thenreturn
8210 nextl,i:return
9000 open1,8,2,"literatur,l,"+chr$(202)
9010 open2,8,15
9020 print#2,"p"+chr$(2)+chr$(lb)+chr$(hb)+chr$(1)
9030 forj=0to3:h$(j)=""
9040 fork=1to38:get#1,g$:h$(j)=h$(j)+g$:next:next
9050 t1$=h$(0):t2$=h$(1):t3$=h$(2):t4$=h$(3)
9060 v1$="":forj=0to37:get#1,g$:v1$=v1$+g$:next
9061 v2$="":forj=0to9:get#1,g$:v2$=v2$+g$:next
9062 lb=lb+1:iflb>255thenlb=0:hb=hb+1
9063 print#2,"p"+chr$(2)+chr$(lb)+chr$(hb)+chr$(1)
9070 forj=1to28:get#1,g$:v2$=v2$+g$:next
9080 o$="":forj=1to34:get#1,g$:o$=o$+g$:next
9090 h$="":forj=1to4:get#1,g$:h$=h$+g$:next:ja=val(h$)
9095 se$="":forj=1to10:get#1,g$:se$=se$+g$:next
9100 get#1,b$
9110 h$="":forj=1to2:get#1,g$:h$=h$+g$:next:an=val(h$)
9130 z1$="":forj=1to38:get#1,g$:z1$=z1$+g$:next
9140 z2$="":forj=1to38:get#1,g$:z2$=z2$+g$:next
9150 au$="":forj=1to25:get#1,g$:au$=au$+g$:next
9160 s$="":forj=1to21:get#1,g$:s$=s$+g$:next
9290 close2:close1:return
9300 gosub 10040
9305 !iomask "[133][134][135][137][138][139]",s$,t1$,t2$,t3$,t4$,au$,v1$,v2$,o$,ja,se$,b$,an,z1$,z2$
9310 ifpeek(2)=2thenopen4,4,7:gosub7900:close4:goto9330
9320 ifpeek(2)<>5thenwe=0
9330 gosub10000:return
9999 stop
10000 printleft$(cd$,24)bl$left$(bl$,38)chr$(145)chr$(145);
10010 printleft$(cd$,24)spc(12)"[211][217][211][212][197][205][160][193][210][194][197][201][212][197][212]";
10020 return
10030 printleft$(cd$,24)bl$chr$(20)right$(bl$,39)chr$(145)chr$(145);:return
10040 gosub 10030:printleft$(cd$,24)b1$;:printleft$(cd$,25)b2$chr$(145)chr$(145);
10050 return
10060 !dier en,en$,t,s
10070 printen;en$;t;s:stop