MediaWiki:Sitenotice:
2025-12-29: I have restored the wiki to a backup from the end of November. Starting in September 2025, accesses went form the 800MB-1.2GB range per month to 26GB in September, 42GB in October, and 70GB in November with most accesses originating from China. As soon as I realized what was causing all the access problems in November, I shut it down (it had reached 36GB by then) behind a password/login screen. The database had gotten corrupted, and I tried a restore from just before the spike in access but that didn't work. Thus, end of November. I still have the other daily backups so if there were any important additions in December, let me know and maybe they can be recovered. - Allen H.

CHECKS

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
100 CLEAR 2000: DIM T$(100,2), LM(3,3)
110 DATA 1,74,0,76,89,75,91,100,90
120 FOR I=1 TO 100: T$(I,1)="": T$(I,2)="": NEXT I
130 FOR I=1 TO 3: READ LM(I,1), LM(I,2), LM(I,3): NEXT I
140 CLS: PRINT@11,"CHECKBOOK"
150 PRINT@64,"SELECT ONE OF THE FOLLOWING:"
160 PRINT@97,"1. ENTER BALANCE FROM STATEMENT"
170 PRINT@129,"OUTSTANDING CHECKS:"
180 PRINT@161,"2. ENTER   3. LIST   4. DELETE"
190 PRINT@193,"UNRECORDED DEPOSITS:"
200 PRINT@225,"5. ENTER   6. LIST   7. DELETE"
210 PRINT@257,"MISCELLANEOUS CHARGES:"
220 PRINT@289,"8. ENTER   9. LIST   10. DELETE"
230 PRINT@321,"11. COMPUTE NEW BALANCE"
240 PRINT@352,"WHICH ONE";: INPUT A$
250 IF (VAL(A$)>0) AND (VAL(A$)<12) THEN A=VAL(A$): GOTO290
260 PRINT@448,"INVALID SELECTION--TRY AGAIN"
270 FOR I=1 TO 300: NEXT I
280 PRINT@448,"": PRINT@360,"": GOTO240
290 IF A>1 AND A<5 THEN J=1: N1$="OUTSTANDING CHECKS": N2$="CK #"
300 IF A>4 AND A<8 THEN J=2: N1$="UNRECORDED DEPOSITS": N2$="DATE"
310 IF A>7 AND A<11 THEN J=3: N1$="MISC. CHARGES": N2$="DATE"
320 ON A GOSUB340,390,590,800,390,590,800,390,590,800,1070
330 GOTO140
340 REM -- ENTER BALANCE SUBR.
350 PRINT@416,"BALANCE FROM STATEMENT";: INPUT B$
360 L=LEN(B$): IF L<3 THEN PRINT@438,"": GOTO350
370 IFMID$(B$,L-2,1)<>"." THEN PRINT@438,"": GOTO350
380 B=VAL(B$): RETURN
390 REM--ENTER CKS,DEPOSITS,MISC. SUBR.
400 CLS: PRINT@32,"ENTER ";N1$;":": PRINT@67,N2$;"      AMOUNT"
410 P=64: PRINT@480,"ENTER R TO RETURN TO MENU";
420 IF LM(J,3)<LM(J,2) THEN 450
430 PRINT@160,"TOO MANY ";N1$
440 PRINT@192,"CHECKBOOK RUN ABORTED": STOP
450 IF P<416 THEN P=P+32: GOTO500
460 PRINT@480,"PRESS C TO CONTINUE ";
470 B$=INKEY$
480 IF B$="C" THEN 400
490 GOTO470
500 PRINT@P,"";: INPUT B$
510 IF B$="R" THEN 580
520 LM(J,3)=LM(J,3)+1: T$(LM(J,3),1)= B$
530 PRINT@P+11,"";: INPUT B$
540 IF B$="R" THEN LM(J,3)=LM(J,3)-1: GOTO580
550 L=LEN(B$): IF L<3 THEN PRINT@P+11,"": GOTO530
560 IFMID$(B$,L-2,1)<>"." THEN PRINT@P+11,"": GOTO530
570 T$(LM(J,3),2)=B$: GOTO420
580 RETURN
590 REM--LIST CKS,DEPOSITS,MISC. SUBR.
600 IF LM(J,3)<LN(J,1) THEN CLS: PRINT@98,"NO ";N1$;" FOUND": GOTO720
610 I=LM(J,1)-1: GOSUB770: P=66
620 IF NOT (I<LM(J,3)) "THEN 720
630 I=I+1: IF T$(I,1)="" AND T$(I,2)="" THEN 620
640 IF P<418 THEN P=P+32: GOTO700
650 PRINT@448,"PRESS C TO CONTINUE";: PRINT@480,"OR R TO RETURN TO MENU ";
660 B$=INKEY$
670 IF B$="C" THEN GOSUB770: P=98: GOTO700
680 IF B$="R" THEN 760
690 GOTO660
700 PRINT@P+8-LEN(T$(I,1)),T$(I,1);
710 PRINT@P+18-LEN(T$(I ,2)),T$(I ,2): GOTO620
720 PRINT@480,"PRESS R TO RETURN TO MENU";
730 B$=INKEY$
740 IF B$="R" THEN 760
750 GOTO730
760 RETURN
770 CLS: PRINT@32,"LIST ";N1$;":"
780 PRINT@67,N2$;" AMOUNT"
790 RETURN
800 REM--DELETE CKS,DEPOSITS,MISC. SUBR.
810 IF LM(J,3)=>LM(J,1) THEN 870
820 CLS: PRINT@98,"NO ";N1$;" FOUND": PRINT@130,"TO DELETE"
830 PRINT@480,"PRESS R TO RETURN TO MENU";
840 B$=INKEY$
850 IF B$="R" THEN 1060
860 GOTO840
870 CLS: PRINT@32,"DELETE ":N1$;":": PRINT@67,N2$;" AMOUNT"
880 P=64: PRINT@480,"ENTER R TO RETURN TO MENU";
890 IF P<416 THEN P=P+32: GOTO940
900 PRINT@480,"PRESS C TO CONTINUE ";
910 B$=INKEY$
920 IF B$="C" THEN 870
930 GOTO910
940 PRINT@P,"";: INPUT B$
950 IF B$="R" THEN 1060
960 X$=B$
970 PRINT@P+11,"";: INPUT B$
980 IF B$="R" THEN 1060
990 L=LEN(B$): IF L<3 THEN PRINT@P+11,"": GOTO970
1000 IFMID$(B$,L-2,L)<>"." THEN PRINT@P+11,"": GOTO970
1010 Y$=B$
1020 I=LM(J,1)-1: REM-BEGIN TBL MATCH
1030 IF NOT (I<LN(J,3)) THEN PRINT@P+22,"NO MATCH": GOTO890
1040 I=I+1: IF NOT (T$(I,1)=X$ AND T$(I,2)=Y$) THEN 1030
1050 PRINT@P+22,"DELETED": T$(I,1)="": T$(I,2)=": GOTO890
1060 RETURN
1070 REM -- NEW BALANCE SUBR.
1080 C=0: D=0: M=0
1090 CLS: PRINT@32,"COMPUTE NEW BALANCE:"
1100 PRINT@96,"BALANCE FROM STMT $";
1110 I=INT(B*100): B$=STR$(I): L=LEN(B$)
1120 PRINT@126-L,LEFT$(B$,L-2)+","+RIGHT$(B$,2)
1130 IF LM(2,3)<LM(2,1) THEN 1150
1140 FOR I=LM(2,1) TO LM(2,3): D=D+VAL(T$(I,2)): NEXT I
1150 PRINT@128,"+ UNRECORDED DEPOSITS";
1160 I=INT(D*100): B$=STR$(I): L=LEN(B$)
1170 PRINT@158-L,LEFT$(B$,L-2)+"."+RIGHT$(B$,2)
1180 IF LM(1,3)<LM(1,1) THEN 1200
1190 FOR I=LM(1,1) TO LM(1,3): C=C+VAL(T$(I,2)): NEXT I
1200 PRINT@160,"- OUTSTANDING CHECKS";
1210 I=INT(C*100): B$=STR$(I): L=LEN(B$)
1220 PRINT@190-L,LEFT$(B$,L-2)+", "+RIGBT$(B$, 2)
1230 IF LM(3,3)<LM(3,1) THEN 1250
1240 FOR I=LM(3,1) TO LM(3,3): M=M+VAL(T$(I,2)): NEXT I
1250 PRINT@192,"- MISC. CHARGES";
1260 I=INT(M*100): B$=STR$(I): L=LEN(B$)
1270 PRINT@222-L,LEFT$(B$,L-2)+" ."+RIGHT$(B$ ,2)
1280 N=B+D-C-M
1290 PRINT@260,"NEW BALANCE = $";
1300 I=INT(N*100): B$=STR$(I): L=LEN(B$)
1310 PRINT@286-L,LEFT$(B$,L-2)+". "+RIGHT$(B$,2)
1320 PRINT@480,"PRESS R TO RETURN TO MENU";
1330 B$-INKEY$
1340 IF B$="R" THEN 1360
1350 GOTO1330
1360 RETURN