1 rem truck in/out file maintenance 102 Defshr GrossWtA!, wt110 103 Defshr GrossWtB!, wt210 105 Defshr L1$, lit01 106 Defshr L2$, lit02 3100 PRINT "Edit Truck File ": GOSUB 8210 3120 IF C$ = "`" THEN GOTO 9999 3140 IF C$ = "#" THEN GOSUB 3895: GOTO 3100 3170 PRINT "Truck Report ": GOSUB 8210 3190 IF C$ = "`" THEN GOTO 9999 3210 IF C$ = "#" THEN GOSUB 3710 3220 PRINT "Temp. ID List ": GOSUB 8210 3230 IF C$ = "`" THEN GOTO 9999 3240 IF C$ = "#" THEN GOSUB 6010 3250 PRINT "Edit ID File ": GOSUB 8210 3260 IF C$ = "`" THEN GOTO 9999 3280 IF C$ = "#" THEN GOSUB 4310: GOTO 3250 3380 PRINT "ID List ": GOSUB 8210 3400 IF C$ = "`" THEN GOTO 9999 3420 IF C$ = "#" THEN GOSUB 6310 3450 GOTO 3100 3710 OPEN "TRUCK" FOR RANDOM AS #2 LEN = 23 3712 FIELD #2,8 AS TruckID$,6 AS TW$,8 AS TTotal$,1 AS TType$ 3714 PRINT "Clear Total? Y/N": GOSUB 8210: PRINT "Printing... " 3718 IF C$ <> "Y" AND C$ <> "y" THEN C$ = "N" 3719 LPRINT "Truck Report": LPRINT L1$: LPRINT L2$ 3727 LPRINT DATE$;TAB(19); TIME$ 3732 LPRINT "Truck ID";TAB(15);"Tare Weight";TAB(35);"Total";TAB(47);"Type" 3735 LPRINT "====================================================" 3739 RecNo2% = 1 3740 WHILE (0 = EOF(2)) 3741 GET #2 3742 IF TruckID$ = " " THEN GOTO 3750 3743 LPRINT TruckID$; TAB(17); TW$; TAB(32); TTotal$; TAB(49); TType$ 3745 IF C$ = "N" THEN GOTO 3750 3746 RSET TTotal$ = " 0.0" 3749 IF (0 = EOF(2)) THEN PUT #2, RecNo2% 3750 RecNo2% = RecNo2% + 1 3751 WEND 3757 CLOSE #2: RETURN 3895 PRINT "Enter Truck ID " 3898 Width% = 8: F$ = "A": GOSUB 7010 3899 IF C$ = "`" OR C$ = " " OR C$ = "#" THEN RETURN 3900 Truck.ID$ = C$ 3915 GOSUB 8110 3916 IF F$ = "N" THEN GOTO 3995 3918 OPEN "TRUCK" FOR RANDOM AS #2 LEN = 23 3921 FIELD #2, 8 AS TruckID$, 6 AS TW$, 8 AS TTotal$, 1 AS TType$ 3924 PRINT "Edit the Record " 3927 GOSUB 8210 3930 IF C$ = " " THEN CLOSE #2: GOTO 3972 3933 IF C$ = "`" THEN CLOSE #2: RETURN 3936 IF (0 = EOF(2)) THEN GET #2, RecNo2% 3939 IF TruckID$ = " " THEN RecNo2% = 1: GET #2, RecNo2% 3942 PRINT "ID: "; TruckID$;" " 3945 Width% = 8: F$ = "A": GOSUB 7010 3948 IF C$ = " " OR C$ = "#" THEN GOTO 3960 3951 IF C$ = "`" THEN CLOSE #2: RETURN 3954 Truck.ID$ = C$ 3957 LSET TruckID$ = Truck.ID$ 3960 GOSUB 4080 3963 RecNo2% = RecNo2% + 1 3966 GOTO 3924 3972 PRINT "Delete "; Truck.ID$;" " 3975 GOSUB 8210 3978 IF C$ = "`" THEN RETURN 3981 IF C$ = " " THEN GOTO 3918 3984 OPEN "TRUCK" FOR RANDOM AS #3 LEN = 23 3987 FIELD #3, 8 AS RecID$, 15 AS Rest$ 3990 TID$ = Truck.ID$ 3993 GOSUB 4229: CLOSE #3: RETURN 3995 OPEN "TRUCK" FOR RANDOM AS #3 LEN = 23 4020 FIELD #3, 8 AS TID$, 15 AS Rest$ 4025 T.ID$ = Truck.ID$ 4030 MaxIDs% = 400: GOSUB 8510: CLOSE #3: IF C$ <> "#" THEN GOTO 3895 4037 RecNo2% = RecNo% 4040 OPEN "TRUCK" FOR RANDOM AS #2 LEN = 23 4054 FIELD #2, 8 AS TruckID$, 6 AS TW$, 8 AS TTotal$, 1 AS TType$ 4060 LSET TruckID$ = Truck.ID$ 4061 RSET TW$ = " " 4062 RSET TTotal$ = " " 4063 LSET TType$ = " " 4065 GOSUB 4080: CLOSE #2: RETURN 4080 PRINT "Tare Wt: "; TW$;" " 4084 Width% = 6: F$ = "R": GOSUB 7010 4086 IF C$ = " " OR C$ = "#" THEN GOTO 4125 4088 IF C$ = "`" THEN RETURN 4090 IF C$ <> " T" AND C$ <> CHR$(4) THEN RSET TW$ = C$: GOTO 4125 4100 PRINT "Scale? A/B " 4105 GOSUB 8210 : Scale$ = C$ 4110 IF Scale$ = "B" OR Scale$ = "b" THEN GrossWt! = GrossWtB!: GOTO 4120 4115 GrossWt! = GrossWtA! 4120 C$ = STR$(GrossWt!): Width% = 6: F$ = "N": GOSUB 7240: RSET TW$ = C$ 4125 PRINT "Total: "; TTotal$;" " 4130 Width% = 8: F$ = "N": GOSUB 7010 4135 IF C$ = " " OR C$ = "#" THEN GOTO 4170 4140 IF C$ = "`" THEN RETURN 4145 RSET TTotal$ = C$ 4150 IF VAL(TW$) > 0 THEN RSET TType$ = "P": GOTO 4220 4170 PRINT "Tare Type: "; TType$;" " 4175 Width% = 1: F$ = "A": GOSUB 7010 4180 IF C$ = " " OR C$ = "#" THEN GOTO 4220 4185 IF C$ = "`" THEN RETURN 4190 IF C$ = "P" OR C$ = "T" THEN RSET TType$ = C$:GOTO 4220 4195 M$ = "Invalid Type ": GOSUB 8010: GOTO 4170 4220 PUT #2, RecNo2%: RETURN 4229 PRINT "Deleting..... " 4230 RecNo% = 1: W% = 1: GET #3 4234 WHILE 0 = EOF(3) 4236 IF RecID$ = TID$ THEN GOTO 4245 4238 PUT #3, W% 4240 W% = W% + 1 4245 RecNo% = RecNo% + 1 4250 GET #3, RecNo% 4255 WEND 4260 LSET RecID$ = " " 4265 LSET Rest$ = " " 4270 WHILE W% < RecNo% 4275 PUT #3, W% 4280 W% = W% + 1 4285 WEND 4290 RETURN 4310 PRINT "ID? " 4320 Width% = 8: F$ = "A": GOSUB 7010 4324 IF C$ = "`" OR C$ = " " OR C$ = "#" THEN RETURN 4326 Cust.ID$ = C$: F$ = "N" 4335 OPEN "IDfile" FOR RANDOM AS #1 LEN = 18 4336 FIELD #1, 8 AS CustID$, 10 AS CustTotals$ 4340 WHILE NOT EOF(1) AND F$ <> "Y" 4360 GET #1 4370 IF Cust.ID$ = CustID$ THEN F$ = "Y":RecNo% = LOC(1) - 1 4380 WEND 4390 CLOSE #1 4400 IF F$ = "N" THEN GOTO 4800 4420 PRINT "Edit Record " 4430 GOSUB 8210 4440 IF C$ = " " THEN GOTO 4700 4445 IF C$ = "`" THEN RETURN 4450 OldID$ = Cust.ID$ 4520 OPEN "IDfile" FOR RANDOM AS #1 LEN = 18 4530 FIELD #1, 8 AS CustID$, 10 AS CustTotals$ 4540 IF (0 = EOF(1)) THEN GET #1, RecNo% 4550 IF CustID$ <> OldID$ THEN CLOSE #1: RETURN 4570 GOSUB 5005 4580 RecNo% = RecNo% + 1 4590 GOTO 4540 4700 PRINT "Delete ";Cust.ID$;" " 4710 GOSUB 8210 4720 IF C$ = "`" THEN RETURN 4730 IF C$ = " " THEN GOTO 4420 4740 OPEN "IDfile" FOR RANDOM AS #3 LEN = 18 4750 FIELD #3, 8 AS RecID$, 10 AS Rest$ 4760 TID$ = Cust.ID$ 4770 GOSUB 4229: CLOSE #3: RETURN 4800 OPEN "IDfile" FOR RANDOM AS #3 LEN = 18 4810 FIELD #3, 8 AS TID$, 10 AS Rest$ 4820 T.ID$ = Cust.ID$ 4830 MaxIDs% = 200: GOSUB 8510: CLOSE #3 4850 IF RecNo% = -1 THEN RETURN 4860 OPEN "IDfile" FOR RANDOM AS #1 LEN = 18 4870 FIELD #1, 8 AS CustID$, 10 AS CustTotals$ 4880 GOSUB 5040: CLOSE #1: RETURN 5005 PRINT "Change ID name? " 5010 Width% = 8: F$ = "A": GOSUB 7010 5015 IF C$ = " " OR C$ = "#" THEN GOTO 5040 5020 IF C$ = "`" THEN RETURN 5030 Cust.ID$ = C$ 5040 LSET CustID$ = Cust.ID$ 5045 PRINT "Total:"; CustTotals$; " " 5055 Width% = 10: F$ = "N": GOSUB 7010 5060 IF C$ = " " OR C$ = "#" THEN GOTO 5090 5065 IF C$ = "`" THEN RETURN 5080 RSET CustTotals$ = C$ 5090 PUT #1, RecNo%: RETURN 6010 OPEN "TRUCK" FOR RANDOM AS #2 LEN = 23 6020 FIELD #2, 8 AS TruckID$, 6 AS TW$, 8 AS TTotal$, 1 AS TType$ 6030 RecNo% = 0 6070 WHILE EOF(2) = 0 6080 GET #2 6090 IF TType$ <> "T" THEN GOTO 6250 6100 IF RecNo% > 0 THEN GOTO 6240 6110 LPRINT: LPRINT DATE$; " "; TIME$ 6130 LPRINT L1$: LPRINT L2$ 6150 LPRINT "Temporary ID List" 6170 LPRINT "=========================================" 6180 RecNo% = 1 6240 LPRINT TruckID$ 6250 WEND 6260 IF RecNo% = 0 THEN M$ = "Not Found! ": GOSUB 8010 6270 CLOSE #2: RETURN 6310 OldID$ = " " 6320 LPRINT: LPRINT DATE$; " "; TIME$ 6330 LPRINT "ID"; TAB(19);"Total" 6340 LPRINT "========================" 6350 OPEN "IDfile" FOR RANDOM AS #1 LEN = 18 6360 FIELD #1, 8 AS CustID$, 10 AS CustTotals$ 6370 WHILE (0 = EOF(1)) 6380 GET #1 6390 IF CustID$ = OldID$ OR CustID$ = " " THEN GOTO 6400 6395 LPRINT CustID$; " ";CustTotals$ 6400 OldID$ = CustID$ 6410 WEND 6411 CLOSE #1: RETURN 7010 C$ = "": M$ = "" 7015 WHILE C$ = "" 7020 C$ = INKEY$ 7025 WEND 7030 IF C$ = CHR$(8) THEN C$ = "#": RETURN 7040 IF C$ = "`" OR C$ = " " OR C$ = CHR$(4) THEN RETURN 7100 WHILE C$ <> CHR$(8) 7105 IF C$ = CHR$(6) THEN M$ = LEFT$(M$, LEN(M$) -1): GOTO 7170 7110 IF C$ < " " OR C$ > "z" THEN GOTO 7180 7120 IF C$ > "`" THEN C$ = CHR$(ASC(C$) - 32) 7160 M$ = M$ + C$ 7170 PRINT M$;" " 7180 C$ = INKEY$ 7200 WEND 7220 C$ = M$ 7230 IF F$ = "N" THEN C$ = STR$(VAL(C$)) 7240 IF LEN(C$) > Width% THEN C$ = LEFT$(C$, Width%): RETURN 7250 IF LEN(C$) = Width% THEN RETURN 7260 IF F$ = "N" OR F$ = "R" THEN C$ = " " + C$: GOTO 7250 7270 C$ = C$ + " " 7280 GOTO 7250 8010 PRINT M$: L% = 1 8020 WHILE L% < 15 AND INKEY$ = "" 8030 L% = L% + 1 8040 WEND 8050 RETURN 8110 PRINT "Searching.... " 8115 OPEN "TRUCK" FOR RANDOM AS #2 LEN = 23 8120 FIELD #2, 8 AS TruckID$, 6 AS TW$, 8 AS TTotal$, 1 AS TType$ 8125 F$ = "N" 8130 WHILE 0 = EOF(2) AND F$ = "N" 8140 GET #2 8150 IF TruckID$ = Truck.ID$ THEN F$ = "Y": RecNo2% = LOC(2) - 1 8160 WEND 8170 IF F$ = "N" THEN M$ = "Unknown Truck ID": GOSUB 8010 8180 CLOSE #2: RETURN 8210 C$ = "" 8220 WHILE C$ = "" 8230 C$ = INKEY$ 8240 WEND 8260 IF C$ = CHR$(8) THEN C$ = "#" 8280 RETURN 8510 RecNo% = -1: PRINT "Add a new Record" 8530 GOSUB 8210: IF C$ <> "#" THEN RETURN 8540 F$ = "N": W% = 1 8545 WHILE 0 = EOF(3) 8550 GET #3 8555 IF F$ = "Y" THEN GOTO 8570 8560 IF TID$ = " " OR TID$ > T.ID$ THEN F$ = "Y":RecNo% = LOC(3) 8570 WEND 8571 IF RecNo% = -1 THEN RecNo% = LOC(3) 8572 IF RecNo% > 0 THEN RecNo% = RecNo% - 1 8573 IF RecNo% = 0 THEN RecNo% = 1 8575 IF RecNo% > MaxIDs% THEN M$ = "File is Full": GOSUB 8010: RETURN 8580 W% = LOC(3) 8582 IF W% > 0 THEN W% = W% - 1 8585 WHILE W% > RecNo% 8590 GET #3, W% - 1 8595 IF TID$ <> " " THEN PUT #3, W% 8600 W% = W% - 1 8605 WEND 8607 RETURN 9999 END