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$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