DEFSHR KEYSOR%,BAS10:KEYSOR%=3:DEFSHR SELECT%,BAS87:SELECT%=0:DEFSHR MSTOP%,BAS89:MSTOP%=0:DEFSHR NUML%,S_60B:NUML%=1 SUPERV: OPEN "SETUP.DAT" FOR RANDOM AS #1 LEN = 52 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$ GET #1,1 ILEN$=SIL$:OLEN$=SOL$:QLEN$=SQL$:PLEN$=SPL$:CLEN$=SCL$:SCLT$=SSCLT$:LPC$=SLPC$:HOST$=SH$:IP$=SIP$:PORT$=SPORT$:CLOSE #1 OPEN "PROMPT.DAT" FOR RANDOM AS #2 LEN = 82 FIELD #2,16 AS SPMT1$,16 AS SPMT2$,16 AS SPMT3$,16 AS SPMT4$,16 AS SPMT5$,2 AS LFCR$ GET #2,1 PMT1$=SPMT1$:PMT2$=SPMT2$:PMT3$=SPMT3$:PMT4$=SPMT4$:PMT5$=SPMT5$ CLOSE #2 ON ERROR GOSUB ERROR:TRM$=CHR$(13)+CHR$(10):ESP$=" ":SSP$=" ":TSP$=" ":DEFSHR G1#,WT110:DEFSHR G2#,WT210 ILEN#=VAL(ILEN$):OLEN#=VAL(OLEN$):PLEN#=VAL(PLEN$):CLEN#=VAL(CLEN$):QLEN#=VAL(QLEN$):KEYSOR%=3 INITMENU: S$="N":INPUT "^INIT TABLES? ^N,Y",S$ IF S$="N" THEN GOTO CLEARACCUM V$="N":S$="N":INPUT "^INIT INBOUND? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB INITINBOUND V$="N":S$="N":INPUT "^INIT QUICK? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB INITQUICK V$="N":S$="N":INPUT "^INIT OUTBOUND? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB INITOUTBOUND V$="N":S$="N":INPUT "^INIT PERM? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB INITPERM V$="N":S$="N":INPUT "^INIT COMODITY? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB INITCOMOD V$="N":S$="N":INPUT "^INIT BADGE? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB INITBADGE GOTO INITMENU CLEARREPORTS: S$="N":INPUT "^CLEAR REPORTS? ^N,Y",S$ IF S$="N" THEN GOTO CLEARACCUM S$="N":V$="N":INPUT "^CLEAR INBOUND? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB CLRTEMPRPT S$="N":V$="N":INPUT "^CLEAR TRANS? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB CLRTRANSRPT S$="N":V$="N":INPUT "^CLEAR PERM? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB CLEARPERMACC S$="N":V$="N":INPUT "^CLEAR COMMOD? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB CLEARCOMODACC CLEARACCUM: S$="N":INPUT "^CLEAR ACCUMS? ^N,Y",S$ IF S$="N" THEN GOTO DELRECORDMENU S$="N":V$="N":INPUT "^CLEAR PERM? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB CLEARPERMACC S$="N":V$="N":INPUT "^CLEAR COMMOD? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB CLEARCOMODACC S$="N":V$="N":INPUT "^CLEAR SCALE? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN S1$=" 00":S2$=" 00":PRINT "Clearing...":SLEEP 3000 GOTO CLEARACCUM DELRECORDMENU: S$="N":INPUT "^DELETE RECORD? ^N,Y",S$ IF S$="N" THEN GOTO PERMMENU S$="N":V$="N":INPUT "^DELETE INBOUND?^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB DELINREC S$="N":V$="N":INPUT "^DELETE QUICK? ^N,Y",S$ IF S$="Y" THEN V$="N":GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB DELQUICKREC GOTO DELRECORDMENU PERMMENU: S$="N":INPUT "^PERMANENT? ^N,Y",S$ IF S$="N" THEN GOTO COMODMENU S$="N":INPUT "^ADD PERMNENT? ^N,Y",S$ IF S$="Y" THEN GOSUB ADDPERMID S$="N":INPUT "^EDIT TARE WT? ^N,Y",S$ IF S$="Y" THEN GOSUB EDITPERMTARE S$="N":INPUT "^DEL PERMNENT? ^N,Y",S$ IF S$="Y" THEN GOSUB DELPERMREC COMODMENU: S$="N":INPUT "^COMMODITIES? ^N,Y",S$ IF S$="N" THEN GOTO BADGEMENU INPUT "^ENABLE COMOD? ^N,Y",COMDTY$ IF COMDTY$="N" THEN GOTO BADGEMENU S$="N":INPUT "^NEW COMMOD? ^N,Y",S$ IF S$="Y" THEN GOSUB ADDCOMODNAME S$="N":INPUT "^EDIT FACTORS? ^N,Y",S$ IF S$="Y" THEN GOSUB EDITCOMOD S$="N":INPUT "^DEL COMMOD? ^N,Y",S$ IF S$="Y" THEN GOSUB DELCOMODNAME S$="N":INPUT "^SORT COMMOD? ^N,Y",S$ IF S$="Y" THEN GOSUB SORTCOMOD REM +++++++++++++++++++++++++++++++++++++++++++++++++++++ BADGEMENU: S$="N":INPUT "^BADGE READER? ^N,Y",S$ IF S$="N" THEN GOTO COMMENTSMENU INPUT "^ENABLE READER? ^N,Y",EBDG$ IF EBDG$="N" THEN GOTO COMMENTSMENU S$="N":INPUT "^ADD BADGE? ^N,Y",S$ IF S$="Y" THEN GOSUB ADDBADGE S$="N":INPUT "^DELETE BADGE? ^N,Y",S$ IF S$="Y" THEN GOSUB DELBADGE REM ++++++++++++++++++++++++++++++++++++++++++++++++++++++ COMMENTSMENU: S$="N":INPUT "^COMMENTS? ^N,Y",S$ IF S$="Y" THEN GOSUB ENABLECMNTS V$="N":S$="N":INPUT "^LOOP DETECTORS?^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN S$=LPC$:INPUT "^ENABLE LOOPS? ^N,Y",S$:LPC$=S$ V$="N":S$="N":INPUT "^HOST COMM? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB HOSTFORM V$="N":S$="N":INPUT "^SET TIME/DATE? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB TIMEDATE S$="N":INPUT "^SET PASSWORD? ^N,Y",S$ IF S$="Y" THEN GOSUB OPERPASSWDMENU S$="N":INPUT "^PRINT SETUP? ^N,Y",S$ IF S$="Y" THEN GOSUB PRINTSETUP V$="N":S$="N":INPUT "^RESET FACTORY? ^N,Y",S$ IF S$="Y" THEN GOSUB CLEARVERIFY IF V$="Y" THEN GOSUB ResetFact S$="N":INPUT "^EXIT SETUP? ^N,Y",S$ IF S$="N" THEN GOTO SUPERV ELSE GOSUB STORESETUP:PRINT " EXITING SETUP!" CHAIN "FILE1.BAS" CLEARVERIFY: S$="N":INPUT "^ARE YOU SURE? ^N,Y",V$:RETURN CHECKENTRY: VAL%=0 IF LEN(NVAL$) > 5 THEN VAL%=1 FOR K% = 1 TO LEN(NVAL$) K$=MID$(NVAL$,K%,1) IF ASC(K$)<46 OR ASC(K$)>57 OR ASC(K$)=47 THEN VAL%=1 NEXT K% RETURN INITINBOUND: INPUT "Enter Table Size",ILEN$:LEN$=ILEN$:GOSUB TABLEERROR:GOSUB AVAILMEMORY:PRINT "FREE MEMORY ";MEM$:SLEEP 1000 IF BAD%=1 THEN PRINT DISP$:SLEEP 2000:GOTO INITINBOUND KILL "INBOUND.DAT":ASS$="0":PRINT "Initializing... " OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ FOR I%=1 TO ILEN# LSET REC_ID$=ESP$:RSET IN_WT$=ESP$:RSET IN_T$=ESP$:RSET IN_D$=SPACE$(10):LSET LFCR$=TRM$:PUT #1,I% NEXT I% CLOSE #1:ILEN$=PADL$(ILEN$,5," "):ILEN$=RIGHT$(ILEN$,5):RETURN INITOUTBOUND: INPUT "Enter Table Size",OLEN$:LEN$=OLEN$:GOSUB TABLEERROR:GOSUB AVAILMEMORY:PRINT "FREE MEMORY ";MEM$:SLEEP 1000 IF BAD%=1 THEN PRINT DISP$:SLEEP 2000:GOTO INITOUTBOUND KILL "OUTBOUND.DAT":PRINT "Initializing... " OPEN "OUTBOUND.DAT" FOR RANDOM AS #2 LEN = 77 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$ FOR I%=1 TO OLEN# LSET A$=ESP$:RSET B$=ESP$:RSET C$=ESP$:RSET D$=ESP$:LSET E$=SPACE$(16):RSET F$=ESP$:LSET G$=SPACE$(19):LSET H$=TRM$:PUT #2,I% NEXT I% CLOSE #2:OLEN$=PADL$(OLEN$,5," "):OLEN$=RIGHT$(OLEN$,5):RETURN INITQUICK: INPUT "Enter Table Size",QLEN$:LEN$=QLEN$:GOSUB TABLEERROR:GOSUB AVAILMEMORY:PRINT "FREE MEMORY ";MEM$:SLEEP 1000 IF BAD%=1 THEN PRINT DISP$:SLEEP 2000:GOTO INITQUICK KILL "QUICK.DAT":PRINT "Initializing... " OPEN "QUICK.DAT" FOR RANDOM AS #1 LEN = 13 FIELD #1, 3 AS QID$, 8 AS QTR$, 2 AS LFCR$ FOR I% = 1 TO QLEN# LSET QID$=TSP$:RSET QTR$=ESP$:LSET LFCR$=TRM$:PUT #1, I% NEXT I% CLOSE #1:QLEN$=PADL$(QLEN$,5," "):QLEN$=RIGHT$(QLEN$,5):RETURN INITPERM: INPUT "Enter Table Size",PLEN$:LEN$=PLEN$:GOSUB TABLEERROR:GOSUB AVAILMEMORY:PRINT "FREE MEMORY ";MEM$:SLEEP 1000 IF BAD%=1 THEN PRINT DISP$:SLEEP 2000:GOTO INITPERM KILL "PERM.DAT":PRINT "Initializing... " OPEN "PERM.DAT" FOR RANDOM AS #2 LEN = 29 FIELD #2,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ FOR I%=1 TO PLEN# LSET PID$=ESP$:RSET PTWT$=ESP$:RSET ACC$=ESP$:RSET PLD$=TSP$:LSET LFCR$=TRM$:PUT #2,I% NEXT I% CLOSE #2:PLEN$=PADL$(PLEN$,5," "):PLEN$=RIGHT$(PLEN$,5):RETURN INITCOMOD: INPUT "Enter Table Size",CLEN$:LEN$=CLEN$:GOSUB TABLEERROR:GOSUB AVAILMEMORY:PRINT "FREE MEMORY ";MEM$:SLEEP 1000 IF BAD%=1 THEN PRINT DISP$:SLEEP 2000:GOTO INITCOMOD KILL "COMOD.DAT":PRINT "Initializing... " OPEN "COMOD.DAT" FOR RANDOM AS #3 LEN = 46 FIELD #3,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ LSET CA$="NONE ":RSET CB$=" 1":RSET CC$=SPACE$(11):RSET CD$=TSP$:LSET CE$=SSP$:LSET LFCR$=TRM$:PUT #3, 1 FOR I% = 2 TO CLEN# LSET CA$=SPACE$(16):RSET CB$=ESP$:RSET CC$=SPACE$(11):RSET CD$=TSP$:LSET CE$=SSP$:LSET LFCR$=TRM$:PUT #3, I% NEXT I% CLOSE #3:CLEN$=PADL$(CLEN$,5," "):CLEN$=RIGHT$(CLEN$,5):RETURN INITBADGE: KILL "BADGE.DAT":PRINT "Initializing... " OPEN "BADGE.DAT" FOR RANDOM AS #1 LEN=46 FIELD #1,20 AS BDG$,8 AS BID$,16 AS BDGNM$,2 AS LFCR$ FOR I%=1 TO 100 LSET BID$=ESP$:RSET BDG$=SPACE$(20):LSET LFCR$=TRM$:PUT #1,I% NEXT I% CLOSE #1:RETURN TABLEERROR: BAD%=0 FOR L%=1 TO LEN(LEN$) IF MID$(LEN$,L%,1)CHR$(57) THEN BAD%=1 NEXT L% IF BAD%=1 THEN DISP$=" Re-Enter Size":RETURN AVAILMEMORY: PLEN#=VAL(PLEN$):PMEM#=PLEN#*29:ILEN#=VAL(ILEN$):IMEM#=ILEN#*36:OLEN#=VAL(OLEN$):OMEM#=OLEN#*77:CLEN#=VAL(CLEN$):CMEM#=CLEN#*43 QLEN#=VAL(QLEN$):QMEM#=QLEN#*13:MEMTOT#=PMEM#+IMEM#+OMEM#+CMEM#+QMEM# IF MEMTOT#>50000 THEN DISP$="Tables Too Large":BAD%=1:RETURN FREEM#=(50000 - MEMTOT#)/500:FREEM#=CINT(FREEM#):FM$=STR$(FREEM#):MEM$=FM$+"%":RETURN CLRTEMPRPT: OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ PRINT "Clearing..." FOR I%=1 TO ILEN# LSET REC_ID$=ESP$:RSET IN_WT$=ESP$:RSET IN_T$=ESP$:RSET IN_D$=SPACE$(10):LSET LFCR$=TRM$:PUT #1,I% NEXT I% CLOSE #1 OPEN "quick" FOR RANDOM AS #2 LEN=13 FIELD #2, 3 AS QID$, 8 AS QTR$, 2 AS LFCR$ FOR I% = 1 TO QLEN# LSET QID$=TSP$:RSET QTR$=ESP$:LSET LFCR$=TRM$ PUT #2,I% NEXT I% CLOSE #2:RETURN CLRTRANSRPT: OPEN "OUTBOUND.DAT" FOR RANDOM AS #2 LEN = 77 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$ PRINT "Clearing... " FOR I%=1 TO OLEN# LSET A$=ESP$:RSET B$=ESP$:RSET C$=ESP$:RSET D$=ESP$:LSET E$=SPACE$(16):RSET F$=ESP$:LSET G$=SPACE$(19):LSET H$=TRM$ PUT #2,I% NEXT I% CLOSE #2:RETURN CLEARPERMACC: OPEN "PERM.DAT" FOR RANDOM AS #2 LEN = 29 FIELD #2,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ IF RSTF%<>1 THEN PRINT "Clearing..." FOR I% = 1 TO PLEN# GET #2, I% IF PID$<>" " THEN RSET ACC$=" 0":RSET PLD$=" 0" PUT #2,I% NEXT I% CLOSE #2:RETURN CLEARCOMODACC: OPEN "COMOD.DAT" FOR RANDOM AS #3 LEN = 46 FIELD #3,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ IF RSTF%<>1 THEN PRINT "Clearing..." FOR I% = 1 TO CLEN# GET #3, I% IF CA$<>" " THEN RSET CC$=" 0":RSET CD$=" 0" PUT #3, I% NEXT I% CLOSE #3:SLEEP 1000:RETURN DELINREC: INPUT " ENTER ID",ID$ IF LEN(ID$) < 1 OR LEN(ID$) > 8 THEN PRINT " Invalid ID":SLEEP 2000:RETURN ID$=PADR$(ID$,8," "):F%=0:PRINT "Searching..." OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ FOR I%=1 TO ILEN# GET #1, I% IF REC_ID$ = ID$ THEN F%=1:J%=I%:I%=ILEN# NEXT I% IF F%=1 THEN LSET REC_ID$=ESP$:RSET IN_WT$=ESP$:RSET IN_T$=ESP$:RSET IN_D$=SPACE$(10):PUT #1, J%:PRINT " Record deleted":SLEEP 1500:CLOSE #1 IF F%=0 THEN PRINT "Record not found":SLEEP 1500:CLOSE #1 S$="N":INPUT "^DELETE MORE? ^N,Y",S$ IF S$="Y" THEN GOTO DELINREC ELSE RETURN DELQUICKREC: INPUT " ENTER ID",ID$ IF LEN(ID$) < 1 OR LEN(ID$) > 3 THEN PRINT "Invalid ID":SLEEP 2000:RETURN ID$=PADR$(ID$,3," "):F%=0:PRINT "Searching..." OPEN "QUICK.DAT" FOR RANDOM AS #1 LEN = 13 FIELD #1, 3 AS QID$, 8 AS QTR$, 2 AS LFCR$ FOR I% = 1 TO QLEN# GET #1, I% IF QID$ = ID$ THEN F%=1:J%=I%:I%=QLEN# NEXT I% IF F%=1 THEN LSET QID$=ESP$:RSET QTR$=SSP$:PUT #1,J%:CLOSE #1:PRINT "Record Deleted":SLEEP 2000 IF F%=0 THEN PRINT "Record Not Found":SLEEP 2000:CLOSE #1 S$="N":INPUT "^DELETE MORE? ^N,Y",S$ IF S$="Y" THEN GOTO DELQUICKREC ELSE RETURN ADDPERMID: INPUT " ENTER ID",ID$ IF LEN(ID$) < 1 OR LEN(ID$) > 8 OR ASC(ID$)<65 OR ASC(ID$)>90 THEN PRINT "Invalid ID":SLEEP 2000:GOTO ADDPERMID ID$=PADR$(ID$,8," "):F%=0:PRINT "Searching..." OPEN "PERM.DAT" FOR RANDOM AS #1 LEN=29 FIELD #1,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ FOR I% = 1 TO PLEN# GET #1, I% IF PID$ = ID$ THEN F%=1:I%=PLEN# NEXT I% IF F%=1 THEN PRINT " ID Exist":CLOSE #1:SLEEP 2000:GOTO ADDPERMID F%=0 FOR I% = 1 TO PLEN# GET #1, I% IF PID$ = ESP$ THEN F% = 1:J%=I%:I%=PLEN# NEXT I% IF F% = 1 THEN GOTO ENTERPERMTARE ELSE PRINT " Table Full":SLEEP 3000:CLOSE #1:RETURN ENTERPERMTARE: S$="N" IF G1#>2000 THEN INPUT "^TARE ON SCL A? ^N,Y",S$ IF S$="Y" THEN TWT$=STR$(G1#):TWT$=LTRIM$(TWT$):GOTO CHECKTARE S$="N" IF G2#>2000 THEN INPUT "^TARE ON SCL B? ^N,Y",S$ IF S$="Y" THEN TWT$=STR$(G2#):TWT$=LTRIM$(TWT$):GOTO CHECKTARE INPUT " ENTER TARE WT",TWT$ CHECKTARE: VAL%=0 IF LEN(TWT$) < 1 OR LEN(TWT$) > 8 THEN VAL%=1 FOR K% = 1 TO LEN(TWT$) K$=MID$(TWT$,K%,1): IF ASC(K$)<46 OR ASC(K$)>57 OR ASC(K$)=47 THEN VAL%=1 NEXT K% IF VAL%=1 THEN PRINT "Invalid Tare WT":SLEEP 2000:GOTO ENTERPERMTARE TWT$=PADL$(TWT$,8," "):RSET PID$ = ID$:RSET ACC$ = " 0":RSET PLD$ = " 0":RSET PTWT$=TWT$:PUT #1,J%:CLOSE #1 S$="N":INPUT "^ADD MORE? ^N,Y",S$ IF S$="Y" THEN GOTO ADDPERMID ELSE RETURN EDITPERMTARE: INPUT " ENTER ID",ID$ IF LEN(ID$) < 1 OR LEN(ID$) > 8 THEN PRINT " Invalid Name":SLEEP 2000:GOTO EDITMORE ID$=PADR$(ID$,8," ") OPEN "PERM.DAT" FOR RANDOM AS #3 LEN=29 FIELD #3,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ F%=0:PRINT "Searching..." FOR I% = 1 TO PLEN# GET #3, I%: IF ID$=PID$ THEN F%=1:J%=I%:I%=PLEN# NEXT I% IF F%=0 THEN PRINT " Does not exist":SLEEP 2000:CLOSE #3:GOTO EDITMORE INPUT " ENTER TARE WT",NPTWT$ VAL%=0 IF LEN(NPTWT$) < 1 OR LEN(NPTWT$) > 8 THEN PRINT " Invalid Tare":SLEEP 2000:VAL%=1 FOR K% = 1 TO LEN(NPTWT$) K$=MID$(NPTWT$,K%,1): IF ASC(K$)<46 OR ASC(K$)>57 OR ASC(K$)=47 THEN VAL%=1 NEXT K% IF VAL%=1 THEN PRINT "Invalid Tare WT":SLEEP 2000:CLOSE #3:GOTO EDITMORE NPTWT$=PADL$(NPTWT$,8," "):LSET PTWT$=NPTWT$:PUT #3,J%:CLOSE #3 EDITMORE: S$="N":INPUT "^EDIT MORE? ^N,Y",S$ IF S$="Y" THEN GOTO EDITPERMTARE ELSE RETURN DELPERMREC: INPUT " ENTER ID",ID$ IF LEN(ID$) < 1 OR LEN(ID$) > 8 OR ASC(ID$)<65 OR ASC(ID$)>90 THEN PRINT "Invalid ID":SLEEP 2000:RETURN ID$=PADR$(ID$,8," "):F%=0:PRINT "Searching..." OPEN "PERM.DAT" FOR RANDOM AS #1 LEN=29 FIELD #1,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ FOR I% = 1 TO PLEN# GET #1, I%: IF PID$ = ID$ THEN F%=1:J%=I%:I%=PLEN# NEXT I% IF F%=1 THEN LSET PID$=ESP$:RSET PTWT$=SSP$:RSET ACC$=ESP$:RSET PLD$=TSP$:PUT #1,J%:CLOSE #1:PRINT "Record Deleted":SLEEP 2000 IF F%=0 THEN PRINT "Record Not Found":SLEEP 2000:CLOSE #1 S$="N":INPUT "^DELETE MORE? ^N,Y",S$ IF S$="Y" THEN GOTO DELPERMREC ELSE RETURN OPERPASSWDMENU: S$="N":INPUT "^OPERATOR? ^N,Y",S$ IF S$="N" THEN GOTO SUPERPASSWDMENU INPUT " NEW PASSWORD",EPW$ INPUT "CONFIRM PASSWORD",CPW$ IF EPW$<>CPW$ THEN PRINT "INVALID PASSWORD":SLEEP 2000:GOTO OPERPASSWDMENU IF LEN(EPW$)>8 THEN PRINT "INVALID PASSWORD":SLEEP 2000:GOTO OPERPASSWDMENU OPASS$=EPW$:S$="N" SUPERPASSWDMENU: S$="N":INPUT "^SUPERVISOR? ^N,Y",S$ IF S$="N" THEN RETURN INPUT " NEW PASSWORD",EPW$ INPUT "CONFIRM PASSWORD",CPW$ IF EPW$<>CPW$ THEN PRINT "INVALID PASSWORD":SLEEP 2000:GOTO SUPERPASSWDMENU IF LEN(EPW$)>8 THEN PRINT "INVALID PASSWORD":SLEEP 2000:GOTO SUPERPASSWDMENU SPASS$=EPW$:S$="N":RETURN ENABLECMNTS: INPUT "^ENABLE COMNTS? ^N,Y",CMNT$ IF CMNT$="N" THEN RETURN INPUT "ENTER QTY 1 TO 5",CQ$:PMT1$="":PMT2$="":PMT3$="":PMT4$="":PMT5$="" IF ASC(CQ$)<49 OR ASC(CQ$)>53 OR LEN(CQ$)<>1 THEN PRINT " Invalid Qty":SLEEP 1000:GOTO ENABLECMNTS INPUT "ENTER 1st PROMPT",PMT1$:PMT1$=PADR$(PMT1$,16," "):PMT1$=RIGHT$(PMT1$,16) IF VAL(CQ$)>1 THEN INPUT "ENTER 2nd PROMPT",PMT2$:PMT2$=PADR$(PMT2$,16," "):PMT2$=RIGHT$(PMT2$,16) IF VAL(CQ$)>2 THEN INPUT "ENTER 3rd PROMPT",PMT3$:PMT3$=PADR$(PMT3$,16," "):PMT3$=RIGHT$(PMT3$,16) IF VAL(CQ$)>3 THEN INPUT "ENTER 4th PROMPT",PMT4$:PMT4$=PADR$(PMT4$,16," "):PMT4$=RIGHT$(PMT4$,16) IF VAL(CQ$)>4 THEN INPUT "ENTER 5th PROMPT",PMT5$:PMT5$=PADR$(PMT5$,16," "):PMT5$=RIGHT$(PMT5$,16) OPEN "PROMPT.DAT" FOR RANDOM AS #2 LEN = 82 FIELD #2,16 AS SPMT1$,16 AS SPMT2$,16 AS SPMT3$,16 AS SPMT4$,16 AS SPMT5$,2 AS LFCR$ LSET SPMT1$=PMT1$:LSET SPMT2$=PMT2$:LSET SPMT3$=PMT3$:LSET SPMT4$=PMT4$:LSET SPMT5$=PMT5$:LSET LFCR$=TRM$ PUT #2,1:CLOSE #2 RETURN ADDCOMODNAME: INPUT " ENTER NAME",CMDNAME$:CMDNAME$=UCASE$(CMDNAME$) IF LEN(CMDNAME$) < 1 OR LEN(CMDNAME$) > 16 THEN PRINT " Invalid Name":SLEEP 2000:RETURN CMDNAME$=PADR$(CMDNAME$,16," ") OPEN "COMOD.DAT" FOR RANDOM AS #1 LEN = 46 FIELD #1,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ F%=0 FOR I% = 1 TO CLEN# GET #1, I%: PRINT "Searching..." IF CA$ = CMDNAME$ THEN F%=1:I%=CLEN# NEXT I% IF F%=1 THEN PRINT "Commodity exists":CLOSE #1:SLEEP 2000:GOTO ADDCOMODNAME FOR I% = 1 TO CLEN# GET #1,I%: IF CA$ = " " THEN F% = 1:J%=I%:I%=CLEN# NEXT I% IF F% = 0 THEN PRINT " Table Full":SLEEP 3000:CLOSE #1:RETURN LSET CA$ = CMDNAME$ ENTERCOMODFACT: INPUT " ENTER FACTOR",CFACT$ IF LEN(CFACT$) < 1 OR LEN(CFACT$) > 8 THEN PRINT " Invalid factor":SLEEP 2000:GOTO ENTERCOMODFACT VAL%=0 FOR K% = 1 TO LEN(CFACT$) K$=MID$(CFACT$,K%,1): IF ASC(K$)<46 OR ASC(K$)>57 OR ASC(K$)=47 THEN VAL%=1 NEXT K% IF VAL%=1 THEN PRINT " Invalid Factor":SLEEP 2000:GOTO ENTERCOMODFACT RSET CB$=CFACT$ ENTERCOMODUNITS: INPUT " ENTER UNITS",UNIT$ IF LEN(UNIT$) < 1 OR LEN(UNIT$) > 6 THEN PRINT " Invalid Units":SLEEP 2000:GOTO ENTERCOMODUNITS LSET CE$=UNIT$ PUT #1,J%:CLOSE #1 S$="N":INPUT "^ENTER ANOTHER? ^N,Y",S$ IF S$="Y" THEN GOTO ADDCOMODNAME RETURN EDITCOMOD: INPUT " ENTER NAME",CMDNAME$:CMDNAME$=UCASE$(CMDNAME$) IF LEN(CMDNAME$) < 1 OR LEN(CMDNAME$) > 16 THEN PRINT " Invalid Name":SLEEP 2000:GOTO EDITCOMOD CMDNAME$=PADR$(CMDNAME$,16," ") OPEN "COMOD.DAT" FOR RANDOM AS #3 LEN = 46 FIELD #3,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ F%=0 FOR I% = 1 TO CLEN# GET #3, I%: PRINT "Searching..." IF CA$ = CMDNAME$ THEN F%=1:J% = I%: I%=CLEN# NEXT I% ENTERNEWFACTOR: IF F%=0 THEN PRINT " Does not exist":SLEEP 2000:CLOSE #3:GOTO EDITCOMOD IF F%=1 THEN INPUT "ENTER NEW FACTOR",CFACT$ IF VAL(CFACT$) < 0 THEN PRINT "Invalid Factor":SLEEP 2000:GOTO ENTERNEWFACTOR VAL%=0 FOR K% = 1 TO LEN(CFACT$) K$=MID$(CFACT$,K%,1) IF ASC(K$)<46 OR ASC(K$)>57 OR ASC(K$)=47 THEN VAL%=1 NEXT K% IF VAL%=1 THEN PRINT " Invalid Factor":SLEEP 2000:GOTO ENTERNEWFACTOR RSET CB$=CFACT$:PUT #3,J%:CLOSE #3 S$="N":INPUT "^EDIT ANOTHER? ^N,Y",S$ IF S$="Y" THEN GOTO EDITCOMOD RETURN DELCOMODNAME: INPUT " ENTER NAME",CMDNAME$:CMDNAME$=UCASE$(CMDNAME$) IF LEN(CMDNAME$) < 1 OR LEN(CMDNAME$) > 16 THEN PRINT " Invalid Name":SLEEP 2000:GOTO DELCOMODNAME CMDNAME$=PADR$(CMDNAME$,16," ") OPEN "COMOD.DAT" FOR RANDOM AS #3 LEN = 46 FIELD #3,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ F%=0 FOR I% = 1 TO CLEN# GET #3, I%: PRINT "Searching..." IF CA$ = CMDNAME$ THEN F%=1:J% = I%: I%=CLEN# NEXT I% IF F%=0 THEN PRINT " Does not exist":SLEEP 2000:CLOSE #3:GOTO DELCOMODNAME LSET CA$=SPACE$(16):RSET CB$=ESP$:RSET CC$=SPACE$(11):RSET CD$=TSP$:LSET CE$=ESP$:LSET LFCR$=TRM$ PRINT " Deleted":SLEEP 1000:PUT #3,J%:CLOSE #3 S$="N":INPUT "^DELETE ANOTHER?^N,Y",S$ IF S$="Y" THEN GOTO DELCOMODNAME RETURN SORTCOMOD: OPEN "COMOD.DAT" FOR RANDOM AS #1 LEN = 46 FIELD #1,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ INDEXED #1,CA$:PRINT "Sorting...":SORTREC #1,CA$:CLOSE #1:RETURN ENTERQUICKID: INPUT " ENTER ID",ID$ IF LEN(ID$) < 1 OR LEN(ID$) > 3 THEN PRINT " Invalid ID":SLEEP 2000:GOTO ENTERQUICKID ID$=PADR$(ID$,3," ") OPEN "QUICK.DAT" FOR RANDOM AS #1 LEN = 13 FIELD #1, 3 AS QID$,8 AS QTR$,2 AS LFCR$ F%=0 FOR I% = 1 TO QLEN# GET #1, I%: PRINT "Searching..." IF QID$ = ID$ THEN F%=1: J%=I%:I%=QLEN# NEXT I% IF F%=0 THEN PRINT "Record not found":SLEEP 2000:CLOSE #1:RETURN LSET QID$=TSP$:RSET QTR$=ESP$:CLOSE #1 PRINT " Record deleted":SLEEP 2000:RETURN REM +++++++++++++++++++++++++++++++++++++++++++++++++++++ ADDBADGE: BADGE$="" PRINT " SWIPE CARD" OPEN "COM1: TMO10000 TRM13" FOR INPUT AS #5 FLUSH #5:INPUT #5,SWP$ BADGE$=LTRIM$(SWP$):BADGE$=RTRIM$(BADGE$):CLOSE #5 IF BADGE$="" THEN PRINT "INVALID BADGE":SLEEP 2000:GOTO ADDMOREBADGE BADGE$=LEFT$(BADGE$,LEN(BADGE$)-1):BADGE$=PADR$(BADGE$,20," ") F%=0:PRINT "Searching..." OPEN "BADGE.DAT" FOR RANDOM AS #1 LEN=46 FIELD #1,20 AS BDG$,8 AS BID$,16 AS BDGNM$,2 AS LFCR$ FOR I% = 1 TO 100 GET #1, I%: IF BADGE$ = BDG$ THEN F%=1:I%=100 NEXT I% IF F%=1 THEN PRINT " BADGE EXIST":CLOSE #1:SLEEP 2000:GOTO ADDMOREBADGE BADGEID: INPUT " ENTER ID",ID$:ID$=UCASE$(ID$) IF LEN(ID$) < 1 OR LEN(ID$) > 8 OR ASC(ID$)<48 OR ASC(ID$)>122 THEN PRINT "Invalid ID":SLEEP 2000:GOTO BADGEID ID$=PADR$(ID$,8," "):F%=0:PRINT "Searching..." FOR I% = 1 TO 100 GET #1, I% IF BID$ = ID$ THEN F%=1:I%=100 NEXT I% IF F%=1 THEN PRINT " ID EXIST":SLEEP 2000:GOTO BADGEID F%=0 FOR I% = 1 TO 100 GET #1, I% IF BID$ = ESP$ THEN F% = 1:J%=I%:I%=100 NEXT I% IF F% = 1 THEN GOTO ENTERBDGNAME ELSE PRINT " Table Full":SLEEP 3000:CLOSE #1:RETURN ENTERBDGNAME: INPUT "ENTER USER NAME",BDGNAME$:BDGNAME$=UCASE$(BDGNAME$) IF LEN(BDGNAME$) < 1 OR LEN(BDGNAME$) > 16 THEN PRINT " Invalid Name":SLEEP 2000:GOTO ENTERBDGNAME BDGNAME$=PADR$(BDGNAME$,16," ") ENTERBADGE: RSET BDG$=BADGE$:RSET BID$=ID$:RSET BDGNM$=BDGNAME$:PUT #1,J%:CLOSE #1 ADDMOREBADGE: S$="N":INPUT "^ADD MORE? ^N,Y",S$ IF S$="Y" THEN GOTO ADDBADGE ELSE RETURN DELBADGE: INPUT " ENTER ID",ID$:ID$=UCASE$(ID$) IF LEN(ID$) < 1 OR LEN(ID$) > 8 OR ASC(ID$)<48 OR ASC(ID$)>122 THEN PRINT "Invalid ID":SLEEP 2000:GOTO DELBADGE ID$=PADR$(ID$,8," "):F%=0:PRINT "Searching..." OPEN "BADGE.DAT" FOR RANDOM AS #1 LEN=46 FIELD #1,20 AS BDG$,8 AS BID$,16 AS BDGNM$,2 AS LFCR$ FOR I% = 1 TO 100 GET #1, I% IF BID$ = ID$ THEN F%=1:J%=I%:I%=100 NEXT I% IF F%=1 THEN LSET BID$=ESP$:RSET BDG$=SPACE$(20):LSET BDGNM$=SPACE$(16):PUT #1,J%:CLOSE #1:PRINT "BADGE DELETED":SLEEP 2000 IF F%=0 THEN PRINT "BADGE NOT FOUND":SLEEP 2000:CLOSE #1 S$="N":INPUT "^DELETE MORE? ^N,Y",S$ IF S$="Y" THEN GOTO DELBADGE ELSE RETURN REM +++++++++++++++++++++++++++++++++++++++++++++++++++++ TIMEDATE: VAL%=0 INPUT "HOUR? ",HR$:HR$=RIGHT$(HR$,2):INPUT "MINUTES? ",MN$:MN$=RIGHT$(MN$,2):INPUT "SECONDS? ",SC$:SC$=RIGHT$(SC$,2) INPUT "DAY? ",DY$:DY$=RIGHT$(DY$,2):INPUT "MONTH? ",MO$:MO$=RIGHT$(MO$,2):INPUT "YEAR? ",YR$:YR$=RIGHT$(YR$,2):YR$="20"+YR$ IF VAL(HR$)>23 OR VAL(HR$)<0 OR VAL(MN$)>59 OR VAL(MN$)<0 OR VAL(SC$)>59 OR VAL(SC$)<0 THEN VAL%=1 IF VAL(MO$)>12 OR VAL(MO$)<1 OR VAL(DY$)>31 OR VAL(DY$)<1 OR VAL(YR$)>2099 OR VAL(YR$)<2000 THEN VAL%=1 IF VAL(YR$) MOD 4=0 THEN LPY%=1 ELSE LPY%=0 IF LYP%=1 AND VAL(DY$)>29 AND VAL(MO$)=2 THEN VAL%=1 IF LYP%=0 AND VAL(DY$)>28 AND VAL(MO$)=2 THEN VAL%=1 IF (VAL(MO$)=4 OR VAL(MO$)=6 OR VAL(MO$)=9 OR VAL(MO$)=11) AND VAL(DY$)>30 THEN VAL%=1 IF VAL%=1 THEN PRINT " INVALID ENTRY!":SLEEP 2000:GOTO TIMEDATE NEWT$=HR$+":"+MN$+":"+SC$:NEWD$=MO$+"-"+DY$+"-"+YR$:TIME$=NEWT$:DATE$=NEWD$:RETURN PRINTSETUP: GOSUB AVAILMEMORY OPEN "com2:tmo5000" FOR OUTPUT AS #4:FLUSH #4 PRINT #4,"METTLER-TOLEDO SOFTWARE VSX REV. 4.0.0"+TRM$; PRINT #4,"========================================"+TRM$ PRINT #4,"INBOUND TABLE SIZE "+ILEN$+TRM$; PRINT #4,"QUICK TABLE SIZE "+QLEN$+TRM$; PRINT #4,"OUTBOUND TABLE SIZE "+OLEN$+TRM$; PRINT #4,"PERMANENT TABLE SIZE"+PLEN$+TRM$; PRINT #4,"COMMODITY TABLE SIZE"+CLEN$+TRM$; PRINT #4,"AVAILABLE MEMORY "+MEM$+TRM$; PRINT #4,"COMMODITIES ENABLED "+COMDTY$+TRM$; PRINT #4,"BADGE ENABLED "+EBDG$+TRM$; PRINT #4,"COMMENTS ENABLED "+CMNT$+TRM$; PRINT #4,"NUMBER OF COMMENTS "+CQ$+TRM$; PRINT #4,"PROMPT 1 "+PMT1$+TRM$; PRINT #4,"PROMPT 2 "+PMT2$+TRM$; PRINT #4,"PROMPT 3 "+PMT3$+TRM$; PRINT #4,"PROMPT 4 "+PMT4$+TRM$; PRINT #4,"PROMPT 5 "+PMT5$+TRM$; PRINT #4,"LOOPS ENABLED "+LPC$+TRM$; PRINT #4,"HOST ENABLED "+HOST$+TRM$; PRINT #4,"HOST IP ADDRESS "+IP$+TRM$ CLOSE #4:CLOSE #1:RETURN STORESETUP: PRINT "PLEASE WAIT..." OPEN "SETUP.DAT" FOR RANDOM AS #1 LEN = 52 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$ LSET SIL$=ILEN$:LSET SOL$=OLEN$:LSET SQL$=QLEN$:LSET SPL$=PLEN$:LSET SCL$=CLEN$:LSET SSCLT$=SCLT$:LSET SLPC$=LPC$ LSET SH$=HOST$:LSET SIP$=IP$:LSET SPORT$=PORT$ PUT #1,1:CLOSE #1 RETURN ResetFact: OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ ASS$="0" FOR I%=1 TO 100 PRINT " RESETTING" RSET REC_ID$=ESP$:RSET IN_WT$=ESP$:RSET IN_T$=ESP$:RSET IN_D$=SPACE$(10):RSET LFCR$=TRM$ PUT #1,I% NEXT I% CLOSE #1:ILEN#=100:ILEN$="100" OPEN "PERM.DAT" FOR RANDOM AS #1 LEN=29 FIELD #1,8 AS PID$,8 AS PTWT$,8 AS ACC$,3 AS PLD$,2 AS LFCR$ FOR I%=1 TO 100 PRINT " TO FACTORY!" RSET PID$=ESP$:RSET PTWT$=ESP$:RSET ACC$=ESP$:RSET PLD$=TSP$:RSET LFCR$=TRM$ PUT #1,I% NEXT I% CLOSE #1:PLEN#=100:PLEN$="100" OPEN "OUTBOUND.DAT" FOR RANDOM AS #1 LEN=77 FIELD #1,8 AS A$,8 AS B$,8 AS C$,8 AS D$,16 AS E$,8 AS F$,19 AS G$,2 AS H$ FOR I%=1 TO 100 PRINT " RESETTING" RSET A$=ESP$:RSET B$=ESP$:RSET C$=ESP$:RSET D$=ESP$:RSET E$=SPACE$(16):RSET F$=ESP$:RSET G$=SPACE$(19):RSET H$=TRM$ PUT #1,I% NEXT I% CLOSE #1:OLEN#=100:OLEN$="100" OPEN "COMOD.DAT" FOR RANDOM AS #1 LEN=46 FIELD #1,16 AS CA$,8 AS CB$,11 AS CC$,3 AS CD$,6 AS CE$,2 AS LFCR$ RSET CA$="NONE ":RSET CB$=" 1":RSET CC$=SPACE$(11):RSET CD$=TSP$:RSET CE$=SSP$:RSET LFCR$=TRM$:PUT #1,1 FOR I%=2 TO 10 RSET CA$=SPACE$(16):RSET CB$=ESP$:RSET CC$=SPACE$(11):RSET CD$=TSP$:RSET CE$=SSP$:RSET LFCR$=TRM$ PUT #1,I% NEXT I% CLOSE #1:CLEN#=10:CLEN$="10" OPEN "QUICK.DAT" FOR RANDOM AS #1 LEN=13 FIELD #1, 3 AS QID$, 8 AS QTR$, 2 AS LFCR$ PRINT " TO FACTORY!" FOR I%=1 TO 100 RSET QID$=TSP$:RSET QTR$=ESP$:RSET LFCR$=TRM$ PUT #1,I% NEXT I% CLOSE #1:QLEN#=100:QLEN$="100" OPEN "BADGE.DAT" FOR RANDOM AS #1 LEN=46 FIELD #1,20 AS BDG$,8 AS BID$,16 AS BDGNM$,2 AS LFCR$ PRINT " PLEASE WAIT" FOR I%=1 TO 100 RSET BDG$=SPACE$(20):LSET BID$=ESP$:LSET BDGNM$=SPACE$(16):LSET LFCR$=TRM$:PUT #1,I% NEXT I% CLOSE #1 OPEN "SETUP.DAT" FOR RANDOM AS #1 LEN = 52 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$ LSET SIL$=" 100":LSET SOL$=" 100":LSET SQL$=" 100":LSET SPL$=" 100":LSET SCL$=" 10":LSET SSCLT$="PLAT":LSET SLPC$="N" LSET SH$=HOST$:LSET SIP$="111.111.111.111":LSET SPORT$="1920" PUT #1,1:CLOSE #1 OPEN "PROMPT.DAT" FOR RANDOM AS #1 LEN = 82 FIELD #1,16 AS SPMT1$,16 AS SPMT2$,16 AS SPMT3$,16 AS SPMT4$,16 AS SPMT5$,2 AS LFCR$ LSET SPMT1$=SPACE$(16):LSET SPMT2$=SPACE$(16):LSET SPMT3$=SPACE$(16):LSET SPMT4$=SPACE$(16):LSET SPMT5$=SPACE$(16):LSET LFCR$=TRM$ PUT #1,1:CLOSE #1 RSTF%=1:GOSUB CLEARPERMACC GOSUB CLEARCOMODACC:RSTF%=0 S1$=" 00":S2$=" 00":LPC$="N":COMDTY$="N":CMNT$="N":CQ$="0":FM$=" 68":EBDG$="N":OPASS$="":SPASS$="":RETURN HOSTFORM: INPUT "^ENABLE HOST? ^Y,N",HOST$ IF HOST$="N" THEN RETURN REM S$="N":INPUT "^CHANGE IP?^Y,N",S$ REM IF S$="Y" THEN GOSUB CHANGE_IP Print "HOST ENABLED !": Sleep 1000 RETURN CHANGE_IP: INPUT "^IP? ^",IP$:IP$=PADL$(IP$,15," "):IP$=RIGHT$(IP$,15) PRINT " IP CHANGED!":SLEEP 2000 RETURN ERROR: IF ERR()=14 THEN RETURN