10 REM ********************** 20 REM ** ** 30 REM ** MASTER-INDEX ** 40 REM ** ** 50 REM ** BY R.MAETCHE ** 60 REM ** ** 70 REM ********************** 80 REM 100 POKE53280,0:POKE53281,9:PRINT"[147][158]"+CHR$(14) 110 DIMC$(4),C(5),DS(3,300),D2(3,300),SP$(9),LP$(14) 120 OPEN15,8,15:FO=0 129 REM *** TITEL *** 130 PRINT;"[147] [172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]" 140 PRINT" [161] [205][193][211][212][197][210]-[201][206][196][197][216] [161]" 150 PRINT" [188][146][162][162][162][162][162][162][162][162][162][162][162][162][162][162][190]" 155 PRINT" < [194]ITTE WARTEN >" 159 REM *** SUCH-PROGRAMM IN STRINGS 160 FORI=1TO9 170 A=(I-1)*32:H=INT(A/256):L=A-H*256 180 SP$(I)="M-W"+CHR$(L)+CHR$(H+5)+CHR$(32) 190 FORJ=1TO32:READA:SP$(I)=SP$(I)+CHR$(A):NEXT:NEXT:A=FRE(0) 199 REM *** LOESCH-PROGRAMM IN STRINGS 200 FORI=1TO14 210 A=(I-1)*32:H=INT(A/256):L=A-H*256 220 LP$(I)="M-W"+CHR$(L)+CHR$(H+5)+CHR$(32) 230 FORJ=1TO32:READA:LP$(I)=LP$(I)+CHR$(A):NEXT:NEXT:A=FRE(0) 239 REM *** LETZTEN TITEL HOLEN 240 NB=0 250 OPEN2,8,2,"TITEL,S,R" 260 GOSUB9300:IFE<>0THENCLOSE2:RETURN 270 INPUT#2,BN$:NB=NB+1 280 IFST=0THEN270 290 CLOSE2 599 REM **** MENUE ***** 600 PRINT"[147] [205]ENUE" 605 ED=0 610 PRINT" 1 = [218]EITSCHRIFT AUSWAEHLEN" 620 PRINT" 2 = ";BN$;"-[193]RTIKEL HINZUFUEGEN" 630 PRINT" 3 = [193]RTIKEL SUCHEN" 640 PRINT" 4 = [201]N GEFUNDENEN [193]RTIKELN SUCHEN" 650 PRINT" 5 = [199]EFUNDENE [193]RTIKEL ZEIGEN" 660 PRINT" 6 = [199]EFUNDENE [193]RTIKEL DRUCKEN" 670 PRINT" 7 = [199]EFUNDENE [193]RTIKEL LOESCHEN" 675 PRINT" 8 = [199]EFUNDENEN [193]RTIKEL AENDERN" 680 PRINT" 9 = [208]ROGRAMM BEENDEN" 690 PRINT" [194]ITTE WAEHLEN":A=FRE(0) 700 GETA$:IFA$=""THEN700 710 IFA$<>"2"THENCLOSE2:FO=0 720 IFA$="1"THEN1000 730 IFA$="2"THEN2000 740 IFA$="3"THENS2=0:GOTO3000 750 IFA$="4"THEN5000 760 IFA$="5"THENPR=0:GOTO4000 770 IFA$="7"THEN6000 780 IFA$="6"THENPR=1:GOTO4000 785 IFA$="8"THEN7000 790 IFA$="9"THENCLOSE2:CLOSE15:END 800 GOTO700 999 REM *** ZEITSCHRIFT WAEHLEN 1000 NB=0 1010 PRINT"[147] [194]ITTE [218]EITSCHRIFT AUSWAEHLEN" 1020 AA$="":INPUT" [218]EITSCHRIFT:";AA$ 1030 NB=0:REMANZAHLZEITSCHRIFTEN 1040 OPEN2,8,2,"TITEL,S,R" 1050 GOSUB9300:IFE<>0THENCLOSE2:GOTO600 1060 INPUT#2,BN$ 1070 NB=NB+1 1080 IFBN$=AA$THENCLOSE2:GOTO600 1090 IFST=0THEN1060 1100 REM *** DATEIENDE,TITEL NICHT GEF. 1110 CLOSE2 1120 PRINT" [218]EITSCHRIFT NICHT GEFUNDEN" 1130 INPUT" [206]EU ANLEGEN (J/N)";A$ 1140 IF(A$<>"J")AND(A$<>"[202]")THEN600 1150 OPEN2,8,2,"TITEL,S,A" 1160 GOSUB9300:IFE<>0THENCLOSE2:GOTO600 1170 PRINT#2,AA$ 1180 CLOSE2 1190 NB=NB+1 1200 PRINT" ";AA$;" NEU ANGELEGT ([218]EITSCHRIFT";NB;")" 1210 FORI=1TO2000:NEXT:GOTO600 1999 REM *** ARTIKEL ANFUEGEN 2000 IFFO=0THENOPEN2,8,2,"STEXT,S,A":FO=1 2010 GOSUB9300:IFE<>0THENCLOSE2:FO=0:GOTO600 2020 PRINT"[147] [193]RTIKEL ANFUEGEN" 2029 REM *** TEXTEINGABE 2030 PRINT" [212]ITEL EINGEBEN ,[197]NDE = <[210][197][212][213][210][206]>" 2040 AR$="" 2050 GETA$:IFA$=""THENPRINT"[175][157]";:GOTO2050 2060 IFA$=CHR$(20)THEN2130 2070 IFA$=CHR$(13)THEN2180 2080 IF(A$<" ")OR((A$>CHR$(127))AND(A$CHR$(233))THEN2050 2090 IFA$=CHR$(34)THEN2050:REMSONSTFEHLER 2100 AR$=AR$+A$ 2110 IFLEN(AR$)>239THENAR$=LEFT$(AR$,239):GOTO2050 2120 PRINTA$;:GOTO2050 2129 REM *** DELETE 2130 IFLEN(AR$)=0THEN2050 2140 AR$=LEFT$(AR$,LEN(AR$)-1) 2150 PRINT" [157][157] [157]"; 2160 GOTO2050 2170 REM *** SUCHTEXTENDE 2180 PRINT" " 2190 PRINT#2,AR$; 2200 B=INT(NB/256):A=NB-B*256 2210 PRINT:PRINT" ";BN$ 2215 IFED=1THENPRINTTAB(16)AN:PRINT"[145]"; 2220 INPUT" [193]USGABE [206]R.";AN 2230 IF(AN<0)OR(AN>255)THEN2220 2235 IFED=1THENPRINTTAB(10)S:PRINT"[145]"; 2240 INPUT" [211]EITE";S 2250 IF(S<0)OR(S>32767)THEN2240 2260 D=INT(S/256):C=S-D*256 2270 PRINT#2,CHR$(0);CHR$(A);CHR$(B);CHR$(AN);CHR$(C);CHR$(D); 2280 IFED=1THENGOTO7070 2290 GOTO600 2998 REM *** ARTIKEL SUCHEN 2999 REM *** DATENFILE OEFFNEN 3000 OPEN2,8,2,"#0":REM$0300 3010 PRINT#15,"B-R"2;0;17;0 3020 GOSUB9300:IFE<>0THENCLOSE2:GOTO600 3030 REM *** RUECKMELDUNGS-BUFFER OEFFNEN 3040 OPEN3,8,3,"#1" 3050 GOSUB9300:IFE<>0THENCLOSE3:GOTO600 3060 PRINT"[147] [193]RTIKEL SUCHEN" 3070 GOSUB9000:REMSUCH-PROGRAMM 3080 REM *** SUCHSTRING UEBERTRAGEN 3085 S$="" 3090 INPUT" [211]TICHWORT:";S$:IFS$=""THENCLOSE3:GOTO600 3100 S1$=S$:S$="":FORI=1TOLEN(S1$) 3110 IFMID$(S1$,I,1)=CHR$(160)THENS$=S$+CHR$(32):GOTO3130 3120 S$=S$+MID$(S1$,I,1) 3130 NEXT:REM * SHIFT-SPACE->SPACE 3140 PRINT#15,"M-W";CHR$(160);CHR$(4);CHR$(LEN(S$)+1);S$;CHR$(0):REM$04A0 3150 REM *** PROGRAMM STARTEN 3160 PRINT#15,"M-W";CHR$(0);CHR$(4);CHR$(1);CHR$(0):REMINIT-COMMAND 3170 NF=0:REMANZAHLGEFUNDENERARTIKEL 3180 DP=1:REMDATENSATZ-POINTER 3190 PRINT#15,"UC" 3200 REM *** DATEN LESEN 3210 PRINT#15,"B-P";3,1 3220 GET#3,C$(1),C$(2),C$(3),C$(4) 3230 FORI=1TO4 3240 IFC$(I)=""THENC$(I)=CHR$(0) 3250 C(I)=ASC(C$(I)) 3260 NEXT 3270 IFC(4)<>0THEN3400:REMENDEODERFEHLER 3280 FORI=1TO3:DS(I,DP)=C(I):NEXT 3290 DP=DP+1:NF=NF+1 3300 IFDP<3THEN3340 3310 REM *** DOPPELEINTRAEGE LOESCHEN 3320 IF(C(1)<>DS(1,DP-2))OR(C(2)<>DS(2,DP-2))OR(C(3)<>DS(3,DP-2))THEN3340 3330 DP=DP-1:NF=NF-1 3340 IFDP>200THEN3400 3350 REM *** WEITERE DATEN ANFORDERN 3360 PRINT#15,"M-W";CHR$(0);CHR$(4);CHR$(1);CHR$(1):REMWEITER-COMMAND 3370 PRINT#15,"UC" 3380 GOTO3210 3390 REM *** ENDE DER DATEI 3400 CLOSE3:CLOSE2 3410 IFC(4)<>99THENPRINT" [196][195]-[197]RRORCODE:";C(4):GOTO3470 3420 IFS2=1THEN5100 3430 PRINT" '";S$;"'"; 3440 IFNF=0THENPRINT" NICHT"; 3450 IFNF<>0THENPRINTNF;"MAL"; 3460 PRINT" GEFUNDEN" 3470 PRINT" [212]ASTE DRUECKEN" 3480 POKE198,0:WAIT198,1:POKE198,0:GOTO600 3999 REM *** GEFUNDENE ARTIKEL ZEIGEN 4000 IFPR=0THENPRINT"[147] [199]EFUNDENE [193]RTIKEL ZEIGEN" 4010 IFPR=1THENPRINT"[147] [199]EFUNDENE [193]RTIKEL DRUCKEN" 4020 IFNF=0THENPRINT" [203]EINE [193]RTIKEL":FORI=1TO2000:NEXT:GOTO600 4030 IFPR=0THENOPEN4,3 4040 IFPR=1THENOPEN4,4,10:PRINT#4 4050 FORI=1TONF 4055 OPEN3,8,3,"#0" 4060 GOSUB9300:IFE<>0THENCLOSE3:GOTO600 4070 PRINT#15,"B-R";3;0;DS(1,I);DS(2,I) 4080 CLOSE3 4090 PRINT#15,"M-W";CHR$(0);CHR$(4);CHR$(1);CHR$(DS(3,I)) 4100 PRINT#15,"UC" 4110 OPEN3,8,3,"#1" 4120 GOSUB9300:IFE<>0THENCLOSE3:GOTO600 4130 PRINT#15,"B-P";3;0 4135 AR$="" 4140 GET#3,A$ 4150 IFA$<>""THENAR$=AR$+A$:GOTO4140 4155 IFED<>1THENPRINT#4,AR$; 4160 REM *** ENDMARKE GEFUNDEN 4170 FORJ=1TO5 4180 GET#3,A$:IFA$=""THENA$=CHR$(0) 4190 C(J)=ASC(A$) 4200 NEXT 4210 CLOSE3 4220 NB=256*C(2)+C(1):S=256*C(5)+C(4):AN=C(3) 4225 IFED=1THEN7020 4230 OPEN3,8,3,"TITEL,S,R" 4240 GOSUB9300:IFE<>0THENCLOSE3:GOTO600 4250 GOSUB9000 4260 FORJ=1TONB 4270 INPUT#3,A$ 4280 NEXT 4290 PRINT#4:PRINT#4:PRINT#4:PRINT#4," ";A$:PRINT#4," [193]USGABE";AN 4295 PRINT#4," [211]EITE";S 4300 PRINT#4:PRINT#4:IFPR=0THENPRINT" [212]ASTE DRUECKEN" 4310 CLOSE3 4320 IFPR=0THENPOKE198,0:WAIT198,1:POKE198,0 4330 IFPR=0THENPRINT"[147]" 4340 NEXT:CLOSE4:GOTO600 4999 REM *** SUCHEN IN DATENSAETZEN 5000 PRINT"[147] [201]N GEFUNDENEN [193]RTIKELN SUCHEN" 5010 IFNF=0THEN4020 5020 PRINT" [194]EARBEITE [193]RTIKEL:" 5030 FORI=1TONF 5040 PRINTTAB(21)"[145]";I;" " 5050 D2(1,I)=DS(1,I):D2(2,I)=DS(2,I):D2(3,I)=DS(3,I) 5060 NEXT 5070 N2=NF 5080 S2=1 5090 GOTO3000 5100 REM *** 2.SUCHEN BEENDET 5110 N1=NF:S2=0 5120 K=1:NF=0 5130 PRINT" [214]ERGLEICHE [193]RTIKEL:" 5140 FORI=1TON2 5150 IFN1=0THEN5190 5160 IFD2(1,I)<>DS(1,K)THEN5210 5170 IFD2(2,I)<>DS(2,K)THEN5210 5180 IFD2(3,I)<>DS(3,K)THEN5210 5190 NF=NF+1 5200 DS(1,NF)=D2(1,I):DS(2,NF)=D2(2,I):DS(3,NF)=D2(3,I) 5210 NEXT 5220 K=K+1 5230 PRINTTAB(22)"[145]";K;" " 5240 IFK<=N1THEN5140 5250 IFN1=0THENPRINT" '";S$;"' NICHT GEFUNDEN":GOTO3470 5260 GOTO3430 5999 REM *** GEF.ARTIKEL LOESCHEN 6000 PRINT"[147] [199]EFUNDENE [193]RTIKEL LOESCHEN" 6010 IFNF=0THENPRINT" [203]EINE [193]RTIKEL":FORI=1TO2000:NEXT:GOTO600 6020 W$=" WERDEN " 6030 IFNF=1THENW$=" WIRD " 6040 PRINT" ";NF;"[193]RTIKEL";W$;"GELOESCHT" 6050 INPUT" [211]ICHER (J/N)";A$ 6060 IF(A$<>"J")AND(A$<>"[202]")THEN600 6070 GOSUB9100:REM LOESCHPROGRAMM 6080 PRINT" [204]OESCHE [193]RTIKEL:" 6090 FORI=NFTO1STEP-1 6100 PRINT#15,"M-W";CHR$(0);CHR$(4);CHR$(2);CHR$(DS(1,I));CHR$(DS(2,I)) 6110 PRINT#15,"M-W";CHR$(2);CHR$(4);CHR$(1);CHR$(DS(3,I)) 6120 IFED<>1THENPRINTTAB(20);"[145]";NF-I+1;" " 6130 PRINT#15,"UC" 6140 PRINT#15,"M-R";CHR$(0);CHR$(4) 6150 GET#15,A$:IFA$=""THENA$=CHR$(0) 6160 IFA$<>CHR$(0)THENPRINT" [196][195]-[197]RRORCODE:";ASC(A$);"[145][145][145]" 6165 IFED=1THEN6180 6170 NEXT 6180 REM *** BAM KORRIGIEREN 6190 PRINT#15,"V" 6200 GOSUB9300:IFE<>0THEN600 6210 REM *** BLOCKZAHL KORRIGIEREN 6220 OPEN2,8,2,"STEXT,S,A" 6230 CLOSE2 6240 NF=0:GOTO600 6999 REM *** ARTIKEL AENDERN 7000 IFNF=0THENPRINT"[147] [203]EIN [193]RTIKEL" 7002 IFNF>1THENPRINT"[147] [193]ENDERN NUR MOEGLICH BEI EINEM [193]RTIKEL" 7003 IFNF<>1THENFORI=1TO2000:NEXT:GOTO600 7005 ED=1:I=1 7010 GOTO4055:REM ARTIKEL HOLEN 7020 OPEN2,8,2,"STEXT,S,A":FO=1 7030 GOSUB9300:IFE<>0THENCLOSE2:FO=0:GOTO600 7040 PRINT"[147] [193]RTIKEL AENDERN" 7050 PRINT" [212]ITEL AENDERN, [197]NDE = <[210][197][212][213][210][206]>" 7060 PRINTAR$;:GOTO2050:REM NEUER ARTIKEL 7070 CLOSE2:FO=0:GOSUB9100 7080 I=1:GOTO6100:REM ALTEN ARTIKEL LOESCHEN 8999 REM *** DC-SUCHPROGRAMM UEBERTRAGEN 9000 FORK=1TO9 9010 PRINT#15,SP$(K) 9020 NEXT 9030 RETURN 9099 REM *** DC-LOESCHPROGRAMM UEBERTRAGEN 9100 FORK=1TO14 9110 PRINT#15,LP$(K) 9120 NEXT 9130 RETURN 9300 REM *** ERROR-TEST 9310 INPUT#15,A$,B$,C$,D$ 9320 E=VAL(A$):IFE=0THENRETURN 9330 PRINT:PRINT" [196]ISK-[197]RROR:":PRINT" ";E;" ";B$;" ";C$;" ";D$ 9340 PRINT" [212]ASTE DRUECKEN" 9350 POKE198,0:WAIT198,1:POKE198,0 9360 RETURN 9999 REM *** DATAS FUER SUCH PROGRAMM 10000 DATA169,0,141,4,4,172,0,4,240,9 10010 DATA136,240,3,76,154,5,76,136,5,162 10020 DATA0,189,160,4,240,3,232,208,248,142 10030 DATA33,6,160,2,162,0,165,6,141,1 10040 DATA4,165,7,141,2,4,140,3,4,169 10050 DATA0,141,4,4,185,0,3,240,29,221 10060 DATA160,4,240,14,162,0,200,208,241,32 10070 DATA208,5,176,58,160,2,208,232,232,236 10080 DATA33,6,208,238,140,34,6,96,152,24 10090 DATA105,6,168,144,7,32,208,5,176,32 10100 DATA200,200,162,0,165,6,141,1,4,165 10110 DATA7,141,2,4,140,3,4,173,0,3 10120 DATA208,188,204,1,3,144,183,169,99,141 10130 DATA4,4,140,34,6,96,162,0,172,34 10140 DATA6,200,208,166,32,208,5,176,239,200 10150 DATA200,76,54,5,172,0,4,162,0,185 10160 DATA0,3,157,0,4,240,13,232,200,208 10170 DATA244,32,208,5,176,212,160,2,208,235 10180 DATA169,6,141,34,6,208,6,185,0,3 10190 DATA157,0,4,232,200,208,5,32,208,5 10200 DATA160,2,206,34,6,208,236,96,169,5 10210 DATA141,31,6,173,0,3,240,30,133,6 10220 DATA173,1,3,133,7,169,128,133,0,165 10230 DATA0,48,252,201,1,240,16,141,32,6 10240 DATA32,255,5,176,236,173,32,6,141,4 10250 DATA4,56,96,24,96,138,72,162,3,173 10260 DATA32,6,221,27,6,240,7,202,16,248 10270 DATA104,170,24,96,206,31,6,240,247,104 10280 DATA170,56,96,5,7,9,16,0 10999 REM *** DATAS FUER LOESCH PROGRAMM 11000 DATA173,0,4,174,1,4,172,2,4,140 11010 DATA162,6,133,6,134,7,169,5,141,163 11020 DATA6,169,0,141,165,6,141,166,6,141 11030 DATA167,6,173,0,28,9,8,141,0,28 11040 DATA169,128,133,0,165,0,48,252,201,1 11050 DATA240,10,141,164,6,32,48,6,144,50 11060 DATA176,234,32,76,6,173,0,3,208,6 11070 DATA173,1,3,141,165,6,162,2,189,0 11080 DATA3,157,0,4,232,208,247,172,162,6 11090 DATA185,0,3,240,22,200,208,248,32,214 11100 DATA5,176,7,32,76,6,160,2,208,236 11110 DATA173,164,6,141,0,4,96,152,24,105 11120 DATA6,168,144,10,32,214,5,176,237,32 11130 DATA76,6,200,200,174,162,6,173,0,3 11140 DATA208,5,204,1,3,240,37,185,0,3 11150 DATA157,0,4,204,165,6,240,26,200,208 11160 DATA10,32,214,5,176,200,32,76,6,160 11170 DATA2,232,208,229,32,117,6,32,17,6 11180 DATA144,221,176,182,32,117,6,169,0,141 11190 DATA0,4,142,1,4,32,17,6,176,166 11200 DATA169,0,141,0,4,173,0,28,41,247 11210 DATA141,0,28,96,169,5,141,163,6,173 11220 DATA0,3,240,42,133,6,173,1,3,133 11230 DATA7,169,128,133,0,165,0,48,252,201 11240 DATA1,208,13,173,0,3,208,6,173,1 11250 DATA3,141,165,6,24,96,141,164,6,32 11260 DATA48,6,176,211,56,96,169,99,141,164 11270 DATA6,56,96,169,5,141,163,6,169,144 11280 DATA133,1,165,1,48,252,201,1,208,4 11290 DATA162,2,24,96,141,164,6,32,48,6 11300 DATA176,232,56,96,138,72,162,3,173,164 11310 DATA6,221,158,6,240,7,202,16,248,104 11320 DATA170,24,96,206,163,6,240,247,104,170 11330 DATA56,96,138,72,174,166,6,165,6,157 11340 DATA168,6,232,165,7,157,168,6,232,173 11350 DATA0,3,157,168,6,173,1,3,157,169 11360 DATA6,224,6,208,2,162,0,142,166,6 11370 DATA104,170,96,138,72,174,167,6,189,168 11380 DATA6,133,8,232,189,168,6,133,9,232 11390 DATA189,168,6,141,0,4,189,169,6,141 11400 DATA1,4,224,6,208,2,162,0,142,167 11410 DATA6,104,170,96,5,7,9,16,0,0 11420 DATA0,0,0,0,0,0,0,0,0,0 11430 DATA0,0,0,0,0,0,0,0,0,0 11440 DATA0,0,0,0,0,0,0,0