0 'TIME CARD v2.5 Drew Blanchar: Summer 1987 1 'CLUB 100 LIBRARY - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 CLS:CLEAR300:MAXFILES=1:DEFSTRD,F,I,N,T:D=DATE$:F="TC"+LEFT$(D,2)+MID$(D,4,2):'D=DATE$, F=FILE NAME, I=LINE INPUT J=JOB #, K=VAL(INKEY$) N=JOB NAME, T=TIME$, U=HR.MIN, G & GG=TEMP DATES 3 'ST,ET,H=START,END,DIFF.TIME SM,EM,M=START,END,DIFF.MILEAGE, 4 ONERRORGOTO32:PRINT@48,"TIMECARD FOR ";D:J=0:L=0:PRINT@128,"FOR INSTRUCTIONS PRESS <1>":PRINT@204,"<< to continue press space bar >>" 5 A$=INKEY$:IFA$=""GOTO5ELSEIFA$="1"GOTO6ELSEGOTO9 6 CLS:PRINT" This timecard records job number,":PRINT"job name or code, start and end times":PRINT"as well as start and end mileage.":PRINT" Total work time and mileage are" 7 PRINT"computed. In cases when the job starts" :PRINT"or ends before 6 AM yesterday's last":PRINT"entry may be checked.":PRINT" << press any key to continue >>"; 8 IFINKEY$=""GOTO8 9 OPENFFORINPUTAS#1 10 L=L+1:LINEINPUT#1,I:IFL=1THENJ=VAL(MID$(I,8,2)):N=MID$(I,11,15):GOTO10 11 IFL=2THENST=VAL(MID$(I,8,5)):SM=VAL(MID$(I,17,8)):GOTO10 12 IFL=3THENET=VAL(MID$(I,8,5)):EM=VAL(MID$(I,17,8)):GOTO10 13 IFL=4THENH=VAL(MID$(I,8,5)):M=VAL(MID$(I,18,7)):GOTO10 14 IFL=5THENK$=I:GOTO10 15 IFLEN(I)<2THENL=0:GOTO10 16 GOTO10 17 'SHOW LAST ENTRY 18 CLS:PRINT@12,"LAST JOB IN FILE":PRINT"";F;:PRINTUSING" ##";J;:PRINTUSING" \ \";N:PRINT"START ";:PRINTUSING"##.##";ST;:PRINTUSING" ######.#";SM:PRINT"END ";:PRINTUSING"##.##";ET;:PRINTUSING" ######.#";EM 19 PRINT"CHARGE ";:PRINTUSING"##.##";H;:PRINTUSING" hr #####.#";M;:PRINT"miles":PRINTK$ 20 PRINT@283,"<< press any key to continue >>";:IFINKEY$=""THEN20ELSECLS:GOTO41 21 CLS:PRINT@11,"UNFINISHED LAST JOB":PRINT" JOB";J;N:PRINT" START TIME ";:PRINTUSING"##.##";ST:PRINT@162," or enter new":T=TIME$:U=VAL(LEFT$(T,2))+VAL(MID$(T,4,2))/100 22 K$="":PRINT@123,"END TIME ";:PRINTUSING"##.##";U;:PRINT" (HH.MM) ";:LINEINPUTK$:IFK$=""THENET=UELSEET=VAL(K$) 23 M1=((ET-FIX(ET))-(ST-FIX(ST)))*100:IFM1<0THENM1=M1+60:ET=ET-1 24 H1=FIX(ET)-FIX(ST):IFH1<0THENH1=H1+24 25 H=H1+(M1/60):PRINT"WORKED HRS.MIN /(HRS)";:PRINTUSING" ##.##";H1+M1/100;:PRINTUSING" /(##.##)";H 26 PRINTSPACE$(30):PRINT"START MILEAGE ";SM:INPUT" END MILEAGE ";EM:M=EM-SM:IFM<0THENM=M+100000 27 PRINT" MILES TRAVELED";M:PRINT" if correct or <-> to change END MILEAGE"; 28 K$=INKEY$:IFK$=""THEN28 29 IFK$="-"THENCLS:GOTO26 30 PRINT:PRINT"<< type up to 2 lines of notes NO until end >>":PRINT"note: ";:LINEINPUTK$:CLS:PRINT@162,"STORING ABOVE DATA IN FILE ";F:OPENFFORAPPENDAS1:PRINT#1,"END ";:PRINT#1,USING"##.##";ET;:PRINT#1,USING" ######.#";EM 31 PRINT#1,"CHARGE ";:PRINT#1,USING"##.##";H;:PRINT#1,USING" hr #####.#";M;:PRINT#1,"miles":PRINT#1,"note:";K$:PRINT#1,"":CLOSE#1:FORX=1TO300:NEXTX:BEEP:CLS:GOTO41 32 'ON-ERROR BRANCHING 33 CLOSE:Z=ERR:ZZ=ERL:RESUME34 34 IFZ=52OR(Z=54ANDJ=0)THEN39 35 IFZ=54ANDL=1THEN17 36 IFZ=54ANDL<4GOTO21 37 PRINT"ERR";Z;"LINE";ZZ; 38 IFINKEY$=""GOTO38 39 CLS:PRINT"NO JOBS YET LISTED FOR TODAY":K=0:IFVAL(TIME$)>5ORG=1GOTO41 40 PRINT@242,"CLOSE JOB FROM YESTERDAY <4>"; 41 K=0:PRINT@80,"choose one "::PRINT" EXIT <1>":PRINT" CHECK SCHEDULE <2>":PRINT" CREATE JOB ENTRY <3>"; 42 K=VAL(INKEY$):IFK=1ORK=2ORK=3ORK=4THEN43ELSE42 43 ONKGOTO53,52,44,54 44 'CREATE JOB ENTRIES 45 IFG=1THENJ=1ELSEJ=J+1 46 CLS:PRINT"JOB TITLE OR CODE:";J;:LINEINPUT"-";N:INPUT" START MILEAGE";SM:PRINT@122," or enter new";:K$="":T=TIME$:U=VAL(LEFT$(T,2))+(VAL(MID$(T,4,2))/100):PRINT@80,"START TIME ";:PRINTUSING"##.##";U;:PRINT" (HH.MM) ";:LINEINPUTK$ 47 IFK$=""THENST=UELSEST=VAL(K$) 48 CLS:PRINT@162,"STORING ABOVE DATA IN FILE ";F:F="TC"+LEFT$(D,2)+MID$(D,4,2):OPENFFORAPPENDAS1:PRINT#1,"";F;:PRINT#1,USING" ##";J;:PRINT#1,USING" \ \";N:PRINT#1,"START ";:PRINT#1,USING"##.##";ST; 49 PRINT#1,USING" ######.#";SM:CLOSE#1:FORX=1TO200:NEXTX:BEEP:CLS:K=0:PRINT"choose one ":PRINT" EXIT <1>":PRINT" CHECK SCHEDULE <2>" 50 K=VAL(INKEY$):IFK=1ORK=2THEN51ELSE50 51 ONKGOTO53,52 52 CLOSE:CLS:CALL23407 53 CLOSE:CLS:MENU 54 G=VAL(MID$(D,4,2)):G=G-1:GG=(G/10):IFGG>=1THENG=G-GG*10ELSEGG=0 55 F="TC"+LEFT$(D,2)+CHR$(GG+48)+CHR$(G+48):G=1:GOTO9