*** CLOCKIT.prg * * (c) CTS, MRI 1991 * PRIVATE mESCA,mCURS,mTALK,mFIX,TMALL,TM && ,X,Y DECL TM[11,3], TMALL[3] mESCA=SET('ESCA')='ON' mCURS=SET('CURS')='ON' mTALK=SET('TALK')='ON' mFIX=.F. SET TALK OFF SET ESCA OFF SET CURS OFF *=- * If this was called by an ON KEY LABEL Command, you must * deactivate the ON KEY LABEL by un-remarking the following * line and enter the calling key name at the end of the line * ON KEY LABEL F2 ON KEY LABEL CTRL-T DO TOGLTIME *=- IF TYPE('X')#'N' .OR. TYPE('Y')#'N' .OR. X>19 .OR. Y>39 IF TYPE('X')#"U" .OR. TYPE('Y')#"U" x1=X y1=Y mFIX=.T. ENDIF X=1 Y=1 ENDIF DEFINE WINDOW CLOCK FROM X,Y TO X+5,Y+30 DOUBLE COLOR W+/N,,GR+/R ACTI WIND CLOCK DO CLOCK *=- DO WHILE .T. XTIME=IIF(SET('HOUR')=24,TIME(),IIF(VAL(LEFT(TIME(),2))>12,; STR(VAL(LEFT(TIME(),2))-12,2)+SUBS(TIME(),3,6),TIME())) HR1=VAL(LEFT(XTIME,1))+1 HR2=VAL(SUBS(XTIME,2,1))+1 MN1=VAL(SUBS(XTIME,4,1))+1 MN2=VAL(SUBS(XTIME,5,1))+1 SC1=VAL(SUBS(XTIME,7,1))+1 SC2=VAL(SUBS(XTIME,8,1))+1 TMALL[1]=TM[HR1,1]+" "+TM[HR2,1]+TM[11,1]+TM[MN1,1]+" "+TM[MN2,1]+TM[11,1]+TM[SC1,1]+" "+TM[SC2,1] TMALL[2]=TM[HR1,2]+" "+TM[HR2,2]+TM[11,2]+TM[MN1,2]+" "+TM[MN2,2]+TM[11,2]+TM[SC1,2]+" "+TM[SC2,2] TMALL[3]=TM[HR1,3]+" "+TM[HR2,3]+TM[11,3]+TM[MN1,3]+" "+TM[MN2,3]+TM[11,3]+TM[SC1,3]+" "+TM[SC2,3] @1,1 SAY TMALL[1] @2,1 SAY TMALL[2] @3,1 SAY TMALL[3] I=INKEY() IF I=27 EXIT ENDIF ENDDO RELE WIND CLOCK IF mCURS SET CURS ON ENDIF IF mESCA SET ESCA ON ENDIF IF mTALK SET TALK ON ENDIF IF mFIX X=x1 Y=y1 ENDIF *=- * If this was called by an ON KEY LABEL Command, you must * Reactivate the ON KEY LABEL by un-remarking the following * line and enter the calling key name after LABEL and before * the DO CALENDAR part of the command * ON KEY LABEL F2 DO CLOCKIT ON KEY LABEL CTRL-T *=- RETURN *** End of CLOCKIT.prg * *=- Procedures * PROC CLOCK MT=' ' TP=CHR(223) BT=CHR(220) FL=CHR(219) TM[1,1]=FL+TP+FL TM[1,2]=FL+MT+FL TM[1,3]=TP+TP+TP TM[2,1]=MT+MT+FL TM[2,2]=MT+MT+FL TM[2,3]=MT+MT+TP TM[3,1]=TP+TP+FL TM[3,2]=FL+TP+TP TM[3,3]=TP+TP+TP TM[4,1]=TP+TP+FL TM[4,2]=MT+TP+FL TM[4,3]=TP+TP+TP TM[5,1]=FL+MT+FL TM[5,2]=TP+TP+FL TM[5,3]=MT+MT+TP TM[6,1]=FL+TP+TP TM[6,2]=TP+TP+FL TM[6,3]=TP+TP+TP TM[7,1]=FL+TP+TP TM[7,2]=FL+TP+FL TM[7,3]=TP+TP+TP TM[8,1]=TP+TP+FL TM[8,2]=MT+MT+FL TM[8,3]=MT+MT+TP TM[9,1]=FL+TP+FL TM[9,2]=FL+TP+FL TM[9,3]=TP+TP+TP TM[10,1]=FL+TP+FL TM[10,2]=TP+TP+FL TM[10,3]=TP+TP+TP TM[11,1]=MT+BT+MT TM[11,2]=MT+BT+MT TM[11,3]=MT+MT+MT RETURN * PROC TOGLTIME ON KEY LABEL F5 IF SET('HOUR')=12 SET HOUR TO 24 ELSE SET HOUR TO 12 ENDIF ON KEY LABEL F5 DO TOGLTIME RETURN *** End of CLOCK.prg *