home *** CD-ROM | disk | FTP | other *** search
- *******************
-
- PROCEDURE Show_clo
-
- PARAMETERS p, l, v
-
- PRIVATE char_type, the_type, rest_string, _poprow, _popcol, _ocolor
- PRIVATE clock_scr, _dummy
-
- char_type = ( PCOUNT() = 3 )
- IF PCOUNT() = 3
- the_type = ( TYPE(v) = "N" )
- ELSE
- the_type = .F.
- ENDIF
-
- IF TYPE("scrleft_1") = "U"
- scrleft_1 = "Steve Straley's ToolkiT"
- scrleft_2 = "Version 2.0"
- ENDIF
- IF TYPE("scrcursor") = "U"
- scrcursor = .T.
- ENDIF
- rest_sting = scrleft_1 + " / " + scrleft_2 + SPACE(54 - (LEN(scrleft_1 + scrleft_2) + 3)) + "║"
- _poprow = ROW()
- _popcol = COL()
- _ocolor = SETCOLOR()
- IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
- SET COLOR TO W/B
- ENDIF
- PUSHSCREEN(0,0,11,78)
- SET CURSOR OFF
- @ 0,0 SAY ""
- TEXT
- ╔═════════════════╦═══════════════════════════════════════════════════════╗
- ║ The Pop Clock ║ <B>egin : <P>ause : <S>top : <E>lapsed : S<T>ore Time ║
- ╟─────────────────╫─────────────┬─────────────────────────────────────────╢
- ║ Current Time ║ │ ║
- ║ ╟─────────────┤ Command ═ ║
- ║ Current Date ║ │ ║
- ║ ╟─────────────┴─────────────────────────────────────────╢
- ║ Package/Version ║ &rest_sting.
- ╚═════════════════╩═══════════════════════════════════════════════════════╝
-
- Press ESC to EXIT Window. Timing will continue!
- ENDTEXT
- CLOCK_STAT()
- DO WHILE .T.
- _dummy = INKEY()
- DO CASE
- CASE _dummy = 27
- EXIT
- CASE _dummy = 98 .OR. _dummy = 66 && Bb
- BEGIN_TIME()
-
- CASE _dummy = 115 .OR. _dummy = 83 && Ss
- STOP_TIME()
-
- CASE _dummy = 101 .OR. _dummy = 66 && Ee
- ELAP_TIME()
-
- CASE _dummy = 114 .OR. _dummy = 83 && Rr
- RESUM_TIME()
-
- CASE _dummy = 112 .OR. _dummy = 69 && Pp
- PAUSE_TIME()
-
- CASE _dummy = 116 .OR. _dummy = 82 && Tt
- IF !char_type
- &v. = TORE_TIME(_dummy = 80) && Pp
- ELSE
- &v. = TORE_TIME(the_type)
- ENDIF
-
- OTHERWISE
- @ 4,22 SAY TIME()
- @ 6,22 SAY DATE()
- ENDCASE
- ENDDO
- SETCOLOR(_ocolor)
- POPSCREEN(0,0,11,78)
- SET CURSOR (scrcursor)
- @ _poprow, _popcol SAY ""
-
- ********************
-
- PROCEDURE Begin_time
-
- PUBLIC start_time, elap_time, end_time, start_secs, end_secs, elap_secs
-
- STORE .F. TO start_time, elap_time, end_time, start_secs, end_secs, elap_secs
-
- @ 6,35 SAY " Commenced "
- start_time = TIME()
- start_secs = SECONDS()
-
- ********************
-
- PROCEDURE Resum_time
-
- IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UC"
- @ 6,35 SAY " Unable To!! "
- RETURN
- ENDIF
- @ 2,30 SAY "<P>ause "
- start_time = elap_time
- elap_time = .F.
- start_secs = SECONDS()
- @ 6,35 SAY "Time Resumed "
-
- ********************
-
- PROCEDURE Elap_time
-
- IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UL"
- @ 6,35 SAY "Not Started!!"
- ELSE
- @ 6,35 SAY " "
- @ 6,55 SAY ETIME(start_time, TIME())
- ENDIF
-
- ********************
-
- PROCEDURE Pause_time
-
- IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UL"
- @ 6,35 SAY "Not Started!!"
- ELSE
- IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
- SET COLOR TO W+/B
- ENDIF
- @ 2,30 SAY "<R>esume"
- IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
- SET COLOR TO W/B
- ENDIF
- @ 5,35 SAY "Time Paused"
- elap_time = ETIME(start_time, TIME())
- @ 6,55 SAY elap_time
- IF TYPE("elap_secs") = "L"
- elap_secs = 0.00
- ENDIF
- elap_secs = elap_secs + (SECONDS() - start_secs)
- start_time = .F.
- ENDIF
-
- ********************
-
- PROCEDURE Stop_time
-
- IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UL"
- @ 6,35 SAY "Not Started!!"
- ELSE
- IF TYPE("end_time") = "L"
- @ 6,35 SAY " Stopped! "
- end_time = TIME()
- end_secs = SECONDS()
- IF TYPE("elap_secs") = "L"
- elap_secs = 0.00
- ENDIF
- elap_secs = elap_secs + (end_secs - start_secs)
- ELSE
- @ 6,35 SAY " Already Has "
- ENDIF
- ENDIF
-
- *******************
-
- FUNCTION Tore_time
-
- PARAMETERS tore_type
-
- IF TYPE("end_time") $ "UL" .OR. TYPE("start_time") $ "UL"
- @ 6,35 SAY " Not Ended! "
- RETURN("")
- ENDIF
- comp_secs = 0.00
-
- IF tore_type
- @ 6,35 SAY "Store Seconds in terms of Hours?"
- IF PROMPT()
- comp_secs = elap_secs / 3600
- ELSE
- comp_secs = elap_secs
- ENDIF
- ENDIF
- ina_a = start_time
- ina_b = TIME()
-
- STORE .F. TO start_time, elap_time, end_time, start_secs, end_secs, elap_secs
- KEYBOARD CHR(27)
- IF !tore_type
- RETURN(ETIME(ina_a, ina_b))
- ELSE
- RETURN(comp_secs)
- ENDIF
-
- ********************
-
- PROCEDURE Clock_stat
-
- IF !(TYPE("start_time") == "U") && Time has Started
- DO CASE
- CASE TYPE("start_time") = "C" .AND. TYPE("end_time") = "L"
- * Time has Started, not ended
- IF TYPE("elap_time") = "L"
- s_c_str = "Begun Only"
- * No Elapsed Time (NOT paused)
- ELSE
- s_c_str = "Begun and Elapsed"
- * Elapsed Time (paused)
- ENDIF
- CASE TYPE("start_time") = "C" .AND. TYPE("end_time") = "C"
- * Time has Started and Ended
- IF TYPE("elap_time") = "L"
- s_c_str = "Ended Only"
- * No Elapsed Time (NOT paused)
- ELSE
- s_c_str = "Ended and Elapsed"
- * Elapsed Time (paused)
- ENDIF
- OTHERWISE
- s_c_str = "Undefined"
- ENDCASE
- IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
- SET COLOR TO R+/B
- ENDIF
- @ 6,35 SAY s_c_str
- IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
- SET COLOR TO W/B
- ENDIF
- ENDIF
-
- * End of File