home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carousel Volume 2 #1
/
carousel.iso
/
comdore
/
64apps
/
indexer.mag
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1988-11-30
|
3KB
|
83 lines
100 SYS65517:Z=PEEK(781):IFZ=40THENPOKE53281,0:I$="":V=10:R$="":DIMAR$(500)
110 IFZ=22THENPOKE36879,14:I$="":V=5:R$="":Q$=CHR$(13):DIMAR$(50)
120 DIMH$(7),B(3),T(3),MG$(3):BL$=" "
130 B(0)=1:B(1)=11:B(2)=16:B(3)=31:T(0)=10:T(1)=5:T(2)=15:T(3)=1
140 J$="ARTICLES BY "
150 H$(0)="[158]MAGAZINE[146]":H$(1)="[159]DATE[146]"
160 H$(2)="[156]TITLE[146]":H$(3)="CATEGORY[146]"
170 H$(4)="TITLE OF [158]MAGAZINE[146]":H$(5)="ISSUE DATE [159](MM/YY)[146]"
180 H$(6)="TITLE OF [156]ARTICLE[146]":H$(7)="ARTICLE CATEGORY[146]"
190 PRINT"[147][159]MAGAZINE[146] INDEXER[146]"
200 PRINT"1. LOAD ALL ARTICLES":PRINT"2. LIST ALL ARTICLES"
210 PRINT"3. ENTER NEW ARTICLES":PRINT"4. DELETE PREVIOUS "R$"ENTRIES"
220 PRINT"5. LIST "J$R$H$(0):PRINT"6. LIST "J$R$H$(1)
230 PRINT"7. LIST "J$R$H$(2):PRINT"8. LIST "J$R$H$(3)
240 PRINT"9. SAVE DATA AND END"
250 PRINT"SELECT CHOICE[146] ";
260 GETC$:C=VAL(C$):IFC<1ORC>9THEN260
270 PRINTC$:FORI=1TO750:NEXT
280 ONCGOTO700,420,290,640,510,510,510,510,700
290 N=N+1
300 PRINT"[147]";TAB(5)"NEW ENTRIES":PRINTTAB(5)"RECORD #"N
310 FORK=0TO3:PRINT""H$(K+4);
320 FORJ=1TOT(K)+3:PRINT" ";:NEXT:FORJ=1TOT(K)+3:PRINT"[157]";:NEXT:INPUTMG$(K)
330 IFK=1ANDMID$(MG$(K),3,1)<>"/"THENMG$(K)="0"+MG$(K)
340 MG$(K)=LEFT$(MG$(K),T(K)):MG$(K)=MG$(K)+LEFT$(BL$,T(K)-LEN(MG$(K))):NEXTK
350 AR$(N)=MG$(0)+MG$(1)+MG$(2)+MG$(3)
360 FORK=0TO3:MG$(K)="":NEXT
370 PRINT"PRESS RETURN[146] FOR ADD'L ENTRIES":GOSUB910
380 GETC$:IFC$=""THEN380
390 IFC$=CHR$(13)THEN290
400 IFC$="[133]"THEN190
410 C$="":GOTO380
420 IFN=0THENPRINT"[158]NO ARTICLES ON FILE.":FORJ=1TO1500:NEXT:GOTO190
430 I=1
440 LC=0:HD$="LIST 'ARTICLES' FILE [146]":GOSUB850
450 LC=LC+1:GOSUB870:GOSUB880:I=I+1:IFI<=NANDLC<>VTHEN450
460 GOSUB900
470 GETCH$:IFCH$=""THEN470
480 IFCH$="[133]"ORI>NTHEN190
490 IFCH$=CHR$(13)THEN440
500 GOTO470
510 PRINT""TAB(2)H$(C-1):C=C-5
520 FORJ=1TOT(C)+3:PRINT" ";:NEXT:FORJ=1TOT(C)+3:PRINT"[157]";:NEXT:INPUTMH$
530 IFC=1ANDMID$(MH$,3,1)<>"/"THENMH$="0"+MH$
540 MH$=LEFT$(MH$,T(C)):MH$=MH$+LEFT$(BL$,T(C)-LEN(MH$))
550 I=1
560 LC=0:HD$=J$+H$(C):GOSUB850
570 GOSUB870:IFMH$=MG$(C)THENGOSUB880:LC=LC+1
580 I=I+1:IFI<=NANDLC<>VTHEN570
590 GOSUB900
600 GETC$:IFC$=""THEN600
610 IFC$="[133]"ORI>NTHEN190
620 IFC$=CHR$(13)THEN560
630 GOTO600
640 PRINT"DELETE REC #";
650 INPUT" [157][157][157][159]";A$:IFA$=""THEN650
660 I=VAL(A$):IFI>NTHENPRINT"[158]RECORD NOT ON FILE.";:GOTO690
670 AR$(I)="":PRINT"[158]RECORD DELETED.";
680 N=N-1:FORJ=ITON:AR$(J)=AR$(J+1):NEXT
690 FORI=1TO1000:NEXT:GOTO190
700 PRINT"[147]DISK OR CASSETTE (D/C)"
710 GETE$:IF(E$<>"D"ANDE$<>"C")ORE$=""THEN710
720 IFE$="D"THENF$="@0:ARTICLES":D1=1:GOTO740
730 F$="ARTICLES":D1=0:G$=""
740 IFC=9THEN780
750 IFD1=1THENG$=",S,R"
760 OPEN1,1+7*D1,8*D1,F$+G$:GOSUB810
770 INPUT#1,N:FORI=1TON:INPUT#1,AR$(I):NEXT:GOSUB810:CLOSE1:GOSUB810:GOTO190
780 IFD1=1THENG$=",S,W"
790 OPEN1,1+7*D1,1+7*D1,F$+G$:GOSUB810
800 PRINT#1,N:FORI=1TON:PRINT#1,AR$(I):NEXT:GOSUB810:CLOSE1:GOSUB810:END
810 IFD1=0THENRETURN
820 IFO=0THENOPEN15,8,15:O=1
830 INPUT#15,A,B$,C,D:IFATHENPRINTA,B$,C,D:STOP
840 RETURN
850 PRINT"[147]"HD$:PRINT:PRINT" REC#[146] MAGAZINE[146] ";
860 PRINTQ$"DATE[146] ARTICLE TITLE":RETURN
870 FORK=0TO3:MG$(K)=MID$(AR$(I),B(K),T(K)):NEXT:RETURN
880 X0=LEN(STR$(I)):X1$=LEFT$("***",4-X0)+RIGHT$(STR$(I),X0-1)
890 PRINT" "X1$" "MG$(0)" "Q$MG$(1)" "MG$(2)" ":RETURN
900 IFI<=NTHENPRINT"PRESS RETURN[146] TO CONT'"
910 PRINT"PRESS F1[146] FOR MENU";:RETURN