100 DISP$=" VSX REV. 4.1.A":PRINT DISP$:SLEEP 2000: NEWLADDER 110 DEFSHR KEYSOR%,BAS10:KEYSOR%=3:DEFSHR SELECT%,BAS87:SELECT%=0:DEFSHR MSTOP%,BAS89:MSTOP%=0:DEFSHR NUML%,S_60B:NUML%=1:DEFSHR ESC%,BAS86:ESC%=0 120 DEFSHR G1#,WT110:DEFSHR G2#,WT210:DEFSHR DISD%,T_603:DISD%=1 130 DEFSHR I1%,P_100:DEFSHR I2%,P_101:DEFSHR I3%,P_102:DEFSHR I4%,P_103:DEFSHR I5%,P_108:DEFSHR I6%,P_109:DEFSHR I7%,P_10A:DEFSHR I8%,P_10B 140 DEFSHR I9%,P_10C:DEFSHR I10%,P_10D:DEFSHR I11%,P_10E:DEFSHR I12%,P_10F 150 DEFSHR O1%,P_500:DEFSHR O2%,P_501:DEFSHR O3%,P_502:DEFSHR O4%,P_503:DEFSHR O5%,P_508:DEFSHR O6%,P_509:DEFSHR O7%,P_50A:DEFSHR O8%,P_50B 160 DEFSHR SCLA%,T_6C0:DEFSHR SCLB%,T_6C1:DEFSHR SSA%,S_207:DEFSHR SSB%,S_20F:DEFSHR SMS%,T_6C2:DEFSHR SSE%,T_652 170 DEFSHR ZERO1%,T_693:DEFSHR ZERO2%,T_6A3:DEFSHR ZCS%,T_6B3:DEFSHR M1%,S_200:DEFSHR M2%,S_208 180 DEFSHR QTC%,T_6C3:DEFSHR QO%,T_6C4:DEFSHR TC%,T_6C5:DEFSHR TCO%,T_6C6:DEFSHR GTC%,T_6C7 190 DEFSHR Units$,WT103:DEFSHR MLT%,BD091:DEFSHR RA$,LIT23 200 DEFSHR GR$,VAR01:DEFSHR T$,VAR02:DEFSHR N$,VAR03:DEFSHR ID$,VAR04:DEFSHR TI$,VAR05:DEFSHR DA$,VAR06:DEFSHR COMD$,VAR07:DEFSHR ZF$,VAR08 210 DEFSHR TV$,VAR09:DEFSHR U$,VAR10:DEFSHR PT$,VAR11:DEFSHR PA$,VAR12:DEFSHR PL$,VAR13:DEFSHR ITIME$,VAR14:DEFSHR IDATE$,VAR15 220 DEFSHR CMV1$,VAR16:DEFSHR CMV2$,VAR17:DEFSHR CMV3$,VAR18:DEFSHR CMV4$,VAR19:DEFSHR CMV5$,VAR20 230 DEFSHR PMT1$,LIT12:DEFSHR PMT2$,LIT13:DEFSHR PMT3$,LIT14:DEFSHR PMT4$,LIT15:DEFSHR PMT5$,LIT16:DEFSHR DUPTIC$,LIT21:DEFSHR DRNM$,LIT22 240 DEFSHR SPASS$,CLV01:DEFSHR OPASS$,CLV02:DEFSHR COMDTY$,CLV03:DEFSHR S1$,CLV04:DEFSHR S2$,CLV05 250 DEFSHR ASS$,CLV06:DEFSHR CQ$,CLV07:DEFSHR FM$,CLV08:DEFSHR CMNT$,CLV09:DEFSHR OCNT$,CLV10:DEFSHR EBDG$,CLV11 260 COMMON SPASS$,KEYSOR%,COMDTY$,CMNT$,ASS$,OPASS$,CFFLG%,CQ$,FM$,S1$,S2$,SCLT$,LPC$,EBDG$ 270 F1$=CHR$(19):F2$=CHR$(20):F3$=CHR$(21):F4$=CHR$(22):F5$=CHR$(7):F6$=CHR$(1) 280 F7$=CHR$(5):F8$=CHR$(6):F9$=CHR$(4):F10$=CHR$(3):F11$=CHR$(23):F12$=CHR$(24) 290 O%=VAL(OCNT$):TRM$=CHR$(13)+CHR$(10):AA%=VAL(ASS$):BDOOR$="865336":SCL1%=0:SCL2%=0:PWR%=1:O1%=0:O2%=0:O3%=0:O4%=0:O5%=0:O6%=0:O7%=0:O8%=0 300 OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 310 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ 320 ON ERROR GOTO 4410:GET #1, 1 330 CLOSE #1:PWR%=0 340 OPEN "SETUP.DAT" FOR RANDOM AS #1 LEN = 52 350 FIELD #1,5 AS SIL$,5 AS SOL$,5 AS SQL$,5 AS SPL$,5 AS SCL$,4 AS SSCLT$,1 AS SLPC$,1 AS SH$,15 AS SIP$,4 AS SPORT$,2 AS LFCR$ 360 GET #1,1 370 ILEN$=SIL$:OLEN$=SOL$:QLEN$=SQL$:PLEN$=SPL$:CLEN$=SCL$:SCLT$=SSCLT$:LPC$=SLPC$:HOST$=SH$:IP$=LTRIM$(SIP$):PORT$=SPORT$:CLOSE #1:PORT%=VAL(PORT$) 380 ILEN#=VAL(ILEN$):OLEN#=VAL(OLEN$):PLEN#=VAL(PLEN$):CLEN#=VAL(CLEN$):QLEN#=VAL(QLEN$):O%=VAL(OCNT$) 390 IF SUPER%=1 THEN SUPER%=0:GOTO 1380 400 IF CMNT$<>"Y" THEN GOTO 450 410 OPEN "PROMPT.DAT" FOR RANDOM AS #1 LEN = 82 420 FIELD #1,16 AS SPMT1$,16 AS SPMT2$,16 AS SPMT3$,16 AS SPMT4$,16 AS SPMT5$,2 AS LFCR$ 430 GET #1,1 440 PMT1$=SPMT1$:PMT2$=SPMT2$:PMT3$=SPMT3$:PMT4$=SPMT4$:PMT5$=SPMT5$:CLOSE #1 450 GOSUB 4460 460 If HOST$="N" then goto 510 470 Open "Com2: TRM13 EVENT" for Input as #6 480 On Event #6 Gosub 5520 490 Flush #6: X$="": RA$="" 500 Input #6, X$ 510 K$=UCASE$(INKEY$) 520 IF K$=F7$ OR K$="S" OR K$=CHR$(32) THEN GOSUB 980 530 IF K$=F5$ OR K$="Z" OR K$=F6$ THEN GOSUB 1010 540 IF K$=F8$ OR K$="P" THEN GOSUB 1040 550 IF K$=F9$ OR K$="M" THEN GOSUB 1120 560 IF K$=F10$ OR K$="R" THEN GOTO 1300 570 IF K$=F11$ OR K$="V" THEN GOTO 1380 580 IF K$=F12$ OR K$="E" THEN GOSUB 1430 590 IF HOST$="Y" AND RA$<>"" then goto 1350 600 IF LPC$="Y" THEN GOSUB 4480 610 IF G1#>2000 AND SCL1%=0 THEN SCL1%=1:SCL2%=0:O2%=0:O3%=0:O4%=0:GOSUB 690:TMOUT$=LEFT$(TIME$,5):GOTO 750 620 IF G2#>2000 AND SCL2%=0 THEN SCL2%=1:SCL1%=0:O1%=0:O2%=0:O4%=0:GOSUB 720:TMOUT$=LEFT$(TIME$,5):GOTO 750 630 IF G1#<(VAL(GR$)-1000) THEN SCL1%=0 640 IF G2#<(VAL(GR$)-1000) THEN SCL2%=0 650 IF M1%=1 THEN SCLA%=1 660 IF M2%=1 THEN SCLB%=1 670 DISP$=LEFT$(TIME$,5)+" "+LEFT$(DATE$,6)+RIGHT$(DATE$,2):PRINT DISP$ 680 GOTO 510 690 IF M1%=0 THEN O1%=0:RETURN 700 DISP$="SCALE IN M0TI0N":PRINT DISP$ 710 GOTO 690 720 IF M2%=0 THEN O3%=0:RETURN 730 DISP$="SCALE IN M0TI0N":PRINT DISP$ 740 GOTO 720 750 If HOST$<>"Y" then goto 770 760 Delevent #6: Close #6 770 K$=UCASE$(INKEY$) 780 IF G1#<1000 AND SCL1%=1 THEN SCL1%=0:GOTO 450 790 IF G2#<1000 AND SCL2%=1 THEN SCL2%=0:GOTO 450 800 IF SCL1%=1 AND I1%=1 THEN GOTO 5080 810 IF SCL2%=1 AND I1%=1 THEN GOTO 5080 820 IF SCL1%=1 AND G1#>2000 THEN SCLA%=1:DISP$="SELECT PR0CESS A":PRINT DISP$ 830 IF SCL2%=1 AND G2#>2000 THEN SCLB%=1:DISP$="SELECT PR0CESS B":PRINT DISP$ 840 IF K$="S" OR K$=F7$ OR K$=CHR$(32) THEN GOSUB 980 850 IF K$="I" OR K$=F1$ OR K$="O" OR K$="1" OR K$="2" THEN GOTO 1560 860 IF K$="A" OR K$=F2$ THEN GOTO 4150 870 IF K$="Q" OR K$=F3$ THEN GOTO 3580 880 IF K$="G" OR K$=F4$ THEN GOTO 4230 890 IF K$="F" OR K$=F5$ THEN GOTO 5260 900 IF K$="P" OR K$=F8$ THEN GOSUB 1040 910 IF K$="M" OR K$=F9$ THEN GOSUB 1120 920 IF K$="V" OR K$=F11$ THEN GOTO 1380 930 IF K$="E" OR K$=F12$ THEN GOSUB 1430 940 IF SSA%=0 THEN SCL2%=1:SCL1%=0 ELSE SCL1%=1:SCL2%=0 950 IF K$=F8$ THEN GOSUB 1040 960 IF TMOUT$<>LEFT$(TIME$,5) THEN TMOUT$=LEFT$(TIME$,5):DISP$="SELECT PR0CESS " 970 GOTO 770 980 IF SSA%=1 THEN SCLB%=1:DISP$="SCALE B SELECTED":PRINT DISP$:GOTO 1000 990 IF SSA%=0 THEN SCLA%=1:DISP$="SCALE A SELECTED":PRINT DISP$ 1000 SLEEP 1000:RETURN 1010 IF SSA%=1 THEN ZERO1%=1 1020 IF SSB%=1 THEN ZERO2%=1 1030 RETURN 1040 DUPTIC$="DUPLICATE" 1050 IF LP%=1 THEN QTC%=1 1060 IF LP%=2 THEN QO%=1 1070 IF LP%=3 THEN TC%=1 1080 IF LP%=4 THEN TCO%=1 1090 IF LP%=5 THEN GTC%=1 1100 DUPTIC$=" ":DISP$="NET "+N$+" "+Units$:PRINT DISP$ 1110 SLEEP 2000:RETURN 1120 DISP$="CHECK MEMORY?":S$="N":INPUT "^CHECK MEMORY? ^N,Y",S$ 1130 IF S$="N" THEN RETURN ELSE GOSUB 1470 1140 IF EPW$<>SPASS$ AND EPW$<>BDOOR$ AND EPW$<>OPASS$ THEN PRINT "INVALID PASSWORD":SLEEP 2000:RETURN 1150 OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 1160 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ 1170 IC%=0:DISP$="CHECKING MEM0RY":PRINT DISP$ 1180 FOR I%=1 TO ILEN# 1190 GET #1,I%:IF REC_ID$=SPACE$(8) THEN IC%=IC%+1 1200 NEXT I% 1210 CLOSE #1:DISP$=" AVAIL IN = "+STR$(IC%):PRINT DISP$:SLEEP 2000:OC%=0 1220 OPEN "OUTBOUND.DAT" FOR RANDOM AS #2 LEN=77 1230 FIELD #2,8 AS A$,8 AS B$,8 AS C$,8 AS D$,16 AS E$,8 AS F$,19 AS G$,2 AS H$ 1240 DISP$="CHECKING MEM0RY":PRINT DISP$ 1250 FOR I%=1 TO OLEN# 1260 GET #2,I%:IF A$=SPACE$(8) THEN OC%=OC%+1 1270 NEXT I% 1280 CLOSE #2:DISP$="AVAIL 0UT = "+STR$(OC%):PRINT DISP$:SLEEP 2000 1290 RETURN 1300 If HOST$="Y" then Print "Host ENABLED": Sleep 500: goto 510 1310 DISP$="PRINT REP0RTS?":S$="N":INPUT "^PRINT REPORTS? ^N,Y",S$ 1320 IF S$="N" THEN GOTO 450 ELSE GOSUB 1470 1330 IF EPW$<>SPASS$ AND EPW$<>BDOOR$ AND EPW$<>OPASS$ THEN PRINT "INVALID PASSWORD":SLEEP 2000:GOTO 450 1340 CHAIN "REPORT.BAS" 1350 Delevent #6: Close #6 1360 O1%=0:O2%=0:O3%=0:O4%=0: Print "Reports..." 1370 CHAIN "file4.bas" 1380 DISP$=" SUPERVIS0R?":S$="N":INPUT "^SUPERVISOR? ^N,Y",S$ 1390 IF S$="N" THEN RESTART ELSE GOSUB 1470 1400 IF EPW$<>SPASS$ AND EPW$<>BDOOR$ THEN DISP$="INVALID PASSW0RD":PRINT DISP$:SLEEP 2000:RESTART 1410 O1%=0:O2%=0:O3%=0:O4%=0:PRINT "PLEASE WAIT..." 1420 CHAIN "SUPER.BAS" 1430 S$="N":INPUT "^EXIT PROGRAM? ^N,Y",S$ 1440 IF S$="N" THEN RETURN ELSE GOSUB 1470 1450 IF EPW$=SPASS$ OR EPW$=BDOOR$ OR EPW$=OPASS$ THEN O1%=0:O2%=0:O3%=0:O4%=0:DISD%=0:KEYSOR%=2:MSTOP%=1:END 1460 DISP$="INVALID PASSW0RD":PRINT DISP$:SLEEP 2000:RETURN 1470 EPW$="":EPWL$="":AXT$="*" 1480 K$=INKEY$:DISP$=" ENTER PASSW0RD":PRINT DISP$ 1490 IF K$=CHR$(8) THEN RETURN 1500 IF K$="" THEN GOTO 1480 1510 EPW$=K$:EPWL$=EPWL$+AXT$:EPWL$=PADL$(EPWL$,8," ") 1520 K$=INKEY$ 1530 IF K$=CHR$(8) THEN RETURN 1540 DISP$="PASSW0RD"+RIGHT$(EPWL$,8):PRINT DISP$: IF K$<>"" THEN EPW$=EPW$+K$:EPWL$=EPWL$+AXT$ 1550 GOTO 1520 1560 IF EBDG$="Y" THEN PRINT " SWIPE BADGE 0R":SLEEP 1500 1570 ID$="":COMD$="":ZF$="":TV$="":U$="":PT$="":PA$="":PL$="":CMV1$="":CMV2$="":CMV3$="":CMV4$="":CMV5$="":DRNM$="":PERM%=0:DISP$="ENTER ID":PRINT DISP$ 1580 DISP$="" 1590 IF EBDG$="Y" THEN GOSUB 5470 1600 K$="": RB$="" 1610 WHILE K$="" AND RB$="" 1620 K$=UCASE$(INKEY$) 1630 PRINT "ENTER ID"+DISP$ 1640 IF G1#<1000 AND SCL1%=1 THEN GOTO 1900 1650 IF G2#<1000 AND SCL2%=1 THEN GOTO 1900 1660 WEND 1670 IF RB$<>"" THEN ID$=UCASE$(RB$):RB$="":GOTO 1830 1680 IF K$=CHR$(8) THEN GOTO 1830 1690 IF ASC(K$)=6 AND LEN(ID$)>0 THEN ID$=LEFT$(ID$,LEN(ID$)-1):DISP$=RIGHT$(ID$,8):DISP$=PADL$(ID$,8," "):GOTO 1600 1700 IF ASC(K$)<32 OR ASC(K$)>125 OR ASC(K$)=44 THEN GOTO 1600 1710 ID$=ID$+K$:DISP$=RIGHT$(ID$,8):DISP$=PADL$(ID$,8," "):GOTO 1600 1720 F%=0 1730 BADGE$=LTRIM$(SWP$):BADGE$=RTRIM$(BADGE$) 1740 IF LEN(BADGE$)>0 THEN BADGE$=LEFT$(BADGE$,LEN(BADGE$)-1):BADGE$=PADR$(BADGE$,20," ") 1750 OPEN "BADGE.DAT" FOR RANDOM AS #1 LEN=46 1760 FIELD #1,20 AS BDG$,8 AS BID$,16 AS BDGNM$,2 AS LFCR$ 1770 FOR I% = 1 TO 100 1780 PRINT "SEARCHING..." 1790 GET #1, I%: IF BADGE$=BDG$ THEN F%=1:I%=100 1800 NEXT I% 1810 IF F%=0 THEN PRINT " INVALID BADGE":ID$="":BADGE$="":CLOSE #1:FLUSH #5:ENABLE:INPUT #5,SWP$:SLEEP 2000:RETURN 1820 RB$=BID$: DRNM$=BDGNM$:CLOSE #1:INPUT #5,SWP$:RETURN 1830 IF EBDG$="Y" THEN Delevent #5: Close #5 1840 IF LEN(ID$)<1 OR LEN(ID$)>8 THEN DISP$=" INVALID ID":PRINT DISP$:SLEEP 2000:GOTO 1560 1850 IF SCL1%=1 THEN GR$=STR$(G1#):GR$=PADL$(GR$,8," ") 1860 IF SCL2%=1 THEN GR$=STR$(G2#):GR$=PADL$(GR$,8," ") 1870 IF ASC(ID$)=48 THEN GOTO 3970 1880 IF ASC(ID$)>64 AND ASC(ID$)<91 THEN PERM%=1:GOTO 3360 1890 ID$=PADR$(ID$,8," "): goto 1920 1900 IF EBDG$="Y" THEN Delevent #5: Close #5 1910 GOTO 450 1920 OPEN "INBOUND.DAT" FOR RANDOM AS #2 LEN=36 1930 FIELD #2, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ 1940 F%=0 1950 IF AFLG%=1 THEN DISP$=" AUT0 ID = "+LEFT$(ID$,3):PRINT DISP$:SLEEP 2000:GOTO 2030 1960 DISP$="SEARCHING...":PRINT DISP$ 1970 FOR I%=1 TO ILEN# 1980 GET #2,I%: IF REC_ID$=ID$ THEN F%=1:J%=I%:I%=ILEN# 1990 NEXT I% 2000 IF F%=0 THEN GOTO 2030 2010 OUT$=IN_WT$:ITIME$=IN_T$:IDATE$=IN_D$:RSET REC_ID$=SPACE$(8):RSET IN_WT$=SPACE$(8):RSET IN_T$=SPACE$(8):RSET IN_D$=SPACE$(10) 2020 PUT #2,J%:CLOSE #2:GOTO 2150 2030 IF I1%=1 AND AFLG%<>1 AND EBDG$="N" THEN DISP$=" INVALID ID!":PRINT DISP$:CLOSE #2:SLEEP 2000:GOTO 1560 2040 IF AFLG%<>1 AND (VAL(ID$)>99 AND VAL(ID$)<1000) THEN DISP$=" INVALID ID":PRINT DISP$:SLEEP 2000 2050 IF AFLG%<>1 AND (VAL(ID$)>99 AND VAL(ID$)<1000) THEN DISP$=" RESERVED!":PRINT DISP$:SLEEP 2000:CLOSE #2:GOTO 1560 2060 F%=0 2070 FOR I%=1 TO ILEN# 2080 GET #2,I%: IF REC_ID$=" " THEN J%=I%:I%=ILEN#:F%=1 2090 NEXT I% 2100 IF F%=0 THEN DISP$=" INB0UND FULL!":PRINT DISP$:SLEEP 2000:CLOSE #2:GOTO 450 2110 TI$=TIME$:DA$=DATE$:RSET REC_ID$=ID$:RSET IN_WT$=GR$:RSET IN_T$=TI$:RSET IN_D$=DA$:PUT #2, J%:N$=" 0":T$=" 0":TC%=1:AFLG%=0:LP%=3 2120 CLOSE #2 2130 DISP$="$"+ID$+","+GR$+","+TIME$+","+DATE$+"," 2140 GOTO 4270 2150 IF O%>OLEN# OR O%<0 THEN O%=0 2160 O%=O%+1:OCNT$=STR$(O%) 2170 OPEN "OUTBOUND.DAT" FOR RANDOM AS #2 LEN=77 2180 FIELD #2,8 AS A$,8 AS B$,8 AS C$,8 AS D$,16 AS E$,8 AS F$,19 AS G$,2 AS H$ 2190 GOSUB 2910 2200 IF CMNT$<>"Y" THEN GOTO 2830 2210 DISP$=PMT1$:CMT1$="":CMT2$="":CMT3$="":CMT4$="":CMT5$="":RC$="" 2220 K$="" 2230 WHILE K$="" AND RC$="" 2240 K$=INKEY$ 2250 IF CMT1$="" THEN PRINT PMT1$ ELSE CMT1$=PADL$(CMT1$,16," "):DISP$=RIGHT$(CMT1$,16):PRINT DISP$ 2260 WEND 2270 IF RC$<>"" THEN CMT1$=RC$:GOTO 2320 2280 IF ASC(K$)=8 THEN GOTO 2320 2290 IF K$<>"" THEN CMT1$=CMT1$+K$ 2300 IF ASC(K$)=6 AND LEN(CMT1$)>1 THEN CMT1$=LEFT$(CMT1$,LEN(CMT1$)-2) 2310 GOTO 2220 2320 IF VAL(CQ$)<2 THEN GOTO 2800 2330 DISP$=PMT2$:RC$="" 2340 K$="" 2350 WHILE K$="" AND RC$="" 2360 K$=INKEY$ 2370 IF CMT2$="" THEN PRINT PMT2$ ELSE CMT2$=PADL$(CMT2$,16," "):DISP$=RIGHT$(CMT2$,16):PRINT DISP$ 2380 WEND 2390 IF RC$<>"" THEN CMT2$=RC$:GOTO 2440 2400 IF ASC(K$)=8 THEN GOTO 2440 2410 IF K$<>"" THEN CMT2$=CMT2$+K$ 2420 IF ASC(K$)=6 AND LEN(CMT2$)>1 THEN CMT2$=LEFT$(CMT2$,LEN(CMT2$)-2) 2430 GOTO 2340 2440 IF VAL(CQ$)<3 THEN GOTO 2800 2450 DISP$=PMT3$:RC$="" 2460 K$="" 2470 WHILE K$="" AND RC$="" 2480 K$=INKEY$ 2490 IF CMT3$="" THEN PRINT PMT3$ ELSE CMT3$=PADL$(CMT3$,16," "):DISP$=RIGHT$(CMT3$,16):PRINT DISP$ 2500 WEND 2510 IF RC$<>"" THEN CMT3$=RC$:GOTO 2560 2520 IF ASC(K$)=8 THEN GOTO 2560 2530 IF K$<>"" THEN CMT3$=CMT3$+K$ 2540 IF ASC(K$)=6 AND LEN(CMT3$)>1 THEN CMT3$=LEFT$(CMT3$,LEN(CMT3$)-2) 2550 GOTO 2460 2560 IF VAL(CQ$)<4 THEN GOTO 2800 2570 DISP$=PMT4$:RC$="" 2580 K$="" 2590 WHILE K$="" AND RC$="" 2600 K$=INKEY$ 2610 IF CMT4$="" THEN PRINT PMT4$ ELSE CMT4$=PADL$(CMT4$,16," "):DISP$=RIGHT$(CMT4$,16):PRINT DISP$ 2620 WEND 2630 IF RC$<>"" THEN CMT4$=RC$:GOTO 2680 2640 IF ASC(K$)=8 THEN GOTO 2680 2650 IF K$<>"" THEN CMT4$=CMT4$+K$ 2660 IF ASC(K$)=6 AND LEN(CMT4$)>1 THEN CMT4$=LEFT$(CMT4$,LEN(CMT4$)-2) 2670 GOTO 2580 2680 IF VAL(CQ$)<5 THEN GOTO 2800 2690 DISP$=PMT5$:RC$="" 2700 K$="" 2710 WHILE K$="" AND RC$="" 2720 K$=INKEY$ 2730 IF CMT5$="" THEN PRINT PMT5$ ELSE CMT5$=PADL$(CMT5$,16," "):DISP$=RIGHT$(CMT5$,16):PRINT DISP$ 2740 WEND 2750 IF RC$<>"" THEN CMT5$=RC$:GOTO 2800 2760 IF ASC(K$)=8 THEN GOTO 2800 2770 IF K$<>"" THEN CMT5$=CMT5$+K$ 2780 IF ASC(K$)=6 AND LEN(CMT5$)>1 THEN CMT5$=LEFT$(CMT5$,LEN(CMT5$)-2) 2790 GOTO 2700 2800 CMT1$=RIGHT$(CMT1$,16):CMT2$=RIGHT$(CMT2$,16):CMT3$=RIGHT$(CMT3$,16):CMT4$=RIGHT$(CMT4$,16):CMT5$=RIGHT$(CMT5$,16) 2810 CMV1$=CMT1$:CMV2$=CMT2$:CMV3$=CMT3$:CMV4$=CMT4$:CMV5$=CMT5$ 2820 IF RTRN%=1 THEN RTRN%=0:RETURN 2830 RSET A$=ID$:RSET B$=T$:RSET C$=GR$:RSET D$=N$:AD$=N$:TI$=TIME$:DA$=DATE$:RSET G$=DA$+" "+TI$:RSET H$=TRM$ 2840 IF SCL1%=1 THEN S1#=VAL(N$)+VAL(S1$):S1$=STR$(S1#) 2850 IF SCL2%=1 THEN S2#=VAL(N$)+VAL(S2$):S2$=STR$(S2#) 2860 IF COMDTY$="Y" THEN GOSUB 3020 2870 PUT #2, O% 2880 CLOSE #2 2890 IF PERM%=1 THEN GOTO 3470 2900 TCO%=1:LP%=4:GOTO 4270 2910 IF SCL2%=1 THEN GOTO 2970 2920 GRS$=GR$ 2930 IF VAL(GRS$)>=VAL(OUT$) THEN N#=VAL(GRS$)-VAL(OUT$):T#=VAL(OUT$):GR$=PADL$(GRS$,8," ") 2940 IF VAL(GRS$)=VAL(OUT$) THEN N#=VAL(GRS$)-VAL(OUT$):T#=VAL(OUT$):GR$=PADL$(GRS$,8," ") 2990 IF VAL(GRS$)CLEN# THEN K%=1 3070 GET #3,K% 3080 K$=UCASE$(INKEY$) 3090 IF CA$=SPACE$(16) THEN GOTO 3050 3100 DISP$=CA$:PRINT DISP$ 3110 IF CR$="X" THEN K$=CHR$(8) 3120 IF CR$="Y" THEN K$=CHR$(32) 3130 IF K$=CHR$(32) THEN M$="":GOTO 3050 3140 IF K$=CHR$(8) THEN GOTO 3220 3150 M$=ASC(K$) 3160 IF VAL(M$)>33 AND VAL(M$)<126 THEN K%=1:GOTO 3180 3170 GOTO 3080 3180 GET #3,K%:CH$=ASC(CA$) 3190 IF CH$=M$ THEN M$="":GOTO 3080 3200 K%=K%+1:DISP$="SEARCHING...":PRINT DISP$ 3210 IF K%>CLEN# THEN K%=1:GOTO 3070 ELSE GOTO 3180 3220 COMD$=CA$:U$=CE$:ZF$=CB$ 3230 IF QUICK%=1 THEN TV#=VAL(N$)/VAL(ZF$):TV$=STR$(TV#):CLOSE #3:RETURN 3240 IF LEFT$(CA$,4)="NONE" THEN COMD$=SPACE$(16):U$=SPACE$(6):ZF$=SPACE$(8):GOTO 3310 3250 LOAD%=VAL(CD$)+1:LOAD$=STR$(LOAD%) 3260 IF VAL(ZF$)>0 THEN TV#=VAL(N$)/VAL(ZF$):TV$=STR$(TV#):DP%=INSTR(TV$,".") 3270 IF VAL(ZF$)=0 THEN TV$="":GOTO 3310 3280 IF DP%=0 THEN TV$=TV$+".00":GOTO 3310 3290 IF LEN(TV$)=DP%+2 THEN GOTO 3310 3300 IF LEN(TV$)4 THEN TV$=STR$(VAL(TV$)+.01) 3350 TV$=LEFT$(TV$,DP%+2):RETURN 3360 ID$=PADR$(ID$,8," "):F%=0 3370 OPEN "PERM.DAT" FOR RANDOM AS #1 LEN=29 3380 FIELD #1,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ 3390 DISP$="SEARCHING...":PRINT DISP$ 3400 FOR I%=1 TO PLEN# 3410 GET #1,I%: IF PID$=ID$ THEN F%=1:J%=I%: I%=PLEN# 3420 NEXT I% 3430 IF F%=0 THEN DISP$=" ID N0T F0UND":PRINT DISP$:SLEEP 2000:CLOSE #1:GOTO 1560 3440 IF SCL1%=1 AND G1#"" THEN T$=QR$:GOTO 3720 3680 IF ASC(K$)=8 OR ASC(K$)=32 THEN T$=RIGHT$(T$,8):GOTO 3720 3690 IF ASC(K$)=6 AND LEN(T$)>1 THEN T$=LEFT$(T$,LEN(T$)-1):GOTO 3600 3700 IF K$<>"" THEN T$=T$+K$ 3710 GOTO 3600 3720 T$=LTRIM$(T$) 3730 IF LEN(T$)<1 OR T$="X" THEN GOTO 3860 3740 IF LEN(T$)>8 THEN DISP$=" INVALID ENTRY":PRINT DISP$:SLEEP 2000:GOTO 3580 3750 FOR I%=1 TO LEN(T$) 3760 IF ASC(MID$(T$,I%,1))<48 OR ASC(MID$(T$,I%,1))>57 THEN INV%=1 3770 NEXT I% 3780 IF INV%=1 THEN DISP$=" INVALID ENTRY":PRINT DISP$:SLEEP 2000:GOTO 3580 3790 IF SCL1%=1 THEN N#=G1#-VAL(T$):GR$=STR$(G1#) 3800 IF SCL2%=1 THEN N#=G2#-VAL(T$):GR$=STR$(G2#) 3810 IF N#<0 THEN INV%=1:GOTO 3780 3820 N$=STR$(N#):GR$=PADL$(GR$,8," "):T$=PADL$(T$,8," "):N$=PADL$(N$,8," "):TI$=TIME$:DA$=DATE$ 3830 IF CMNT$="Y" THEN RTRN%=1:GOSUB 2210 3840 IF COMDTY$="Y" THEN GOSUB 3020 3850 QO%=1:LP%=2:QUICK%=0:GOTO 4270 3860 IF SCL1%=1 THEN T$=" 0":GR$=STR$(G1#) 3870 IF SCL2%=1 THEN T$=" 0":GR$=STR$(G2#) 3880 OPEN "QUICK.DAT" FOR RANDOM AS #1 LEN=13 3890 FIELD #1, 3 AS QID$,8 AS QTR$,2 AS LFCR$ 3900 R%=R%+1: IF R%>99 THEN R%=1 3910 GET #1,R% 3920 IF R%<10 THEN ID$="00"+RIGHT$(STR$(R%),1) ELSE ID$="0"+RIGHT$(STR$(R%),2) 3930 GR$=PADL$(GR$,8," "):T$=PADL$(T$,8," "):N$=" 0" 3940 RSET QID$=ID$:RSET QTR$=GR$:PUT #1,R%:CLOSE #1 3950 TI$=TIME$:DA$=DATE$:QTC%=1:LP%=1:DISP$=" QUICK ID="+ID$:PRINT DISP$ 3960 DISP$="$"+ID$+","+GR$+","+TIME$+","+DATE$+",":SLEEP 2000:GOTO 4270 3970 INV%=0:F%=0:QUICK%=1 3980 FOR I%=1 TO LEN(ID$) 3990 IF ASC(MID$(ID$,I%,1))<48 OR ASC(MID$(ID$,I%,1))>57 THEN INV%=1 4000 NEXT I% 4010 IF VAL(ID$)>99 OR VAL(ID$)<1 THEN INV%=1 4020 IF INV%=1 THEN DISP$=" INVALID ID":PRINT DISP$:QUICK%=0:SLEEP 2000:GOTO 1560 4030 OPEN "QUICK.DAT" FOR RANDOM AS #1 LEN=13 4040 FIELD #1, 3 AS QID$,8 AS QTR$,2 AS LFCR$ 4050 FOR I%=1 TO QLEN# 4060 GET #1, I%: DISP$="SEARCHING...":PRINT DISP$ 4070 IF QID$=ID$ THEN F%=1:J%=1:I%=QLEN# 4080 NEXT I% 4090 IF F%=0 THEN DISP$=" INVALID ID":PRINT DISP$:SLEEP 2000:QUICK%=0:CLOSE #1:GOTO 1560 4100 OUT$=QTR$:RSET QID$=SPACE$(3):RSET QTR$=SPACE$(8):PUT #1, J%:CLOSE #1 4110 GOSUB 2910 4120 IF CMNT$="Y" THEN RTRN%=1:GOSUB 2210 4130 IF COMDTY$="Y" THEN GOSUB 3020 4140 TI$=TIME$:DA$=DATE$:QO%=1:LP%=2:QUICK%=0:GOTO 4270 4150 ID$="":COMD$="":ZF$="":TV$="":U$="":PT$="":PA$="":PL$="":CMV1$="":CMV2$="":CMV3$="":CMV4$="":CMV5$="" 4160 IF AA%<100 THEN AA%=99 4170 AA%=AA%+1 4180 IF AA%>999 THEN AA%=100 4190 ID$=STR$(AA%):ASS$=ID$:ID$=RIGHT$(ID$,3)+" ":AFLG%=1 4200 IF SCL1%=1 THEN GR$=STR$(G1#) 4210 IF SCL2%=1 THEN GR$=STR$(G2#) 4220 GR$=PADL$(GR$,8," "):GOTO 1920 4230 ID$="":COMD$="":ZF$="":TV$="":U$="":PT$="":PA$="":PL$="":CMV1$="":CMV2$="":CMV3$="":CMV4$="":CMV5$="":ITIME$="":IDATE$="" 4240 IF SCL1%=1 THEN GR$=STR$(G1#) 4250 IF SCL2%=1 THEN GR$=STR$(G2#) 4260 GR$=PADL$(GR$,8," "):T$=" 0":N$=" 0":TI$=TIME$:DA$=DATE$:GTC%=1:LP%=5 4270 IF LPC$="Y" AND LL%>0 THEN GOTO 4880 4280 IF VAL(T$)>0 THEN DISP$="NET "+N$+" "+Units$ ELSE DISP$="PROCEDE INBOUND" 4290 IF SCL1%=1 OR SCL1%=3 THEN GRE#=(G1#-1000):O1%=1:PRINT DISP$:SLEEP 2000 4300 IF SCL2%=1 THEN GRE#=(G2#-1000):O3%=1:PRINT DISP$:SLEEP 2000 4310 DISP$="EXIT SCALE N0W" 4320 IF FILL1%=1 THEN FILL1%=0:O1%=0:O3%=1:O4%=1:GOSUB 690:O1%=1:O2%=1:GOTO 450 4330 IF FILL2%=1 THEN FILL2%=0:O3%=0:O1%=1:O2%=1:GOSUB 720:O4%=1:O4%=1:GOTO 450 4340 K$=UCASE$(INKEY$):DISP$="EXIT SCALE N0W":PRINT DISP$ 4350 IF SCL1%=1 AND G1#2000 THEN O2%=0:RETURN 4640 IF I2%=0 THEN O1%=0:O2%=0:RETURN 4650 DISP$=" ENTER SCALE A":PRINT DISP$ 4660 GOTO 4630 4670 IF G1#>2000 THEN O5%=0:RETURN 4680 IF I4%=0 THEN O5%=0:O6%=0:RETURN 4690 DISP$=" ENTER SCALE A":PRINT DISP$ 4700 GOTO 4670 4710 IF M1%=0 AND LL%=1 THEN O1%=0:RETURN 4720 IF M1%=0 AND LL%=3 THEN O6%=0:RETURN 4730 DISP$="SCALE IN M0TI0N":PRINT DISP$ 4740 GOTO 4710 4750 IF G2#>2000 THEN O4%=0:RETURN 4760 IF I3%=0 THEN O3%=0:O4%=0:RETURN 4770 DISP$=" ENTER SCALE B":PRINT DISP$ 4780 GOTO 4750 4790 4: 4800 IF G2#>2000 THEN O7%=0:RETURN 4810 IF I5%=0 THEN O7%=0:O8%=0:RETURN 4820 DISP$=" ENTER SCALE B":PRINT DISP$ 4830 GOTO 4790 4840 IF M2%=0 AND LL%=2 THEN O3%=0:RETURN 4850 IF M2%=0 AND LL%=4 THEN O8%=0:RETURN 4860 DISP$="SCALE IN M0TI0N":PRINT DISP$ 4870 GOTO 4840 4880 IF LL%=1 THEN DISP$="NET "+N$+" "+Units$:PRINT DISP$:SLEEP 3000 4890 IF LL%=1 THEN DISP$=" EXIT SCALE N0W":PRINT DISP$:O1%=1:GOTO 4960 4900 IF LL%=2 THEN DISP$="NET "+N$+" "+Units$:PRINT DISP$:SLEEP 3000 4910 IF LL%=2 THEN DISP$=" EXIT SCALE N0W":PRINT DISP$:O3%=1:GOTO 5020 4920 IF LL%=3 THEN DISP$="NET "+N$+" "+Units$:PRINT DISP$:SLEEP 3000 4930 IF LL%=3 THEN DISP$=" EXIT SCALE N0W":PRINT DISP$:O6%=1:GOTO 4960 4940 IF LL%=4 THEN DISP$="NET "+N$+" "+Units$:PRINT DISP$:SLEEP 3000 4950 IF LL%=4 THEN DISP$=" EXIT SCALE N0W":PRINT DISP$:O8%=1:GOTO 5020 4960 GRE#=(G1#-1000) 4970 K$=UCASE$(INKEY$) 4980 IF G1#VAL(GR$)-200 5310 PRINT DISP$ 5320 WEND 5330 GOTO 5370 5340 WHILE G2#VAL(GR$)-200 5350 PRINT DISP$ 5360 WEND 5370 K$=INKEY$ 5380 IF SCL1%=1 THEN PFILL#=G1#-VAL(GR$):FILL1%=1 5390 IF SCL2%=1 THEN PFILL#=G2#-VAL(GR$):FILL2%=1 5400 PFIL$=STR$(ABS(PFILL#)):PFIL$=PADL$(PFIL$,6," "):PRTFILL$="NET WGT"+PFIL$+" "+Units$ 5410 IF SCL1%=1 AND G1#<2000 THEN DISP$="FILLING AB0RTED!":PRINT DISP$:SLEEP 2000:GOTO 450 5420 IF SCL2%=1 AND G2#<2000 THEN DISP$="FILLING AB0RTED!":PRINT DISP$:SLEEP 2000:GOTO 450 5430 DISP$=PRTFILL$:PRINT DISP$ 5440 IF K$=CHR$(8) AND SCL1%=1 THEN SCL1%=0:OUT$=STR$(G1#):OUT$=PADL$(OUT$,8," "):GOTO 2150 5450 IF K$=CHR$(8) AND SCL2%=1 THEN SCL2%=0:OUT$=STR$(G2#):OUT$=PADL$(OUT$,8," "):GOTO 2150 5460 GOTO 5370 5470 BADGE$="" 5480 OPEN "COM1: TRM13 EVENT" FOR INPUT AS #5 5490 ON EVENT #5 GOSUB 1720 5500 FLUSH #5:INPUT #5, SWP$ 5510 RETURN 5520 If Len(X$)<>0 then goto 5570 5530 Print "Invalid Command": Sleep 500 5540 Print #6, CHR$(21) 5550 Flush #6: X$="": Input #6, X$; 5560 RA$="": Return 5570 If Left$(X$,1)=CHR$(5) then goto 5640 5580 If Left$(X$,1)=CHR$(4) then goto 5670 5590 If Left$(X$,1)<>CHR$(1) then goto 5540 5600 RA$=Mid$(X$,2,1): If RA$="3" then goto 5620 5610 Print #6, CHR$(6) 5620 Flush #6: X$="": Input #6, X$; 5630 Return 5640 Print "Host_LOG_ON...": Sleep 500 5650 Print #6, CHR$(6) 5660 goto 5540 5670 Print "Host_LOG_OFF...": Sleep 500 5680 Print #6, CHR$(6) 5690 goto 5540