REM ************************************ REM * TSC-365 * REM * * REM * Pour: Accadian Sea Plant * REM * Par: Denis Cusson * REM * Date: 9-Janv-98 * REM * * REM * Modifier le: * REM * Par: * REM * * REM * Desc: Accumaulation de NET Weight* REM * Print NET Weight et * REM * Print Total NET Weight * REM ************************************ Print " T S C 365" Sleep 2000 REM ********************************* REM * Initialisation * REM ********************************* Init: Defshr S%,bas87 Defshr R%,bas86 Defshr Kbrd%,bas10 Defshr TrIN1%,P_100 Defshr PrIN2%,P_101 Defshr ZrIN3%,P_102 Defshr MpbIN4%,P_103 Defshr AlOUT1%,P_500 Defshr NetW$,wt102 Defshr Unit$,wt103 Defshr Motn%,s_200 Defshr Zero%,t_693 Defshr Tare%,t_690 Defshr Clear%,t_691 Defshr SWUnit%,t_696 Defshr AccNW$,lit01 Defshr TransNo$,lit02 Defshr TotalNW$,lit03 Defshr Dly$,lit04 REM ********************************* REM * Main Program * REM ********************************* ON ERROR GOTO Finish Main: R%=0: S%=0: Kbrd%=1: AlOUT1%=0 CourNW$="000000": AccNW$="000000": TransNo$="00" Main1: C$="" Main2: Print using "!!!!!_!!!!!!!!!!"; Time$; Date$ C$=Inkey$ If C$=CHR$(1) then goto Exit If C$=CHR$(2) then goto Main If C$=CHR$(3) then gosub Repeat If (C$=CHR$(4)) OR (TrIN1%=1) then gosub Process If C$=CHR$(5) then gosub Sw_lbkg If (C$=CHR$(7)) OR (ZrIN3%=1) then gosub ZeroScl goto Main1 REM ********************************* REM * Main Process * REM ********************************* Process: If Val(TransNo$)=0 then TotalNW$="000000" Tare: If Motn%=0 then goto Tare1 Print "Scale in Motion!" : goto Tare Tare1: Tare%=1: Sleep 500 REM Print using "Acc W=_######_!!"; Val(AccNW$); Unit$ Print "Acc W="; left$(" ",6-len(AccNW$))+AccNW$; " "; Unit$ Tare2: C$="": C$=Inkey$ If C$=CHR$(6) then Clear%=1: Return If (C$=CHR$(8)) OR (PrIN2%=1) then goto Prt goto Tare2 Prt: Gosub ReadScl AccNW$=Str$(Val(AccNW$)+Val(CourNW$)) TransNo$=Str$(Val(TransNo$)+1) AlOUT1%=1 gosub TransPrt Clear%=1: Sleep 1000: AlOUT1%=0 Prt1: REM Print using "NW_##=_######_!!"; Val(TransNo$); Val(CourNW$); Unit$ Print "NW "; Right$(TransNo$,2); "="; Print left$(" ",6-len(CourNW$))+CourNW$; " "; Unit$ Prt2: C$="": C$=Inkey$ If C$=CHR$(2) then return If (C$=CHR$(3)) OR (MpbIN4%=1)then goto Total If (C$=CHR$(4)) OR (TrIN1%=1) then goto Tare goto Prt2 REM ********************************* REM * Set Parametre * REM ********************************* SetPara: return REM ********************************* REM * Select Unit * REM ********************************* Sw_lbkg: If Val(TransNo$)=0 then SWUnit%=1 Print "Scale Unit = "; Right$(Unit$,2): Sleep 2000 return REM ********************************* REM * Exit Basic Program * REM ********************************* Exit: Gosub Timedkey If C$<>CHR$(6) then C$="": goto Main1 goto FinishN REM ********************************* REM * Re-Zero Scale * REM ********************************* ZeroScl: Print "Zero Scale" Zero%=1: Sleep 500 Return REM ********************************* REM * Total * REM ********************************* Total: REM Print "Insert Ticket" REM Gosub Getkey REM If C$<>CHR$(8) then goto Total Print "Printing...": Sleep 1000 Time#=Timer() TotalNW$=AccNW$: AccNW$="000000": CourNW$="000000": TransNo$="00" REM Print using "Tot W=_######_!!"; Val(TotalNW$); Unit$ Print "Tot W="; left$(" ",6-len(TotalNW$))+TotalNW$; " "; Unit$ gosub TotalPrt While Timer()CHR$(8) then goto Repete Print "Printing..." Lprint " ACADIAN SEA PLANTS LTD" Lprint "DUPLICATE": Lprint TotalPrt: Lprint Left$(Time$, 5); " "; Date$ Lprint "Total Net Weight: "; CHR$(14); Lprint left$(" ",6-len(TotalNW$))+TotalNW$; " "; right$(Unit$,2) Lprint " ": Lprint " ": Lprint " ": Lprint " ": Lprint " ": Lprint " " Return TransPrt: If Val(TransNo$)=1 then Lprint " ACADIAN SEA PLANTS LTD": Lprint Lprint Left$(Time$, 5); " "; Date$ Lprint "Net Weight #"; right$(TransNo$,2); " "; Lprint left$(" ",6-len(CourNW$))+CourNW$; " "; right$(Unit$,2) Lprint " " Return REM ************************************* REM * Parametre Input * REM ************************************* ParaIn: C$="" print Displ$; M$ while ((C$H$))AND(C$<>chr$(6))AND(C$<>chr$(8))AND(C$<>chr$(2)) gosub Getkey wend if (C$=chr$(8)) OR (C$=chr$(2)) then return if (C$=chr$(6)) AND (len(M$)>0) then M$=left$(M$,len(M$)-1): goto ParaIn if len(M$)< Width% then M$=M$+C$: goto ParaIn goto ParaIn REM ********************************* REM * Data Input * REM ********************************* DataIn: While C$<>CHR$(8) If C$=CHR$(6) then M$ = Left$(M$, Len(M$)-1): goto SubIn1 If C$B$ then goto SubIn2 If Len(M$)>=Width% then M$ = Left$(M$, Width%): goto SubIn1 M$ = M$+C$ SubIn1: Print Displ$; M$ SubIn2: C$=inkey$ Wend C$="" Return REM ********************************* REM * Keyboard Input * REM ********************************* Timedkey: C$="": Time#=Timer() While C$="" C$=INKEY$ If Timer()>=Time# + 3 then C$=CHR$(2) Wend Return Getkey: C$="" While C$="" C$=INKEY$ Wend Return REM ********************************* REM * Error Handling * REM ********************************* ProcErr: If Err()<>6 then goto Finish Er$="N": Sleep 1000 Return REM ********************************* REM * Program End * REM ********************************* Finish: Lprint "Erreur "; Err; " Ligne "; Erl FinishN: R%=1: S%=1: Kbrd%=2 END