260 COLOR 7,0:CLS:COLOR 0,7:LOCATE 3,16:PRINT"╔"STRING$(46,205)"╗":FOR I=4 TO 12:LOCATE I,16:PRINT"║"SPC(46)"║":NEXT:LOCATE 13,16:PRINT"╚"STRING$(46,205)"╝"
300 LOCATE 7,6:PRINT"Initial Opening Balance "STRING$(27,249):LOCATE 7,65:PRINT USING MK2$;ACTBAL#:LOCATE 9,11:PRINT"All Cancelled Deposits To Date":LOCATE 9,45:PRINT USING MK1$;CDAMT#:LOCATE 11,11:PRINT"All Cancelled Checks To Date"
310 LOCATE 11,56:PRINT USING MK1$;CCAMT#:LOCATE 13,11:PRINT"All Bank Charges To Date":LOCATE 13,56:PRINT USING MK1$;BCAMT#
320 LOCATE 15,6:PRINT"Balance Before Outstanding Transactions "STRING$(16,249):LOCATE 15,65:PRINT USING MK2$;ACTBAL#+CDAMT#-CCAMT#-BCAMT#:LOCATE 17,11:PRINT"All Outstanding Deposits":LOCATE 17,45:PRINT USING MK1$;ODAMT#
330 LOCATE 19,11:PRINT"All Outstanding Checks":LOCATE 19,56:PRINT USING MK1$;OCAMT#:LOCATE 21,6:PRINT"Current Account Balance "STRING$(32,249):LOCATE 21,68:PRINT USING MK1$;ACTBAL#+ODAMT#-OCAMT#-CCAMT#+CDAMT#-BCAMT#
340 COLOR 0,7:LOCATE 25,27:PRINT" Strike Any Key To Continue ";:COLOR 7,0::GOTO 13000
360 GOSUB 168:LOCATE 23,24:COLOR 14,0:PRINT"ENTER";:COLOR 7:PRINT" - After Keying Each Data Field";:LOCATE 24,24:COLOR 14:PRINT"TAB";:COLOR 7:PRINT" - To Advance To Next Data Field";
370 LOCATE 25,24:COLOR 14:PRINT"F10";:COLOR 7:PRINT" - Advance To End Of Entry";:RETURN
390 LOCATE 25,1:COLOR 14,0:PRINT" F2";:COLOR 7:PRINT" - Forward To Next Entry ";:COLOR 14:PRINT"F6";:COLOR 7:PRINT" - To Enter Another"SPC(8);:COLOR 14:PRINT"F10";:COLOR 7:PRINT" - Finished";:RETURN
400 LOCATE 23,1:COLOR 7,0:PRINT"Check Will Not Be Saved Unless The ";:COLOR 14:PRINT"NUMBER,DATE,AMOUNT, And PAY TO ";:COLOR 7:PRINT"Are Complete.";:LOCATE 25,20:COLOR 14:PRINT"Do You Wish To Finish This Check? <Y/N>";:COLOR 7:RETURN
410 COLOR 0,7:LOCATE 7,23:PRINT" ";:LOCATE ,50:PRINT" "
420 LOCATE 7,24:PRINT C$(CR,4):LOCATE 7,50:A#=VAL(C$(CR,3)):PRINT USING MK1$;A#:RETURN
500 GOSUB 13000:IF FKEY=10 THEN RETURN ELSE IF Z<"A" OR Z>B$ THEN 500 ELSE B=ASC(Z)-64:RETURN
550 ZH="":XLIN=X:XPOS=Y:ZR=SPACE$(7):ZA=ZR:LOCATE XLIN,XPOS,1:PRINT USING MK1$;0;
590 GOSUB 13000:IF Z=CHR$(8) THEN 670 ELSE IF Z=CHR$(13) THEN 700 ELSE IF Z=CHR$(9) OR FKEY=10 THEN 710 ELSE IF LEN(ZH)>6 OR Z<"0" OR Z>"9" THEN 590 ELSE ZH=ZH+Z
660 RSET ZR=ZH:LOCATE XLIN,XPOS,1:PRINT USING MK1$;VAL(ZR)/100;:GOTO 590
670 IF LEN(ZH)<1 THEN SPF=1 ELSE LOCATE XLIN,XPOS:PRINT SPC(7);:ZH=LEFT$(ZH,LEN(ZH)-1):GOTO 660
700 RSET ZA=ZH:ZA=STR$(VAL(ZA)/100):B$=ZA
710 LOCATE ,,0:RETURN
720 GOSUB 13100:ERASE C$:DIM C$(CX+1,6):ZQ=" ENTER TRANSACTION ":GOSUB 1770
730 B$="L":GOSUB 500:IF FKEY=10 THEN 6000 ELSE IF AC$(B,1)="" THEN 720
740 CYR$=AC$(B,2):FL$=AC$(B,1)+".A"+CYR$:DK$=" "+FL$+" Data Diskette ":GOSUB 1640:GOSUB 2440
749 CLS:IF 1+ODP+OCK>CX THEN GOSUB 13500:GOTO 6000
750 ERASE C$:DIM C$(CX+1,6):UPFLAG=0:IF 1+ODP+OCK>CX THEN 6000
760 ZQ=" ENTER TRANSACTIONS ":GOSUB 1610:LOCATE 7,30:COLOR 4,0:PRINT"Transaction options:";
770 LOCATE 9,30:COLOR 0,7:PRINT" A ":LOCATE 11,30:PRINT" B ":LOCATE 13,30:PRINT" C ":LOCATE 15,30:PRINT" D ":LOCATE 17,30:PRINT"F10"
771 LOCATE 9,35:COLOR 2,0:PRINT"Enter Checks":LOCATE 11,35:PRINT"Enter Deposits":LOCATE 13,35:PRINT"Enter Bank Charges":LOCATE 15,35:PRINT"Account Summary":LOCATE 17,35:PRINT"Return To Check Register Menu"
800 B$="D":GOSUB 500:IF FKEY=10 THEN 6000 ELSE ON B GOTO 830,1050,1230
870 X=4:Y=23:FLEN=5:GOSUB 3670:IF FKEY=10 THEN 930 ELSE IF SPF THEN 870 ELSE IF TBF THEN C$(CR,2)="":GOTO 880 ELSE C$(CR,2)=STR$(VAL(B$)):LSCHK$=C$(CR,2)
871 LOCATE 4,22:PRINT SPC(8):A#=VAL(C$(CR,2)):LOCATE 4,23:PRINT USING MK6$;A#;
880 X=4:Y=68:GOSUB 3280:IF FKEY=10 THEN 930 ELSE IF SPF THEN 870 ELSE C$(CR,4)=B$:LOCATE 4,67:PRINT SPC(9);:LOCATE 4,68:PRINT C$(CR,4);
890 X=9:Y=27:FLEN=25:GOSUB 1930:IF FKEY=10 THEN 930 ELSE IF SPF THEN 880 ELSE C$(CR,5)=B$:LOCATE 9,26:PRINT SPC(27);:LOCATE 9,27:PRINT C$(CR,5);
900 X=9:Y=65:GOSUB 550:IF FKEY=10 THEN 930 ELSE IF SPF THEN 890 ELSE IF LEN(B$)>0 THEN C$(CR,3)=B$:LOCATE 9,66:PRINT SPC(10);:A#=VAL(C$(CR,3)):LOCATE 9,65:PRINT USING MK1$;A#
910 X=14:Y=18:FLEN=2:GOSUB 2010:IF FKEY=10 THEN 930 ELSE IF SPF THEN 900 ELSE IF VAL(B$)>0 AND VAL(B$)<13 THEN C$(CR,6)=STR$(VAL(B$)) ELSE LOCATE X,Y:PRINT" ":GOTO 910
1090 X=7:Y=50:GOSUB 550:IF FKEY=10 THEN 1100 ELSE IF SPF THEN 1080 ELSE IF LEN(B$)>0 THEN C$(CR,3)=B$:LOCATE 7,50:PRINT SPC(11);:LOCATE 7,50:A#=VAL(C$(CR,3)):PRINT USING MK1$;A#;:C$(CR,5)="DEPOSIT"
1100 GOSUB 168:INCOMP=0:IF LEN(C$(CR,3))<1 OR LEN(C$(CR,4))<8 THEN INCOMP=1
1110 IF INCOMP THEN 1120 ELSE UPFLG=1:C$(CR,1)="D":IF CR>LT THEN LT=CR:GOTO 1140 ELSE 1140
1120 LOCATE 23,8:COLOR 7,0:PRINT"Deposit Will Not Be Saved Unless The ";:COLOR 14:PRINT"DATE ";:COLOR 7:PRINT"And";:COLOR 14:PRINT" AMOUNT ";:COLOR 7:PRINT"Are Complete.";:COLOR 14:LOCATE 25,20:PRINT"Do You Wish To Finish This Deposit? <Y/N>";:COLOR 7
1270 X=7:Y=50:GOSUB 550:IF FKEY=10 THEN 1280 ELSE IF SPF THEN 1260 ELSE IF LEN(B$)>0 THEN C$(CR,3)=B$:LOCATE 7,50:PRINT SPC(11);:A#=VAL(C$(CR,3)):LOCATE 7,50:PRINT USING MK1$;A#;:C$(CR,5)="BANK CHARGE"
1280 GOSUB 168:INCOMP=0:IF LEN(C$(CR,3))<1 OR LEN(C$(CR,4))<8 THEN INCOMP=1
1300 IF INCOMP THEN ELSE UPFLG=1:C$(CR,1)="B":IF CR>LT THEN LT=CR:GOTO 1330 ELSE 1330
1310 LOCATE 23,1:COLOR 7,0:PRINT"Bank Charge Will Not Be Saved Unless The ";:COLOR 14:PRINT"DATE ";:COLOR 7:PRINT"and";:COLOR 14:PRINT" AMOUNT";:COLOR 7:PRINT" Are Complete.";:LOCATE 25,20:COLOR 14:PRINT"Do You Wish To Finish This Entry? <Y/N>";:COLOR 7
1770 GOSUB 1610:COLOR 4:LOCATE 5,31:PRINT"Accounts Available:":COLOR 6:FOR I=1 TO 12:LOCATE (I+7),33:PRINT CHR$(I+64)". "AC$(I,1);:IF AC$(I,1)<>"" THEN PRINT" 19";
1771 PRINT AC$(I,2):NEXT:LOCATE 21:ZS="Enter Line Of Account Number You Wish To Use:":COLOR 2:GOSUB 1765
1790 COLOR 0,7:LOCATE 6,28:PRINT" Current data drive is "XT$:COLOR 7,0:LOCATE 22:ZS="If You Don't See The Account You Want, It Is Not On File.":GOSUB 1765:LOCATE 23:ZS="Return To MENU <F10> And Choose Another Option.":GOSUB 1765
1791 LOCATE 25:COLOR 0,7:ZS=" Strike <F10> To Return To Menu ":GOSUB 1765:COLOR 7,0:RETURN
1930 B$="":LOCATE X,Y,1
1940 GOSUB 13000:IF Z=CHR$(34) THEN 1940 ELSE IF FKEY=10 OR Z=CHR$(13) OR Z=CHR$(9) THEN 710
1950 IF Z=CHR$(8) THEN IF LEN(B$)<1 THEN SPF=1:GOTO 710 ELSE PRINT CHR$(29)" "CHR$(29);:B$=LEFT$(B$,LEN(B$)-1):GOTO 1940
1970 IF LEN(B$)>=FLEN OR LEN(Z)>1 THEN 1940 ELSE B$=B$+Z:PRINT Z;:GOTO 1940
2010 B$="":LOCATE X,Y,1
2030 GOSUB 13000:IF Z=CHR$(34) THEN 2030 ELSE IF Z=CHR$(13) OR Z=CHR$(9) OR FKEY THEN 710
2060 IF Z=CHR$(8) THEN IF LEN(B$)<1 THEN SPF=1:GOTO 710 ELSE PRINT CHR$(29)" "CHR$(29);:B$=LEFT$(B$,LEN(B$)-1):GOTO 2030
2085 IF LEN(B$)>=FLEN OR Z<"0" OR Z>"9" THEN 2030 ELSE B$=B$+Z:PRINT Z;:GOTO 2030
2170 SPF=0:GOSUB 13000:IF Z=CHR$(8) AND BKFLG THEN SPF=1:RETURN ELSE IF Z="N" THEN YES=0:GOTO 710 ELSE IF Z="Y" THEN YES=1:GOTO 710 ELSE IF FKEY=10 THEN RETURN ELSE 2170
2440 GOSUB 3220
2450 INPUT#1,AN$,ACTNM$,ACTBAL#,LSTDT$,CCAMT#,CCK,OCAMT#,OCK,CDAMT#,CDP,ODAMT#,ODP,BCAMT#,BC,LSCHK$:FOR I=1 TO 12:INPUT#1,EX$(I):NEXT:CLOSE#1:RETURN
2470 GOSUB 1620:WRITE#1,AN$,ACTNM$,ACTBAL#,LSTDT$,CCAMT#,CCK,OCAMT#,OCK,CDAMT#,CDP,ODAMT#,ODP,BCAMT#,BC,LSCHK$:FOR I=1 TO 12:WRITE#1,EX$(I):NEXT:CLOSE#1:RETURN
2480 ERASE C$:DIM C$(CX+1,6)
2490 GOSUB 3220:FOR I=1 TO CX:IF EOF(1)=0 THEN INPUT#1,C$(I,1),C$(I,2),C$(I,3),C$(I,4),C$(I,5),C$(I,6):NEXT I
2600 IF I>CX THEN 2670 ELSE IF LEN(C$(I,1))<1 THEN 2670
2610 Z4="XZB":Z5="CD":IF INSTR(Z4,C$(I,1)) THEN COLOR 14 ELSE IF C$(I,1)="V" THEN COLOR 27 ELSE IF INSTR(Z5,C$(I,1)) THEN COLOR 7
2620 LOCATE X,1:PRINT USING"####.";I
2630 LOCATE X,7:PRINT USING MK6$;VAL(C$(I,2));:LOCATE X,14:PRINT C$(I,4);:LOCATE X,24:PRINT C$(I,5);
2640 IF C$(I,1)="D" OR C$(I,1)="Z" THEN LOCATE X,53 ELSE LOCATE X,65
2650 IF C$(I,1)="V" THEN PRINT SPC(11); ELSE PRINT USING MK1$;VAL(C$(I,3));:LOCATE X,79:IF C$(I,1)="C" OR C$(I,1)="X" THEN PRINT USING "##";VAL(C$(I,6)); ELSE PRINT" ";
2660 IF I<CX THEN 2670 ELSE FOR I=I+1 TO TP+18:X=I-TP+4:LOCATE X,1:PRINT SPC(5):LOCATE X,7:PRINT SPC(6);:LOCATE X,14:PRINT SPC(8):LOCATE X,23:PRINT SPC(29):LOCATE X,53:PRINT SPC(11):LOCATE X,65:PRINT SPC(11):LOCATE X,78:PRINT" ";:NEXT
2670 IF I=>TP+18 THEN 2680 ELSE I=I+1:GOTO 2590
2680 COLOR 7,0:LOCATE 24,20:PRINT SPC(3);:X=24:Y=20:FLEN=3:GOSUB 2010:IF FKEY=9 THEN 2700
2690 IF FKEY THEN 2720 ELSE GOSUB 13000:IF FKEY<>9 THEN 2710
2710 IF FKEY=10 THEN 2920 ELSE IF VAL(B$)>0 THEN B=VAL(B$):CR=B ELSE 2680
2720 ON FKEY GOTO 2730,2750,2770,2680,2780,2850,2680,2680,2680,2920
2730 IF TP<20 THEN TP=1 ELSE TP=TP-19:PG=PG-1
2740 GOTO 2580
2750 IF (OCK+ODP)>=TP+19 THEN 2760 ELSE 2680
2760 TP=TP+19:PG=PG+1:GOTO 2580
2770 VFLG=0:B=VAL(B$):IF B<1 THEN 2680 ELSE IF B>TP-1 AND B<TP+19 THEN VFLG=1:GOTO 2790 ELSE 2680
2780 B=VAL(B$):IF B<1 THEN 2680 ELSE IF B>TP-1 AND B<TP+19 THEN 2790 ELSE 2680
2790 UPFLG=1:X=B-TP+4:IF B>CX THEN 2680 ELSE IF C$(B,1)="" THEN 2680
2800 IF C$(B,1)="C" THEN C$(B,1)="X" ELSE IF C$(B,1)="D" THEN C$(B,1)="Z" ELSE 2680
2810 IF VFLG THEN C$(B,1)="V":COLOR 27:VFLG=0 ELSE COLOR 14
2820 LOCATE X,1:PRINT USING "####.";B;:LOCATE X,7:PRINT USING MK6$;VAL(C$(B,2));:LOCATE X,14:PRINT C$(B,4);:LOCATE X,24:PRINT C$(B,5);:LOCATE X,79:PRINT USING "##";VAL(C$(B,6));
2830 IF C$(B,1)="Z" THEN LOCATE X,53 ELSE LOCATE X,65:IF C$(B,1)="V" THEN PRINT SPC(11);:GOTO 2680
2840 PRINT USING MK1$;VAL(C$(B,3));:COLOR 7:GOTO 2680
2850 B=VAL(B$):IF B<1 THEN 2680 ELSE IF B>TP-1 AND B<TP+19 THEN 2860 ELSE 2680
2860 X=B-TP+4:IF C$(B,1)="" THEN 2680
2870 IF C$(B,1)="X" THEN C$(B,1)="C" ELSE IF C$(B,1)="Z" THEN C$(B,1)="D"
2880 IF C$(B,1)="V" THEN IF C$(B,5)="DEPOSIT" THEN C$(B,1)="D" ELSE C$(B,1)="C"
2890 COLOR 7:LOCATE X,1:PRINT USING "####.";B;:LOCATE X,7:PRINT USING MK6$;VAL(C$(B,2));:LOCATE X,14:PRINT C$(B,4);:LOCATE X,24:PRINT C$(B,5);:LOCATE X,79:PRINT USING "##";VAL(C$(B,6));
2900 IF C$(B,1)="C" THEN LOCATE X,65 ELSE LOCATE X,53
2910 PRINT USING MK1$;VAL(C$(B,3));:GOTO 2680
2920 IF UPFLG THEN GOSUB 2940:GOTO 6000 ELSE GOSUB 3190:GOTO 6000
3070 IF EOF(1) THEN 3120 ELSE INPUT#1,C$(1),C$(2),C$(3),C$(4),C$(5),C$(6):IF C$(1)="C" THEN OCK=OCK+1:OCAMT#=OCAMT#+VAL(C$(3)) ELSE IF C$(1)="D" THEN ODP=ODP+1:ODAMT#=ODAMT#+VAL(C$(3))
3110 GOTO 3070
3120 IF EOF(2) THEN 3180 ELSE INPUT#2,C$(1),C$(2),C$(3),C$(4),C$(5),C$(6):IF C$(1)="B" THEN BC=BC+1:BCAMT#=BCAMT#+VAL(C$(3)) ELSE IF C$(1)="X" THEN CCK=CCK+1:CCAMT#=CCAMT#+VAL(C$(3)) ELSE IF C$(1)="Z" THEN CDP=CDP+1:CDAMT#=CDAMT#+VAL(C$(3))
3170 GOTO 3120
3180 FL$=AN$+".A"+CYR$:GOSUB 3230:GOSUB 2470
3190 GOSUB 290:RETURN
3220 GOSUB 3810:CLOSE#1:OPEN"I",#1,XT$+FL$:RETURN
3230 GOSUB 3810:CLOSE#1:OPEN"O",#1,XT$+FL$:RETURN
3240 GOSUB 3810:CLOSE#2:OPEN"I",#2,XT$+FL$:RETURN
3260 GOSUB 3810:CLOSE#1:OPEN XT$+FL$ FOR APPEND AS #1:RETURN
3270 GOSUB 3810:CLOSE#2:OPEN XT$+FL$ FOR APPEND AS #2:RETURN
3345 GOSUB 13000:IF FKEY=10 THEN RETURN ELSE IF FKEY THEN 3345 ELSE IF INSTR(Z3,Z) THEN ELSE IF Z=CHR$(8) THEN Z2="":GOSUB 3339:GOTO 3340 ELSE IF Z<"0" OR Z>"9" OR LEN(Z1)>1 THEN 3345 ELSE GOSUB 3275:GOTO 3345
3350 MM=VAL(Z1):IF MM<1 OR MM>12 THEN 3340 ELSE IF LEN(Z1)<>2 THEN Z1="0"+Z1
3355 Z2=Z1+"-":Z1="":LOCATE X,Y:PRINT Z2;
3360 GOSUB 13000:IF FKEY=10 THEN RETURN ELSE IF INSTR(Z3,Z) THEN ELSE IF Z=CHR$(8) THEN IF LEN(Z1)<1 THEN Z2="":GOSUB 3339:GOTO 3340 ELSE GOSUB 3339:GOTO 3360 ELSE IF Z<"0" OR Z>"9" OR LEN(Z1)>1 THEN 3360 ELSE GOSUB 3275:GOTO 3360
3370 DD=VAL(Z1):IF DD<1 OR DD>31 THEN GOSUB 3339:GOTO 3360 ELSE IF LEN(Z1)<>2 THEN Z1="0"+Z1
3980 ZE="Please Insert DATA DISKETTE For "+FL$:GOTO 4010
4000 ZE="Disk Is Not Ready. Insert Diskette And Close Door":GOTO 4010
4001 ZE="Disk Media Error. Data On Diskette May Be Bad":GOTO 4010
4002 ZE="Disk Is Write Protected. Be Sure You Have Right Diskette":GOTO 4010
4003 ZE="Please Insert Any FRIENDLYWARE Diskette"
4010 LOCATE 24,(80-LEN(ZE))/2:PRINT ZE;:LOCATE 25,20:COLOR 14:PRINT"Strike Any Key When Ready <ESC> To Abort";:COLOR 3
4020 ER1=0:GOSUB 13000:GOSUB 169:IF Z<>CHR$(27) THEN RESUME
4060 LOCATE 24,12:PRINT"If You Escape, Any Changes Or Entrys Will Not Be Saved!";
4067 LOCATE 25,32:PRINT"Is That OK? <Y/N>";:BEEP:GOSUB 2170:IF YES THEN FDY=0:RESUME 6000
4082 GOSUB 169:GOTO 3940
6000 ERASE C$:DIM C$(6)
6001 ZQ=" CHECK REGISTER ":GOSUB 1610:COLOR 3,0:LOCATE 5,24:PRINT"Routines Available In This Program"
6010 LOCATE 7,26:COLOR 0,7:PRINT" A ":LOCATE 9,26:PRINT" B ":LOCATE 11,26:PRINT" C ":LOCATE 13,26:PRINT" D ":LOCATE 15,26:PRINT" E ":LOCATE 17,26:PRINT" F ":LOCATE 19,26:PRINT"F10":LOCATE 7,32:COLOR 2,0:PRINT"General Information"
6020 LOCATE 9,32:PRINT"Create New Account":LOCATE 11,32:PRINT"Enter Transactions":LOCATE 13,32:PRINT"Reconcile Account":LOCATE 15,32:PRINT"Listings of Transactions":LOCATE 17,32:PRINT"System Maintenance":LOCATE 19,32:PRINT"Return To FriendlyWare Menu"
6040 GOSUB 13000:IF FKEY=10 THEN 6110 ELSE IF Z<"A" OR Z>"F" THEN 6040 ELSE ON ASC(Z)-64 GOTO 6051,6060,720,2520,6090,6100
13500 GOSUB 168:COLOR 12,0:LOCATE 23:ZS=" You may have only"+STR$(CX)+" outstanding transactions at a time. You must ":GOSUB 1765:LOCATE 24:ZS=" reconcile transactions before you can add any more checks or deposits. ":GOSUB 1765:GOSUB 340:RETURN