0 'MONEY$.BA 20-Oct-87 1 ' by: William B Nemuth 72527,2631 2 'mods: Wm. H. Templeton 75655,1056 3 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 10 CLEAR1000:MAXFILES=2:DEFSTRJ,R:R=CHR$(27)+"p":J=CHR$(27)+"q":QQ$=STRING$(40,167):DA$=STRING$(96,45):ONERRORGOTO390 15 CLS:PRINTR" *** MONEY$.BA MAIN MENU *** "J:PRINT:PRINT@80," <1> Enter data":PRINT@100," <4> Total data 20 PRINT" <2> Sort data":PRINT@140," <5> Print report":PRINT" <3> Search data 25 PRINT@180," <6> Quit to menu":PRINT@240,QQ$;:PRINT" Make selection....."; 30 I$=INPUT$(1) 35 ONVAL(I$)GOTO45,180,235,270,330,40:GOTO30 40 MENU 45 CLS:PRINT@10,R" DATA ENTRY MODE "J 50 FILES:PRINTR" Which account file: "J;:INPUTF$:IFF$=""THEN10 55 CLS:PRINT@43,R" Press [ENTER] for Today's date..."J:PRINT 60 INPUT"Enter day (e.g.14)....";D$:IFD$=""THEND$=MID$(DATE$,4,2) 65 IFLEN(D$)<>2THENGOSUB175:GOTO60 70 INPUT"Enter month (e.g.01)..";M$:IFM$=""THENM$=LEFT$(DATE$,2) 75 IFLEN(M$)<>2THENGOSUB175:GOTO70 80 INPUT"Enter year (e.g.87)...";Y$:IFY$=""THENY$=RIGHT$(DATE$,2) 85 IFLEN(Y$)<>2THENGOSUB175:GOTO80 90 CLS:PRINT:INPUT"Enter cost cat. #....";C$:IFC$=""THENC$="- 95 IFLEN(C$)>5THENGOSUB175:GOTO90 100 I$="":INPUT"Enter Invoice #......";I$:IFI$=""THENI$="- 105 IFLEN(I$)>6THENGOSUB175:GOTO100 110 INPUT"Cash or Cheque #.....";H$:IFH$=""THENH$="- 115 IFLEN(H$)>6THENGOSUB175:GOTO110 120 INPUT"Notes (max 30 ch)....";N$:IFN$=""THENN$="- 125 IFLEN(N$)>30THENGOSUB175:GOTO120 130 INPUT"Enter amount........$";A 135 CLS:PRINT"Account : "F$:PRINT"Date : "D$"/"M$"/"Y$:PRINT"Category : "C$:PRINT"Invoice : "I$:PRINT"Cash/Cheq: "H$ 140 PRINT"Notes : "N$:PRINTUSING"Amount : $$########.##";A:PRINTSPACE$(11)R" All correct (Y/N?) "J; 145 Q$=INPUT$(1) 150 IFQ$="Y"ORQ$="y"THEN155ELSEIFQ$="N"ORQ$="n"THEN45ELSEBEEP:GOTO145 155 CLS:PRINT@173,R" FILING DATA "J:OPENF$FORAPPENDAS1:PRINT#1,Y$M$D$","C$","I$","H$","N$","A 160 CLOSE1:CLS:PRINT@169,R" Enter more data (Y/N?) "J; 165 Q$=INPUT$(1) 170 IFQ$="Y"ORQ$="y"THENCLS:GOTO50ELSE10 175 CLS:BEEP:PRINT@164,R" INPUT TOO LONG ! TRY AGAIN... "J:FORZZ=1TO500:NEXTZZ:CLS:RETURN 180 CLS:PRINT@10,R" DATA SORTING MENU "J:FILES:PRINTR" Select input file: "J;:INPUTF$ 185 IFF$=""THEN10ELSEIFRIGHT$(F$,3)=".DO"THEN190ELSEF$=F$+".DO 190 OPENF$FORINPUTAS1 195 LINEINPUT#1,Q$:X=X+1:IFNOTEOF(1)THEN195 200 CLOSE:DIMA$(X):X=0:OPENF$FORINPUTAS1 205 X=X+1:LINEINPUT#1,A$(X):IFNOTEOF(1)THEN205 210 CLS:PRINT@135,R;X"records "J:CLOSE:W=2^INT(LOG(X))-1 215 FORI=1TOX-W:FORV=ITO1STEP-W:IFA$(V)<=A$(V+W)THEN225 220 Q$=A$(V):A$(V)=A$(V+W):A$(V+W)=Q$:NEXT 225 NEXTI:W=INT(W/2):IFW>0THEN215 230 OPENF$FOROUTPUTAS1:FORY=1TOX:PRINT#1,A$(Y):NEXT:CLOSE:GOTO10 235 CLS:PRINT@9,R" DATA SEARCHING MENU "J:FILES:PRINTR" Select input file: "J;:INPUTF$ 240 IFF$=""THEN10ELSEIFRIGHT$(F$,3)=".DO"THEN245ELSEF$=F$+".DO 245 INPUT"Select output file:";FF$:IFFF$=""THENBEEP:GOTO235 250 PRINTR" Search for: "J;:INPUTSS$:OPENF$FORINPUTAS1:OPENFF$FOROUTPUTAS2 255 IFEOF(1)THENCLOSE:CLS:PRINT@162,R" Results of search filed in "FF$" "J:FORZZ=1TO700:NEXTZZ:GOTO10 260 LINEINPUT#1,A$:IFINSTR(A$,SS$)THEN265ELSE255 265 PRINT#2,A$:GOTO255 270 CLS:PRINT@9,R" DATA TOTALING MENU "J:FILES:PRINTR" Select Account file: "J;:INPUTF$ 275 IFINSTR("qQ",F$)ORF$=""THEN10ELSEIFRIGHT$(F$,3)=".DO"THEN280ELSEF$=F$+".DO 280 OPENF$FORINPUTAS1 285 IFEOF(1)GOTO325ELSE290 290 INPUT#1,DD$:INPUT#1,C$:INPUT#1,I$:INPUT#1,H$:INPUT#1,N$:INPUT#1,A:CLS 295 PRINT"Account : "F$" Date : "RIGHT$(DD$,2)"/"MID$(DD$,3,2)"/"LEFT$(DD$,2) 300 PRINT"Catagory: "C$:PRINT"Invoice : "I$" Cash/cheque: "H$:PRINT"Notes : "N$:PRINTUSING"Amount :$$########.##";A 305 T=T+A:PRINTUSING"Total :$$########.##";T:PRINTQQ$;:PRINT"Press ext or uit..."; 310 XC$=INPUT$(1) 315 IFXC$="N"ORXC$="n"THEN285ELSEIFXC$="Q"ORXC$="q"THENCLOSE1:GOTO10 320 BEEP:GOTO310 325 CLOSE1:PRINT@280," "R" Press any key... "J;:X$=INPUT$(1):GOTO10 330 CLS:IF(INP(187)AND6)=2THEN335ELSE425 335 LPRINTCHR$(27)CHR$(31)CHR$(10);CHR$(27)CHR$(30)CHR$(7):CLS:PRINT@7,R" REPORT PRINT MENU "J:PRINT 'printer setup 340 FILES:INPUT"Select account file...";F$:IFF$=""THEN10ELSE345 345 OPENF$FORINPUTAS1:CLS:PRINT@171,R" Printing report "J 350 LPRINT"Report on "F$" account....."TAB(74)"Report dated "MID$(DATE$,4,2)"/"LEFT$(DATE$,2)"/"RIGHT$(DATE$,2):LPRINT:LPRINTDA$ 355 LPRINT"Date"TAB(10)"Catgy #"TAB(18)"Invoice "TAB(28)"Cheque"TAB(36)"Notes"TAB(75)"Amount"TAB(88)"Total":LPRINTDA$ 360 IFEOF(1)GOTO380ELSENE=NE+1:GOTO365 365 INPUT#1,DD$:INPUT#1,C$:INPUT#1,I$:INPUT#1,H$:INPUT#1,N$:INPUT#1,A:T=T+A 370 LPRINTRIGHT$(DD$,2)"/"MID$(DD$,3,2)"/"LEFT$(DD$,2)TAB(10)C$TAB(18)I$TAB(28)H$TAB(36)N$TAB(69)USING"$$########.##";A;T 375 LPRINT:GOTO360 380 LPRINTDA$:LPRINT"Total number of entries = "NETAB(68)"Total amount ="TAB(75)USING"$$########.##";T:LPRINTDA$ 385 CLOSE1:LPRINTCHR$(12):GOTO10 390 CLOSE:CLS:BEEP:BEEP:BEEP 395 IFERR=54THEN405ELSEIFERR=55THEN410ELSEIFERR=52THEN430ELSEIFERR=64THEN415ELSEIFERR=>59ORERR=<67THEN420ELSE400 400 PRINT@92,R" B U M M E R ! "J:PRINT@127,"You did something weird !":GOTO435 405 PRINT@87,R" But that file is empty ! "J:GOTO435 410 PRINT@86,R" You gave a bad file name ! "J:GOTO435 415 PRINT@92,R" Disk is full "J:GOTO435 420 PRINT@88,R" Disk drive problems ! "J:GOTO435 425 CLS:BEEP:BEEP:BEEP:PRINT@89,R" Printer not ready ! "J:GOTO435 430 PRINT@87,R" "F$" does not exist "J 435 PRINT@171,"Check & try again":FORVV=1TO1000:NEXTVV:GOTO10