0 ' TIMSHT.BA by David Westhead 10 CLS:CLEAR:MAXFILES=1 20 N$=CHR$(27)+"p":P$=CHR$(27)+"q" 30 PRINTN$;TAB(12);"TIME SHEET MENU";TAB(39);P$;CHR$(239) 40 PRINT@40," Start Timer":PRINT" Stop Timer":PRINT" Manual Data Entry":PRINT" Printout" 50 PRINT" Erase Old Data 60 PRINT" Menu" 70 PRINT@280,"Strt Stop Data Prnt Eras";TAB(35);"Menu"; 80 PRINT@106," CURRENT " 90 PRINT@146," TIME " 100 LINE(150,14)-(209,45),1,B 110 T=VAL(LEFT$(TIME$,2)) 120 IFT>12THENT=T-12 130 IFT=0THENT=12 140 PRINT@186,USING"##";T; 150 PRINTRIGHT$(TIME$,6) 160 KEYON:ONKEYGOSUB190,290,440,530,840,,,800 170 IFINKEY$=""THEN110 180 GOTO110 190 T1!=VAL(LEFT$(TIME$,2))+VAL(MID$(TIME$,4,2))/60 200 CLS:INPUT"Client: ";C$ 210 LINEINPUT"Description: ";D$ 220 PRINT:INPUT"Correct (Y/N)";Q$ 230 IFQ$="N"ORQ$="n"THEN200 240 OPEN"RAM:TTIME.DO"FOROUTPUTAS1 250 PRINT#1,T1!;",";C$;",";D$ 260 CLS:PRINT@129,"The meter's running!" 270 FORX=1TO900:NEXT 280 CLOSE1:MENU 290 T2!=VAL(LEFT$(TIME$,2))+VAL(MID$(TIME$,4,2))/60 300 ONERRORGOTO410 310 OPEN"RAM:TTIME.DO"FORINPUTAS1 320 INPUT#1,T1,C$ 330 LINEINPUT#1,D$ 340 CLOSE 350 TT=T2!-T1 360 OPEN"RAM:TIMDAT.DO"FORAPPENDAS1 370 PRINT#1,TT;",";C$;",";D$ 380 CLOSE:KILL"TTIME.DO" 390 CLS:PRINT@123,"Time is now recorded in TIMDAT.DO" 400 FORX=1TO1500:NEXT:GOTO430 410 CLS:PRINT@125,"Nothing currently being timed." 420 FORX=1TO1500:NEXT 430 GOTO10 440 CLS:PRINTN$;" Enter 'END' to stop data entry.";TAB(39);P$;CHR$(239) 450 INPUT"Client: ";C$ 460 IFC$="END"ORC$="end"THEN520 470 LINEINPUT"Description: ";D$ 480 INPUT"Total Time in Hours: ";TT 490 OPEN"RAM:TIMDAT.DO"FORAPPENDAS1 500 PRINT#1,TT;",";C$;",";D$ 510 CLOSE:GOTO440 520 GOTO10 530 OPEN"RAM:TIMDAT.DO"FORINPUTAS1 540 TZ=0 550 CLS:PRINTN$;" Type date or for current date.";TAB(39);P$;CHR$(239) 560 INPUTD$:IFD$=""THEND$=DATE$ELSED$=D$ 570 PRINTN$;" Press when printer is ready.";TAB(39);P$;CHR$(239) 580 Q$=INKEY$:IFQ$<>CHR$(13)THEN580 590 LPRINT"David Westhead Time Sheet for ";D$ 600 LPRINT:LPRINTSTRING$(72,61):LPRINT"CLIENT";TAB(16);"DESCRIPTION";TAB(67);"TIME":LPRINTSTRING$(72,61) 610 LPRINT 620 INPUT#1,TT,C$ 630 LINEINPUT#1,D$ 640 A%=TT*100 650 C=VAL(RIGHT$(STR$(A%),2)) 660 IFC<12.5THENC=0 670 IFC>12.5ANDC<37.5THENC=25 680 IFC>37.5ANDC<62.5THENC=50 690 IFC>62.5ANDC<87.5THENC=75 700 IFC>87.5THENC=100 710 TT%=TT:TT=TT%+C/100 720 TZ=TZ+TT 730 LPRINTC$;TAB(16);LEFT$(D$,50);TAB(67);USING"##.##";TT 740 IFLEN(D$)>50THENGOSUB810 750 LPRINT 760 IFEOF(1)THEN780 770 GOTO620 780 LPRINT:LPRINTTAB(60);"Total= ";USING"##.##";TZ 790 CLOSE:GOTO10 800 MENU 810 LPRINTTAB(16);MID$(D$,51,50) 820 IFLEN(D$)>100THEN830ELSERETURN 830 LPRINTTAB(16);MID$(D$,101,50):RETURN 840 ONERRORGOTO10:CLS:PRINT@120," Erase TIMDAT.DO. Are you sure (Y/N)" 850 Q$=INKEY$:IFQ$=""THEN850 860 IFQ$="Y"ORQ$="y"THENKILL"TIMDAT.DO":GOTO10 870 GOTO10