SCREEN 9: Ban$ = SPACE$(80): Title$ = "Bill Pay": Ctr = 32 REM **************************************************************** REM MSDOS SOFTWARE Titled: BillPay.Bas REM REM Designed To Allow User To Track Up To 4 Let's Say Charge Accounts REM The Number of Letters Can Effect How Scrolling Columns Look REM by Leo French August 29th, 2016 REM ************ REM THE P key Can Pause Some Scrolling Events REM REM It Doesn't Have To Be New To Still Be Powerful REM **************************************************************** FL1$ = "Company1.Txt": FL2$ = "Company2.Txt": FL3$ = "Company3.Txt" FL4$ = "Company4.Txt": RANDOMIZE TIMER NB = 7 REDIM MT$(12), W$(NB), N$(NB), D$(NB), Q(NB) N$(1) = "Business Name:": N$(2) = "Numeric Date ( " + DATE$ + " )" PN$(2) = "Account #:": N$(3) = "Contact Phone:": N$(4) = "Website:" N$(5) = "Balance $": N$(6) = "Payment $": N$(7) = "Spent $" REM ***************************************************************** REM ARRAY MONTHS MT$(1) = "January": MT$(2) = "February": MT$(3) = "March": MT$(4) = "April" MT$(5) = "May": MT$(6) = "June": MT$(7) = "July": MT$(8) = "August" MT$(9) = "September": MT$(10) = "October": MT$(11) = "November": MT$(12) = "December" Tdy$ = MT$(VAL(DATE$)) + " " + MID$(DATE$, 4, 2) + ", " + RIGHT$(DATE$, 4) REM ***************************************************************** ON ERROR GOTO TROUBLE MAIN: CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ LINE (235, 20)-(323, 50), 13, B: NK = INT(2 * RND) + 1 IF NK = 2 THEN LINE (228, 15)-(330, 55), 13, B DOCK: LOCATE 20, 55: PRINT "F9 > Quit" LOCATE 22, 1: PRINT Ban$: LOCATE 22, 3: PRINT "F2 > Create Account F4 > Scroll Acc." LOCATE 22, 44: PRINT "F6 > View All F8 > Del. Files" KEY(2) ON: ON KEY(2) GOSUB BED1 KEY(4) ON: ON KEY(4) GOSUB BED2 KEY(6) ON: ON KEY(6) GOSUB BED3 KEY(8) ON: ON KEY(8) GOSUB BED4 KEY(9) ON: ON KEY(9) GOSUB CRASH DO: Cash$ = INKEY$ IF Cash$ <> "" THEN IF ASC(Cash$) = 27 THEN CLOSE : RUN EXIT DO END IF SN$ = " AM" IF VAL(TIME$) > 12 THEN SN$ = " PM": CK = VAL(TIME$) - 12: NC$ = LTRIM$(STR$(CK)) + MID$(TIME$, 3): LOCATE 5, 65: PRINT NC$; SN$: GOTO ROCK LOCATE 5, 65: PRINT TIME$; SN$ ROCK: LOOP BED1: Rose = 1: GOTO AGENT BED2: Rose = 2: GOTO AGENT BED3: Rose = 3: GOTO AGENT BED4: Rose = 4 AGENT: IF Rose = 4 THEN CH = 4: GOTO WHEEL LOCATE 7, 1: PRINT Ban$: LOCATE 7, 3: PRINT "Choose 1 > Account, 2 > Account Etc." DO: Human$ = INKEY$ IF LTRIM$(Human$) <> "" THEN IF ASC(Human$) = 27 THEN CLOSE : RUN END IF IF TIME$ = "00:00:00" THEN RUN LOOP UNTIL VAL(Human$) >= 1 AND VAL(Human$) < 5 CH = VAL(Human$) WHEEL: CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ SELECT CASE Rose CASE 1 CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ N$(1) = "Business Name:": N$(2) = "Numeric Date ( " + DATE$ + " )" PN$(2) = "Account #:": N$(3) = "Contact Phone:": N$(4) = "Website:" N$(5) = "Balance $": N$(6) = "Payment $": N$(7) = "Spent $" FOR JK = 1 TO 7: Q(JK) = LEN(N$(JK)): NEXT JK ' LOCATE 7, 1: PRINT Ban$: LOCATE 7, 1: COLOR 15, 0 FOR HM = 1 TO 7: PRINT TAB(3); N$(HM): NEXT HM LOCATE 6, 30: COLOR 9, 0: PRINT "No $ or , Entries Please": COLOR 14, 0 LOCATE 7, 1 FOR HM = 1 TO 7: LOCATE 6 + HM, 3 + Q(HM): LINE INPUT " ", D$(HM) IF LTRIM$(D$(HM)) = "" AND HM = 1 THEN RUN NEXT HM LOCATE 15, 1: PRINT Ban$: LOCATE 15, 5: PRINT "Save Data Y=yes, N=no" DO: Hand$ = INKEY$: IF UCASE$(Hand$) = "N" THEN RUN LOOP UNTIL UCASE$(Hand$) = "Y" CLOSE IF VAL(Human$) = 1 THEN IF DIR$(FL1$) <> "" THEN OPEN FL1$ FOR APPEND AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT: CLOSE END IF IF DIR$(FL1$) = "" THEN OPEN FL1$ FOR OUTPUT AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT: CLOSE END IF END IF ' IF VAL(Human$) = 2 THEN IF DIR$(FL2$) <> "" THEN OPEN FL2$ FOR APPEND AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT: CLOSE END IF IF DIR$(FL2$) = "" THEN OPEN FL2$ FOR OUTPUT AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT W: CLOSE END IF ' IF VAL(Human$) = 3 THEN IF DIR$(FL3$) <> "" THEN OPEN FL3$ FOR APPEND AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT: CLOSE END IF IF DIR$(FL3$) = "" THEN OPEN FL3$ FOR OUTPUT AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT W END IF ' IF VAL(Human$) = 4 THEN IF DIR$(FL4$) <> "" THEN OPEN FL4$ FOR APPEND AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT: CLOSE END IF IF DIR$(FL4$) = "" THEN OPEN FL4$ FOR OUTPUT AS 1 FOR W = 1 TO 7: PRINT #1, D$(W): NEXT: CLOSE END IF LOCATE 20, 1: PRINT Ban$: LOCATE 20, 4 PRINT "Data Saved To Account # "; Human$: SLEEP 6: Chick$ = INKEY$: RUN CASE 2 LOCATE 7, 1: PRINT Ban$: LOCATE 7, 3: PRINT "Choose 1 > Account, 2 > Account Etc." CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ N$(1) = "Business Name:": N$(2) = "Numeric Date ( " + DATE$ + " )" N$(2) = "Account #:": N$(3) = "Contact Phone:": N$(4) = "Website:" N$(5) = "Balance $": N$(6) = "Payment $": N$(7) = "Spent $" FOR JK = 1 TO 7: Q(JK) = LEN(N$(JK)): NEXT JK IF DIR$(FL1$) <> "" AND VAL(Human$) = 1 THEN CLOSE : OPEN FL1$ FOR INPUT AS 2 IF DIR$(FL2$) <> "" AND VAL(Human$) = 2 THEN CLOSE : OPEN FL2$ FOR INPUT AS 2 IF DIR$(FL3$) <> "" AND VAL(Human$) = 3 THEN CLOSE : OPEN FL3$ FOR INPUT AS 2 IF DIR$(FL4$) <> "" AND VAL(Human$) = 4 THEN CLOSE : OPEN FL2$ FOR INPUT AS 2 RM = 5 TA1 = 3: TA2 = TA1 + RM + 8: TA3 = TA2 + RM + 5: TA4 = TA3 + RM + 6 TA5 = TA4 + RM + 3: TA6 = TA5 + RM + 7: TA7 = TA6 + RM + 3 COLOR 14, 0 LOCATE 5, 1: PRINT TAB(TA2); "Phone"; TAB(TA4); "Spent"; TAB(TA5); "Balance"; TAB(TA6); "Paid" COLOR 15, 0: LOCATE 4, 3: PRINT DATE$; TAB(60); "Esc key" VIEW PRINT 6 TO 20 DO: LINE INPUT #2, Biz$: LINE INPUT #2, DA$: LINE INPUT #2, PH$ LINE INPUT #2, Web$: LINE INPUT #2, Bal$: LINE INPUT #2, Pay$ LINE INPUT #2, Sp$ ' Zip$ = INKEY$ Bump = (VAL(Bal$) + VAL(Pay$)) - VAL(Sp$) PRINT TAB(TA1); Biz$; TAB(TA2); DA$; TAB(TA3); PH$; TAB(TA4); Sp$; PRINT TAB(TA5); USING "$##,###.##"; VAL(Bal$); : PRINT TAB(TA6); Pay$; PRINT TAB(TA7); USING "$##,###.##"; Bump SLEEP 5 IF UCASE$(Zip$) = "P" THEN SLEEP IF Zip$ <> "" THEN IF ASC(Zip$) = 27 THEN CLOSE : VIEW PRINT: RUN END IF LOOP UNTIL EOF(2): VIEW PRINT LOCATE 21, 1: PRINT Ban$: LOCATE 21, 3: PRINT "End Of Data Reached..." SLEEP 25: Ham$ = INKEY$: RUN CASE 3 CH = VAL(Human$) IF VAL(Human$) = 1 AND DIR$(FL1$) <> "" THEN CLOSE : OPEN FL1$ FOR INPUT AS 2: GOTO STAR IF VAL(Human$) = 2 AND DIR$(FL2$) <> "" THEN CLOSE : OPEN FL2$ FOR INPUT AS 2: GOTO STAR IF VAL(Human$) = 3 AND DIR$(FL3$) <> "" THEN CLOSE : OPEN FL3$ FOR INPUT AS 2: GOTO STAR IF VAL(Human$) = 4 AND DIR$(FL4$) <> "" THEN CLOSE : OPEN FL4$ FOR INPUT AS 2: GOTO STAR RUN STAR: DO CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ LOCATE 23, 30: PRINT "Esc key to exit": LOCATE 7, 1 FOR Vine = 1 TO 7 LINE INPUT #2, Bay$: PRINT TAB(5); N$(Vine); " "; : COLOR 14, 0: PRINT Bay$: COLOR 15, 0: NEXT Vine SLEEP 15: KD$ = INKEY$: IF UCASE$(KD$) = "P" THEN SLEEP IF KD$ <> "" THEN IF ASC(KD$) = 27 THEN CLOSE : RUN END IF LOOP UNTIL EOF(2): CLOSE CASE 4 CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ LOCATE 8, 5: PRINT "You Wish To Delete All The Account Files For This Software?" LOCATE 9, 14: COLOR 14, 0: PRINT "Y=es or N=no": COLOR 15, 0 DO: Pick$ = INKEY$ IF UCASE$(Pick$) = "N" THEN RUN LOOP UNTIL UCASE$(Pick$) = "Y" CLOSE IF DIR$(FL1$) <> "" THEN KILL FL1$ IF DIR$(FL2$) <> "" THEN KILL FL2$ IF DIR$(FL3$) <> "" THEN KILL FL3$ IF DIR$(FL4$) <> "" THEN KILL FL4$ CLS : COLOR 15, 0: LOCATE 3, Ctr: PRINT Title$: LOCATE 5, 3: PRINT Tdy$ LOCATE 8, 5: PRINT "All 4 Account Files Now Deleted": SLEEP 7: AX$ = INKEY$ RUN END SELECT RUN CRASH: SCREEN 0: WIDTH 80: CLS : COLOR 15, 0: SYSTEM TROUBLE: VIEW PRINT LOCATE 22, 1: PRINT Ban$: LOCATE 22, 3 ER = ERR PRINT "Error Is: [ "; ERROR$(ER); " ]": RESUME WRENCH WRENCH: SLEEP 6: Club$ = INKEY$: RUN