1800 HOME : PRINT : PRINT "PLEASE ENTER THE KEYWORD. ENTER " CHR$(34)"F" CHR$(34): PRINT "FIRST IF YOU WANT THE FIRST MATCHING": PRINT "KEYWORD TO LIST. PRESS RETURN FOR MENU"
1810 INPUT K$:LO = LEN(K$): IF K$ = "" THEN 3800
1820 FL = 0: IF K$ < >"F" THEN 1850
1830 PRINT : INPUT "ENTER THE KEYWORD: ";K$:LO = LEN(K$): IF K$ = "" THEN 3800
1840 FL = 1
1850 FOR I = 1 TO G:CS%(I) = 0: NEXT :TQ = 1: FOR I = 1 TO G: IF LEFT$(I$(I),LO) = K$ THEN CS%(TQ) = I:TQ = TQ +1
1860 IF FL AND CS%(1) THEN TQ = 2:I = G
1870 NEXT I: IF TQ = 2 THEN N = CS%(1): GOTO 1920
1880 IF TQ = 1 THEN PRINT : PRINT CHR$(7)"KEYWORD NOT FOUND. TRY AGAIN.": GOTO 1810
1890 POKE 34,0: HOME :Z$ = K$ +" WAS FOUND IN:": HTAB 20 -( LEN(Z$)/2): PRINT Z$: PRINT : PRINT "CODE ITEM//SERIAL NUMBER": POKE 34,4: PRINT
1900 TI = 5:TL = 40: FOR I = 1 TO TQ -1:I$(0) = I$(CS%(I)) +"//" +S$(CS%(I)):N = 0: PRINT CS%(I);: GOSUB 300: PRINT "": IF PEEK(37) > = 21 THEN GOSUB 3260: HOME
1910 NEXT : PRINT : INPUT "SELECT YOUR CHOICE BY CODE NO. ";Z$: POKE 34,0:N = VAL(Z$): IF N <1 OR N >G THEN 3800
1920 POKE 34,0: HOME :TI = 7:TL = 39: PRINT "ITEM: ";: GOSUB 300: PRINT : PRINT : PRINT "SERIAL NUMBER: ";S$(N);: IF S$(N) = "" THEN PRINT "NONE";
2210 C1 = 0:R1 = 0:V1 = 0: FOR I = 1 TO 9: PRINT CA$(I);:C = 0:CV = 0:RC = 0: FOR J = 1 TO G: IF CA%(J) = I THEN C = C +CO(J):CV = CV + ABS(CV(J)):RC = RC + ABS(RC(J))
2400 HOME : PRINT " THIS OPTION REQUIRES A 40 OR 80 COLUMNPRINTER. TO PRINT, PRESS 'P'. IF YOU DO NOT WANT TO PRINT, PRESS 'R' TO RE-"
2410 PRINT "TURN TO THE MENU, OR PRESS 'S' TO LIST ON THE SCREEN. PRESSING 'P' WITHOUT A PRINTER TURNED ON AT PR#1 WILL CAUSE"
2420 PRINT "THE PROGRAM TO HANG. PLEASE ENTER YOUR CHOICE: ";: POKE -16368,0: GET Z$: PRINT Z$: IF Z$ < >"S" AND Z$ < >"P" THEN 3800
2430 IF Z$ = "S" THEN SPEED= 175:W = 40: GOTO 2500
2440 PRINT : PRINT "PLEASE ENTER THE PRINTING WIDTH (40 OR": INPUT "80 COLUMN) ";W: PRINT : IF W < >40 AND W < >80 THEN 2440
2450 PRINT "ENTER THE MONTH AS JANUARY, FEBRUARY,": INPUT "MARCH, ETC ";M$
2460 PRINT : INPUT "ENTER TODAY'S DATE ";D$
2470 HOME : PR# 1: FOR I = 1 TO 8: PRINT : NEXT : GOTO 2480
2480 HTAB (9 +((W -40)/2)): PRINT "PROPERTY INVENTORY OF": PRINT :TL = (W - LEN(ME$))/2: HTAB TL: PRINT ME$: PRINT :Z$ = "CURRENT AS OF " +M$ +" " +D$ +", " + STR$(Y%):TL = (W - LEN(Z$))/2
2490 HTAB TL: PRINT Z$: PRINT : PRINT : PRINT
2500 HOME : FOR I = 1 TO 6:CS(I) = 0: NEXT : FOR I = 1 TO 9
2510 PRINT : PRINT : PRINT :TL = (W - LEN(CA$(I)))/2: FOR K = 1 TO TL -1: PRINT "*";: NEXT : PRINT CA$(I);: FOR L = K + LEN(CA$(I)) TO W: PRINT "*";: NEXT : PRINT : PRINT : PRINT
2520 FOR N = 1 TO G: IF CA%(N) < >I THEN 2590
2530 TI = 1:TL = W -1: GOSUB 300: PRINT : PRINT " SERIAL NUMBER: ";: PRINT S$(N);: IF S$(N) = "" THEN PRINT "NONE";
2680 FOR I = 1 TO W: PRINT "X";: NEXT : PRINT : PRINT : PRINT "GRAND TOTAL ACQUISITION COST: $";:Q = CS(4): GOSUB 920: HTAB 40 -D: PRINT Q
2690 PRINT "GRAND TOTAL CURRENT VALUE: $";:Q = CS(5): GOSUB 920: HTAB 40 -D: PRINT Q: PRINT "GRAND TOTAL REPLACEMENT COST: $";:Q = CS(6): GOSUB 920: HTAB 40 -D: PRINT Q
2700 PRINT : PRINT : PRINT " THE INFORMATION CONTAINED IN THIS ";: IF W = 40 THEN PRINT
2710 PRINT "DOCUMENT IS A TRUE REPRESENTATION OF MY": PRINT "PERSONAL PROPERTY. THE DATES OF ";: IF W = 40 THEN PRINT
2720 PRINT "ACQUISITION AND THE ORIGINAL VALUES ARE": PRINT "AS ACCURATE AS POSSIBLE."
2730 PRINT : PRINT : PRINT : HTAB W -20: PRINT "SIGNED": PRINT : PRINT : PRINT : PRINT : PRINT :L = W -1 - LEN(ME$): IF L >(W -1)/2 THEN L = INT((W -1)/2)
2740 HTAB L: PRINT ME$: PRINT : PRINT : PRINT : FOR I = 1 TO W: PRINT "X";: NEXT : FOR I = 1 TO 6: PRINT : NEXT : PRINT CHR$(12): PRINT CHR$(12): PR# 0: SPEED= 255: GOTO 3800
2750 REM CHR$(12) IS A FORM FEED ON SOME PRINTERS
3000 TEXT : HOME : VTAB 9: FLASH : PRINT "<<<CAUTION--END PROGRAM OPTION CALLED>>>": NORMAL : VTAB 11: PRINT " PRESS 'E' TO END AND 'C' TO CONTINUE ";: POKE -16368,0: GET Z$: PRINT Z$: IF Z$ < >"E" THEN 3800
3010 HOME : GOSUB 3310: PRINT : PRINT " CHANGE STATEMENT 3310 SO THAT THE FIRST LIST NUMBER AGREES WITH THE LAST DATA STATEMENT NUMBER. STATEMENT 3290"
3020 PRINT "MAY BE REDUCED, BUT D MUST NOT BE LESS THAN THE NUMBER OF ENTRIES (NOW ";G;")."
3030 PRINT : INVERSE : PRINT "IF YOU CHANGED OR ADDED DATA, ";: FLASH : PRINT "SAVE!": NORMAL : POKE 32,1: LIST 3310: POKE 37, PEEK(37) -1: LIST 3290: POKE 32,0: POKE 37, PEEK(37) -5: END
3200 FOR I = 1 TO 9: READ CA$(I): NEXT : DATA PHOTOGRAPHIC,ELECTRONIC,ANTIQUES,JEWELRY,FURNITURE,CLOTHING,HOUSEHOLD,AUTOMOTIVE,MISCELLANEOUS
3220 VTAB 14: HTAB 8: PRINT "MAURICE R. CONNOLLY JR.": VTAB 16: HTAB 10: PRINT "ALL RIGHTS RESERVED": FOR I = 1 TO 2500: NEXT
3230 HOME : PRINT : PRINT : PRINT "DO YOU HAVE NEW DATA TO ENTER? ";: POKE -16368,0: GET Z$: PRINT Z$: IF Z$ = "N" THEN 3270
3240 HOME : GOSUB 3310: PRINT "DATA ENTRY FORMAT IS:": PRINT : PRINT "ITEM,SERIAL,DATE ACQ,COST,CATEGORY,CUR VAL,REPL COST,COMMENT"
3250 PRINT : PRINT "NUMBER YOUR NEXT DATA STATEMENT TEN A- BOVE THE LAST ONE ABOVE. DON'T FORGET QUOTATION MARKS!": END
3260 POKE -16368,0: VTAB 24: PRINT " PRESS ANY KEY TO CONTINUE ";: GET Z$: PRINT Z$: RETURN
3270 PRINT : INPUT "PLEASE ENTER THE YEAR ";Y%:IL = .1:DL = .1: IF Y% <1000 THEN Y% = Y% +1900
3280 ME$ = "YOUR NAME GOES HERE"
3290 D = 150
3300 D = D +1: GOTO 3330
3310 LIST 4000,9999
3320 RETURN
3330 DIM I$(D),S$(D),DA%(D),CO(D),CA%(D),CV(D),RC(D),C$(D),U%(D),CS%(D)
3340 PRINT : PRINT "IS A 10% APPRECIATION/DEPRECIATION RATEO.K.? ";: POKE -16368,0: GET Z$: PRINT Z$: IF Z$ = "Y" THEN 3360
3350 PRINT : PRINT "PLEASE ENTER RATES AS PERCENTAGES, E.G. 8, 8.5, 9,ETC.": PRINT : INPUT "APPRECIATION RATE? ";IL: PRINT : INPUT "DEPRECIATION RATE? ";DL: PRINT :IL = IL *.01:DL = DL *.01
3360 HOME : VTAB 4: PRINT "I WILL NOW READ THE DATA. ";:HQ = 0:HR = 0:HV = 0:HY = 0: FOR I = 1 TO D -1: READ I$(I): IF I$(I) = "DONE" THEN 3380
3370 READ S$(I),DA%(I),CO(I),CA%(I),CV(I),RC(I),C$(I): NEXT
3380 G = I -1: PRINT "THERE ARE": PRINT G;" ITEMS ON FILE.": PRINT : READ I$(D): IF G <D -1 OR G = D -1 AND I$(D) = "DONE" THEN 3430
3390 PRINT CHR$(7); CHR$(7)"CORRECTION. THERE ARE MORE THAN ";G: PRINT "DATA ITEMS, BUT I AM ONLY DIMENSIONED TO STORE ";G;" OF THEM. IF I CONTINUE,": PRINT "I WIL HAVE TO IGNORE THE REST."
3400 PRINT "SHOULD I CONTINUE? ";: GET Z$: PRINT Z$: IF Z$ = "Y" THEN 3430
3410 HOME : GOSUB 3310: PRINT " I CAN STORE "D -1" ITEMS. THE LAST": PRINT "ONE SUCCESSFULLY STORED WAS:": PRINT CHR$(34)I$(G) CHR$(34): PRINT "THE ONE I COULD NOT STORE WAS:": PRINT CHR$(34)I$(D) CHR$(34)
3420 PRINT "PLEASE ADJUST STATEMENT 3290 FOR ME, SO I CAN READ AND STORE ALL THE DATA.": LIST 3290: END
3430 I$(D) = "": VTAB 7: HTAB 1: FOR I = 1 TO 200: PRINT " ";: NEXT : PRINT : FOR I = 1 TO G: IF DA%(I) <1000 THEN DA%(I) = DA%(I) +1900
3440 : NEXT : FLASH : VTAB 8: HTAB 16: PRINT "SORTING": NORMAL : GOTO 20
3450 PRINT : PRINT : PRINT "I AM NOW COMPUTING CURRENT VALUE AND CURRENT REPLACEMENT COSTS WHERE YOU HAVE NOT SPECIFIED THEM.":J = 1 -DL:K = 1 +IL:N1 = 1:N2 = G: GOSUB 3460: GOTO 3800
3460 FOR I = N1 TO N2:Y1 = Y% -DA%(I): IF CV(I) >0 THEN 3490
3470 IF Y1 = 0 THEN CV(I) = CO(I) * -1: GOTO 3490
3480 CV(I) = CO(I) *J ^Y1 * -1
3490 IF RC(I) >0 THEN 3520
3500 IF Y1 = 0 THEN RC(I) = CO(I) * -1: GOTO 3520
3510 RC(I) = CO(I) *K ^Y1 * -1
3520 NEXT
3530 FOR I = 1 TO G: IF CO(I) >HQ THEN HQ = CO(I)
3540 IF ABS(RC(I)) >HR THEN HR = ABS(RC(I))
3550 IF ABS(CV(I)) >HV THEN HV = ABS(CV(I))
3560 IF DA%(I) >HY THEN HY = DA%(I)
3570 NEXT :RC = 0: RETURN
3800 HOME : VTAB 4: INVERSE : HTAB 16: PRINT "OPTIONS": NORMAL : VTAB 8: FOR I = 1 TO G:CS%(I) = 0: NEXT : PRINT "1. LIST ALPHABETICALLY BY CATEGORY"
3810 PRINT "2. LIST BY DECREASING ACQUISITION COST": PRINT "3. LIST BY DECREASING REPLACEMENT COST": PRINT "4. LIST BY DECREASING CURRENT VALUE"
3820 PRINT "5. LIST BY YEAR OF PURCHASE": PRINT "6. DISPLAY FULL DATA ON ANY ITEM": PRINT "7. DISPLAY CURRENT STATUS": PRINT "8. PRINT CURRENT STATUS": PRINT "9. ";: FLASH : PRINT "EXIT": NORMAL
3830 VTAB 21: HTAB 7: PRINT "PLEASE SELECT YOUR OPTION ";: POKE -16368,0: GET Z$: PRINT Z$:CH = VAL(Z$): IF CH <1 THEN 3830
3840 ON CH GOTO 800,1000,1200,1400,1600,1800,2200,2400,3000