home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C64'er
/
C64'er.iso
/
87xx
/
8705.d64
/
master-index
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
10KB
|
371 lines
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$(160)))OR(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,7: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