1 REM **************** 2 REM TimeCalc 3 REM By Jameel Siddiq 4 REM **************** 5 REM NC100/NC200 Version 1 : 6/11/00 6 REM Downloaded from Tim's Amstrad NC Users' Site 7 REM http://www.ncus.org.uk 10 CLS 20 PF=0 30 PRINT "TIME CALCULATOR ":PRINT 40 UREQ$="" 50 REPEAT 60 TFLAG=0 70 PRINT "TimeCalc : "; 80 INPUT UREQ$ 90 L=LEN(UREQ$) 100 IF RIGHT$(UREQ$,1)=":" THEN TFLAG=1 110 IF TFLAG=1 THEN L=L-1 120 IF INSTR(UREQ$,":")=0 THEN 340 130 TEMP$=UREQ$:UREQ$="" 140 PF=0:FPART$="" 150 FRACPART$="" 160 FOR CP = 1 TO L 170 CURRCHAR$=MID$(TEMP$,CP,1) 180 IF PF=1 THEN GOTO 240 190 IF CURRCHAR$=":" THEN GOTO 220 200 UREQ$=UREQ$+CURRCHAR$ 210 GOTO 330 220 PF=1 230 GOTO 330 240 IF ASC(CURRCHAR$)>47 AND ASC(CURRCHAR$)<58 THEN GOTO 320 250 FP = VAL(FPART$)/0.00006 + 0.5 260 FP = INT(FP) 270 FRACPART$=STR$(FP) 280 UREQ$=UREQ$ + "." + FRACPART$ + CURRCHAR$ 290 PF=0 300 FPART$="":FRACPART$="" 310 GOTO 330 320 FPART$ = FPART$ + CURRCHAR$ 330 NEXT 340 IF PF=0 THEN GOTO 400 350 FP=VAL(FPART$)/0.000006 + 0.5 360 FP = INT(FP) 370 FRACPART$=STR$(FP) 380 UREQ$=UREQ$ + "." + FRACPART$ 390 FRACPART$="": PF=0 400 IF UREQ$="" THEN GOTO 680 410 ANS=EVAL(UREQ$) 420 IF TFLAG=0 GOTO 660 430 SFLAG=0 440 IF ANS<0 THEN SFLAG=1 450 ANS=ABS(ANS) 460 ANS = INT(ANS) + (INT(60*(ANS-INT(ANS)) + 0.5))/100 470 TFANS$=STR$(ANS) 480 PE=INSTR(TFANS$,"E") 490 IF PE>0 THEN GOTO 640 500 LT=LEN(TFANS$) 510 IF SFLAG=1 THEN PRINT "-"; 520 DP=0 530 FOR X = 1 TO LT 540 CURRCHAR$=MID$(TFANS$,X,1) 550 IF CURRCHAR$ = "." THEN GOTO 590 560 PRINT CURRCHAR$; 570 IF DP>0 THEN DP=DP+1 580 GOTO 610 590 PRINT ":"; 600 DP=1 610 NEXT 620 IF DP=2 THEN PRINT "0" ELSE PRINT 630 GOTO 680 640 PRINT LEFT$(TFANS$,PE-1);" Minutes" 650 GOTO 680 660 PES$ =STR$(ANS) 670 PRINT "Answer = ";ANS 680 UNTIL UREQ$=""