home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 October / PCWorld_1999-10_cd2.bin / Corel / Scripts / timer.csc < prev   
Text File  |  1997-05-23  |  2KB  |  75 lines

  1. REM Demonstration of small timer
  2. REM TIMER.CSC  for v7.0, 96/06/27
  3. REM Copyright 1996 Corel Corporation. All rights reserved.
  4.  
  5. '  Global constants
  6. #DEFINE DLG_INIT      0
  7. #DEFINE DLG_CLICK     2
  8. #DEFINE DLG_TIMEOUT 5
  9. #DEFINE TEXTSTYLE (32+4)
  10. #DEFINE START_TEXT "START"
  11. #DEFINE STOP_TEXT "STOP"
  12.  
  13. ' The Stop watch dialog
  14. BEGIN DIALOG OBJECT SW 119, 46, "Timer", SUB SWHandler
  15.     TEXT  8, 8, 45, 15, .TimerText, ""
  16.     PROGRESS 8, 30, 45, 5, .Ticker
  17.     PUSHBUTTON  66, 7, 46, 14, .StopGo, "Stop/Go"
  18.     PUSHBUTTON  66, 25, 46, 14, .ResetBtn, "RESET"
  19. END DIALOG
  20.  
  21. '  Start dialog
  22. SW.TimerText.SetStyle TEXTSTYLE
  23. DIALOG sw
  24.  
  25. '  Main dialog handler
  26. SUB SWHandler( BYVAL CtrlID%, BYVAL Event%)
  27.     STATIC Start AS DATE, CT AS LONG, ST AS LONG, FT AS LONG
  28.     STATIC started AS boolean 
  29.     
  30.     SELECT CASE Event
  31.         CASE DLG_INIT
  32.             SW.SETTIMER(500)
  33.             started=FALSE
  34.             CT=0:ST=0
  35.             SW.StopGo.SetText START_TEXT
  36.  
  37.         CASE DLG_CLICK
  38.             IF(CtrlId=SW.StopGo.GetID()) THEN
  39.                 '  Stop/Go was clicked
  40.                 IF started THEN
  41.                     started=FALSE
  42.                     ST=ST+CT
  43.                     CT=0
  44.                     SW.StopGo.SetText START_TEXT
  45.                 ELSE
  46.                     started=TRUE
  47.                     Start=GETCURRDATE()
  48.                     SW.StopGo.SetText STOP_TEXT
  49.                 END IF
  50.             ELSE
  51.                 '  Reset was clicked
  52.                 SW.StopGo.SetText START_TEXT
  53.                 started=FALSE
  54.                 CT=0:ST=0:FT=0
  55.                 SW.Ticker.setvalue CT
  56.             END IF
  57.         
  58.         CASE DLG_TIMEOUT
  59.             '  Increment timer
  60.             IF started=TRUE THEN
  61.                 CT=(GETCURRDATE()-start)*86400
  62.                 SW.Ticker.step
  63.             END IF
  64.             ' Display
  65.             SW.TimerText.Settext STR(CT+ST) & " S"
  66.     END SELECT
  67. END SUB
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.