home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a075 / 1.img / TOOLKIT1.EXE / SST906.PRG < prev    next >
Encoding:
Text File  |  1989-08-08  |  6.2 KB  |  234 lines

  1. *******************
  2.  
  3. PROCEDURE Show_clo
  4.  
  5.    PARAMETERS p, l, v
  6.  
  7.    PRIVATE char_type, the_type, rest_string, _poprow, _popcol, _ocolor
  8.    PRIVATE clock_scr, _dummy
  9.  
  10.    char_type = ( PCOUNT() = 3 )
  11.    IF PCOUNT() = 3
  12.       the_type = ( TYPE(v) = "N" )
  13.    ELSE
  14.       the_type = .F.
  15.    ENDIF
  16.    
  17.    IF TYPE("scrleft_1") = "U"
  18.       scrleft_1 = "Steve Straley's ToolkiT"
  19.       scrleft_2 = "Version 2.0"
  20.    ENDIF
  21.    IF TYPE("scrcursor") = "U"
  22.       scrcursor = .T.
  23.    ENDIF
  24.    rest_sting = scrleft_1 + " / " + scrleft_2 + SPACE(54 - (LEN(scrleft_1 + scrleft_2) + 3)) + "║"
  25.    _poprow = ROW()
  26.    _popcol = COL()
  27.    _ocolor = SETCOLOR()
  28.    IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
  29.       SET COLOR TO W/B
  30.    ENDIF
  31.    PUSHSCREEN(0,0,11,78)
  32.    SET CURSOR OFF
  33.    @ 0,0 SAY ""
  34. TEXT
  35. ╔═════════════════╦═══════════════════════════════════════════════════════╗
  36. ║ The Pop Clock   ║ <B>egin : <P>ause : <S>top : <E>lapsed : S<T>ore Time ║
  37. ╟─────────────────╫─────────────┬─────────────────────────────────────────╢
  38. ║    Current Time ║             │                                         ║
  39. ║                 ╟─────────────┤  Command ═                             ║
  40. ║    Current Date ║             │                                         ║
  41. ║                 ╟─────────────┴─────────────────────────────────────────╢
  42. ║ Package/Version ║ &rest_sting.
  43. ╚═════════════════╩═══════════════════════════════════════════════════════╝
  44.                                                                            
  45.                 Press ESC to EXIT Window.   Timing will continue!          
  46. ENDTEXT
  47.    CLOCK_STAT()
  48.    DO WHILE .T.                 
  49.       _dummy = INKEY()           
  50.       DO CASE
  51.       CASE _dummy = 27                              
  52.          EXIT
  53.       CASE _dummy = 98 .OR. _dummy = 66    && Bb
  54.          BEGIN_TIME()
  55.  
  56.       CASE _dummy = 115 .OR. _dummy = 83   && Ss
  57.          STOP_TIME()
  58.  
  59.       CASE _dummy = 101 .OR. _dummy = 66   && Ee
  60.          ELAP_TIME()
  61.  
  62.       CASE _dummy = 114 .OR. _dummy = 83   && Rr
  63.          RESUM_TIME()
  64.  
  65.       CASE _dummy = 112 .OR. _dummy = 69   && Pp
  66.          PAUSE_TIME()
  67.  
  68.       CASE _dummy = 116 .OR. _dummy = 82   && Tt
  69.          IF !char_type
  70.             &v. = TORE_TIME(_dummy = 80)   && Pp
  71.          ELSE
  72.             &v. = TORE_TIME(the_type)
  73.          ENDIF
  74.  
  75.       OTHERWISE
  76.          @  4,22 SAY TIME()
  77.          @  6,22 SAY DATE()
  78.       ENDCASE
  79.    ENDDO
  80.    SETCOLOR(_ocolor)
  81.    POPSCREEN(0,0,11,78)
  82.    SET CURSOR (scrcursor)
  83.    @ _poprow, _popcol SAY ""
  84.  
  85. ********************
  86.  
  87. PROCEDURE Begin_time
  88.  
  89.    PUBLIC start_time, elap_time, end_time, start_secs, end_secs, elap_secs
  90.  
  91.    STORE .F. TO start_time, elap_time, end_time, start_secs, end_secs, elap_secs
  92.  
  93.    @ 6,35 SAY " Commenced  "
  94.    start_time = TIME()
  95.    start_secs = SECONDS()
  96.  
  97. ********************
  98.  
  99. PROCEDURE Resum_time
  100.  
  101.    IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UC"
  102.       @ 6,35 SAY " Unable To!! "
  103.       RETURN
  104.    ENDIF
  105.    @ 2,30 SAY "<P>ause "
  106.    start_time = elap_time
  107.    elap_time = .F.
  108.    start_secs = SECONDS()
  109.    @ 6,35 SAY "Time Resumed "
  110.  
  111. ********************
  112.  
  113. PROCEDURE Elap_time
  114.  
  115.    IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UL"
  116.       @ 6,35 SAY "Not Started!!"
  117.    ELSE
  118.       @ 6,35 SAY "             "
  119.       @ 6,55 SAY ETIME(start_time, TIME())
  120.    ENDIF
  121.  
  122. ********************
  123.  
  124. PROCEDURE Pause_time
  125.  
  126.    IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UL"
  127.       @ 6,35 SAY "Not Started!!"
  128.    ELSE
  129.       IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
  130.          SET COLOR TO W+/B
  131.       ENDIF
  132.       @ 2,30 SAY "<R>esume"
  133.       IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
  134.          SET COLOR TO W/B
  135.       ENDIF
  136.       @ 5,35 SAY "Time Paused"
  137.       elap_time = ETIME(start_time, TIME())
  138.       @ 6,55 SAY elap_time
  139.       IF TYPE("elap_secs") = "L"
  140.          elap_secs = 0.00
  141.       ENDIF
  142.       elap_secs = elap_secs + (SECONDS() - start_secs)
  143.       start_time = .F.
  144.    ENDIF
  145.  
  146. ********************
  147.  
  148. PROCEDURE Stop_time
  149.  
  150.    IF TYPE("end_time") = "U" .OR. TYPE("start_time") $ "UL"
  151.       @ 6,35 SAY "Not Started!!"
  152.    ELSE
  153.       IF TYPE("end_time") = "L"
  154.          @ 6,35 SAY "  Stopped!   "
  155.          end_time = TIME()
  156.          end_secs = SECONDS()
  157.          IF TYPE("elap_secs") = "L"
  158.             elap_secs = 0.00
  159.          ENDIF
  160.          elap_secs = elap_secs + (end_secs - start_secs)
  161.       ELSE
  162.          @ 6,35 SAY " Already Has "
  163.       ENDIF
  164.    ENDIF
  165.  
  166. *******************
  167.  
  168. FUNCTION Tore_time
  169.  
  170.    PARAMETERS tore_type
  171.  
  172.    IF TYPE("end_time") $ "UL" .OR. TYPE("start_time") $ "UL"
  173.       @ 6,35 SAY " Not Ended! "
  174.       RETURN("")
  175.    ENDIF
  176.    comp_secs = 0.00
  177.  
  178.    IF tore_type
  179.       @ 6,35 SAY "Store Seconds in terms of Hours?"
  180.       IF PROMPT()
  181.          comp_secs = elap_secs / 3600
  182.       ELSE
  183.          comp_secs = elap_secs
  184.       ENDIF
  185.    ENDIF
  186.    ina_a = start_time
  187.    ina_b = TIME()
  188.    
  189.    STORE .F. TO start_time, elap_time, end_time, start_secs, end_secs, elap_secs
  190.    KEYBOARD CHR(27)
  191.    IF !tore_type
  192.       RETURN(ETIME(ina_a, ina_b))
  193.    ELSE
  194.       RETURN(comp_secs)
  195.    ENDIF
  196.  
  197. ********************
  198.  
  199. PROCEDURE Clock_stat
  200.  
  201.    IF !(TYPE("start_time") == "U")   && Time has Started
  202.       DO CASE
  203.       CASE TYPE("start_time") = "C" .AND. TYPE("end_time") = "L"
  204.          * Time has Started, not ended
  205.          IF TYPE("elap_time") = "L"
  206.             s_c_str = "Begun Only"
  207.             * No Elapsed Time (NOT paused)
  208.          ELSE
  209.             s_c_str = "Begun and Elapsed"
  210.             * Elapsed Time (paused)
  211.          ENDIF
  212.       CASE TYPE("start_time") = "C" .AND. TYPE("end_time") = "C"
  213.          * Time has Started and Ended
  214.          IF TYPE("elap_time") = "L"
  215.             s_c_str = "Ended Only"
  216.             * No Elapsed Time (NOT paused)
  217.          ELSE
  218.             s_c_str = "Ended and Elapsed"
  219.             * Elapsed Time (paused)
  220.          ENDIF
  221.       OTHERWISE
  222.          s_c_str = "Undefined"
  223.       ENDCASE
  224.       IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
  225.          SET COLOR TO R+/B
  226.       ENDIF
  227.       @ 6,35 SAY s_c_str
  228.       IF ISCOLOR() .AND. !(IF(TYPE("scrmono")="U", .T., scrmono))
  229.          SET COLOR TO W/B
  230.       ENDIF
  231.    ENDIF
  232.  
  233. * End of File
  234.