home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / comdore / 64apps / indexer.mag (.txt) < prev    next >
Commodore BASIC  |  1988-11-30  |  3KB  |  83 lines

  1. 100 SYS65517:Z=PEEK(781):IFZ=40THENPOKE53281,0:I$="":V=10:R$="":DIMAR$(500)
  2. 110 IFZ=22THENPOKE36879,14:I$="":V=5:R$="":Q$=CHR$(13):DIMAR$(50)
  3. 120 DIMH$(7),B(3),T(3),MG$(3):BL$="                "
  4. 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
  5. 140 J$="ARTICLES BY "
  6. 150 H$(0)="[158]MAGAZINE[146]":H$(1)="[159]DATE[146]"
  7. 160 H$(2)="[156]TITLE[146]":H$(3)="CATEGORY[146]"
  8. 170 H$(4)="TITLE OF [158]MAGAZINE[146]":H$(5)="ISSUE DATE [159](MM/YY)[146]"
  9. 180 H$(6)="TITLE OF [156]ARTICLE[146]":H$(7)="ARTICLE CATEGORY[146]"
  10. 190 PRINT"[147][159]MAGAZINE[146] INDEXER[146]"
  11. 200 PRINT"1. LOAD ALL ARTICLES":PRINT"2. LIST ALL ARTICLES"
  12. 210 PRINT"3. ENTER NEW ARTICLES":PRINT"4. DELETE PREVIOUS "R$"ENTRIES"
  13. 220 PRINT"5. LIST "J$R$H$(0):PRINT"6. LIST "J$R$H$(1)
  14. 230 PRINT"7. LIST "J$R$H$(2):PRINT"8. LIST "J$R$H$(3)
  15. 240 PRINT"9. SAVE DATA AND END"
  16. 250 PRINT"SELECT CHOICE[146] ";
  17. 260 GETC$:C=VAL(C$):IFC<1ORC>9THEN260
  18. 270 PRINTC$:FORI=1TO750:NEXT
  19. 280 ONCGOTO700,420,290,640,510,510,510,510,700
  20. 290 N=N+1
  21. 300 PRINT"[147]";TAB(5)"NEW ENTRIES":PRINTTAB(5)"RECORD #"N
  22. 310 FORK=0TO3:PRINT""H$(K+4);
  23. 320 FORJ=1TOT(K)+3:PRINT" ";:NEXT:FORJ=1TOT(K)+3:PRINT"[157]";:NEXT:INPUTMG$(K)
  24. 330 IFK=1ANDMID$(MG$(K),3,1)<>"/"THENMG$(K)="0"+MG$(K)
  25. 340 MG$(K)=LEFT$(MG$(K),T(K)):MG$(K)=MG$(K)+LEFT$(BL$,T(K)-LEN(MG$(K))):NEXTK
  26. 350 AR$(N)=MG$(0)+MG$(1)+MG$(2)+MG$(3)
  27. 360 FORK=0TO3:MG$(K)="":NEXT
  28. 370 PRINT"PRESS RETURN[146] FOR ADD'L ENTRIES":GOSUB910
  29. 380 GETC$:IFC$=""THEN380
  30. 390 IFC$=CHR$(13)THEN290
  31. 400 IFC$="[133]"THEN190
  32. 410 C$="":GOTO380
  33. 420 IFN=0THENPRINT"[158]NO ARTICLES ON FILE.":FORJ=1TO1500:NEXT:GOTO190
  34. 430 I=1
  35. 440 LC=0:HD$="LIST 'ARTICLES' FILE [146]":GOSUB850
  36. 450 LC=LC+1:GOSUB870:GOSUB880:I=I+1:IFI<=NANDLC<>VTHEN450
  37. 460 GOSUB900
  38. 470 GETCH$:IFCH$=""THEN470
  39. 480 IFCH$="[133]"ORI>NTHEN190
  40. 490 IFCH$=CHR$(13)THEN440
  41. 500 GOTO470
  42. 510 PRINT""TAB(2)H$(C-1):C=C-5
  43. 520 FORJ=1TOT(C)+3:PRINT" ";:NEXT:FORJ=1TOT(C)+3:PRINT"[157]";:NEXT:INPUTMH$
  44. 530 IFC=1ANDMID$(MH$,3,1)<>"/"THENMH$="0"+MH$
  45. 540 MH$=LEFT$(MH$,T(C)):MH$=MH$+LEFT$(BL$,T(C)-LEN(MH$))
  46. 550 I=1
  47. 560 LC=0:HD$=J$+H$(C):GOSUB850
  48. 570 GOSUB870:IFMH$=MG$(C)THENGOSUB880:LC=LC+1
  49. 580 I=I+1:IFI<=NANDLC<>VTHEN570
  50. 590 GOSUB900
  51. 600 GETC$:IFC$=""THEN600
  52. 610 IFC$="[133]"ORI>NTHEN190
  53. 620 IFC$=CHR$(13)THEN560
  54. 630 GOTO600
  55. 640 PRINT"DELETE REC #";
  56. 650 INPUT"    [157][157][157][159]";A$:IFA$=""THEN650
  57. 660 I=VAL(A$):IFI>NTHENPRINT"[158]RECORD NOT ON FILE.";:GOTO690
  58. 670 AR$(I)="":PRINT"[158]RECORD DELETED.";
  59. 680 N=N-1:FORJ=ITON:AR$(J)=AR$(J+1):NEXT
  60. 690 FORI=1TO1000:NEXT:GOTO190
  61. 700 PRINT"[147]DISK OR CASSETTE (D/C)"
  62. 710 GETE$:IF(E$<>"D"ANDE$<>"C")ORE$=""THEN710
  63. 720 IFE$="D"THENF$="@0:ARTICLES":D1=1:GOTO740
  64. 730 F$="ARTICLES":D1=0:G$=""
  65. 740 IFC=9THEN780
  66. 750 IFD1=1THENG$=",S,R"
  67. 760 OPEN1,1+7*D1,8*D1,F$+G$:GOSUB810
  68. 770 INPUT#1,N:FORI=1TON:INPUT#1,AR$(I):NEXT:GOSUB810:CLOSE1:GOSUB810:GOTO190
  69. 780 IFD1=1THENG$=",S,W"
  70. 790 OPEN1,1+7*D1,1+7*D1,F$+G$:GOSUB810
  71. 800 PRINT#1,N:FORI=1TON:PRINT#1,AR$(I):NEXT:GOSUB810:CLOSE1:GOSUB810:END
  72. 810 IFD1=0THENRETURN
  73. 820 IFO=0THENOPEN15,8,15:O=1
  74. 830 INPUT#15,A,B$,C,D:IFATHENPRINTA,B$,C,D:STOP
  75. 840 RETURN
  76. 850 PRINT"[147]"HD$:PRINT:PRINT" REC#[146]  MAGAZINE[146]   ";
  77. 860 PRINTQ$"DATE[146]  ARTICLE TITLE":RETURN
  78. 870 FORK=0TO3:MG$(K)=MID$(AR$(I),B(K),T(K)):NEXT:RETURN
  79. 880 X0=LEN(STR$(I)):X1$=LEFT$("***",4-X0)+RIGHT$(STR$(I),X0-1)
  80. 890 PRINT" "X1$"  "MG$(0)" "Q$MG$(1)" "MG$(2)" ":RETURN
  81. 900 IFI<=NTHENPRINT"PRESS RETURN[146] TO CONT'"
  82. 910 PRINT"PRESS F1[146] FOR MENU";:RETURN
  83.